stringtranslate.com

Метод внутренней точки

Пример поиска решения. Синие линии показывают ограничения, красные точки — повторяющиеся решения.

Методы внутренней точки (также называемые барьерными методами или IPM ) — это алгоритмы решения линейных и нелинейных задач выпуклой оптимизации . IPM сочетают в себе два преимущества ранее известных алгоритмов:

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

История

Метод внутренней точки был открыт советским математиком И.И. Дикиным в 1967 году. [1] Метод был заново изобретен в США в середине 1980-х годов. В 1984 году Нарендра Кармаркар разработал метод линейного программирования , названный алгоритмом Кармаркара [2] , который выполняется за доказуемо полиномиальное время ( операции над L -битными числами, где n — количество переменных и констант), а также очень эффективен на практике. . Статья Кармаркара вызвала всплеск интереса к методам внутренних точек. Два года спустя Джеймс Ренегар изобрел первый метод движения по внутренней точке с использованием времени выполнения . Позже метод был расширен от линейных до задач выпуклой оптимизации на основе самосогласованной барьерной функции , используемой для кодирования выпуклого множества . [3]

Любую задачу выпуклой оптимизации можно преобразовать в минимизацию (или максимизацию) линейной функции на выпуклом множестве путем преобразования к форме надграфика . [4] : 143  Идея кодирования допустимого множества с использованием барьера и разработки барьерных методов изучалась Энтони В. Фиакко, Гартом П. Маккормиком и другими в начале 1960-х годов. Эти идеи в основном развивались для общего нелинейного программирования , но позже от них отказались из-за наличия более конкурентоспособных методов для этого класса задач (например, последовательного квадратичного программирования ).

Юрий Нестеров и Аркадий Немировский придумали особый класс таких барьеров, с помощью которых можно закодировать любое выпуклое множество. Они гарантируют, что количество итераций алгоритма ограничено полиномом по размерности и точности решения. [5] [3]

Класс примитивно-двойственных методов следования по внутренней точке считается наиболее успешным. Алгоритм предиктора-корректора Мехротры обеспечивает основу для большинства реализаций этого класса методов. [6]

Определения

Нам дана выпуклая программа вида:

выпуклая функциявыпуклое множествоможно предположить, что целевое значение f является линейной функциейGвыпуклые
коэффициентовразмеромрешательx ttсходящимся,εTεtTx tε-приблизительным,

ж ( Икс ) - ж *ε

г я ( Икс ) ≤ ε для я в 1,..., м ,

х в G ,

где f * — оптимальное решение. Решатель называется полиномиальным , если общее количество арифметических операций за первые T шагов не превосходит

поли(размер проблемы) * log( V / ε ),

где V — некоторая константа, зависящая от данных, например, разница между наибольшим и наименьшим значением в допустимом наборе. Другими словами, V / ε — это «относительная точность» решения — точность по наибольшему коэффициенту. log( V / ε ) представляет количество «цифр точности». Следовательно, решатель является «полиномиальным», если каждая дополнительная цифра точности требует количества операций, полиномиального по размеру задачи.

Типы

Типы методов внутренней точки включают в себя:

Методы следования по пути

Идея

Учитывая программу выпуклой оптимизации (P) с ограничениями, мы можем преобразовать ее в программу без ограничений , добавив барьерную функцию . В частности, пусть b — гладкая выпуклая функция, определенная внутри допустимой области G , такая, что для любой последовательности { x j in Interior(G)}, предел которой находится на границе G : . Мы также предполагаем, что b невырожден, то есть: положительно определен для всех x в интерьере (G). Теперь рассмотрим семейство программ:

( P t ) минимизировать t * f(x) + b(x)

Технически программа ограничена, поскольку b определен только внутри G. Но практически ее можно решить как программу без ограничений, поскольку любой решатель, пытающийся минимизировать функцию, не приблизится к границе, где b стремится к бесконечности. Следовательно, ( P t ) имеет единственное решение — обозначим его x *( t ). Функция x * является непрерывной функцией t , которая называется центральным путем . Все предельные точки x * при стремлении t к бесконечности являются оптимальными решениями исходной программы (P).

