実数 についての次の最適化問題を考える。
この問題が凸計画問題であることを確かめ、KKT 条件を満たす点を求めて、 の最小値を求めよ。
凸計画と KKT 条件の十分性
目的関数が凸(最大化なら凹)で制約が凸集合を表すとき、KKT 点が大域的な最適解になることを使える。 の和の最大化のような問題で、KKT 条件を解いて最適値を求められる
前提
- KKT 条件 (大学数学 最適化・線形計画法)
- ヘッセ行列による凸性の判定 (大学数学 最適化・線形計画法)
この技能までの道筋(78 技能)
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 分数のたし算・ひき算 (算数 計算と数のきまり)
- 小数の四則計算 (算数 計算と数のきまり)
- 正負の数の加法・減法 (中学数学 数と式)
- 分数のかけ算・わり算 (算数 計算と数のきまり)
- 四則の混じった計算の順序 (算数 計算と数のきまり)
- 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
- 分配法則を使った計算のくふう (算数 計算と数のきまり)
- 文字式の計算(同類項・分配法則) (中学数学 数と式)
- 乗法公式による展開 (中学数学 数と式)
- 因数分解 (中学数学 数と式)
- 3 次式までの展開と因数分解 (数学I 数と式)
- 微分係数と導関数の定義 (数学II 微分法と積分法)
- 多項式の微分 (数学II 微分法と積分法)
- 等間隔にならんだ数の和 (算数 計算と数のきまり)
- 等差・等比数列の和と Σ (数学B 数列)
- 数列の極限 (数学III 極限)
- 関数の極限 (数学III 極限)
- 積と商の微分 (数学III 微分法)
- 合成関数の微分 (数学III 微分法)
- 偏微分と全微分 (大学数学 微分積分)
- 小数と分数のまじった計算 (算数 計算と数のきまり)
- 逆算(□ を求める) (算数 計算と数のきまり)
- 1 次方程式の解き方 (中学数学 方程式)
- 比例・反比例の式とグラフ (中学数学 関数)
- 約数の見つけ方 (算数 整数の性質)
- 素因数分解と約数の個数 (算数 整数の性質)
- 平方根の意味と根号の簡単化 (中学数学 数と式)
- 関数 の式と変域 (中学数学 関数)
- 平方完成と 2 次関数のグラフ (数学I 2次関数)
- 2 次不等式 (数学I 2次関数)
- 剰余の定理・因数定理と高次方程式 (数学II 複素数と方程式)
- 増減表と極値 (数学II 微分法と積分法)
- 第 2 次導関数とグラフの凹凸 (数学III 微分法)
- 2 変数関数の極値 (大学数学 微分積分)
- ラグランジュの未定乗数法 (大学数学 微分積分)
- KKT 条件 (大学数学 最適化・線形計画法)
- 凸集合と凸関数の定義 (大学数学 最適化・線形計画法)
- 三角形の角の大きさ (算数 平面図形)
- 対頂角と平行線の同位角・錯角 (中学数学 平面図形)
- 三角形の外角と角の組み合わせ (中学数学 平面図形)
- 二等辺三角形の角 (中学数学 平面図形)
- 平行四辺形と特別な四角形の性質 (中学数学 平面図形)
- 三角形・四角形の面積 (算数 平面図形)
- 三平方の定理 (中学数学 相似と三平方の定理)
- 折り返した図形の角と長さ (中学数学 平面図形)
- 三平方の定理と平面図形 (中学数学 相似と三平方の定理)
- ベクトルの演算と成分 (数学C ベクトル)
- 行列の和・積と 2 次の逆行列 (大学数学 線形代数)
- 樹形図で数え上げる (算数 場合の数)
- 積の法則と和の法則 (算数 場合の数)
- 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
- 順列・円順列・重複順列 (数学A 場合の数と確率)
- 行列式 (大学数学 線形代数)
- 掃き出し法と連立 1 次方程式 (大学数学 線形代数)
- 行列の階数と解の存在 (大学数学 線形代数)
- ベクトル空間・一次独立・基底・次元 (大学数学 線形代数)
- 円の周の長さと面積 (算数 平面図形)
- おうぎ形の弧の長さと面積 (算数 平面図形)
- 弧の長さからおうぎ形の中心角と面積を求める (中学数学 平面図形)
- 特別な直角三角形の辺の比 (中学数学 相似と三平方の定理)
- 弧度法と単位円による三角関数 (数学II 三角関数)
- 加法定理と 2 倍角・半角・積和の公式 (数学II 三角関数)
- 線形変換と行列 (大学数学 線形代数)
- 核と像と次元定理 (大学数学 線形代数)
- 固有値と固有ベクトル (大学数学 線形代数)
- 掃き出し法による逆行列 (大学数学 線形代数)
- 基底の変換と表現行列 (大学数学 線形代数)
- 対角化と行列の累乗 (大学数学 線形代数)
- 最大公約数と最小公倍数 (算数 整数の性質)
- 比の性質と簡単な比 (算数 割合と比)
- 相似な三角形と長さの比 (算数 平面図形)
- 三角形の相似条件と対応する辺の長さ (中学数学 相似と三平方の定理)
- 三角比の定義と値 (数学I 図形と計量)
- 内積となす角 (数学C ベクトル)
- 内積空間とグラム・シュミットの直交化 (大学数学 線形代数)
- 対称行列の直交対角化 (大学数学 線形代数)
- 2 次形式の標準形と符号 (大学数学 線形代数)
- ヘッセ行列による凸性の判定 (大学数学 最適化・線形計画法)
説明
凸計画とは、凸関数を凸集合の上で最小化する問題のことです。凹関数を凸集合の上で最大化する問題も、符号を変えれば凸計画になります。凸計画では、KKT 条件を満たす点(KKT 点)が 1 つ見つかれば、それがそのまま大域的な最適解になります。局所解どうしを比べたり、すべての場合の値を比べ合わせたりする必要はありません。資源配分の問題( の最大化など)や、非負条件のついた 2 次関数の最小化などで、KKT 条件を解くだけで最適値まで確定させるときに使います。
なぜそうしてよいのか
問題を「 を最小化、制約 」の形にします。実行可能集合を含む開いた凸集合 をとり、 と各 は の上で凸かつ全微分可能(たとえば 級)とします。ヘッセ行列で凸性を判定するときは、さらに 級を仮定します。このとき実行可能集合 は凸集合です。実際、, ならば、線分は に含まれ、 について が成り立ちます。
まず、凸関数の定義から「接平面より上にある」という不等式を導きます。 上の凸関数 と 2 点 、 をとります。定義より なので、変形すると です。 は で全微分可能なので、 と書けます。 を代入して とすると、左辺は に収束します。偏微分可能なだけではこの式は保証されないので、全微分可能性が必要です。よって
が成り立ちます。とくに ならば、 は 上での の大域的な最小点です。
次に、 を KKT 点とし、その乗数を とします。 は凸関数の非負係数の和なので、 上で凸かつ全微分可能です。また KKT 条件から です。したがって、任意の実行可能な について
が成り立ちます。1 つ目の不等号は と から、2 つ目の不等号は上の不等式から、最後の等号は相補性 から従います。こうして が大域的な最小解だとわかります。なお、この十分性の議論では、制約想定(KKT 条件が必要条件になるための仮定)は使っていません。
手順
標準形に直す: 最大化 は に書き換え、制約はすべて の形にそろえる(非負条件 は とする)。
凸性を確かめる: 実行可能集合を含む開いた凸集合 を決める。 と各 が 上で 級であることと、ヘッセ行列が のすべての点で半正定値であることを調べる。1 次式の制約はそのままで凸である。
KKT 条件を書く: 、、、 の 4 種類。
有効な制約を見当づけて場合分けし、KKT 点を 1 つ求める。そのとき と実行可能性 がすべて成り立つかを必ず確認する。
凸計画なので、条件を満たす KKT 点は大域的な最適解だと結論する。その点で最適値を計算する(最大化なら符号を戻す)。
例題
、、、 のもとで、 の最大値を求めよ。
例題の解答
【手順 1】 を最小化する問題に直す。制約は 、 とする。
【手順 2】 は開いた凸集合で、実行可能集合を含む。 は 上で 級であり、ヘッセ行列は対角行列 である。固有値はすべて正なので正定値であり、 は 上で凸である。制約はすべて 1 次式なので凸である。したがってこの問題は凸計画である。
【手順 3】 の乗数を 、 の乗数を とし、 とおく。KKT 条件は次のとおり。
・停留条件:
・乗数の符号: 、
・相補性: 、
・実行可能性: 、
【手順 4】停留条件から なので、 は有効で である。
・まず ()とすると、 が 3 つとも共通になる。 より となるが、 で実行可能でない。
・次に 、 とすると、 で となる。 より なので 、 である。よって 、。さらに である。
この点はすべての制約と を満たすので、KKT 点である。
【手順 5】凸計画なので、 が大域的な最適解である。最大値は である。
答え:
よくある誤り
凸でない問題でも、KKT 点なら最適解だとしてしまう誤り。例えば を で最小化すると、(乗数はすべて )は KKT 点だが、実は最大点である。正しくは、十分性を使う前に と各 の凸性をヘッセ行列などで確認する(この例の最小値は での )。
非負条件 を無視して、等式 だけでラグランジュの未定乗数法を使ってしまう誤り。例題では という実行可能でない点が出てくる。正しくは、 も制約として KKT 条件に入れ、 の場合を調べて を確認する。
最大化問題のまま と書いて、乗数の符号を逆にしてしまう誤り。正しくは の最小化に直して (すなわち )とし、 を確かめる。
1 次式でない等式制約(例: )を凸な制約とみなしてしまう誤り。円周は凸集合ではないので、十分性は使えない。正しくは、等式制約が許されるのは のような 1 次式のときだけである。そのときは と の 2 つの凸な制約として扱える。
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
入口の問題
実数 についての次の最適化問題を考える。
この問題が凸計画問題であることを確かめ、KKT 条件を用いて の最小値を求めよ。正の実数 についての次の最適化問題を考える。
この問題が凸計画問題であることを確かめ、KKT 条件を解いて最小値を求めよ。
この技能を使う問題
実数 についての次の最適化問題を考える。
KKT 条件を
と、制約 の組とする。この問題の最適解 と、そこでの KKT 乗数 を、組 の形で求めよ。実数 についての次の最適化問題を考える。
ラグランジュ関数を
とし、 を KKT 乗数とする。この問題の最適解 と、それに対応する KKT 乗数 を求め、 の順に答えよ。実数 についての次の最適化問題を考える。
この問題の最大値を求めよ。ただし は自然対数である。実数 についての次の最適化問題を考える。
ラグランジュ関数を とする。この問題の最適解 において KKT 条件を満たすラグランジュ乗数 は一意に定まる。その組 をこの順に求めよ。実数 についての次の最適化問題を考える。
ただし は自然対数である。この問題の最大値を求めよ。実数 についての次の最適化問題を考える。
この問題のラグランジュ関数を、実数 と , ()を用いて
と定める。最適解において KKT 条件をみたす乗数はただ 1 組に定まる。上限制約 に対応する乗数 の値を求めよ。を正の整数、 を任意の実ベクトルとし、
とする。最適化問題
について、次を証明せよ。「方程式 を満たす実数 がただ 1 つ存在し、その を用いて と定めた点 は、この問題のただ 1 つの最適解である。」
ここで最適解とは、 であって、すべての に対し を満たす点のことである。