Ограниченная оптимизация библиотеки для ограничений равенства и неравенства

14

Любые рекомендации по выбору библиотеки оптимизации с ограничениями, подходящей для моей функции оптимизации? Я минимизирую ai) нелинейную функцию с линейным ограничением равенства и неравенства, и ii) имею доступный градиент и гессиан функции.

Если это помогает, функция, которую я минимизирую, - это дивергенция Кульбака-Либлера .

constrOptim имеет дело только с ограничениями неравенства. Quadprog обрабатывает квадратики. Доверие не поддерживает ограничения. Таким образом, дивергенция KL не вписывается в эти решения.

На странице Задача R Cran для оптимизации есть довольно много решений . Я могу выполнить оптимизацию в MATLAB с помощью функции fmincon (), которая, похоже, использует внутреннюю точку или отражающую область доверия. В идеале есть библиотека, которая хорошо подходит для определенной проблемы.

Рам Ахлувалия
источник
Являются ли ограничения линейными?
кардинал
@cardinal - да - ограничения линейны
Рам Ахлувалия
2
Таким образом, если ваши ограничения равенства являются , по крайней мере, обходным для будет включать как и . Нет? Ax=bconstrOptimAxbAxb
кардинал
Это очень умно. Я исследую это и посмотрю, как это работает. Вы должны рассмотреть возможность размещения этого в качестве ответа. Я оставлю вопрос открытым в течение пары дней, чтобы посмотреть, какие другие инструменты доступны
Рам Ахлувалия
2
Трюк @cardinal не помогает для метода внутренней точки, такого как метод constrOptim, поскольку этому методу требуется отправная точка во внутреннюю область допустимой области, а не на границе
stackovergio

Ответы:

14

Оба пакета, alabama и Rsolnp, содержат «[i] mplementations метода расширенного множителя Лагранжа для общей нелинейной оптимизации» - как говорит представление задачи оптимизации - и являются достаточно надежными и надежными. Может снова обрабатывать ограничения равенства и неравенства, определенные как (нелинейные) функции.

Я работал с обоими пакетами. Иногда ограничения легче сформулировать с помощью Rsolnp, тогда как Алабама иногда оказывается немного быстрее.

Существует также пакет Rdonlp2, который опирается на внешнюю и оптимизирующую сообщество известную библиотеку программного обеспечения. К сожалению, его лицензионный статус в настоящее время немного неопределенен.

Ханс В.
источник
1
Просто хочу добавить одно свойство ограничений неравенства Алабамы, которое я нашел сегодня. Если ваши ограничения неравенства создают недопустимую область, то код выполняется без каких-либо предупреждений / сообщений об ошибках и принимает среднее значение границ в качестве фиксированного значения параметра. Например, если у вас есть x> 6 и x <4, то решение предоставит решение с x = 5 без какого-либо предупреждения.
Гаурав
1
Кажется, этот ответ до сих пор посещают и читают. Поэтому я хотел бы добавить, что появился новый пакет NlcOptim (с 2015 года). Он решает задачи оптимизации с помощью нелинейных целевых и ограничивающих функций, где допускаются нелинейные ограничения равенства и неравенства. Я использую это регулярно.
Ганс В.