This plugin can be used to cluster the faces of a mesh into a specified number of similar shapes and then optimize faces within the same group into congruent forms.
Tunny is optimization component. Multi-objective optimization with constraints is supported; multiple algorithms such as BayesianOptimization, NSGAII, CMA-ES, etc. can be used.