Метод следования по пути — это метод отслеживания функции x * вдоль некоторой возрастающей последовательности t 1 ,t 2 ,..., то есть: вычисление достаточно хорошего приближения x i к точке x *( t i ), такая, что разность x i - x *( t i ) приближается к 0, когда i приближается к бесконечности; тогда последовательность x i приближается к оптимальному решению (P). Для этого необходимо указать три вещи:

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

Ренегар [7] и Гонзага [8] доказали, что конкретный экземпляр метода следования по пути является политаймовым:

Они доказали, что в этом случае разница x i - x *( t i ) остается не более 0,01, а f( x i ) - f* составляет не более 2* m / t i . Таким образом, точность решения пропорциональна 1/ t i , поэтому для добавления одной цифры точности достаточно умножить ti на 2 (или любой другой постоянный коэффициент), что требует O(sqrt( m )) шагов Ньютона. . Поскольку каждый шаг Ньютона занимает O( mn 2 ) операций, общая сложность составляет O( m 3/2 n 2 ) операций для разряда точности.

Юрий Нестеров распространил идею от линейных программ к нелинейным. Он отметил, что основным свойством логарифмического барьера, использованным в приведенных выше доказательствах, является то, что он самосогласован с конечным параметром барьера. Следовательно, многие другие классы выпуклых программ могут быть решены за политайм с использованием метода следования по пути, если мы сможем найти подходящую самосогласованную барьерную функцию для их допустимой области. [3] : Раздел 1 

Подробности

Нам дана задача выпуклой оптимизации (П) в «стандартной форме»:

минимизировать c T x st x в G ,

где G выпуклая и замкнутая. Мы также можем предположить, что G ограничена (мы можем легко сделать ее ограниченной, добавив ограничение | x |≤ R для некоторого достаточно большого R ). [3] : Раздел 4 

Чтобы использовать метод внутренней точки, нам нужен самосогласованный барьер для G. Пусть bM -самосогласованный барьер для G , где M ≥1 — параметр самосогласования. Мы предполагаем, что можем эффективно вычислить значение b , его градиент и гессиан для каждой точки x внутри G.

Для каждого t > 0 мы определяем штрафную цель f t (x) := c T x + b( x ) . Мы определяем путь минимизаторов следующим образом: x*(t) := arg min f t (x) . Аппориметрируем этот путь по возрастающей последовательности t i . Последовательность инициализируется определенной нетривиальной двухфазной процедурой инициализации. Затем он обновляется по следующему правилу: .

Для каждого t i мы находим приблизительный минимум f ti , обозначаемый xi . Приблизительный минимум выбирается так, чтобы удовлетворять следующему «условию близости» (где Lдопуск пути ):

.

Чтобы найти x i +1 , мы начинаем с x i и применяем демпфированный метод Ньютона . Мы применяем несколько шагов этого метода, пока вышеуказанное «отношение близости» не будет удовлетворено. Первая точка, удовлетворяющая этому соотношению, обозначается x i +1 . [3] : Раздел 4 

Конвергенция и сложность

Скорость сходимости метода определяется следующей формулой для каждого i : [3] : Предложение 4.4.1. 

Принимая , число шагов Ньютона, необходимое для перехода от xi к xi +1 , не превышает фиксированного числа, которое зависит только от r и L . В частности, общее число шагов Ньютона, необходимое для нахождения ε -приближенного решения (т.е. нахождения x в G такого, что c T x - c* ≤ ε ), не превышает: [3] : Thm.4.4.1 

где постоянный множитель O(1) зависит только от r и L. Число шагов Ньютона, необходимое для двухэтапной процедуры инициализации, не превышает: [3] : Thm.4.5.1. 

[ нужны разъяснения ]

где постоянный множитель O(1) зависит только от r и L и , и является некоторой точкой внутри G . В целом, общая ньютоновская сложность поиска ε -приближенного решения не превышает

, где V — некоторая константа, зависящая от задачи: .

Каждый шаг Ньютона занимает O( n 3 ) арифметических операций.

Инициализация: методы фазы I

