2017-01-03 10 views
3

Я читал, что алгоритм Нельдера Мида работает для безусловной оптимизации. http://www.scholarpedia.org/article/Nelder-Mead_algorithm Я думаю, что в Matlab Nelder Mead используется также для безусловной оптимизации. Однако я немного смущен, так как нашел Java API для оптимизации http://www.ee.ucl.ac.uk/~mflanaga/java/Minimisation.html (Научная библиотека Фланагана) , который имеет класс, который реализует симплекс Nelder Mead и позволяет определять ограничения и ограничения. Итак, является ли версия, реализованная в API Фланагана модифицированной вариацией «классического» алгоритма Nelder Mead?Алгоритм Nelder Mead для ограниченной оптимизации?

ответ

3

Похоже, что API реализует простую «мягкую» систему ограничений, где ограничения преобразуются в штрафные функции, которые сильно наказывают регионы за пределами ограничений. Это дешевый и жизнерадостный способ добавления ограничений к безусловному решателю, но будет достигнута компромисс между оптимальностью, конвергенцией и степенью соответствия ограничений.

+0

ОК, и знаете ли вы, что есть какая-либо научная статья что описывает эту адаптацию исходного алгоритма? – Sorin

+0

@Sorin Я сомневаюсь, что есть один специально для Nelder-Mead. Мягкие ограничения так же стара, как и грязь. Однако любой хороший учебник по оптимизации обсудит их. – Sneftel

+0

Я смотрел на весовые ограничения, предложенные в Научной библиотеке Фланагана http://www.ee.ucl.ac.uk/~mflanaga/java/Minimisation.html#constraint, но это, по-видимому, касается только отдельных простых ограничений, таких как x1 > l или x1 Sorin

0

Посмотрите на HillStormer [1], (бесплатное) программное обеспечение, которое допускает линейные ограничения для Nelder-Mead. Вы wila обнаруживаете, что использование линейных ограничений может улучшить оптимизацию, используя меньшее количество шагов, разрешая дегенерацию симплекса на ограничение, восстанавливающее его впоследствии. Кроме того, это программное обеспечение включает в себя «тестовый режим», который позволяет вам компоновать поверхности ответов и графически отображать их оптимизацию. Вы можете загрузить его в [1]: http://www.hillstormer.es