Программирование конуса второго порядка

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

A Программа конуса второго порядка (SOCP ) - это выпуклая оптимизация проблема формы

минимизировать f T x {\ displaystyle \ f ^ {T} x \}\ f ^ {T} x \
при условии
‖ A ix + bi ‖ 2 ≤ ci T x + di, я знак равно 1,…, m {\ displaystyle \ lVert A_ {i} x + b_ {i} \ rVert _ {2} \ leq c_ {i} ^ {T} x + d_ {i}, \ quad i = 1, \ dots, m}\ lVert A_ {i} x + b_ {i} \ rVert _ {2} \ leq c_ {i} ^ {T} x + d_ {i}, \ квад я = 1, \ точки, м
F x = g {\ displaystyle Fx = g \}Fx = g \

где параметры задачи: f ∈ R n, A i ∈ R ni × n, bi ∈ R ni, ci ∈ R N, di ∈ R, F ∈ R п × N {\ Displaystyle F \ in \ mathbb {R} ^ {n}, \ A_ {i} \ in \ mathbb {R} ^ {{n_ {i }} \ times n}, \ b_ {i} \ in \ mathbb {R} ^ {n_ {i}}, \ c_ {i} \ in \ mathbb {R} ^ {n}, \ d_ {i} \ в \ mathbb {R}, \ F \ in \ mathbb {R} ^ {p \ times n}}f \ in {\ mathbb {R}} ^ {n}, \ A_ {i} \ in {\ mathbb {R}} ^ {{{n_ {i}} \ times n}}, \ b_ {i} \ in {\ mathbb {R}} ^ {{n_ {i} }}, \ c_ {i} \ in {\ mathbb {R}} ^ {n}, \ d_ {i} \ in {\ mathbb {R}}, \ F \ in {\ mathbb {R}} ^ { {p \ times n}} и g ∈ R p {\ displaystyle g \ in \ mathbb {R} ^ {p}}g \ in {\ mathbb {R}} ^ {p} . x ∈ R n {\ displaystyle x \ in \ mathbb {R} ^ {n}}x \ in {\ mathbb {R}} ^ {n} - переменная оптимизации. ‖ x ‖ 2 {\ displaystyle \ lVert x \ rVert _ {2}}{\ displaystyle \ lVert x \ rVert _ {2}} - евклидова норма и T {\ displaystyle ^ {T}}^ {T} означает транспонировать. «Конус второго порядка» в SOCP возникает из-за ограничений, которые эквивалентны требованию аффинной функции (A x + b, c T x + d) {\ displaystyle (Ax + b, c ^ {T} x + d)}{\ displaystyle (Ax + b, c ^ {T} x + d)} лежать в конусе второго порядка в R ni + 1 {\ displaystyle \ mathbb {R} ^ {n_ {i} +1}}{\ displaystyle \ mathbb {R} ^ {n_ {i} +1}} .

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

Содержание
  • 1 Связь с другими задачами оптимизации
  • 2 Примеры
    • 2.1 Квадратичное ограничение
    • 2.2 Стохастическое линейное программирование
    • 2.3 Стохастическое конусное программирование второго порядка
  • 3 Решатели и языки программирования (программирования)
  • 4 Ссылки
Связь с другими задачами оптимизации

Когда A я = 0 {\ displaystyle A_ {i} = 0}A_ { i} = 0 для i = 1,…, m {\ displaystyle i = 1, \ dots, m}i = 1, \ точки, m , SOCP сводится к линейной программе. Когда ci = 0 {\ displaystyle c_ {i} = 0}c_ {i} = 0 для i = 1,…, m {\ displaystyle i = 1, \ dots, m}i = 1, \ точки, m , SOCP эквивалентен выпуклой линейной программе с квадратичными ограничениями.

