MINOS (программное обеспечение для оптимизации)
MINOS — это программный пакет на языке Фортран линейной и нелинейной математической оптимизации для решения задач . MINOS (модульная встроенная система нелинейной оптимизации) может использоваться для линейного программирования, квадратичного программирования и более общих целевых функций и ограничений, а также для поиска допустимой точки для набора линейных или нелинейных равенств и неравенств. [1]
MINOS был впервые разработан Брюсом Муртой и Майклом Сондерсом , в основном в Лаборатории оптимизации систем Департамента исследования операций Стэнфордского университета. [2] В 1985 году Сондерс был удостоен первой премии Орчард-Хейса. [3] Обществом математического программирования (ныне Общество математической оптимизации ) за работу над MINOS. Несмотря на то, что этот пакет является одним из первых решателей оптимизации общего назначения с ограничениями, он по-прежнему широко используется. MINOS поддерживается в системах моделирования AIMMS , AMPL , APMonitor , GAMS и TOMLAB . Кроме того, он остается одним из наиболее часто используемых решателей на сервере NEOS. [4] [5] и в ГАМС . [6]
Операция [ править ]
В идеале пользователь должен предоставить градиенты нелинейных функций. (Это происходит автоматически в большинстве упомянутых выше систем моделирования.) Если некоторые или все градиенты не предоставлены, MINOS аппроксимирует недостающие градиенты конечными разностями, но это может быть медленным и менее надежным. Если целевая функция выпуклая, а ограничения линейные, полученное решение будет глобальным минимизатором. В противном случае полученное решение может быть локальным минимизатором.
двухфазный метод простого Для линейных программ используется симплекса. На первом этапе минимизируется сумма недопустимостей. Для задач с линейными ограничениями и нелинейной целью используется метод уменьшенного градиента. Для получения направлений поиска используется квазиньютоновское приближение к приведенному гессиану. Этот метод наиболее эффективен, когда при решении активно много ограничений или границ.
Для задач с нелинейными ограничениями используется метод Лагранжа с линейными ограничениями. [7] Это включает в себя последовательность крупных итераций, каждая из которых решает (возможно, приблизительно) подзадачу с линейными ограничениями. Целью подзадачи является расширенный лагранжиан , а ограничения подзадачи представляют собой линеаризацию нелинейных ограничений в текущей точке.
MINOS предназначен для решения больших редких задач. Не существует фиксированного ограничения на размер задачи. Большая часть рабочей памяти содержится в одном массиве двойной точности (который должен быть достаточно большим). Исходный код подходит для всех научных машин с компилятором Fortran.
Ссылки [ править ]
- ^ Б. А. Мурта, М. А. Сондерс (2003). «Руководство пользователя MINOS 5.51» (PDF) .
- ^ Б. А. Мурта, М. А. Сондерс (1978). «Крупномасштабная оптимизация с линейными ограничениями» (PDF) . Математическое программирование . 14 : 41–72. дои : 10.1007/BF01588950 . S2CID 38638809 .
- ^ Лауреаты премии Била-Орчарда-Хейса
- ^ Сервер НЕОС
- ^ Сондерс, Майкл (2013). Алгоритмы оптимизации и программное обеспечение в SOL (PDF) .
- ^ Руководство по решателю GAMS/MINOS
- ^ Подробнее, Хорхе Дж.; Райт, Стивен Дж. (1993). «Глава 8: Оптимизация с ограничениями». Руководство по программной оптимизации . Границы прикладной математики. дои : 10.1137/1.9781611970951.ch8 .
Дальнейшее чтение [ править ]
- Б. А. Мурта, М. А. Сондерс (1982). «Планируемый алгоритм Лагранжа и его реализация для разреженных нелинейных ограничений» (PDF) . Математическое программирование . 16 : 84–117.
Внешние ссылки [ править ]
- Лаборатория системной оптимизации, Лаборатория системной оптимизации Стэнфордского университета (SOL).
- MINOS 5.5 - Описание - Дистрибьюторы программного обеспечения.