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λi∇hi(x∗)+∑jμj∇gj(x∗)=0h(x∗)=0gj(x∗)≤0, μj≥0, μjgj(x∗)=0, j=1,⋯r
を満たすλ∈Rm
とμ∈Rr
が存在します。
応用する上でより重要なのは次の性質です。
定理 f
とgj, j=1,⋯,r
は凸関数であり、hi,i=i, ⋯,m
は1次関数であるとする。このとき、(x∗,λ∗,μ∗)
がKKT点であれば、x∗
は非線形計画問題の大域的最小解である。
これは、凸関数の性質f(x)≥f(x∗)+δf(x∗)T(x−x∗)
とKKT条件を組み合わせることで、f(x)≥f(x∗)
が成り立つことを示すことで証明できます。
KKT条件は、等式制約のみの問題に対しては、ラグランジュの未定乗数法と一致します。このため、KKT条件はラグランジュの未定乗数法の一般化と考えることもできます。
例題 : エントロピー最大化
エントロピーが最大となるn個の元をもつ確率分布を求める問題は、次のように定式化できます。
max−n∑i=1pilnpisubject to n∑i=1pi=1pi≥0, i=1,⋯,n
これはKKT条件を用いて解けます。
f(p)=n∑i=1pilnpih(p)=n∑i=1pi−1gi(p)=−pi≤0
とおくと、
δif(pi)=lnpi+1δih(x)=1δigj(x)=−δij
なので、KKT条件は
(lnp1+1⋮lnpn+1)+λ(1⋮1)+(μ1⋮μn)=0n∑i=1pi−1=0, −pi≤0, −piμi=0
とかけます。pi=0
とするとlnpi=∞
となってしまい、第1式を満たすことができなくなってしまいます。そこですべてのi
に対してpi>0
とすると、μi=0
となるので、
pi=e−λ−1
が成り立ちます。さらに第2条件から解p=(1/n,⋯,1/n)T
が得られます。