Выпуклые квадратичные программы с квадратичными ограничениями также могут быть сформулированы как SOCP, переформулировав целевую функцию как ограничение. Полуопределенное программирование включает SOCP, поскольку ограничения SOCP могут быть записаны как линейные матричные неравенства (LMI) и могут быть переформулированы как пример полуопределенной программы. Обратное, однако, неверно: существуют положительные полуопределенные конусы, которые не допускают представления конуса второго порядка. Фактически, в то время как любое замкнутое выпуклое полуалгебраическое множество на плоскости может быть записано как допустимая область SOCP, известно, что существуют выпуклые полуалгебраические множества, которые не могут быть представлены в SDP, то есть существуют выпуклые полуалгебраические множества, которые нельзя записать как допустимую область SDP.

Примеры

Квадратичное ограничение

Рассмотрим квадратичное ограничение вида

x TATA x + b T x + c ≤ 0. {\ displaystyle x ^ {T} A ^ {T} Ax + b ^ {T} x + c \ leq 0.}x ^ {T} A ^ {T} Ax + b ^ {T} x + c \ leq 0.

Это эквивалентно ограничение SOC

‖ (1 + b T x + c) / 2 A x ‖ 2 ≤ (1 - b T x - c) / 2. {\ displaystyle \ left \ | {\ begin {matrix} (1 + b ^ {T} x + c) / 2 \\ Ax \ end {matrix}} \ right \ | _ {2} \ leq (1-b ^ {T} xc) / 2.}\ left \ | {\ begin {matrix} (1 + b ^ {T} x + c) / 2 \\ Ax \ end {matrix}} \ right \ | _ {2} \ leq ( 1-b ^ {T} xc) / 2.

Стохастический линейный программирование

Рассмотрим стохастическую линейную программу в форме неравенства

минимизировать c T x {\ displaystyle \ c ^ {T} x \}\ c ^ {T} x \
с учетом
П (ai T x ≤ bi) ≥ p, i = 1,…, m {\ displaystyle \ mathbb {P} (a_ {i} ^ {T} x \ leq b_ {i}) \ geq p, \ quad я = 1, \ точки, м}{\ displaystyle \ mathbb {P} (a_ {i} ^ {T} x \ leq b_ {i}) \ geq p, \ quad i = 1, \ dots, m}

где параметры ai {\ displaystyle a_ {i} \}a_ {i} \ являются независимыми гауссовскими случайными векторами со средним значением a ¯ i {\ displaystyle {\ bar {a}} _ { i}}{\ bar {a}} _ {i} и ковариация Σ i {\ displaystyle \ Sigma _ {i} \}\ Sigma _ {i} \ и p ≥ 0,5 {\ displaystyle p \ geq 0,5}p \ geq 0,5 . Эта проблема может быть выражена как SOCP

минимизировать c T x {\ displaystyle \ c ^ {T} x \}\ c ^ {T} x \
при условии
a ¯ i T x + Φ - 1 (p) ‖ Σ я 1/2 x ‖ 2 ≤ bi, я = 1,…, m {\ displaystyle {\ bar {a}} _ {i} ^ {T} x + \ Phi ^ {- 1} (p) \ lVert \ Sigma _ {i} ^ {1/2} x \ rVert _ {2} \ leq b_ {i}, \ quad i = 1, \ dots, m}{\ bar {a}} _ {i} ^ {T} x + \ Phi ^ {{- 1}} (p) \ lVert \ Sigma _ {i} ^ {{1/2}} x \ rVert _ {2} \ leq b_ {i}, \ quad i = 1, \ dots, m

где Φ - 1 (⋅) {\ displaystyle \ Phi ^ {- 1} (\ cdot) \}{\ displaystyle \ Phi ^ {- 1} (\ cdot) \} - обратная функция нормального кумулятивного распределения.

Стохастическое программирование конуса второго порядка

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

Решатели и языки программирования (программирования)
ИмяЛицензияКраткая информация
AMPL коммерческийЯзык алгебраического моделирования с поддержкой SOCP
Artelys Knitro коммерческий
CPLEX коммерческий
FICO Xpress коммерческий
Gurobi коммерческийпараллельный алгоритм барьера SOCP
MOSEK коммерческийпараллельный алгоритм внутренней точки
Цифровая библиотека NAG коммерческийЦифровая библиотека общего назначения с решателем SOCP
Ссылки
Последняя правка сделана 2021-06-07 07:56:42
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте