Ответ во многом зависит от того, как вы рассчитываете «работает лучше»?
1) Независимые значения
Предполагая, что 'работает лучше' функция f из x комбинации элементов x = (a, b, c, d, ...) и (!), Что существуют нет закономерностей, которые можно использовать чтобы решить, больше или меньше f (x '), чем f (x), зная только x, f (x) и x' (что может позволить быстрее найти xmax), вам нужно будет вычислить f для всех комбинаций хотя бы один раз .
Как только вы вычислите его для всех комбинаций, вы можете отсортировать. Если вам нужно искать данные в секционированном виде, использование SQL / RDBMS может быть хорошим подходом (например, поиск 5 лучших решений, но без такой-то и такой-то части).
Для получения дополнительных баллов после расчета всех результатов и их сохранения вы можете проанализировать их статистически и попытаться установить закономерности
2) Зависимые значения
Если вы можете установить некоторые закономерности (и, возможно, можете) в отношении значений, поиск максимального значения можно упростить и ускорить.
Например, если вы знаете, что функция, которую вы пытаетесь максимизировать, является линейной комбинацией всех параметров, тогда вы можете изучить линейное программирование
Если это не так ...