Я заинтересован в максимизации в глобальном масштабе функции многих ( ) реальных параметров (результат сложного моделирования). Тем не менее, рассматриваемая функция является относительно дорогой для оценки, требующей около 2 дней для каждого набора параметров. Я сравниваю разные варианты, и мне было интересно, есть ли у кого-нибудь предложения.
Я знаю, что есть набор методов для такого рода процессов, которые включают в себя разработку приближенных функций, а затем их максимизацию (например, Джонс и др. «Эффективная глобальная оптимизация дорогостоящих функций черного ящика» ). Тем не менее, это, кажется, относительно связано с кодом.
У меня есть возможность запускать большое количество симуляций параллельно (более 50). Похоже, это предполагает использование чего-то вроде генетических алгоритмов для этой оптимизации - поскольку я могу создать популяцию возможных решений так же быстро, как и сам.
Вот мои вопросы: 1) Кто-нибудь имеет опыт работы со свободно доступными реализациями такого рода глобальных решателей / рекомендаций? 2) Есть ли здесь причины предпочитать или избегать генетических алгоритмов?
Это физическая проблема, и мои ранние эксперименты показали, что показатель качества меняется довольно плавно, когда я меняю параметры.
ОБНОВИТЬ:
Спасибо вам за помощь! Еще несколько подробностей: мне не нужна никакая информация за пределами места расположения максимума. Симуляция детерминированная, а не Монте-Карло, так что сложность не имеет большого значения. Нет никаких явных границ или ограничений на параметры. Еще одна часть информации, которую я имею (и не упоминал ранее), это ощущение размера максимально необходимого. В то время как я ищу глобальный максимум, я также был бы счастлив с чем-либо такого масштаба или большего - я не знаю, окажет ли это какую-либо помощь. Надеюсь, если я сделаю скрининг более систематически (латинские гиперкубы, как предложено Брайаном Борчером), это проявится.