Jump to content

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

(Перенаправлено из полуопределенных программ )

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

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

Мотивация и определение

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

Начальная мотивация

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

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

где и являются действительными числами и является произведением скалярным и .

Эквивалентные составы

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

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

Обозначим через пространство всего действительные симметричные матрицы. Пространство оснащено внутренним продуктом (где обозначает след ):

Мы можем переписать математическую программу, приведенную в предыдущем разделе, эквивалентно:

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

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

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

Связь с другими задачами оптимизации

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

Пространство полуопределенных матриц представляет собой выпуклый конус . Следовательно, SDP — это частный случай конической оптимизации , которая является частным случаем выпуклой оптимизации.

Когда матрица C диагональна, скалярные произведения < , X > эквивалентны векторному произведению диагонали C и диагонали X. C Аналогично, когда матрицы A k диагональны, соответствующие скалярные произведения эквивалентны векторным произведениям. В этих векторных произведениях используются только диагональные элементы X , поэтому мы можем добавить ограничения, приравнивающие недиагональные элементы X к 0. Условие тогда эквивалентно условию, что все диагональные элементы X неотрицательны. Затем полученная SDP становится линейной программой , в которой переменные являются диагональными элементами X .

Теория двойственности

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

Определения

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

Аналогично линейному программированию, если задана общая SDP вида

(основная задача или P-SDP), мы определяем двойственную полуопределенную программу (D-SDP) как

где для любых двух матриц и , означает .

Слабая двойственность

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

Теорема о слабой двойственности утверждает, что значение первичной SDP не меньше значения двойственной SDP. Следовательно, любое допустимое решение двойственной SDP ограничивает снизу значение первичной SDP, и наоборот, любое допустимое решение первичной SDP ограничивает сверху значение двойственной SDP. Это потому, что

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

Сильная двойственность

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

Когда значения первичной и двойственной SDP равны, говорят, что SDP удовлетворяет свойству сильной двойственности . В отличие от линейных программ , где каждая двойственная линейная программа имеет оптимальную цель, равную основной цели, не каждая SDP удовлетворяет строгой двойственности; в общем случае значение двойного SDP может лежать строго ниже значения основного, а P-SDP и D-SDP удовлетворяют следующим свойствам:

(i) Предположим, что основная задача (P-SDP) ограничена снизу и строго осуществимо (т.е. существует такой, что , ). Тогда есть оптимальное решение к (D-SDP) и

(ii) Предположим, что двойственная задача (D-SDP) ограничена сверху и строго осуществимо (т. для некоторых ). Тогда есть оптимальное решение к (P-SDP) и равенство из (i) выполнено.

Достаточным условием выполнения сильной двойственности для задачи SDP (и вообще для любой задачи выпуклой оптимизации) является условие Слейтера . Также возможно достичь сильной двойственности для SDP без дополнительных условий регулярности, используя расширенную двойственную задачу, предложенную Раманой. [2] [3]

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

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

Мы устанавливаем чтобы получить ответ. Это может быть сформулировано СДП. Мы справляемся с ограничениями-неравенствами, дополняя матрицу переменных и вводя слабые переменные , например

Решение этой SDP дает минимальное и максимальное значения как и соответственно.

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

минимизировать
при условии

где мы предполагаем, что в любое время .

Введение вспомогательной переменной проблему можно переформулировать:

минимизировать
при условии

В этой формулировке целью является линейная функция переменных .

Первое ограничение можно записать как

где матрица - квадратная матрица со значениями по диагонали, равными к элементам вектора .

Второе ограничение можно записать как

Определение следующее

Мы можем использовать теорию дополнений Шура, чтобы увидеть, что

(Бойд и Ванденберге, 1996 г.)

Полуопределенная программа, связанная с этой задачей, имеет вид

минимизировать
при условии

Пример 3 (алгоритм аппроксимации максимального разреза Гоеманса – Вильямсона)

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

Полуопределенные программы являются важным инструментом разработки алгоритмов аппроксимации для NP-трудных задач максимизации. Алгоритм первого приближения, основанный на SDP, принадлежит Мишелю Гомансу и Дэвиду П. Уильямсону (JACM, 1995). [1] : Глава 1 Они изучали проблему максимального разреза : для графа G = ( V , E ) вывести разбиение вершин V так, чтобы максимизировать количество ребер, пересекающих одну сторону на другую. Эту задачу можно выразить в виде целочисленной квадратичной программы :

Максимизировать такой, что каждый .

