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

凸計画と KKT 条件の十分性

目的関数が凸(最大化なら凹)で制約が凸集合を表すとき、KKT 点が大域的な最適解になることを使える。 の和の最大化のような問題で、KKT 条件を解いて最適値を求められる

前提

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

読み込み中…

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

一覧で見る(前提が先)
  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. ラグランジュの未定乗数法 (大学数学 微分積分)
  36. KKT 条件 (大学数学 最適化・線形計画法)
  37. 凸集合と凸関数の定義 (大学数学 最適化・線形計画法)
  38. 三角形の角の大きさ (算数 平面図形)
  39. 対頂角と平行線の同位角・錯角 (中学数学 平面図形)
  40. 三角形の外角と角の組み合わせ (中学数学 平面図形)
  41. 二等辺三角形の角 (中学数学 平面図形)
  42. 平行四辺形と特別な四角形の性質 (中学数学 平面図形)
  43. 三角形・四角形の面積 (算数 平面図形)
  44. 三平方の定理 (中学数学 相似と三平方の定理)
  45. 折り返した図形の角と長さ (中学数学 平面図形)
  46. 三平方の定理と平面図形 (中学数学 相似と三平方の定理)
  47. ベクトルの演算と成分 (数学C ベクトル)
  48. 行列の和・積と 2 次の逆行列 (大学数学 線形代数)
  49. 樹形図で数え上げる (算数 場合の数)
  50. 積の法則と和の法則 (算数 場合の数)
  51. 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
  52. 順列・円順列・重複順列 (数学A 場合の数と確率)
  53. 行列式 (大学数学 線形代数)
  54. 掃き出し法と連立 1 次方程式 (大学数学 線形代数)
  55. 行列の階数と解の存在 (大学数学 線形代数)
  56. ベクトル空間・一次独立・基底・次元 (大学数学 線形代数)
  57. 円の周の長さと面積 (算数 平面図形)
  58. おうぎ形の弧の長さと面積 (算数 平面図形)
  59. 弧の長さからおうぎ形の中心角と面積を求める (中学数学 平面図形)
  60. 特別な直角三角形の辺の比 (中学数学 相似と三平方の定理)
  61. 弧度法と単位円による三角関数 (数学II 三角関数)
  62. 加法定理と 2 倍角・半角・積和の公式 (数学II 三角関数)
  63. 線形変換と行列 (大学数学 線形代数)
  64. 核と像と次元定理 (大学数学 線形代数)
  65. 固有値と固有ベクトル (大学数学 線形代数)
  66. 掃き出し法による逆行列 (大学数学 線形代数)
  67. 基底の変換と表現行列 (大学数学 線形代数)
  68. 対角化と行列の累乗 (大学数学 線形代数)
  69. 最大公約数と最小公倍数 (算数 整数の性質)
  70. 比の性質と簡単な比 (算数 割合と比)
  71. 相似な三角形と長さの比 (算数 平面図形)
  72. 三角形の相似条件と対応する辺の長さ (中学数学 相似と三平方の定理)
  73. 三角比の定義と値 (数学I 図形と計量)
  74. 内積となす角 (数学C ベクトル)
  75. 内積空間とグラム・シュミットの直交化 (大学数学 線形代数)
  76. 対称行列の直交対角化 (大学数学 線形代数)
  77. 2 次形式の標準形と符号 (大学数学 線形代数)
  78. ヘッセ行列による凸性の判定 (大学数学 最適化・線形計画法)

説明

凸計画とは、凸関数を凸集合の上で最小化する問題のことです。凹関数を凸集合の上で最大化する問題も、符号を変えれば凸計画になります。凸計画では、KKT 条件を満たす点(KKT 点)が 1 つ見つかれば、それがそのまま大域的な最適解になります。局所解どうしを比べたり、すべての場合の値を比べ合わせたりする必要はありません。資源配分の問題( の最大化など)や、非負条件のついた 2 次関数の最小化などで、KKT 条件を解くだけで最適値まで確定させるときに使います。

なぜそうしてよいのか

問題を「 を最小化、制約 」の形にします。実行可能集合を含む開いた凸集合 をとり、 と各 は の上で凸かつ全微分可能(たとえば 級)とします。ヘッセ行列で凸性を判定するときは、さらに 級を仮定します。このとき実行可能集合 は凸集合です。実際、, ならば、線分は に含まれ、 について が成り立ちます。

まず、凸関数の定義から「接平面より上にある」という不等式を導きます。 上の凸関数 と 2 点 、 をとります。定義より なので、変形すると です。 は で全微分可能なので、 と書けます。 を代入して とすると、左辺は に収束します。偏微分可能なだけではこの式は保証されないので、全微分可能性が必要です。よって

が成り立ちます。とくに ならば、 は 上での の大域的な最小点です。

次に、 を KKT 点とし、その乗数を とします。 は凸関数の非負係数の和なので、 上で凸かつ全微分可能です。また KKT 条件から です。したがって、任意の実行可能な について

が成り立ちます。1 つ目の不等号は と から、2 つ目の不等号は上の不等式から、最後の等号は相補性 から従います。こうして が大域的な最小解だとわかります。なお、この十分性の議論では、制約想定(KKT 条件が必要条件になるための仮定)は使っていません。

手順

  1. 標準形に直す: 最大化 は に書き換え、制約はすべて の形にそろえる(非負条件 は とする)。

  2. 凸性を確かめる: 実行可能集合を含む開いた凸集合 を決める。 と各 が 上で 級であることと、ヘッセ行列が のすべての点で半正定値であることを調べる。1 次式の制約はそのままで凸である。

  3. KKT 条件を書く: 、、、 の 4 種類。

  4. 有効な制約を見当づけて場合分けし、KKT 点を 1 つ求める。そのとき と実行可能性 がすべて成り立つかを必ず確認する。

  5. 凸計画なので、条件を満たす KKT 点は大域的な最適解だと結論する。その点で最適値を計算する(最大化なら符号を戻す)。

例題

、、、 のもとで、 の最大値を求めよ。

例題の解答

【手順 1】 を最小化する問題に直す。制約は 、 とする。

【手順 2】 は開いた凸集合で、実行可能集合を含む。 は 上で 級であり、ヘッセ行列は対角行列 である。固有値はすべて正なので正定値であり、 は 上で凸である。制約はすべて 1 次式なので凸である。したがってこの問題は凸計画である。

【手順 3】 の乗数を 、 の乗数を とし、 とおく。KKT 条件は次のとおり。
・停留条件:
・乗数の符号: 、
・相補性: 、
・実行可能性: 、

【手順 4】停留条件から なので、 は有効で である。
・まず ()とすると、 が 3 つとも共通になる。 より となるが、 で実行可能でない。
・次に 、 とすると、 で となる。 より なので 、 である。よって 、。さらに である。
この点はすべての制約と を満たすので、KKT 点である。

【手順 5】凸計画なので、 が大域的な最適解である。最大値は である。

答え:

よくある誤り

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

入口の問題

この技能を使う問題