技能一覧 › 大学数学 最適化・線形計画法

KKT 条件

不等式制約 のついた最適化問題について、KKT 条件 , , を立てられる。有効な制約で場合分けして、KKT 点と乗数 を求められる

前提

この技能までの道筋(35 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 分数のたし算・ひき算 (算数 計算と数のきまり)
  2. 小数の四則計算 (算数 計算と数のきまり)
  3. 正負の数の加法・減法 (中学数学 数と式)
  4. 分数のかけ算・わり算 (算数 計算と数のきまり)
  5. 四則の混じった計算の順序 (算数 計算と数のきまり)
  6. 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
  7. 分配法則を使った計算のくふう (算数 計算と数のきまり)
  8. 文字式の計算(同類項・分配法則) (中学数学 数と式)
  9. 乗法公式による展開 (中学数学 数と式)
  10. 因数分解 (中学数学 数と式)
  11. 3 次式までの展開と因数分解 (数学I 数と式)
  12. 微分係数と導関数の定義 (数学II 微分法と積分法)
  13. 多項式の微分 (数学II 微分法と積分法)
  14. 等間隔にならんだ数の和 (算数 計算と数のきまり)
  15. 等差・等比数列の和と Σ (数学B 数列)
  16. 数列の極限 (数学III 極限)
  17. 関数の極限 (数学III 極限)
  18. 積と商の微分 (数学III 微分法)
  19. 合成関数の微分 (数学III 微分法)
  20. 偏微分と全微分 (大学数学 微分積分)
  21. 小数と分数のまじった計算 (算数 計算と数のきまり)
  22. 逆算(□ を求める) (算数 計算と数のきまり)
  23. 1 次方程式の解き方 (中学数学 方程式)
  24. 比例・反比例の式とグラフ (中学数学 関数)
  25. 約数の見つけ方 (算数 整数の性質)
  26. 素因数分解と約数の個数 (算数 整数の性質)
  27. 平方根の意味と根号の簡単化 (中学数学 数と式)
  28. 関数 の式と変域 (中学数学 関数)
  29. 平方完成と 2 次関数のグラフ (数学I 2次関数)
  30. 2 次不等式 (数学I 2次関数)
  31. 剰余の定理・因数定理と高次方程式 (数学II 複素数と方程式)
  32. 増減表と極値 (数学II 微分法と積分法)
  33. 第 2 次導関数とグラフの凹凸 (数学III 微分法)
  34. 2 変数関数の極値 (大学数学 微分積分)
  35. ラグランジュの未定乗数法 (大学数学 微分積分)

説明

KKT 条件を使うと、 のような不等式制約がついた最小化問題で、最小点の候補(KKT 点)を連立方程式と符号の条件から絞り込めます。ラグランジュの未定乗数法が扱えるのは等式制約だけですが、KKT 条件はこれを不等式制約に広げたものです。予算や容量に上限がある資源配分や、決められた領域の中での最適設計などで使います。

なぜそうしてよいのか

まず制約が 1 つの場合を考えます。 のもとで を最小にする点を とすると、可能性は 2 通りです。(i) (制約が効いていない)のとき、 の近くの点はすべて制約を満たすので、 は制約なしの極小点です。よって です。(ii) (境界上にあり、制約が効いている)のとき、曲線 は許される領域に含まれるので、 はこの曲線上でも最小です。 ならラグランジュの未定乗数法が使えて、ある実数 について が成り立ちます。

(ii) では の符号も決まります。 から の向きに だけ少し動くと、 となり、許される領域の内側に入ります。 は最小点なので、この向きに動いても は減ってはいけません。この向きの の変化率は です。これが 以上で、しかも なので、 となります。(i) の場合も とおけば同じ式 で書けます。2 つの場合は「 または 」とまとめられます。これを式にしたものが相補性条件 です。

制約が複数ある場合も考え方は同じです。効いていない制約()は の近くでは関係しないので とします。効いている制約だけを等式制約とみなして未定乗数を付け、制約ごとに符号を調べると が出ます。ただし、等式制約が複数あるときの未定乗数法や、符号を 1 つずつ調べる議論にはもう少し準備が要ります。そこで複数制約の場合は、次の結果を紹介するにとどめます。効いている制約の勾配が一次独立(どの勾配も、他の勾配の定数倍の和、つまり一次結合では表せない)ならば、最小点では KKT 条件 , , , が成り立ちます。制約が 1 つのときは、この仮定は のことです。これは最小点が満たすべき必要条件です。したがって、KKT 点はあくまで最小点の候補です。

手順

  1. 問題を標準形に直す。最大化なら の最小化にする。 の形の制約は のように、すべて「」の形にそろえる。

  2. KKT 条件を書き出す:, , , 。

  3. 各制約ごとに「(効いていない)」か「(効いている)」かで場合分けする(制約が 個なら 通り)。

  4. 各場合で、勾配の式と、等式になった制約を連立して解く。

  5. 得られた解が と をすべて満たすか確かめ、満たすものだけを KKT 点として残す。

  6. KKT 点は最小点の候補にすぎない。最小値を求めたいときは、候補(KKT 点のほか、効いている制約の勾配が一次独立でない点も含む)の の値を比べる。そのうえで、最小値が存在することを別に確かめる。

例題

制約 のもとで を最小にする問題を考える。KKT 点 と乗数 を、組 で求めよ。

例題の解答

【手順1】制約を とおく。最小化の問題なので、 はこのまま使える。
【手順2】、 である。KKT 条件は次のとおり。
, , , , 。
【手順3】 の場合(場合 A)と、 の場合(場合 B)に分ける。
【手順4】場合 A:勾配の式から となる。
場合 B:勾配の式から , である。これを に代入すると となり、 を得る。このとき , である。
【手順5】場合 A は で制約を満たさないので捨てる。場合 B は 、 で、どちらの条件も満たすので KKT 点である。なお なので、勾配についての仮定も満たされている。
よって KKT 点と乗数はただ 1 組で、。

答え:

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題

この技能を使う問題

この技能の次に学べること