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

問題 n個の変数x1〜xnで決まる関数 f(x1, x2,,,,,,xn) の最大値を求めよ。但し、各xについては g(x1, x2,,,,,,xn)=0 という条件があるとする。

この問題を解くのに

というn+1個の連立方程式を解いてx1,,,,,xn,λというn+1個の値を得る。
こうして得たx1,,,,,xnを使って計算した f(x1, x2,,,,,,xn) が極値になる。
このような方法で拘束条件があるばあいの関数の極値を求める方法をラグランジュの未定乗数法という。

説明

普通に求めようとするならば、関数gを変形してxn=h(x1,,,,,xn-1)としてfに代入してf(x1, x2,,,,,,xn-1,h(x1,,,,,xn-1))として、これの最大値を求めればよい。
すなわち

と置くと

となるので、(hはx1,,,xn-1の関数)、極値を探すための「微分したものが0」という条件は

というn-1個の式を連立させてx1〜xn-1を決定して、それから関数hを使ってxnを求め、そのx1〜xnをfに代入して得られる値がfの極値である。
しかし、この方法は、関数hが簡単な形になっていないと解くのが難しい。
そして、残念ながら多くの場合、関数hやその微分は複雑な形になってしまうのである。
そこで、関数hの具体的な形を求めることなくfの最大(あるいは最小)にするx1、、、xnを求めようとするのがラグランジュの未定乗数法というものである。


まず、正解のx1,,,,,xnがわかっているとする。
すなわち、g(x1,,,,,xn)=0 を満たし、なおかつ f(x1,,,,,xn)を最大(あるいは最小)にするx1,,,,,xnがわかっているとする。 このとき、x1,,,,,xnは、上の f と g の式以外に、どんな式を満たす性質があるか検討してみよう。

関数gを考え、各xを正解のxから適当にずらす。xi→ηi すべてを自由にずらすと、拘束条件g=0からはずれてしまうので、i=1〜n-1までを自由にとり、ηnで調整する。すなわちηnはη1〜ηn-1の関数である。

ηが微小であれば

となるが、

なので

が成り立つ。
ηnだけ特別なので、これを取り出して

変形して

となる。

さて、同じηをつかってfを正解のx1,,,,,xnからずらすと、fが極値をとっているならば、各ηが十分に小さければ

すなわち

が成り立つはずである。
ηnの式を代入して

ここで

とおくと

少し変形すると


ηi(i=1〜n-1)は小さい値であるが、自由に独立に取れるので、これが0であるためには各項が0である必要がある。
したがって、fの極値を求めるには、まずλを求めて、次にi=1〜n-1までの下の式を求めればよい。



ところで、この式でi=nの場合も検討して見ると

となるので、実はi=1〜nで

が成立する。
i=1〜nのn個の式があり、求めるものがx1、x2、、、xn-1、λのn個であるので、これは一般に解くことが出来る。。
その後、x1、x2、、、xn-1を使って

からxnを導いて、x1、x2、、、xnからfを求めると、それが極値となる。
これは

というn+1個の式を連立させて、x1、x2、、、xn、λというn+1個の数を求めることになる。

ところで

にほかならないので、対称性よく

というn+1個の式を連立させて、x1、x2、、、xn、λというn+1個の数を求めよ、という問題に書く直すことが出来る。

この連立方程式を解くことで、拘束条件g(x1,,,xn)=0のもとで、関数f(x1,,,xn)の最大値(とλ)を求める方法を、ラグランジュの未定乗数法という。
λのことを未定乗数という。

問題 周囲の長さが1mの長方形で、面積を最大にするものはどういう長方形か?

辺の長さをa,bとすると、面積はab、周囲の長さは2(a+b)であるから、2(a+b)=1という条件でabを最大にするようなa,bを求めればよい。

であるから、以下の連立方程式を解く。

微分して

であるから

となり

これから

である。これが面積を最大とする辺の長さである。(つまり正方形が面積を最大にする。)