Jump to content

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

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

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

  • Теоретически время их выполнения полиномиально — в отличие от симплексного метода , который в худшем случае имеет экспоненциальное время выполнения.
  • На практике они работают так же быстро, как и симплексный метод — в отличие от метода эллипсоида , который в теории имеет полиномиальное время выполнения, но очень медленный на практике.

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

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

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

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

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

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

Определения [ править ]

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

где f — выпуклая функция , а G — выпуклое множество . Без ограничения общности можно предположить, что цель f является линейной функцией . Обычно выпуклое множество G представляется набором выпуклых неравенств и линейных равенств; линейные равенства можно устранить с помощью линейной алгебры, поэтому для простоты мы предполагаем, что существуют только выпуклые неравенства, а программу можно описать следующим образом, где gi выпуклые функции:
Мы предполагаем, что функции ограничений принадлежат некоторому семейству (например, квадратичных функций), так что программа может быть представлена ​​конечным вектором коэффициентов (например, коэффициентов квадратичных функций). Размерность этого вектора коэффициентов называется размером программы. Численный решатель для данного семейства программ — это алгоритм, который по вектору коэффициентов генерирует последовательность приближенных решений x t для t = 1,2,..., используя конечное число арифметических операций. Численный решатель называется сходящимся , если для любой программы из семейства и любого положительного ε > 0 существует некоторое T (которое может зависеть от программы и от ε ) такое, что для любого t > T приближенное решение x t является ε-приблизительным, то есть:

е ( x_t ) - е * е

г я ( x_t ) ≤ ε для i в 1,..., m ,

х в G ,

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

poly(problem-size) * 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)

Технически программа ограничена, поскольку определен только внутри G. b Но практически ее можно решить как программу без ограничений, поскольку любой решатель, пытающийся минимизировать функцию, не приблизится к границе, где 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). Для этого необходимо указать три вещи:

  • Барьерная функция b(x).
  • Политика определения штрафных параметров t i .
  • Решатель неограниченной оптимизации, используемый для решения ( P i ) и поиска xi метод , например, Ньютона . что мы можем использовать каждый xi Обратите внимание , в качестве отправной точки для решения следующей задачи ( P i+1 ).

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

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

  • Ограничения (и цель) являются линейными функциями;
  • Барьерная функция является логарифмической : b(x) := - sum j log( -g j ( x )).
  • Параметр штрафа t обновляется геометрически, т.е. , где µ — константа (они взяли , где m — количество ограничений-неравенств);
  • Решающая программа — это метод Ньютона, и один выполняется для каждого шага t шаг Ньютона .

Они доказали, что в этом случае разница 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 н 2 ) операции для точности разряда.

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

Подробности [ править ]

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

минимизировать с Т x st x в G ,

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

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

Для каждого t >0 мы определяем штрафную цель f t (x) := c Т х + б( х ) . Мы определяем путь минимизаторов следующим образом: 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 Т 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 заключается в решении следующей выпуклой программы:

Обозначим оптимальное решение через x*, s *.

  • Если s *<0, то мы знаем, что x* является внутренней точкой исходной задачи и можем перейти к «фазе II», которая решает исходную задачу.
  • Если s *>0, то мы знаем, что исходная программа неосуществима — допустимая область пуста.
  • Если s *=0 и оно достигается некоторым решением x*, то задача разрешима, но не имеет внутренней точки; если оно не достигнуто, то задача невыполнима.

Для этой программы легко получить внутреннюю точку: мы можем произвольно взять 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

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

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

  • A. Допустимое множество {b+L} ᚢ K ограничено и пересекает внутреннюю часть конуса K .
  • Б. Нам заранее дано строго допустимое решение х т. е. допустимое решение внутри К. ^ ,
  • C. Мы заранее знаем оптимальное целевое значение c* задачи.
  • D. Дан M -логарифмически-однородный самосогласованный барьер F для конуса K .

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

минимизировать s Т х ст х в М ᚢ К и е Т х = 1

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

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

где F M -самосогласованный барьер для допустимого конуса. Можно доказать, что, когда 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) условие

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

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

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

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

Линейные программы [ править ]

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

Мы можем применить методы следования по пути с барьером
Функция согласуется с параметром M = m (количеством ограничений). Следовательно, число необходимых шагов Ньютона для метода следования по пути равно O( mn 2 ), а общая сложность времени выполнения равна O( m 3/2 н 2 ). [ нужны разъяснения ]

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

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

где все матрицы Aj являются матрицами положительно-полуопределенными .Мы можем применить методы следования по пути с барьером
Функция является самосогласованным барьером с параметром M = m . Сложность Ньютона равна O( (m+n)n 2 ), а общая сложность времени выполнения равна O( m 1/2 (м+п) н 2 ).

L p нормальная аппроксимация [ править ]

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

где каждый представляет собой вектор, каждый является скаляром, и является Lp нормой с После преобразования к стандартной форме мы можем применить методы следования по пути с самосогласованным барьером с параметром M =4 m . Сложность Ньютона равна O( (m+n)n 2 ), а общая сложность времени выполнения равна O( m 1/2 (м+п) н 2 ).

Геометрические программы [ править ]

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

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

Semidefinite programs [ edit ]

Методы внутренних точек можно использовать для решения полуопределенных программ. [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. Перейти обратно: Перейти обратно: а б с д и ж г час я дж к л м Аркадий Немировский (2004). Полиномиальные методы внутренней точки в выпуклом программировании .
  4. Перейти обратно: Перейти обратно: а б с Бойд, Стивен; Ванденберге, Ливен (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. Перейти обратно: Перейти обратно: а б Гонзага, Кловис К. (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 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b13376d881bd8e44b5f5be632bc07020__1718304840
URL1:https://arc.ask3.ru/arc/aa/b1/20/b13376d881bd8e44b5f5be632bc07020.html
Заголовок, (Title) документа по адресу, URL1:
Interior-point method - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)