Если P = NP , мы не сможем эффективно решить эту задачу максимизации. Однако Гоеманс и Уильямсон наблюдали общую трехэтапную процедуру решения такого рода проблем:

  1. Превратите целочисленную квадратичную программу в SDP.
  2. Решите SDP (с точностью до сколь угодно малой аддитивной ошибки). ).
  3. Округлите решение SDP, чтобы получить приближенное решение исходной целочисленной квадратичной программы.

Для максимального разреза самое естественное расслабление — это

такой, что , где максимизация ведется по векторам вместо целочисленных скаляров.

Это SDP, потому что целевая функция и ограничения являются линейными функциями векторных внутренних продуктов. Решение SDP дает набор единичных векторов в ; поскольку векторы не обязаны быть коллинеарными, значение этой смягченной программы может быть только выше значения исходной программы квадратичных целых чисел. Наконец, для получения разбиения необходима процедура округления. Гоеманс и Уильямсон просто выбирают равномерно случайную гиперплоскость, проходящую через начало координат, и делят вершины в зависимости от того, по какой стороне гиперплоскости лежат соответствующие векторы. Прямой анализ показывает, что эта процедура обеспечивает ожидаемый коэффициент аппроксимации (гарантию производительности) 0,87856 - ε. (Ожидаемое значение разреза — это сумма по краям вероятности того, что край разрезается, которая пропорциональна углу между векторами на концах ребра над . Сравнивая эту вероятность с , в ожидании отношение всегда не менее 0,87856.) Принимая гипотезу об уникальных играх , можно показать, что это соотношение аппроксимации по существу оптимально.

Со времени выхода оригинальной статьи Гоеманса и Уильямсона SDP применялись для разработки многочисленных алгоритмов аппроксимации. Недавно Прасад Рагхавендра разработал общую структуру проблем удовлетворения ограничений, основанную на гипотезе уникальных игр . [4]

Другие приложения

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

Полуопределенное программирование применялось для поиска приближенных решений задач комбинаторной оптимизации, таких как решение задачи максимального разреза с коэффициентом аппроксимации 0,87856. SDP также используются в геометрии для определения графов тенсегрити и возникают в теории управления как LMI , а также в обратных задачах с эллиптическими коэффициентами как выпуклые, нелинейные ограничения полуопределенности. [5] Он также широко используется в физике для ограничения конформных теорий поля конформным бутстрепом . [6]

Сложность во время выполнения

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

Полуопределенная задача осуществимости (SDF) — это следующая проблема принятия решения : учитывая SDP, решите, имеет ли она хотя бы одно допустимое решение. Точная сложность этой проблемы во время выполнения неизвестна (по состоянию на 1997 год). Однако Рамана доказал следующее: [2]

Алгоритмы решения СДП

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

Существует несколько типов алгоритмов решения SDP. Эти алгоритмы выводят значение SDP с точностью до аддитивной ошибки. за время, полиномиальное по размеру описания программы и .

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

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

Метод эллипсоида является общим методом выпуклого программирования и может использоваться, в частности, для решения SDP. В контексте SDP метод эллипсоида обеспечивает следующую гарантию. [1] : Thm.2.6.1 Рассмотрим SDP в следующей эквациональной форме:

Пусть L — аффинное подпространство матриц в S н удовлетворение m эквациональных ограничений; поэтому SDP можно записать как: . Предположим, что все коэффициенты в SDP являются рациональными числами. Пусть R — явно заданная верхняя граница максимальной нормы Фробениуса допустимого решения, а ε> 0 — константа. Матрица X в S н называется ε-глубокой , если каждая матрица Y из L с расстоянием Фробениуса не более ε от X удовлетворяет условию выполнимости . Обозначим . Эллипсоид возвращает один из следующих выходных данных:

  • Матрица X* в L (т. е. точно удовлетворяющая всем ограничениям линейного равенства), такая, что расстояние Фробениуса между X* и некоторым допустимым решением не превышает ε (т. е. приблизительно удовлетворяет ограничению-неравенству ), и (то есть приблизительно оптимальное целевое значение).
  • Свидетельство о том, что задача не имеет ε-глубинных решений (т. е. задача приближенно неразрешима).

Время выполнения является полиномиальным в двоичной кодировке входных данных и в log(R/ ε ) в модели машины Тьюринга .

Обратите внимание, что, вообще говоря, R может быть дважды экспоненциальным по n. В этом случае гарантия времени выполнения метода эллипсоида является экспоненциальной по n . Но в большинстве приложений R не так уж велик. В этих случаях метод эллипсоида является единственным известным методом, который гарантирует полиномиальное время выполнения в модели машины Тьюринга. [1] : 23  Но на практике его производительность не так хороша.

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

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

