Полуопределенное программирование
Полуопределенное программирование ( 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]
Примеры
[ редактировать ]Пример 1
[ редактировать ]Рассмотрим три случайные величины , , и . Заданный набор коэффициентов корреляции возможны тогда и только тогда, когда
Эта матрица называется корреляционной матрицей . Предположим, что мы знаем из некоторых предварительных знаний (например, эмпирических результатов эксперимента), что и . Задача определения наименьшего и наибольшего значений, которые можно взять:
Мы устанавливаем чтобы получить ответ. Это может быть сформулировано СДП. Мы справляемся с ограничениями-неравенствами, дополняя матрицу переменных и вводя слабые переменные , например
Решение этой SDP дает минимальное и максимальное значения как и соответственно.
Пример 2
[ редактировать ]Рассмотрите проблему
- минимизировать
- при условии
где мы предполагаем, что в любое время .
Введение вспомогательной переменной проблему можно переформулировать:
- минимизировать
- при условии
В этой формулировке целью является линейная функция переменных .
Первое ограничение можно записать как
где матрица - квадратная матрица со значениями по диагонали, равными к элементам вектора .
Второе ограничение можно записать как
Определение следующее
Мы можем использовать теорию дополнений Шура, чтобы увидеть, что
(Бойд и Ванденберге, 1996 г.)
Полуопределенная программа, связанная с этой задачей, имеет вид
- минимизировать
- при условии
Пример 3 (алгоритм аппроксимации максимального разреза Гоеманса – Вильямсона)
[ редактировать ]Полуопределенные программы являются важным инструментом разработки алгоритмов аппроксимации для NP-трудных задач максимизации. Алгоритм первого приближения, основанный на SDP, принадлежит Мишелю Гомансу и Дэвиду П. Уильямсону (JACM, 1995). [1] : Глава 1 Они изучали проблему максимального разреза : для графа G = ( V , E ) вывести разбиение вершин V так, чтобы максимизировать количество ребер, пересекающих одну сторону на другую. Эту задачу можно выразить в виде целочисленной квадратичной программы :
- Максимизировать такой, что каждый .
Если P = NP , мы не сможем эффективно решить эту задачу максимизации. Однако Гоеманс и Уильямсон наблюдали общую трехэтапную процедуру решения такого рода проблем:
- Превратите целочисленную квадратичную программу в SDP.
- Решите SDP (с точностью до сколь угодно малой аддитивной ошибки). ).
- Округлите решение SDP, чтобы получить приближенное решение исходной целочисленной квадратичной программы.
Для максимального разреза самое естественное расслабление — это
- такой, что , где максимизация ведется по векторам вместо целочисленных скаляров.
Это SDP, потому что целевая функция и ограничения являются линейными функциями векторных внутренних продуктов. Решение SDP дает набор единичных векторов в ; поскольку векторы не обязаны быть коллинеарными, значение этой смягченной программы может быть только выше значения исходной программы квадратичных целых чисел. Наконец, для получения разбиения необходима процедура округления. Гоеманс и Уильямсон просто выбирают равномерно случайную гиперплоскость, проходящую через начало координат, и делят вершины в зависимости от того, по какой стороне гиперплоскости лежат соответствующие векторы. Прямой анализ показывает, что эта процедура обеспечивает ожидаемый коэффициент аппроксимации (гарантию производительности) 0,87856 - ε. (Ожидаемое значение разреза — это сумма по краям вероятности того, что край разрезается, которая пропорциональна углу между векторами на концах ребра над . Сравнивая эту вероятность с , в ожидании отношение всегда не менее 0,87856.) Принимая гипотезу об уникальных играх , можно показать, что это соотношение аппроксимации по существу оптимально.
Со времени выхода оригинальной статьи Гоеманса и Уильямсона SDP применялись для разработки многочисленных алгоритмов аппроксимации. Недавно Прасад Рагхавендра разработал общую структуру проблем удовлетворения ограничений, основанную на гипотезе уникальных игр . [4]
Другие приложения
[ редактировать ]Полуопределенное программирование применялось для поиска приближенных решений задач комбинаторной оптимизации, таких как решение задачи максимального разреза с коэффициентом аппроксимации 0,87856. SDP также используются в геометрии для определения графов тенсегрити и возникают в теории управления как LMI , а также в обратных задачах с эллиптическими коэффициентами как выпуклые, нелинейные ограничения полуопределенности. [5] Он также широко используется в физике для ограничения конформных теорий поля конформным бутстрепом . [6]
Сложность во время выполнения
[ редактировать ]Полуопределенная задача осуществимости (SDF) — это следующая проблема принятия решения : учитывая SDP, решите, имеет ли она хотя бы одно допустимое решение. Точная сложность этой проблемы во время выполнения неизвестна (по состоянию на 1997 год). Однако Рамана доказал следующее: [2]
- В модели машины Тьюринга SDF находится в NP тогда и только тогда, когда она находится в co-NP. Следовательно, SDF не является NP-полной, если NP = coNP.
- В модели машины Блюма – Шуба – Смейла SDF находится на пересечении NP и co-NP.
Алгоритмы решения СДП
[ редактировать ]Существует несколько типов алгоритмов решения 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]
См. также
[ редактировать ]- Проблема суммы квадратного корня - частный случай проблемы осуществимости SDP.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д Гертнер, Бернд; Матушек, Иржи (2012), Гертнер, Бернд; Матоусек, Иржи (ред.), «Полуопределенное программирование» , Алгоритмы аппроксимации и полуопределенное программирование , Берлин, Гейдельберг: Springer, стр. 15–25, номер домена : 10.1007/978-3-642-22015-9_2 , ISBN. 978-3-642-22015-9 , получено 31 декабря 2023 г.
- ^ Перейти обратно: а б Рамана, Мотакури В. (1997). «Точная теория двойственности полуопределенного программирования и ее последствия для сложности» . Математическое программирование . 77 (1): 129–162. дои : 10.1007/BF02614433 . ISSN 0025-5610 . S2CID 12886462 .
- ^ Ванденберге, Ливен; Бойд, Стивен (1996). «Полуопределенное программирование» . Обзор СИАМ . 38 (1): 49–95. дои : 10.1137/1038003 . ISSN 0036-1445 .
- ^ Рагхавендра, Прасад (2008). «Оптимальные алгоритмы и результаты о неаппроксимируемости для каждого CSP?» . Материалы сорокового ежегодного симпозиума ACM по теории вычислений . стр. 245–254. дои : 10.1145/1374376.1374414 . ISBN 9781605580470 . S2CID 15075197 .
- ^ Харрах, Бастиан (2021), «Решение обратной задачи с эллиптическими коэффициентами с помощью выпуклого нелинейного полуопределенного программирования», Optimization Letters , 16 (5): 1599–1609, arXiv : 2105.11440 , doi : 10.1007/s11590-021-01802-4 , S2CID 235166806
- ^ Симмонс-Даффин, Дэвид (06 февраля 2015 г.). «Решатель полуопределенных программ для конформного бутстрапа». Журнал физики высоких энергий . 2015 (6): 174. arXiv : 1502.02033 . Бибкод : 2015JHEP...06..174S . дои : 10.1007/JHEP06(2015)174 . S2CID 256009551 .
- ^ Цзян, Хаотянь; Катурия, Тарун; Ли, Инь Тат; Падманабхан, Свати; Сун, Чжао (ноябрь 2020 г.). «Более быстрый метод внутренней точки для полуопределенного программирования» . 61-й ежегодный симпозиум IEEE по основам информатики (FOCS) 2020 г. Дарем, Северная Каролина, США: IEEE. стр. 910–918. arXiv : 2009.10217 . дои : 10.1109/FOCS46700.2020.00089 . ISBN 978-1-7281-9621-3 . S2CID 221836388 .
- ^ Хуан, Байхэ; Цзян, Шуньхуа; Сун, Чжао; Тао, Жуньчжоу; Чжан, Жуйчжэ (18 ноября 2021 г.). «Ускоренное решение SDP: надежная структура IPM и эффективная реализация». arXiv : 2101.08208 [ math.OC ].
- ^ Брендан О'Донохью, Эрик Чу, Нил Парих, Стивен Бойд, «Коническая оптимизация посредством разделения операторов и Однородное самодвойственное вложение", Журнал теории оптимизации и приложений, 2016, стр. 1042--1068, https://web.stanford.edu/~boyd/papers/pdf/scs.pdf .
- ^ Вэнь, Зайвэнь, Дональд Гольдфарб и Вотао Инь. «Дополненные лагранжевы методы чередующегося направления для полуопределенного программирования». Математическое программирование и вычисления 2.3-4 (2010): 203-230.
- ^ Бюрер, Сэмюэл; Монтейро, Ренато, округ Колумбия (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
- ^ Кастаньеда, О.; Гольдштейн, Т.; Студер, К. (декабрь 2016 г.). «Обнаружение данных в больших беспроводных системах с несколькими антеннами посредством приближенной полуопределенной релаксации» . Транзакции IEEE в схемах и системах I: Регулярные статьи . 63 (12): 2334–2346. arXiv : 1609.01797 . дои : 10.1109/TCSI.2016.2607198 . hdl : 20.500.11850/448631 . ISSN 1558-0806 .
- ^ Хазан, Элад (2008). Лабер, Эдуардо Сани; Борнштейн, Клодсон; Ногейра, Лоана Тито; Фариа, Луэрбио (ред.). «Разреженные приближенные решения полуопределенных программ» . ЛАТИНЬ 2008: Теоретическая информатика . Конспекты лекций по информатике. Берлин, Гейдельберг: Springer: 306–316. дои : 10.1007/978-3-540-78773-0_27 . ISBN 978-3-540-78773-0 .
- ^ Чжу, Юзисюань; Патаки, Габор; Тран-Динь, Куок (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-Введение
Внешние ссылки
[ редактировать ]- Ссылки на презентации и события в этой области
- Конспект лекций Ласло Ловаса по полуопределенному программированию