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


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 года). Он решает задачи оптимизации с помощью нелинейных целевых и ограничивающих функций, где допускаются нелинейные ограничения равенства и неравенства. Я использую это регулярно.
Ганс В.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.