半正定値計画法(SDP)は、正定値半定値行列の錐とアフィン空間(すなわちスペクトラヘドロン)の交差部分における線形目的関数(ユーザーが最小化または最大化したい指定関数)の最適化に関する数理計画法のサブ分野である。[ 1 ]
半正定値計画法は、比較的新しい最適化分野であり、いくつかの理由から関心が高まっています。オペレーションズリサーチや組み合わせ最適化における多くの実際的な問題は、半正定値計画問題としてモデル化または近似することができます。自動制御理論では、SDPは線形行列不等式の文脈で使用されます。SDPは実際には錐計画法の特殊なケースであり、内点法によって効率的に解くことができます。すべての線形計画問題と(凸)二次計画問題はSDPとして表現でき、 SDPの二乗和階層は多項式最適化問題の解を近似することができます。半正定値計画法は、複雑なシステムの最適化に使用されてきました。近年、いくつかの量子クエリ複雑性問題が半正定値計画法の観点から定式化されています。
線形計画問題とは、多面体上の実変数の線形目的関数を最大化または最小化しようとする問題です。半正定値計画法では、代わりに実数値ベクトルを使用し、ベクトルの内積を取ることができます。線形計画法(LP)における実変数の非負制約は、半正定値計画法(SDP)における行列変数の半正定値制約に置き換えられます。具体的には、一般的な半正定値計画問題は、次の形式の任意の数理計画問題として定義できます。
どこで、そしては実数であり、はドット積ですそして 。
1マトリックスがいくつかのベクトルのグラム行列である場合、正半定値であると言われます(つまり、ベクトルが存在する場合)。そのためすべての人々のために) この場合、これを次のように表記します。。なお、正定値半正定値であることには他にもいくつかの同等の定義があります。例えば、正定値半正定値行列は、非負の固有値のみを持つ自己共役行列です。
で表すすべての空間実対称行列。空間には内積(ここで)が備わっています。トレースを表します):
:={\rm {trace}}(A^{T}B)=\sum _{i=1,j=1}^{n}A_{ij}B_{ij}.}
前の節で示した数理計画問題は、以下のように書き換えることができる。
エントリーでは前のセクションから、対称的である行列th エントリ前のセクションから。したがって、行列は そして対称性があり、上記の内積は明確に定義されます。
適切なスラック変数を追加すれば、このSDPは等式形式に変換できることに注意してください。
便宜上、SDPは若干異なるものの同等の形式で指定されることがあります。例えば、非負のスカラー変数を含む線形式をプログラム仕様に追加することができます。各変数を行列に組み込むことができるため、これは依然としてSDPです。斜めのエントリーとして(一部の人にとって)を確実にするために制約すべてに追加できます別の例として、任意の正定値半正定値行列について、ベクトルの集合が存在するそのため、エントリーはスカラー積そしてしたがって、SDPはベクトルのスカラー積に関する線形式で表されることが多い。標準形式のSDPの解が与えられた場合、ベクトルは回復可能時間(例えば、Xの不完全なコレスキー分解を使用することによって)。
半正定値行列の空間は凸錐である。したがって、SDPは錐最適化の特殊なケースであり、錐最適化は凸最適化の特殊なケースである。
行列が対角線、内積は、対角線のベクトル積に等しい。そして対角線同様に、行列がが対角要素である場合、対応する内積はベクトル積と等価です。これらのベクトル積では、が使用されるため、非対角要素を等しくする制約を追加できます。0へ。条件これは、すべての対角要素がは非負である。すると、結果として得られる SDP は線形計画問題となり、変数は の対角要素となる。。
線形計画法と同様に、次の形式の一般的なSDPが与えられた場合
(主問題またはP-SDP)に対して、双対半正定値計画(D-SDP)を次のように定義する。
任意の2つの行列に対してそして、手段。
弱双対性定理によれば、主SDPの値は双対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 ]
3つの確率変数を考える、、 そして与えられた相関係数のセット可能なのは、
この行列は相関行列と呼ばれます。例えば、実験の経験的結果など、何らかの事前知識から次のことがわかっているとします。そして最小値と最大値を決定する問題は、取得できる値は次のように与えられます。
私たちは設定しました答えを得るために。これはSDPで定式化できます。不等式制約は、変数行列を拡張し、スラック変数を導入することで処理します。例えば、
このSDPを解くと、以下の最小値と最大値が得られます。としてそしてそれぞれ。
問題を考察する
ここで我々は、いつでも。
補助変数の導入この問題は次のように言い換えることができる。
この定式化では、目的は変数の線形関数である。。
最初の制約は次のように書ける。
行列対角要素の値がベクトルの要素と等しい正方行列。
2番目の制約は次のように書ける。
定義する次のように
シュール補元理論を用いると、
(ボイドとヴァンデンベルゲ、1996年)
この問題に関連する半正定値計画問題は
半正定値計画法は、NP困難な最大化問題の近似アルゴリズムを開発するための重要なツールです。SDPに基づく最初の近似アルゴリズムは、Michel GoemansとDavid P. Williamsonによるものです(JACM、1995年)。[ 1 ]:第1章 彼らは最大カット問題を研究しました。グラフG = ( V、E )が与えられたとき、一方の側から他方の側へ交差するエッジの数を最大化するように頂点Vの分割を出力します。この問題は、整数二次計画法として表現できます。
P = NPでない限り、この最大化問題を効率的に解くことはできません。しかし、GoemansとWilliamsonは、この種の問題に取り組むための一般的な3段階の手順を発見しました。
最大限のカット効果を得るには、最も自然なリラックス法は
これは、目的関数と制約条件がすべてベクトル内積の線形関数であるため、SDPです。SDPを解くと、次の単位ベクトルのセットが得られます。ベクトルは共線である必要がないため、この緩和されたプログラムの値は、元の二次整数計画の値よりも高くなるだけです。最後に、分割を得るために丸め手順が必要です。GoemansとWilliamsonは、原点を通る一様ランダムな超平面を選択し、対応するベクトルが超平面のどちら側にあるかに応じて頂点を分割します。簡単な分析により、この手順で期待近似比(性能保証)が0.87856 - εに達することが示されています。(カットの期待値は、エッジがカットされる確率のエッジごとの合計であり、これは角度に比例します。)エッジの端点のベクトル間のこの確率を期待値として、この比率は常に少なくとも 0.87856 である。)ユニークゲーム予想を仮定すると、この近似比率が本質的に最適であることが示される。
GoemansとWilliamsonの最初の論文以来、SDPは数多くの近似アルゴリズムの開発に応用されてきた。その後、Prasad Raghavendraは、ユニークゲーム予想に基づいて制約充足問題の一般的なフレームワークを開発した。[ 4 ]
半正定値計画法は、最大カット問題の解法のように、組み合わせ最適化問題の近似解を求めるために適用されており、その近似比は 0.87856 です。SDP は、幾何学ではテンセグリティ グラフを決定するためにも使用され、制御理論ではLMIとして、逆楕円係数問題では凸非線形半正定値制約として現れます。[ 5 ]また、共形ブートストラップを使用して共形場理論を制約するために物理学で広く使用されています。[ 6 ]
半正定値実行可能性問題(SDF) は、次の決定問題です。SDP が与えられたとき、少なくとも 1 つの実行可能な解が存在するかどうかを判定します。この問題の正確な実行時間複雑度は (1997 年現在) 不明です。しかし、Ramana は次のことを証明しました。[ 2 ]
SDPを解くためのアルゴリズムにはいくつかの種類があります。これらのアルゴリズムは、加算誤差を除いてSDPの値を出力します。プログラム記述サイズと。
楕円体法は凸計画法の一般的な方法であり、特にSDPを解くために使用できます。SDPの文脈では、楕円体法は次の保証を提供します。[ 1 ]:定理2.6.1次の等式形式のSDPを考えます。
L を、 m 個の等式制約を満たすS n内の行列のアフィン部分空間とします。したがって、SDP は次のように記述できます。SDP のすべての係数が有理数であると仮定します。実行可能解の最大フロベニウスノルムの上限を明示的にRとし、 ε> 0 を定数とします。S nの行列Xは、 Lの任意の行列Y がXからフロベニウス距離が最大εであり、かつ実行可能性条件を満たす場合、 ε-ディープと呼ばれます。. 表記する楕円体は、以下のいずれかの出力を返します。
実行時間は、入力のバイナリ符号化と、チューリングマシンモデルにおける log(R/ ε )に関して多項式になります。
一般に、R はnに対して二重指数関数的になる可能性があることに注意してください。その場合、楕円体法の実行時間保証はnに対して指数関数的になります。しかし、ほとんどのアプリケーションでは、Rはそれほど大きくありません。このような場合、楕円体法は、チューリングマシンモデルで多項式実行時間を保証する唯一の既知の方法です。[ 1 ] : 23しかし、実際には、そのパフォーマンスはそれほど良くありません。
ほとんどのコードは内点法(CSDP、MOSEK、SeDuMi、SDPT3 、DSDP、SDPA)に基づいています。これらは一般的な線形SDP問題に対して堅牢かつ効率的ですが、アルゴリズムが2次法であり、大きな(そして多くの場合密な)行列を保存して因数分解する必要があるという事実によって制限されます。理論的には、最先端の高精度SDPアルゴリズム[ 7 ] [ 8 ]はこのアプローチに基づいています。
円錐最適化の一次法は、大きなヘッセ行列の計算、保存、因数分解を回避し、精度を多少犠牲にする代わりに、内点法よりもはるかに大きな問題に対応できます。一次法は、Splitting Cone Solver (SCS) に実装されています。[ 9 ]もう 1 つの一次法は、交互方向乗数法(ADMM) です。[ 10 ]この方法は、各ステップで半正定値行列の円錐への射影を必要とします。
ConicBundleというコードは、SDP問題を非平滑最適化問題として定式化し、非平滑最適化のスペクトルバンドル法を用いて解きます。この手法は、特定の種類の線形SDP問題に対して非常に効率的です。
拡張ラグランジュ法に基づくアルゴリズム(PENSDP)は、内点法と同様の挙動を示し、非常に大規模な問題に特化することができます。他のアルゴリズムは、低ランク情報を使用し、SDPを非線形計画問題として再定式化します(SDPLR、ManiSDP)。[ 11 ]
SDP を近似的に解くアルゴリズムも提案されています。このような方法の主な目的は、近似解で十分であり、複雑さを最小限に抑える必要があるアプリケーションで、より低い複雑さを実現することです。多入力多出力 (MIMO) 無線システムでのデータ検出に使用されている著名な方法は、半正定値行列ではなく半正定値行列のコレスキー分解因子に基づいて動作する Triangular Approximate SEmidefinite Relaxation (TASER) [ 12 ] です。この方法は、最大カットのような問題の近似解を計算し、多くの場合、正確な解法による解に匹敵しますが、アルゴリズムの反復回数はわずか 10 ~ 20 回です。Hazan [ 13 ]は、変数行列のトレースが 1 でなければならないという追加の制約を持つ SDP を解くための近似アルゴリズムを開発しました。
顔縮小アルゴリズムは、問題の制約を調べることによってSDP問題を前処理するために使用されるアルゴリズムです。これらは、