Чтобы инициализировать методы следования по пути , нам нужна точка внутри допустимой области G. Другими словами: если G определяется неравенствами gi ( x ) ≤ 0, то нам нужен некоторый x , для которого gi ( x ) < 0 для всех i из 1,..., m . Если у нас нет такой точки, нам нужно найти ее, используя так называемый метод фазы I. [4] : 11.4  Простой метод этапа I заключается в решении следующей выпуклой программы:

s

Для этой программы легко получить внутреннюю точку: мы можем произвольно взять x = 0 и принять s за любое число, большее max( f 1 (0),..., f m (0)). Поэтому ее можно решить методами внутренних точек. Однако время выполнения пропорционально log(1/ s *). Когда s* приближается к 0, становится все труднее и труднее найти точное решение проблемы фазы I и, следовательно, труднее решить, выполнима ли исходная задача.

Практические соображения

Теоретические гарантии предполагают, что параметр штрафа увеличивается со скоростью , поэтому наихудшее число требуемых шагов Ньютона равно . Теоретически, если µ больше (например, 2 или более), то наихудшее количество требуемых шагов Ньютона находится в . Однако на практике большее значение ц приводит к гораздо более быстрой сходимости. Эти методы называются методами длинного шага . [3] : Раздел 4.6  На практике, если µ находится между 3 и 100, то программа сходится за 20-40 шагов Ньютона, независимо от количества ограничений (хотя время выполнения каждого шага Ньютона, конечно, растет с количеством шагов Ньютона). ограничения). Точное значение μ в этом диапазоне мало влияет на производительность. [4] : глава 11 

Методы снижения потенциала

Для методов потенциальной редукции задача представляется в конической форме : [3] : разд.5 

минимизировать c T x st x в {b+L} ᚢ K ,

где b — вектор в Rn , L — линейное подпространство в Rn ( поэтому b + Lаффинная плоскость ), а K — замкнутый заостренный выпуклый конус с непустой внутренностью. Любую выпуклую программу можно преобразовать к конической форме. Чтобы использовать метод редукции потенциала (в частности, расширение алгоритма Кармаркара до выпуклого программирования), нам необходимы следующие предположения: [3] : раздел 6. 

Допущения A, B и D необходимы в большинстве методов внутренней точки. Предположение C специфично для подхода Кармаркара; его можно смягчить, используя «скользящее объективное значение». Возможно дальнейшее сведение программы к формату Кармаркара :

минимизировать s T x st x в M ᚢ K и e T x = 1

где Mлинейное подпространство в Rn , а оптимальное целевое значение равно 0. Метод основан на следующей скалярной потенциальной функции:

v ( Икс ) знак равно F ( Икс ) + M пер ( s Т Икс )

где FM -самосогласованный барьер для допустимого конуса. Можно доказать, что, когда x строго осуществима и v ( x ) очень мало (- очень отрицательно), x приблизительно оптимален. Идея метода уменьшения потенциала состоит в том, чтобы изменить x так, чтобы потенциал на каждой итерации уменьшался как минимум на фиксированную константу X (в частности, X = 1/3-ln(4/3)). Это означает, что после i итераций разница между целевым значением и оптимальным целевым значением составляет не более V * exp(- i X / M ), где V — константа, зависящая от данных. Следовательно, число шагов Ньютона, необходимое для получения ε -приближенного решения, не превышает .

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

Первично-двойственные методы

Идею первично-двойственного метода легко продемонстрировать для нелинейной оптимизации с ограничениями . [9] [10] Для простоты рассмотрим следующую задачу нелинейной оптимизации с ограничениями-неравенствами:

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

Вот небольшой положительный скаляр, иногда называемый «параметром барьера». При сходимости к нулю минимум должен сходиться к решению (1).

Градиент дифференцируемой функции обозначается . Градиент барьерной функции равен

В дополнение к исходной («основной») переменной мы вводим двойную переменную , основанную на множителе Лагранжа.

Уравнение (4) иногда называют условием «возмущенной дополнительности» из-за его сходства с «дополнительной нежесткостью» в условиях ККТ .

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

Подставив из (4) в (3), получим уравнение для градиента:

якобиан

Интуиция, лежащая в основе (5), заключается в том, что градиент должен лежать в подпространстве, охватываемом градиентами ограничений. «Возмущенную дополнительность» при малых (4) можно понимать как условие, что решение должно либо лежать вблизи границы , либо проекция градиента на нормаль компоненты ограничения должна быть почти равна нулю.

