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

こんにちはコーヤです。

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

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

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=1の条件下でz=x2y2+8の極値の候補を求めてみましょう。

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

f(x,y)=x2y2+8g(x,y)=y+1

です。

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

ラグランジュ関数L

L(x,y,λ)=x2y2+8λ(y+1)

です。

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

Lx(x,y,λ)=2xLy(x,y,λ)=2yλLλ(x,y,λ)=y1gx(x,y,λ)=0gy(x,y,λ)=1

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

(1)Lx=Ly=Lλ=0

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

0=2x0=2yλ0=y1

この連立方程式を解いて

(x,y,λ)=(0,1,2)

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

(x,y)=(0,1)

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

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

(2)g=gx=gy=0

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

gy=1

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

以上の結果より、極値の候補は(x,y)=(0,1)だけとなります。このときf(0,1)=7です。

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

公式の導出

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

まず式(1)は

(1-1)Lλ=0

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

の2つに分解できます。

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

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

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

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

Lx=fxλgxLy=fyλgy

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

{fxλgx=0fyλgy=0

移項して

{fx=λgxfy=λgy

となります。この連立方程式をベクトルで書いて

(fxfy)=λ(gxgy)

となります。

勾配ベクトルを用いると

f=λg

と書けます。

この式はfgが平行であることを表しています。

勾配ベクトルをご存知ない方はfはテキトーなベクトルfだと思って以下のように読み替えてください。

f=λg      f=λg

fgが平行とはどういう意味か、例題のz=x2y2+8をグラフで見ながら考えます。

今、条件であるy=1z=x2y2+8は以下のようなグラフになります。

z=5の高さの平面を追加したのが以下の図です。

この空間を真上から見てxy平面上に等高線を書くと以下のようになります。

z=5から高さを徐々に上げていき、極値っぽい点と同じ高さになるz=7のタイミングでは以下のようなグラフになります。

左側の立体図では極値っぽい点がz=7の平面上にあります。

右側の平面図ではz=7の等高線とg(x,y)=0が接しています。

接するということは接線ベクトルが平行になります。つまり勾配ベクトルも平行になります。(接線ベクトルと勾配ベクトルは直交するため。)

以上をまとめると、極値っぽい点ではfgが平行になっており、その条件を式変形して

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

このように表現しています。

次に式(2)について

(2-1)g=0

(2-2)gx=gy=0

の2つに分解できます。

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

式(2-2)は

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

コメント欄