多変数微積分 · ラグランジュの未定乗数法

ラグランジュの未定乗数法

制約曲線g = c上でfの最大値や最小値を探します。そのような点では、∇g ≠ 0である限り∇fは∇gに平行で、∇f = λ∇gとなります。λはcに対する最適値の変化率です。Pを曲線に沿って動かし、∇fの曲線に沿った成分を見てみましょう。

この可視化で見るラグランジュ乗数

ここでの問題は、点を自由には動かせず、制約g(x,y)=cg(x, y) = cで表される曲線上にとどめたまま、関数f(x,y)f(x, y)の最大値や最小値を求めることです。ラグランジュの未定乗数法は、どの点を探せばよいかを示します。曲線上の点Pの近くでffとggの1階偏導関数が連続であり、曲線上に制限したffがPで極大値または極小値をとり、∇g(P)≠0\nabla g(P) \neq 0を満たすとします。このとき、ラグランジュ乗数と呼ぶ数λ\lambdaが存在して、次が成り立ちます。

候補点を求める方程式
∇f(x,y)=λ ∇g(x,y),g(x,y)=c\nabla f(x, y) = \lambda\, \nabla g(x, y), \qquad g(x, y) = c

これはx、y、λ\lambdaについての3本の方程式です。解は候補であって、まだ答えではありません。それぞれを確かめる必要があり、∇g=0\nabla g = 0となる点は別に調べなければなりません。

地図にはffの等高線、太線で描いた制約曲線、その上の点Pを表示しています。Pにある青い矢印は∇f\nabla fで、中抜きの矢印は∇g\nabla gの向きを示します。∇f\nabla fは、曲線に沿った黄色の成分と、曲線を横切る破線の成分に分かれています。地図の下の断面図は、曲線に沿って進んだ距離に対するffの値を描きます。

なぜ成り立つのでしょうか。曲線に沿ってggは変わらないので、曲線の単位接ベクトルTTは∇g\nabla gに垂直です。曲線に沿って単位速度で進むと、ffの変化率は∇f⋅T\nabla f\cdot Tとなります。これがPでの断面の傾きで、黄色の矢印は(∇f⋅T) T(\nabla f\cdot T)\,Tです。断面の最高点や最低点で∇g≠0\nabla g \neq 0なら、この傾きは0なので、∇f\nabla fの曲線に沿った成分はありません。平面内では、曲線に沿った成分をもたないベクトルは∇g\nabla gの定数倍です。したがって∇f=λ∇g\nabla f = \lambda\nabla gとなり、∇f=0\nabla f = 0の場合にはλ=0\lambda = 0です。黄色の矢印が0でないところでは、その向きに進めばまだffが増えます。したがって、そこにあるPは極大点にも極小点にもなれません。

さらに∇f(P)≠0\nabla f(P) \neq 0なら、Pを通るffの等高線は∇f\nabla fに垂直なので、制約曲線と接線を共有します。制約付きの最大点や最小点では、制約曲線は等高線を横切るのではなく接します。

λ\lambdaそのものにも意味があります。曲線g=cg = c上の最適値をf∗(c)f^*(c)と書きましょう。ccの変化に伴って、その値をとる点が滑らかに動くなら、λ\lambdaは最適値の変化率になります。

変化率としての乗数
λ=df∗dc\lambda = \frac{d f^*}{d c}

円x2+y2=cx^2 + y^2 = c上で、xyxyの最大値はc/2c/2であり、2つの最大点のどちらでもλ=1/2\lambda = 1/2です。λウィンドウは、ccに対するf∗f^*のグラフをこの傾きで描きます。変化率は制約の書き方に依存します。C=2cC = 2cとして2g=C2g = Cと書けば、同じ曲線でも乗数は半分になります。今度はCの1単位あたりの変化を測るからです。2gで書くで確かめられます。

2つの曲線が、この方法の限界を示します。y−x3=cy - x^3 = c上では、関数f=yf = yについて(0,c)(0, c)で勾配が平行になりますが、曲線に沿ったf=x3+cf = x^3 + cは、そこで傾きが0になるだけで増え続けます。勾配が平行なだけでは不十分です。y2−x3=0y^2 - x^3 = 0上でf=xf = xが最小になるのは尖点(0,0)(0, 0)ですが、そこでは∇g=(0,0)\nabla g = (0, 0)となり、∇f=λ∇g\nabla f = \lambda\nabla gを満たす解はありません。この方法では見つからないので、そのような点は個別に調べる必要があります。

候補点が極大点か極小点か、どちらでもないかは断面に表れます。曲線上の極大点では上ったあとに下り、極小点では下ったあとに上ります。3次曲線の候補点では、上り続けます。

注目する点

  • λ\lambdaの符号は、∇f\nabla fが∇g\nabla gと同じ向きか逆向きかを表します。円の例では、最大点で正、最小点で負です。
  • 等高線に接しても、その片側にとどまるとは限りません。3次曲線の候補点では、等高線に接しながらその反対側へ横切ります。

関連する概念