Loading [MathJax]/jax/output/CommonHTML/jax.js
KKT条件

KKT条件 (Karush-Kuhn-Tucker conditions)とは、非線形計画問題における最適性の1次の必要条件です。

非線形計画問題

minf(x)subject to hi(x)=0,i=1,,mgj(x)0,j=1,,r

の局所最小解xに対して、KKT条件

f(x)+iλihi(x)+jμjgj(x)=0h(x)=0gj(x)0, μj0, μjgj(x)=0, j=1,r

を満たすλRmμRrが存在します。

応用する上でより重要なのは次の性質です。

定理 fgj, j=1,,rは凸関数であり、hi,i=i, ,mは1次関数であるとする。このとき、(x,λ,μ)がKKT点であれば、xは非線形計画問題の大域的最小解である。

これは、凸関数の性質f(x)f(x)+δf(x)T(xx)とKKT条件を組み合わせることで、f(x)f(x)が成り立つことを示すことで証明できます。

KKT条件は、等式制約のみの問題に対しては、ラグランジュの未定乗数法と一致します。このため、KKT条件はラグランジュの未定乗数法の一般化と考えることもできます。

例題 : エントロピー最大化
エントロピーが最大となるn個の元をもつ確率分布を求める問題は、次のように定式化できます。

maxni=1pilnpisubject to ni=1pi=1pi0, i=1,,n

これはKKT条件を用いて解けます。

f(p)=ni=1pilnpih(p)=ni=1pi1gi(p)=pi0

とおくと、

δif(pi)=lnpi+1δih(x)=1δigj(x)=δij

なので、KKT条件は

(lnp1+1lnpn+1)+λ(11)+(μ1μn)=0ni=1pi1=0, pi0, piμi=0

とかけます。pi=0とするとlnpi=となってしまい、第1式を満たすことができなくなってしまいます。そこですべてのiに対してpi>0とすると、μi=0となるので、

pi=eλ1
が成り立ちます。さらに第2条件から解p=(1/n,,1/n)Tが得られます。

参考文献