Большинство кодов основано на методах внутренних точек (CSDP, MOSEK , SeDuMi, SDPT3 , DSDP, SDPA). Они надежны и эффективны для общих линейных задач SDP, но ограничены тем фактом, что алгоритмы являются методами второго порядка и требуют хранения и факторизации большой (и часто плотной) матрицы. Теоретически современные высокоточные алгоритмы SDP [7] [8] основаны на этом подходе.

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

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

Методы первого порядка конической оптимизации позволяют избежать вычисления, хранения и факторизации большой матрицы Гессе и масштабируются для решения гораздо более серьезных задач, чем методы внутренней точки, за счет некоторой потери точности. Метод первого порядка реализован в решателе расщепляющегося конуса (SCS). [9] Другим методом первого порядка является метод множителей переменного направления (ADMM). [10] Этот метод требует на каждом шаге проецирования на конус полуопределенных матриц.

Пакетный метод

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

Код ConicBundle формулирует задачу SDP как задачу негладкой оптимизации и решает ее методом негладкой оптимизации Spectral Bundle. Этот подход очень эффективен для особого класса линейных задач SDP.

Другие методы решения

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

Алгоритмы, основанные на методе расширенного лагранжа (PENSDP), по поведению аналогичны методам внутренней точки и могут быть специализированы для решения некоторых очень крупномасштабных задач. Другие алгоритмы используют информацию низкого ранга и переформулируют SDP как задачу нелинейного программирования (SDPLR, ManiSDP). [11]

Приблизительные методы

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

Также были предложены алгоритмы, позволяющие приближенно решать задачи SDP. Основная цель таких методов — добиться снижения сложности в приложениях, где приближенных решений достаточно, а сложность должна быть минимальной. Известным методом, который использовался для обнаружения данных в беспроводных системах с несколькими входами и множеством выходов (MIMO), является треугольная аппроксимационная полуопределенная релаксация (TASER), [12] который работает с факторами разложения Холецкого полуопределенной матрицы вместо полуопределенной матрицы. Этот метод вычисляет приближенные решения для задачи типа max-cut, которые часто сравнимы с решениями точных решателей, но всего за 10-20 итераций алгоритма. Хазан [13] разработал приближенный алгоритм решения СДП с дополнительным ограничением, заключающимся в том, что след матрицы переменных должен быть равен 1.

