Полуопределенное программирование - Semidefinite programming
Полуопределенное программирование (SDP) является подполем выпуклая оптимизация занимается оптимизацией линейного целевая функция (определяемая пользователем функция, которую пользователь хочет минимизировать или максимизировать) на пересечении конус из положительно полуопределенный матрицы с аффинное пространство, т.е. спектраэдр.
Полуопределенное программирование - относительно новая область оптимизации, которая вызывает растущий интерес по нескольким причинам. Многие практические проблемы в исследование операций и комбинаторная оптимизация могут быть смоделированы или аппроксимированы как задачи полуопределенного программирования. В теории автоматического управления SDP используются в контексте линейные матричные неравенства. SDP фактически являются частным случаем конусное программирование и может быть эффективно решена методы внутренней точки.Все линейные программы могут быть выражены как SDP, и через иерархии SDP решения задач полиномиальной оптимизации могут быть аппроксимированы. Полуопределенное программирование использовалось в оптимизация сложных систем. В последние годы некоторые проблемы сложности квантовых запросов были сформулированы в терминах полуопределенных программ.
Мотивация и определение
Начальная мотивация
А линейное программирование проблема - это проблема, в которой мы хотим максимизировать или минимизировать линейную целевую функцию вещественных переменных по многогранник. В полуопределенном программировании мы вместо этого используем векторы с действительными значениями и можем использовать скалярное произведение векторов; ограничения неотрицательности действительных переменных в LP (линейное программирование) заменяются ограничениями полуопределенности матричных переменных в SDP (полуопределенное программирование). В частности, общая задача полуопределенного программирования может быть определена как любая задача математического программирования вида
где , а настоящие числа и это скалярное произведение из и .
Эквивалентные составы
An матрица как говорят положительно полуопределенный если это Матрица грамиана некоторых векторов (т.е. если существуют векторы такой, что для всех ). Если это так, мы обозначаем это как . Обратите внимание, что есть несколько других эквивалентных определений положительно полуопределенных матриц, например, положительные полуопределенные матрицы самосопряженный матрицы, которые имеют только неотрицательные собственные значения.
Обозначим через пространство всех вещественные симметричные матрицы. Помещение оборудовано внутренний продукт (куда обозначает след )
Мы можем эквивалентно переписать математическую программу, приведенную в предыдущем разделе, как
где вход в дан кем-то из предыдущего раздела и симметричный матрица, имеющая ая запись из предыдущего раздела. Таким образом, матрицы и симметричны, и указанные выше внутренние произведения четко определены.
Обратите внимание, что если мы добавим слабые переменные соответственно, этот SDP может быть преобразован в одну из следующих форм:
Для удобства SDP может быть указан в несколько иной, но эквивалентной форме. Например, линейные выражения с неотрицательными скаляр переменные могут быть добавлены в спецификацию программы. Это остается SDP, потому что каждая переменная может быть включена в матрицу. как диагональный вход ( для некоторых ). Чтобы гарантировать, что , ограничения можно добавить для всех . В качестве другого примера отметим, что для любой положительно полуопределенной матрицы , существует набор векторов так что , вход является то скалярное произведение из и . Следовательно, SDP часто формулируются в терминах линейных выражений для скалярных произведений векторов. Учитывая решение SDP в стандартном виде, векторы можно восстановить в время (например, используя неполный Разложение Холецкого из X).
Теория двойственности
Определения
Аналогично линейному программированию, если дан общий SDP вида
(основная задача или P-SDP), мы определяем двойной полуопределенная программа (D-SDP) как
где для любых двух матриц и , средства .
Слабая двойственность
В слабая двойственность Теорема утверждает, что значение первичного SDP по крайней мере равно значению двойного SDP. Следовательно, любое возможное решение для двойного SDP ограничивает нижнюю границу первичного значения SDP, и, наоборот, любое возможное решение для первичного SDP ограничивает верхнюю границу двойного значения SDP. Это потому что
где последнее неравенство связано с тем, что обе матрицы положительно полуопределены, и результат этой функции иногда называют разрывом двойственности.
Сильная двойственность
При условии, известном как Состояние Слейтера, значения первичного и двойного SDP равны. Это известно как сильная двойственность. В отличие от линейные программы однако не всякая SDP удовлетворяет сильной двойственности; в общем, значение двойного SDP может лежать строго ниже значения основного.
(i) Предположим, что прямая задача (P-SDP) ограничена снизу и строго выполнима (т.е. существует такой, что , Тогда есть оптимальное решение в (D-SDP) и
(ii) Предположим, что двойственная задача (D-SDP) ограничена сверху и строго допустима (т. е. для некоторых Тогда есть оптимальное решение к (P-SDP) и выполняется равенство из (i).
Примеры
Пример 1
Рассмотрим три случайные величины , , и . По определению их коэффициенты корреляции действительны тогда и только тогда, когда
в этом случае эта матрица называется корреляционная матрица. Предположим, что мы знаем из некоторых предварительных знаний (например, эмпирических результатов эксперимента), что и . Проблема определения наименьшего и наибольшего значений, которые может принимать определяется по:
- минимизировать / максимизировать
- при условии
Мы установили чтобы получить ответ. Это может быть сформулировано в SDP. Мы справляемся с ограничениями неравенства, увеличивая матрицу переменных и вводя слабые переменные, Например