2016-07-31 7 views
-1

Я пытаюсь мета-оптимизировать алгоритм, который имеет почти дозначные константы. Я предполагаю, что нужно использовать какую-то форму генетического алгоритма. Однако сам алгоритм довольно тяжелый и вероятностный по своей природе (версия оптимизации колонии муравьев). Таким образом, вычисление пригодности для некоторого набора параметров является довольно медленным, и результаты включают в себя много различий. Даже порядок величины для некоторых параметров не совсем ясен, поэтому распределение на некоторых компонентах, вероятно, должно быть логарифмическим.Хороший алгоритм оптимизации параметров для ограниченного числа точек с отклонениями

У кого-нибудь есть идеи относительно подходящих алгоритмов для этой проблемы? То есть он должен будет сходиться с ограниченным числом точек измерения, а также иметь возможность обрабатывать случайность в измеренной пригодности. Кроме того, чем проще реализовать Java, тем лучше. :)

+0

Я думаю, что PSO лучше для вас. –

+0

Посмотрите '' оптимизацию «черного ящика» '' '' '' '' '' free-free''''. Это, в общем, очень тяжелая проблема! [Введение] (http://www.lix.polytechnique.fr/~dambrosio/blackbox_material/Cassioli_1.pdf) – sascha

+0

Спасибо, я посмотрю на них! –

ответ

0

Если вы можете выразить модель алгебраически (или как дифференциальные уравнения), попробуйте использовать методы оптимизации на основе производных. Они обладают теоретическими свойствами, которые вы желаете, и гораздо более эффективны в вычислительной области, чем методы свободной оптимизации с использованием черного ящика/производного. Если у вас есть лицензия MATLAB, попробуйте fmincon. Примечание: fmincon будет работать намного лучше, если вы предоставите производную информацию. Другие среды моделирования включают Pyomo, CasADi и Julia/JuMP, которые автоматически вычисляют производные и интерфейс с мощными решателями оптимизации.