Алгоритмы предварительной обработки

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

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

  • Обнаружить отсутствие строгого технико-экономического обоснования;
  • Удалить лишние строки и столбцы;
  • Уменьшите размер переменной матрицы. [14]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б с д Гертнер, Бернд; Матушек, Иржи (2012), Гертнер, Бернд; Матоусек, Иржи (ред.), «Полуопределенное программирование» , Алгоритмы аппроксимации и полуопределенное программирование , Берлин, Гейдельберг: Springer, стр. 15–25, номер домена : 10.1007/978-3-642-22015-9_2 , ISBN.  978-3-642-22015-9 , получено 31 декабря 2023 г.
  2. ^ Перейти обратно: а б Рамана, Мотакури В. (1997). «Точная теория двойственности полуопределенного программирования и ее последствия для сложности» . Математическое программирование . 77 (1): 129–162. дои : 10.1007/BF02614433 . ISSN   0025-5610 . S2CID   12886462 .
  3. ^ Ванденберге, Ливен; Бойд, Стивен (1996). «Полуопределенное программирование» . Обзор СИАМ . 38 (1): 49–95. дои : 10.1137/1038003 . ISSN   0036-1445 .
  4. ^ Рагхавендра, Прасад (2008). «Оптимальные алгоритмы и результаты о неаппроксимируемости для каждого CSP?» . Материалы сорокового ежегодного симпозиума ACM по теории вычислений . стр. 245–254. дои : 10.1145/1374376.1374414 . ISBN  9781605580470 . S2CID   15075197 .
  5. ^ Харрах, Бастиан (2021), «Решение обратной задачи с эллиптическими коэффициентами с помощью выпуклого нелинейного полуопределенного программирования», Optimization Letters , 16 (5): 1599–1609, arXiv : 2105.11440 , doi : 10.1007/s11590-021-01802-4 , S2CID   235166806
  6. ^ Симмонс-Даффин, Дэвид (06 февраля 2015 г.). «Решатель полуопределенных программ для конформного бутстрапа». Журнал физики высоких энергий . 2015 (6): 174. arXiv : 1502.02033 . Бибкод : 2015JHEP...06..174S . дои : 10.1007/JHEP06(2015)174 . S2CID   256009551 .
  7. ^ Цзян, Хаотянь; Катурия, Тарун; Ли, Инь Тат; Падманабхан, Свати; Сун, Чжао (ноябрь 2020 г.). «Более быстрый метод внутренней точки для полуопределенного программирования» . 61-й ежегодный симпозиум IEEE по основам информатики (FOCS) 2020 г. Дарем, Северная Каролина, США: IEEE. стр. 910–918. arXiv : 2009.10217 . дои : 10.1109/FOCS46700.2020.00089 . ISBN  978-1-7281-9621-3 . S2CID   221836388 .
  8. ^ Хуан, Байхэ; Цзян, Шуньхуа; Сун, Чжао; Тао, Жуньчжоу; Чжан, Жуйчжэ (18 ноября 2021 г.). «Ускоренное решение SDP: надежная структура IPM и эффективная реализация». arXiv : 2101.08208 [ math.OC ].
  9. ^ Брендан О'Донохью, Эрик Чу, Нил Парих, Стивен Бойд, «Коническая оптимизация посредством разделения операторов и Однородное самодвойственное вложение", Журнал теории оптимизации и приложений, 2016, стр. 1042--1068, https://web.stanford.edu/~boyd/papers/pdf/scs.pdf .
  10. ^ Вэнь, Зайвэнь, Дональд Гольдфарб и Вотао Инь. «Дополненные лагранжевы методы чередующегося направления для полуопределенного программирования». Математическое программирование и вычисления 2.3-4 (2010): 203-230.
  11. ^ Бюрер, Сэмюэл; Монтейро, Ренато, округ Колумбия (2003), «Алгоритм нелинейного программирования для решения полуопределенных программ посредством факторизации низкого ранга», Mathematical Programming , 95 (2): 329–357, CiteSeerX   10.1.1.682.1520 , doi : 10.1007/s10107-002 -0352-8 , ISSN   1436-4646 , S2CID   7691228
  12. ^ Кастаньеда, О.; Гольдштейн, Т.; Студер, К. (декабрь 2016 г.). «Обнаружение данных в больших беспроводных системах с несколькими антеннами посредством приближенной полуопределенной релаксации» . Транзакции IEEE в схемах и системах I: Регулярные статьи . 63 (12): 2334–2346. arXiv : 1609.01797 . дои : 10.1109/TCSI.2016.2607198 . hdl : 20.500.11850/448631 . ISSN   1558-0806 .
  13. ^ Хазан, Элад (2008). Лабер, Эдуардо Сани; Борнштейн, Клодсон; Ногейра, Лоана Тито; Фариа, Луэрбио (ред.). «Разреженные приближенные решения полуопределенных программ» . ЛАТИНЬ 2008: Теоретическая информатика . Конспекты лекций по информатике. Берлин, Гейдельберг: Springer: 306–316. дои : 10.1007/978-3-540-78773-0_27 . ISBN  978-3-540-78773-0 .
  14. ^ Чжу, Юзисюань; Патаки, Габор; Тран-Динь, Куок (2019), «Sieve-SDP: простой алгоритм сокращения лиц для предварительной обработки полуопределенных программ» , Mathematical Programming Computation , 11 (3): 503–586, arXiv : 1710.08954 , doi : 10.1007/s12532-019- 00164-4 , ISSN   1867-2949 , S2CID   53645581
  • Ливен Ванденберге, Стивен Бойд, «Полуопределенное программирование», SIAM Review 38, март 1996 г., стр. 49–95. PDF
  • Моник Лоран, Франц Рендл, «Полуопределенное программирование и целочисленное программирование», отчет PNA-R0210, CWI, Амстердам, апрель 2002 г., оптимизация онлайн.
  • Э. де Клерк, «Аспекты полуопределенного программирования: алгоритмы внутренних точек и избранные приложения», Kluwer Academic Publishers, март 2002 г., ISBN   1-4020-0547-4 .
  • Роберт М. Фройнд, «Введение в полуопределенное программирование (SDP), SDP-Введение
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7b14078d2e55486249c01675d0d9af50__1709075520
URL1:https://arc.ask3.ru/arc/aa/7b/50/7b14078d2e55486249c01675d0d9af50.html
Заголовок, (Title) документа по адресу, URL1:
Semidefinite programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)