二次錐計画問題 (英:Second-order cone programming, SOCP) は次の形をした凸最適化問題を指す。
- minimize
![{\displaystyle \ f^{T}x\ }](https://wikimedia.org/api/rest_v1/media/math/render/svg/35e16eb4e517511a31c8bd8a8dc9004f4fca7c65)
- subject to
![{\displaystyle \lVert A_{i}x+b_{i}\rVert _{2}\leq c_{i}^{T}x+d_{i},\quad i=1,\dots ,m}](https://wikimedia.org/api/rest_v1/media/math/render/svg/63bae34202bee7c905088fddcc589b6ed76d7e01)
![{\displaystyle Fx=g\ }](https://wikimedia.org/api/rest_v1/media/math/render/svg/e75690e3555bf763234d87a9de4bd771eec39ce5)
ただし、問題中に現れる
, and
はパラメータ定数で、
が最適化変数である[1]。
この式において
である場合には、二次錐計画問題は単なる線形計画問題となる。また、
である場合には二次制約の二次計画問題となる。また二次錐計画問題は制約条件を線形行列不等式として書き直すことで半正定値計画問題の一種とみなすこともできる。二次錐計画問題は内点法による効率的な解法が存在することが知られている。
二次錐計画問題は、名前の通り実行可能領域が二次錐であるような凸最適化問題を指す。もっとも単純な二次錐は n 次元空間上において次のような集合としてあらわされる。
-
より一般的な形として
-
と表されることがあるが、これは
-
と同値な条件であり、錐体を表す集合であることがわかる。この一般的な錐体の定義により、上のような二次錐計画問題が定義される。
二次錐計画問題には一般的な主双対内点法による解法以外にもバリア関数法などの解法が用いられる。バリア関数法では、上記の凸最適化問題を
- minimize
という形に書き換え、これをニュートン法などにより最小化することで各繰り返しにおけるステップ幅 を求める[1]。
次の二次不等式制約を考える。
-
この不等式は次のように変形することで錐形の実行可能領域を表す二次錐制約とみなすことができる。
-
確率的線形計画問題とは次のような不等式制約を含む線形核問題を指す。
- minimize
- subject to
-
この式において は平均 、共分散 の正規乱数を要素とするベクトルであり、 である。この問題は次の二次錐計画問題と同値とみなすことができる。
- minimize
- subject to
-
ただし は誤差関数の逆関数を表す[1]。