Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

MINOS - это программный пакет Fortran для решения линейных и нелинейных задач математической оптимизации . MINOS (модульная система нелинейной оптимизации в ядре) может использоваться для линейного программирования, квадратичного программирования и более общих целевых функций и ограничений, а также для поиска допустимой точки для набора линейных или нелинейных равенств и неравенств. [1]

MINOS был впервые разработан Брюсом Муртагом и Майклом Сондерсом , в основном в Лаборатории оптимизации систем Департамента исследований операций Стэнфордского университета. [2] В 1985 году Сондерс был награжден первой премией Орчарда-Хейса [3] от Общества математического программирования (ныне Общество математической оптимизации ) за его работу над MINOS. Несмотря на то, что пакет является одним из первых появившихся решателей ограниченной оптимизации общего назначения, он по-прежнему активно используется. MINOS поддерживается в AIMMS , AMPL , APMonitor , GAMS и TOMLAB.системы моделирования. Кроме того, он остается одним из наиболее часто используемых решателей на сервере NEOS [4] [5] и в GAMS . [6]

Операция [ править ]

В идеале пользователь должен предоставлять градиенты нелинейных функций. (Это происходит автоматически в большинстве упомянутых выше систем моделирования.) Если некоторые или все градиенты не предоставлены, MINOS аппроксимирует недостающие с помощью конечных разностей, но это может быть медленным и менее надежным. Если целевая функция выпуклая, а ограничения линейны, полученное решение будет глобальным минимизатором. В противном случае полученное решение может быть локальным минимизатором.

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

Для задач с нелинейными ограничениями используется метод Лагранжа с линейными ограничениями. [7] Это включает в себя последовательность основных итераций, каждая из которых решает (возможно, приближенно) подзадачу с линейными ограничениями. Цель подзадачи - это расширенный лагранжиан , а ограничения подзадачи - это линеаризации нелинейных ограничений в текущей точке.

MINOS предназначен для больших разреженных задач. Нет фиксированного ограничения на размер проблемы. Большая часть рабочей памяти содержится в одном массиве двойной точности (который должен быть достаточно большим). Исходный код подходит для всех научных машин с компилятором Fortran.

Ссылки [ править ]

  1. ^ Б. Мерта, М. Сондерс (2003). «Руководство пользователя MINOS 5.51» (PDF) . Цитировать журнал требует |journal=( помощь )
  2. ^ Б. Мерта, М. А. Сондерс (1978). «Масштабная оптимизация с линейными ограничениями» (PDF) . Математическое программирование . 14 : 41–72.
  3. ^ Победителей Бил-Орчард-Hays премии
  4. ^ Сервер NEOS
  5. ^ Сондерс, Майкл (2013). Алгоритмы и программное обеспечение оптимизации в SOL (PDF) .
  6. ^ Руководство по GAMS / MINOS Solver
  7. ^ Подробнее, Хорхе Дж .; Райт, Стивен Дж. (1993). «Глава 8: Оптимизация с ограничениями». Руководство по оптимизации программного обеспечения . Границы прикладной математики. DOI : 10.1137 / 1.9781611970951.ch8 .

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]