Эллипсоидный метод - Ellipsoid method

Итерация метода эллипсоида

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

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

История

Эллипсоидный метод имеет долгую историю. В качестве итеративного метода предварительная версия была представлена Наумом З. Шором . В 1972 г. приближенный алгоритм для реальной выпуклой минимизации был изучен Аркадием Немировским и Давидом Б. Юдиным (Юдин). Как алгоритм решения задач линейного программирования с рациональными данными алгоритм эллипсоида изучал Леонид Хачиян ; Достижением Хачияна было доказательство полиномиальной разрешимости линейных программ. Это был заметный шаг с теоретической точки зрения: стандартным алгоритмом для решения линейных задач в то время был симплекс-алгоритм , время выполнения которого * обычно * линейно по размеру проблемы, но для каких примеров существуют примеры, для которых он * экспоненциальный * по размеру проблемы. Таким образом, наличие алгоритма, который * гарантированно * будет полиномиальным для всех случаев, казалось теоретическим прорывом.

Работа Хачияна впервые показала, что могут существовать алгоритмы для решения линейных программ, время выполнения которых может быть доказано полиномиальным. На практике, однако, алгоритм довольно медленный и представляет небольшой практический интерес, хотя он послужил источником вдохновения для более поздних работ, которые, как оказалось, имели гораздо большее практическое применение. В частности, алгоритм Кармаркара , метод внутренней точки , на практике намного быстрее, чем метод эллипсоида. Алгоритм Кармаркара в худшем случае также работает быстрее.

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

Описание

Задача выпуклой минимизации состоит из следующих ингредиентов.

  • Выпуклая функция , чтобы свести к минимуму над вектором (содержащего п переменных);
  • Выпуклые ограничения-неравенства вида , где функции выпуклые; эти ограничения определяют выпуклое множество .
  • Ограничения линейного равенства формы .

Нам также дан начальный эллипсоид, определяемый как

содержащий минимизатор , где и является центром .

Наконец, мы требуем существования оракула отсекающей плоскости (также называемого оракулом разделения ) для выпуклого множества . Если задан балл , оракул должен вернуть один из двух ответов:

  • «Дело в », или -
  • «Дело в том, что не в , и более того, здесь гиперплоскость, которая отделяется от », то есть вектор такой, что для всех .

Одним из примеров оракула отсекающей плоскости является субградиент g функции f .

Приложение к линейному программированию

В контексте линейного программирования все ограничения линейны и представляют собой выпуклый многогранник . Тогда оракул разделения можно легко реализовать следующим образом. Учитывая ограничения и точку , оракул просто вычисляет :

  • Если результат не больше , значит, есть ;
  • В противном случае, существует, по крайней мере , один ряд из A , таким образом, что больше , чем соответствующее значение в ; эта строка дает нам разделяющую гиперплоскость.

Этот оракул работает за полиномиальное время, пока количество ограничений полиномиально. В некоторых задачах линейной оптимизации, даже если количество ограничений экспоненциально, все же можно написать собственный оракул разделения, который работает за полиномиальное время. Вот два примера:

  • Задача древовидности минимальной стоимости : для данного взвешенного ориентированного графа и вершины r в нем найти подграф минимальной стоимости, содержащий ориентированный путь из r в любую другую вершину. Задачу можно представить в виде LP с ограничением для каждого подмножества вершин, которое является экспоненциальным числом ограничений. Однако оракул разделения может быть реализован с использованием n -1 применений процедуры минимального отсечения .
  • Максимальное независимое множество проблем. Его можно аппроксимировать ЛП с ограничением для каждого цикла нечетной длины. Хотя таких циклов экспоненциально много, оракул разделения, работающий за полиномиальное время, можно реализовать, просто найдя нечетный цикл минимальной длины.

Результат метода эллипсоида:

  • Любая точка многогранника (т.е. любая допустимая точка), или -
  • Доказательство, которое пусто.

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

Безусловная минимизация

На k -й итерации алгоритма мы имеем точку в центре эллипсоида

Мы запрашиваем у оракула отсекающей плоскости вектор, такой что

Таким образом, мы заключаем, что

Мы устанавливаем эллипсоид минимального объема, содержащий полуэллипсоид, описанный выше, и вычисляем . Обновление предоставлено

где

Критерий остановки задается тем свойством, что

Примерная последовательность итераций

Минимизация с учетом неравенства

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

  • Если это возможно, выполните по существу то же обновление, что и в случае без ограничений, выбрав субградиент , удовлетворяющий
  • Если это невозможно и нарушает j -ое ограничение, обновите эллипсоид с разрезом выполнимости. Наша осуществимость разрез может быть субградиент из которых должен удовлетворять

для всех возможных z .

Представление

Метод эллипсоидов используется в задачах малой размерности, таких как задачи плоского местоположения, где он численно устойчив . Даже на задачах «небольшого» размера он страдает числовой нестабильностью и низкой производительностью на практике.

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

Заметки

  1. ^ М. Грётчель , Л. Ловас , А. Шрайвер : геометрические алгоритмы и комбинаторная оптимизация , Springer, 1988.
  2. ^ Л. Ловас : Алгоритмическая теория чисел, графиков и выпуклости , Серия региональных конференций CBMS-NSF по прикладной математике 50, SIAM, Филадельфия, Пенсильвания, 1986.
  3. ^ В. Чандру и MRRao, Линейное программирование, Глава 31 в Справочнике по алгоритмам и теории вычислений , под редакцией MJ Atallah , CRC Press 1999, с 31-1 по 31-37.
  4. ^ В. Чандру и MRRao, Целочисленное программирование, глава 32 в Справочнике по алгоритмам и теории вычислений , под редакцией MJAtallah, CRC Press 1999, с 32-1 по 32-45.
  5. ^ a b «MIT 6.854 Spring 2016 Lecture 12: From Separation to Optimization and Back; Ellipsoid Method - YouTube» . www.youtube.com . Источник 2021-01-03 .
  6. ^ Vempala, Сантош (2016). «Оракул разлуки» (PDF) .

дальнейшее чтение

  • Дмитрис Алеврас и Манфред В. Падберг, Линейная оптимизация и расширения: проблемы и расширения , Universitext, Springer-Verlag, 2001. (Проблемы Падберга с решениями).
  • В. Чандру и MRRao, Линейное программирование, глава 31 в Справочнике по алгоритмам и теории вычислений , под редакцией MJAtallah, CRC Press 1999, с 31-1 по 31-37.
  • В. Чандру и MRRao, Целочисленное программирование, глава 32 в Справочнике по алгоритмам и теории вычислений , под редакцией MJAtallah, CRC Press 1999, с 32-1 по 32-45.
  • Джордж Б. Данциг и Мукунд Н. Тапа. 1997. Линейное программирование 1: Введение . Springer-Verlag.
  • Джордж Б. Данциг и Мукунд Н. Тапа. 2003. Линейное программирование 2: теория и расширения . Springer-Verlag.
  • Л. Ловас : Алгоритмическая теория чисел, графиков и выпуклости , Серия региональных конференций CBMS-NSF по прикладной математике 50, SIAM, Филадельфия, Пенсильвания, 1986
  • Каттта Дж. Мурти, Линейное программирование , Wiley, 1983.
  • М. Падберг , Линейная оптимизация и расширения , второе издание, Springer-Verlag, 1999.
  • Христос Х. Пападимитриу и Кеннет Стейглиц, Комбинаторная оптимизация: алгоритмы и сложность , исправленное переиздание с новым предисловием, Dover.
  • Александр Шрайвер , Теория линейного и целочисленного программирования . Джон Уайли и сыновья, 1998, ISBN   0-471-98232-6

Внешние ссылки

  • EE364b , домашняя страница Стэнфордского курса