ラグランジュの未定乗数法(旧バージョン)

こんにちはコーヤです。

このページでは特定の条件下での極値の候補を求めるラグランジュの未定乗数法を勉強します。

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

2変数関数f(x,y)の極値を求める計算はヘッセシアンで行いました。

ラグランジュの未定乗数法はg(x,y)=0の条件下でf(x,y)の極値の候補を求める計算方法です。

g(x,y)=0は図の赤線のように、xy平面上の関数です。

これをz軸と平行に動かした時にf(x,y)と交差する曲線(図の点線)の極値の候補を求めます。

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

ラグランジュ定数λを用いてラグランジュ関数Lを以下のように定義します。

L(x,y,λ)=f(x,y)λg(x,y)

このとき

(1)Lx=Ly=Lλ=0

(2)g=gx=gy=0

のどちらかを満たす点が極値の候補になります。

ラグランジュの未定乗数法の具体例

それでは公式を使ってy=x+4の条件下でx2+y2の極値の候補を求めてみましょう。

問題文よりf(x,y)g(x,y)=0に相当する関数は

f(x,y)=x2+y2g(x,y)=x+y4

です。

f(x,y)g(x,y)は以下のようなグラフになります。

ラグランジュ関数L

L(x,y,λ)=x2+y2λ(x+y4)

です。

次に計算に必要な偏導関数を計算します。

Lx=2xλLy=2yλLλ=xy+4gx=1gy=1

まず式(1)の条件を満たす点を求めます。

(1)Lx=Ly=Lλ=0

この条件を3本の式で表して

0=2xλ0=2yλ0=xy+4

この連立方程式を解いて

(x,y,λ)=(2,2,4)

となります。したがって極値の候補となる点は

(x,y)=(2,2)

です。(λの値は極値の候補とは無関係です。)

次に式(2)の条件を満たす点を求めます。

(2)g=gx=gy=0

この条件を満たせば良いですが、偏導関数は

gx=gy=1

なので条件を満たせません。したがって式(2)の条件では極値の候補なしです。

以上の結果より、極値の候補は(x,y)=(2,2)だけとなります。

グラフで確認すると、(x,y)=(2,2)f(x,y)g(x,y)が交差する線上の極値(の候補)を表しています。

公式の導出

式(1)と式(2)が何を意味しているのかを考えます。

まず式(1)は

(1-1){Lx=0Ly=0

(1-2)0=Lλ

の2つに分解できます。

式(1-1)について、ラグランジュ関数をx,yで偏微分して

Lx=fxλgxLy=fyλgy

これを式(1-1)に代入して

{fxλgx=0fyλgy=0

移項して

{fx=λgxfy=λgy

となります。この連立方程式を行列形式で書いて

(fxfy)=λ(gxgy)

ここでベクトルfgを以下のように定義します。

f=(fxfy)g=(gxgy)

すると式(1-1)は

f=λg

と書けます。これはfgが平行なベクトルであることを表しています。

それでは、ベクトルが平行であることが極値の候補の条件になる理由を考えていきます。

上の具体例で使った

f(x,y)=x2+y2g(x,y)=x+y4

を使いながらベクトルの意味を探ります。

f(x,y)z=1,4,9の等位曲線とg(x,y)=0xy平面上に書くと以下のようになります。

ここで、z=cxy平面上でg(x,y)=0と接する等位曲線です。

g(x,y)=0上のf(x,y)の線(白の点線)と、z=4,c,9の等位曲線は以下のような位置関係になっています。

上図の通り、極値の可能性があるのはz=cのところだけです。つまりf(x,y)=cを満たす点が極値の候補になっているということです。

さて、そのようなcを求めたいので、z=cの等位曲線とg(x,y)=0xy平面上で接するという条件からcを求めます。

z=cの等位曲線とg(x,y)=0が接するということは、z=cの等位曲線の接線ベクトルとg(x,y)=0の接線ベクトルが平行になるはずです。

接線ベクトルが平行になるならそれぞれの勾配gradも平行になるはずです。(接線ベクトルと勾配は直交するため。)

勾配をご存じない方は「法線ベクトル」のことだと思って読んでください。

f(x,y)g(x,y)の勾配を計算すると

grad f=(fxfy)=(fxfy)=f

grad g=(gxgy)=(gxgy)=g

このように、勾配はさきほど使ったfgと一致します。

つまり、式(1-1)はg(x,y)=0と等位曲線が接するという条件を言い換えて、fgが平行であると記載しているということです。

式(1-2)について、ラグランジュ関数をλで偏微分すると

0=Lλ=λ{f(x,y)λg(x,y)}=g(x,y)

となります。これは問題文で与えられる条件g(x,y)=0の書き方を変更しただけです。

次に式(2)について

(2-1)g=0

(2-2)gx=gy=0

の2つに分解できます。

式(2-1)は問題文で与えられた条件そのままです。

式(2-2)は

g=grad g=0

のときを表しています。勾配が0の場合です。

式(1)はg(x,y)=0の接線ベクトルと直交する勾配を利用して計算しましたが、そもそも接線が引けないような関数は式(1)では計算できません。

接線が引けない場合を極値の候補に入れるために式(2-2)があります。

複数条件の場合

条件が増えてもラグランジュ関数の作り方は変わりません。

g(x,y,z)=0h(x,y,z)=0の条件下でf(x,y,z)の極値の候補を求めるときは

L(x,y,z,λ)=f(x,y,z)λg(x,y,z)μh(x,y,z)

として

Lx=Ly=Lz=Lλ=0

g=gx=gy=gz=0

h=hx=hy=hz=0

のどれかを満たす点が極値の候補になります。

極値の候補しか求まらない理由

ラグランジュの未定乗数法はあくまで極値の候補しか求まりません。

公式の導出に記載したとおり、極値の十分条件ではなく必要条件から計算しているからです。

よくある使用方法

極値の候補が求まって嬉しい場面はほとんどありません。最大最小を求めたい場面が大多数です。

条件であるg(x,y)=0

  • 無限に発散する部分がない
  • 閉曲線である(始点と終点がつながっている)
  • 連続な関数である

この3つの条件を満たしているとき、ラグランジュの未定乗数法で求められた極値の候補の中に最大最小となる点が必ずあります。

g(x,y)=0が円なり楕円なりのときはラグランジュの未定乗数法で最大最小が求められるということです。

まとめ

g(x,y)=0の条件下でf(x,y)の極値の候補を求めるとき、ラグランジュ定数λを用いてラグランジュ関数Lを以下のように定義します。

L(x,y,λ)=f(x,y)λg(x,y)

このとき以下2式のどちらかを満たす点が極値の候補になります。

(1)Lx=Ly=Lλ=0

(2)g=gx=gy=0

コメント欄