Пусть — направление поиска для итеративного обновления . Применяя метод Ньютона к (4) и (5), получаем уравнение для :

где - матрица Гессе , - диагональная матрица , и - диагональная матрица .

Ввиду (1), (4) условие

должны соблюдаться на каждом этапе. Это можно сделать, выбрав подходящие :

Траектория итераций x с использованием метода внутренней точки.

Типы выпуклых программ, решаемых методами внутренних точек

Вот некоторые частные случаи выпуклых программ, которые можно эффективно решить методами внутренних точек. [3] : Раздел 10. 

Линейные программы

Рассмотрим линейную программу вида:

Mmmn 2m 3/2 n 2[ нужны разъяснения ]

Квадратичные программы с квадратичными ограничениями

Дана квадратичная программа с квадратичными ограничениями вида:

Aj являются положительно-полуопределенными
Mm(m+n)n 2m 1/2n 2

L p аппроксимация нормы

Рассмотрим задачу вида

нормой L pMm(m+n)n 2m 1/2n 2

Геометрические программы

Рассмотрите проблему

Имеется самосогласованный барьер с параметром 2k + m . Метод следования по пути имеет ньютоновскую сложность O( mk 2 + k 3 + n 3 ) и общую сложность O (( k+m ) 1/2 [ mk 2 + k 3 + n 3 ]).

Полуопределенные программы

Методы внутренних точек можно использовать для решения полуопределенных программ. [3] : Раздел 11. 

Смотрите также

Рекомендации

  1. ^ Дикин, И.И. (1967). «Итеративное решение задач линейного и квадратичного программирования». Докл. Акад. Наук СССР . 174 (1): 747–748.
  2. ^ Кармаркар, Н. (1984). «Новый алгоритм линейного программирования с полиномиальным временем» (PDF) . Материалы шестнадцатого ежегодного симпозиума ACM по теории вычислений – STOC '84 . п. 302. дои : 10.1145/800057.808695 . ISBN 0-89791-133-4. Архивировано из оригинала (PDF) 28 декабря 2013 года.
  3. ^ abcdefghijklm Аркадий Немировский (2004). Полиномиальные методы внутренней точки в выпуклом программировании.
  4. ^ abc Бойд, Стивен; Ванденберге, Ливен (2004). Выпуклая оптимизация . Кембридж: Издательство Кембриджского университета . ISBN 978-0-521-83378-3. МР  2061575.
  5. ^ Райт, Маргарет Х. (2004). «Революция внутренней точки в оптимизации: история, последние события и долгосрочные последствия». Бюллетень Американского математического общества . 42 : 39–57. дои : 10.1090/S0273-0979-04-01040-7 . МР  2115066.
  6. ^ Потра, Флориан А.; Стивен Дж. Райт (2000). «Методы внутренних точек». Журнал вычислительной и прикладной математики . 124 (1–2): 281–302. дои : 10.1016/S0377-0427(00)00433-7 .
  7. ^ аб Ренегар, Джеймс (1 января 1988 г.). «Алгоритм с полиномиальным временем, основанный на методе Ньютона, для линейного программирования». Математическое программирование . 40 (1): 59–93. дои : 10.1007/BF01580724. ISSN  1436-4646.
  8. ^ ab Гонзага, Кловис К. (1989), Мегиддо, Нимрод (ред.), «Алгоритм решения задач линейного программирования в операциях O (n3L)», Прогресс в математическом программировании: внутренняя точка и связанные методы , Нью-Йорк, Нью-Йорк: Спрингер, стр. 1–28, номер документа : 10.1007/978-1-4613-9617-8_1, ISBN. 978-1-4613-9617-8, получено 22 ноября 2023 г.
  9. ^ Мехротра, Санджай (1992). «О реализации метода первично-двойственной внутренней точки». SIAM Journal по оптимизации . 2 (4): 575–601. дои : 10.1137/0802028.
  10. ^ Райт, Стивен (1997). Методы первично-двойственной внутренней точки . Филадельфия, Пенсильвания: СИАМ. ISBN 978-0-89871-382-4.