ИПОПТ

Библиотека программного обеспечения для оптимизации
Разработчик(и)Андреас Вехтер, Карл Лэрд
Первоначальный выпуск26 августа 2005 г. ; 19 лет назад ( 2005-08-26 )
Стабильный релиз
3.14.16 [1] / 22 апреля 2024 г. ; 9 месяцев назад ( 2024-04-22 )
Операционная системаUNIX , Linux , macOS , Microsoft Windows
Доступно вС++
ЛицензияПубличная лицензия Eclipse
Веб-сайтgithub.com/coin-or/Ipopt

IPOPT (сокращение от « Interior Point OPT imizer », произносится как IP-Opt) — это программная библиотека для крупномасштабной нелинейной оптимизации непрерывных систем.

Он написан на C++ (после миграции с Fortran и C ) и выпущен под лицензией EPL (ранее CPL ). IPOPT реализует метод первично-двойственной внутренней точки и использует линейный поиск на основе методов фильтрации ( Флетчер и Лейффер ).

IPOPT можно вызывать из различных сред моделирования: C , C++ , Fortran , Java , R , Python и других. [2]

IPOPT является частью проекта COIN-OR .

IPOPT разработан для использования информации о первой производной ( градиент ) и второй производной ( гессиан ), если она предоставлена ​​(обычно с помощью автоматических процедур дифференциации в средах моделирования, таких как AMPL ). Если гессианы не предоставлены, IPOPT аппроксимирует их с помощью квазиньютоновских методов , в частности, обновления BFGS .

Первоначально IPOPT был разработан [3] аспирантом Андреасом Вехтером и профессором Лоренцем Т. Биглером с кафедры химической инженерии Университета Карнеги-Меллона . Их работа была отмечена премией INFORMS Computing Society Prize в 2009 году.

Арвинд Рагхунатхан позже создал расширение IPOPT для математического программирования с ограничениями равновесия (MPEC). [4] Эта версия IPOPT обычно известна как IPOPT-C (где «C» означает «комплементарность»). Хотя теоретически любая смешанно-целочисленная программа может быть преобразована в MPEC, она может быть разрешима или нет с помощью IPOPT-C. Решение MINLP (смешанно-целочисленных нелинейных программ) с помощью IPOPT все еще изучается. [5] [6]

Карл Лэрд и Андреас Вехтер являются разработчиками IPOPT 3.0, который является повторной реализацией IPOPT на C++ . За эту разработку Вехтер и Лэрд были награждены премией Дж. Х. Уилкинсона 2011 года за численное программное обеспечение .

Смотрите также

Ссылки

  1. ^ "Страница релиза Github". GitHub .
  2. ^ "Репозиторий IPOPT Github". GitHub . COIN-OR Foundation. 26 апреля 2024 г. Получено 27 апреля 2024 г.
  3. ^ Вехтер, Андреас; Биглер, Лоренц Т. (2006). «О реализации алгоритма поиска линии фильтра внутренней точки для крупномасштабного нелинейного программирования» (PDF) . Математическое программирование . 106 : 25–57 . doi :10.1007/s10107-004-0559-y. S2CID  14183894.
  4. ^ Рагхунатхан, Арвинд У.; Биглер, Лоренц Т. (2005). «Метод внутренней точки для математических программ с ограничениями дополнительности (MPCCS)». Журнал SIAM по оптимизации . 15 (3): 720– 750. doi :10.1137/S1052623403429081.
  5. ^ "CMU-IBM Open Source MINLP Project". Архивировано из оригинала 2006-06-22.
  6. ^ "Бонмин". 27 октября 2023 г.
  • Домашняя страница IPOPT


Получено с "https://en.wikipedia.org/w/index.php?title=IPOPT&oldid=1231645627"