最適条件の必要条件としてのKKT条件の基本的な考え方は、実行可能な点で保持しない場合、目的を増加させることなく改善する方向が存在するということです。 (したがって、おそらく違反する)制約。(KKT条件で保持していない場合次に点が最適であるために、従ってKKT条件が必要であり、最適にすることはできません。)バツFδfXバツバツ
最適化の問題があると想像してください:
最小化(x以上 )の対象f(x)∀J ∈ { 1つの... K }gj(X)≤ 0
ここで、、制約があります。 KX ∈ Rnk
ましょうの勾配を表す列ベクトルでありで評価。F X∇ F(x)fバツ
この状況に適用して、Farkas Lemmaは、任意の点について、次のステートメントのいずれか1つが正確に成り立つと述べています。X ∈ Rn
- 存在ようおよびΣ K J = 1 λ J ∇ G J(X)= - ∇ F (X)λ ≥ 0λ ∈ Rk∑kj = 1λj∇ グラムj(X)= - ∇ F(x)λ ≥ 0
- 存在ようにと∀ J δ ' 、G 、J(X)≤ 0 δ ' ∇ F (X)< 0δ ∈ Rn∀jδ′gj(X)≤ 0δ′∇ F(x)< 0
これは何を意味するのでしょうか?これは、任意の実行可能点に対して、次のいずれかを意味します。バツ
- 条件(1)が成立し、KKT条件が満たされます。
- 条件(2)が成り立ち、制約を増やすことなく目的関数を改善する実行可能な方向が存在します。(例えば、から移動することでを改善できます)、F 、G 、J、F 、X 、X + ε δδfgjfバツX +εδ
条件(1)は、非負の乗数が存在するため、ポイントでKKT条件が満たされることを示しています。(幾何学的に、は制約の勾配によって定義される凸円錐にあると言います。)X - ∇ Fλバツ- ∇ F
条件(2)は、ポイント、次のように(ローカルに)移動する方向が存在することを示しています。 δバツδ
- 方向に移動すると、目的関数が減少します(とのドット積がゼロより小さいため)。∇ F (X)δδ∇ F(x)δ
- 方向に移動しても、制約の値は増加しません(とのドット積はすべてゼロ以下であるため)制約)。∇ G J(X)δ Jδ∇ グラムj(x)δj
(幾何学的に、実行可能な方向は、ベクトルとベクトル定義された凸円錐の間の分離超平面を定義します。- ∇ F (X)∇ グラムJ(X)δ- ∇ F(x)∇ グラムj(x)
(注:これをFarkas Lemmaにマッピングするには、行列)A = [ ∇ G1、∇ グラム2、... 、∇ グラムk]
この引数は、最適なKKT条件の必要性(十分性ではない)を示します。KKTの条件が満たされない場合(および制約条件が満たされる場合)、制約に違反することなく目的を改善することができます。
制約条件の役割
何がうまくいかないのでしょうか?制約の勾配が移動可能な方向を正確に記述していない、退化した状況を得ることができます。
上記の引数を使用できるようにするために、選択するさまざまな制約条件が多数あります。
最小、最大解釈(最も直感的なもの)
ラグランジアンを形成する
L( x、λ)=f(x)+ ∑j = 1kλjgj(x)
制約を最小化する代わりに、を最小化しようとしているときに、相手が最大化しようとしていると想像してください。乗数は、制約に違反した場合のペナルティ(ある対戦相手が選択)として解釈できます。 、GのjはL λ IfgjLλ私
元の最適化問題の解決策は次と同等です。
分バツ最大λL( x、λ)
あれは:
- 最初にを選択して、ラグランジュを最小化します。LバツL
- 次に、を選択して、ラグランジュを最大化します(選択)。Xλバツ
たとえば、制約に違反した場合、を無限に設定することでペナルティを科すことができます!λ 2g2λ2
弱い双対性
関数は、次のことを確認してください。f(x 、y)
∀バツ^、y^分バツf(x 、y^)≤ F(x^、y^)≤ 最大yf(x^、y)
それはすべてのとにも当てはまるので、次のことも成り立ちます。
、Y maxのY分のXF(X、Y)≤分X最大のYF(X、Y)バツ^y^
最大y分バツf(x 、y)≤ 最小バツ最大yf(x 、y)
ラングリアン設定では、この結果はは弱い双対性として知られています。最大λ分バツL( x、λ)≤最小バツ最大λL( x、λ)
二重問題は解の下限を与えます最大λ分バツL( x、λ)
強い双対性
特定の特別な条件(たとえば、スレーター条件が成立する凸問題)では、強い双対性(つまり、サドルポイントプロパティ)があります。
最大λ分バツL(x,λ)=minxmaxλL(x,λ)
この美しい結果は、問題の順序を逆にすることができることを意味します。
最初にペナルティを選択して、ラグランジアンを最大化します。λ
次に、を選択して、ラグランジアンを最小化します。xL
このプロセスのセットは、制約違反の価格であり、価格はあなたが制約に違反することは決してありませんように設定されています。λ