Детерминированная глобальная оптимизация

редактировать

Детерминированная глобальная оптимизация - это ветвь численной оптимизации, которая фокусируется на поиске глобальных решений задачи оптимизации, обеспечивая теоретические гарантии того, что заявленное решение действительно является глобальным в пределах некоторый предопределенный допуск. Термин «детерминированная глобальная оптимизация» обычно относится к методам полной или строгой (см. Ниже) оптимизации. Строгие методы сходятся к глобальному оптимуму за конечное время. Детерминированные методы глобальной оптимизации обычно используются, когда необходимо найти глобальное решение (т.е. когда единственное естественное состояние, описываемое математической моделью, является глобальным минимумом задачи оптимизации), когда чрезвычайно сложно найти возможное решение, или просто, когда пользователь желает найти наилучшее возможное решение проблемы.

Содержание
  • 1 Обзор
  • 2 Классы детерминированных задач глобальной оптимизации
    • 2.1 Задачи линейного программирования (LP)
    • 2.2 Смешанные целочисленные задачи линейного программирования (MILP)
    • 2.3 Нелинейное программирование задачи (NLP)
    • 2.4 Смешанно-целочисленные задачи нелинейного программирования (MINLP)
  • 3 Методы нулевого порядка
  • 4 Методы первого порядка
  • 5 Методы второго порядка
  • 6 Детерминированная глобальная оптимизация solvers
  • 7 Ссылки
Обзор

Neumaier классифицировал методы глобальной оптимизации по четырем категориям в зависимости от степени их строгости, с которой они приближаются к оптимуму, следующим образом:

  • неполный использует умную интуитивную эвристику для поиска, но не имеет никаких гарантий, если поиск застревает в локальном минимуме
  • асимптотически полный метод достигает глобального минимума с уверенностью или, по крайней мере, с вероятностью единица если разрешено работать бесконечно долго, но не имеет средств узнать, когда был найден глобальный минимизатор.
  • A complete метод достигает глобальный минимум с уверенностью, предполагая точные вычисления и неопределенно долгое время выполнения, и знает через конечное время, что приближенный глобальный минимизатор был найден (с точностью до заданных допусков).
  • A строгий метод достигает глобального минимума с уверенностью и в пределах заданных допусков даже при наличии ошибок округления, за исключением почти вырожденных случаев, когда допуски могут быть превышены.

Детерминированные методы глобальной оптимизации обычно относятся к двум последним категориям. Обратите внимание, что создание строгой части программного обеспечения чрезвычайно сложно, поскольку процесс требует, чтобы все зависимости также были строго закодированы.

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

Классы детерминированных задач глобальной оптимизации

Линейное программирование Задачи (LP)

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

Смешанное целочисленное линейное программирование задачи (MILP)

Подобно задачам линейного программирования, MILP очень важны при решении моделей принятия решений. Эффективные алгоритмы для решения сложных задач этого типа известны и доступны в виде решателей, таких как CPLEX или Gurobi.

Нелинейное программирование задачи (NLP)

Задачи нелинейного программирования чрезвычайно сложны при детерминированной глобальной оптимизации. Порядок величины, которую современный решатель может обработать за разумное время, составляет примерно от 100 до нескольких сотен нелинейных переменных. На момент написания этой статьи не существовало параллельных решателей для детерминированного решения NLP, что объясняет разрыв в сложности между детерминированным LP и NLP-программированием.

Смешанно-целочисленные задачи нелинейного программирования (MINLP)

Детерминированное решение задачи MINLP может быть даже более сложной задачей, чем их аналоги НЛП. Обычно используются такие методы, как целочисленные сокращения или разветвление задачи по ее целочисленным переменным (тем самым создавая подзадачи НЛП, которые, в свою очередь, могут быть решены детерминированно).

Методы нулевого порядка

Методы нулевого порядка состоят из методов, которые используют интервальную арифметику нулевого порядка . Типичным примером является деление интервала пополам.

Методы первого порядка

Методы первого порядка состоят из методов, которые используют информацию первого порядка, например, интервальные градиенты или интервальные наклоны.

Методы второго порядка

Методы второго порядка используют информацию второго порядка, обычно границы собственных значений, полученные из интервалов матриц Гессе. Одной из наиболее общих методологий второго порядка для решения задач общего типа является алгоритм αΒΒ.

Детерминированные решатели глобальной оптимизации
  • АНТИГОНА : алгоритмы непрерывной / целочисленной глобальной оптимизации нелинейных уравнений). Это проприетарное программное обеспечение, доступное через ANTIGONE на платформе моделирования GAMS.
  • BARON : BARON доступен в рамках AIMMS, AMPL и GAMS язык моделирования и на сервере NEOS. Это проприетарное программное обеспечение
  • Couenne : Convex Over and Under ENvelopes для нелинейной оценки (Couenne) - это библиотека с открытым исходным кодом
  • : Easy-Advanced Global Optimization (EAGO) - это открытый исходный код решатель в Юлия (язык программирования). Он разработан Университетом Коннектикута.
  • LINDO (линейный, интерактивный и дискретный оптимизатор) включает возможности глобальной оптимизации.
  • MAiNGO: алгоритм на основе Маккормика для смешанной целочисленной нелинейной глобальной оптимизации ( MAiNGO) - это пакет C ++ с MPI и распараллеливанием openMP, предоставляемый с открытым исходным кодом под Eclipse Public License - v 2.0.
  • Octeract Engine - это проприетарный решатель с возможностями распараллеливания. Он разработан и лицензирован Octeract
  • SCIP : SCIP - это пакет решателей оптимизации с открытым исходным кодом, который, среди прочего, решает смешанное целочисленное нелинейное программирование (MINLP)
Ссылки
Последняя правка сделана 2021-05-17 03:13:52
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте