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

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

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

История [ править ]

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

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

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

Описание [ править ]

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

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

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

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

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

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

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

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

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

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

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

  • Задача древовидности минимальной стоимости : для данного взвешенного ориентированного графа и вершины 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, весна 2016, лекция 12: от разделения к оптимизации и обратно; метод эллипсоидов - YouTube» . www.youtube.com . Проверено 2021 января .
  6. ^ Vempala, Сантош (2016). «Оракул разлуки» (PDF) .

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

  • Дмитрис Алеврас и Манфред В. Падберг, Линейная оптимизация и расширения: проблемы и расширения , Universitext, Springer-Verlag, 2001. (Проблемы Падберга с решениями).
  • В. Чандру и М.Р.Рао, Линейное программирование, Глава 31 в Справочнике по алгоритмам и теории вычислений , под редакцией М.Дж. Аталлаха, 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 , домашняя страница Стэнфордского курса