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

提供: testwiki
2025年3月1日 (土) 03:59時点におけるimported>Wetchによる版 (流体力学: Ferziger らの出典をもとに詳述)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

テンプレート:出典の明記 ラグランジュの未定乗数法(ラグランジュのみていじょうすうほう、テンプレート:Lang-en-short)とは、束縛条件のもとで最適化を行うための数学解析学)的な方法である。いくつかの変数に対して、いくつかの関数の値を固定するという束縛条件のもとで、別のある1つの関数の極値を求めるという問題を考える。各束縛条件に対して定数(未定乗数テンプレート:En)を用意し、これらを係数とする線形結合を新しい関数(未定乗数も新たな変数とする)として考えることで、束縛問題を普通の極値問題として解くことができる方法である。

定理

ラグランジュの未定乗数法は、次のような定理として記述される。

2次元の場合

束縛条件 テンプレート:Math の下で、テンプレート:Math が最大値となる点 テンプレート:Math を求める問題、つまり

maximize f(x,y),
subject to g(x,y)=0

という問題を考える。ラグランジュ乗数テンプレート:Mvar とし、 テンプレート:Indent とおく。点 テンプレート:Mathテンプレート:Mathテンプレート:Math の少なくとも一方が 0 でないならば、テンプレート:Mvar が存在して点 テンプレート:Math

Fx=Fy=Fλ=0

が成り立つ[1]

一般の多次元の場合

テンプレート:Mvar 次元空間の点 テンプレート:Math2 のある領域 テンプレート:Mvar を定義域とする被評価関数 テンプレート:Math2 が、同じ領域を定義域とする テンプレート:Mvar 次元ベクトル値関数

𝑮(𝒙)=(g1(x1,,xn)gm(x1,,xn))=0(1)

の下で、テンプレート:Mvar 内の点 テンプレート:Mvar において極値をとるための必要条件は、その点における テンプレート:Mvar勾配ベクトル

f=t(fx1,,fxn)

が、その点で、テンプレート:Mvar 個の テンプレート:Mvar それぞれの勾配ベクトルが張る テンプレート:Mvar 次元線型部分空間に含まれること、すなわち、スカラーの組 テンプレート:Math2 を用いて、

f=i=1mλigi(2)

が成り立つことである。移項して テンプレート:Math を取れば、

f(𝒙)i=1mλigi(𝒙)

停留点をとることである。ただし、テンプレート:Math一次独立、すなわち

dim(g1,,gm)=m

でなければならない。式(1)の テンプレート:Mvar 本と式(2)の テンプレート:Mvar 本の式を連立させて、テンプレート:Mvarテンプレート:Mathテンプレート:Math2 個の未知数について解けば、テンプレート:Mvar の極値を与える候補点が得られる[2]

解釈

幾何学的な説明

図1:束縛条件 テンプレート:Math2 に対して関数 テンプレート:Math を最大化する場合。
図2:図1の等高線地図。赤い線は束縛条件 テンプレート:Math2 を示す。青い線は テンプレート:Math の等高線。赤い線が青い等高線に接する点が解。

簡単のため2次元の場合を考えよう。テンプレート:Math2(ここで テンプレート:Mvar は与えられた定数である)という条件の下、関数 テンプレート:Math を最大化するものとしよう。テンプレート:Mvar の値を高さとしたグラフを考えると、高さが テンプレート:Mvarテンプレート:Mvar の等高線は テンプレート:Math2 で与えられる。ここで、任意の曲線に沿って移動する点を考えると、この点が等高線を横切る場合、必ず テンプレート:Math は増加、もしくは減少するが、この点が等高線に沿って移動する場合は テンプレート:Math は変化しないことが分かる。この条件と通常の極値の条件を合わせて考えれば、曲線上で テンプレート:Math が最大をとる点では、テンプレート:Mvar の等高線の接線と曲線の接線が平行となっているか、テンプレート:Mvar の勾配がゼロとなっていることが分かる。ここで テンプレート:Math2 の接線は、テンプレート:Mvar の勾配ベクトル テンプレート:Math と直交し、また テンプレート:Mvar の等高線 テンプレート:Math2 の接線は テンプレート:Mvar の勾配ベクトル テンプレート:Math と直交することを踏まえると、前述の条件は

x,yf=λx,yg

と書ける。ここで

x,yf=(fx,fy),x,yg=(gx,gy)

である。定数 テンプレート:Mvarテンプレート:Mvar の勾配ベクトルと テンプレート:Mvar の勾配ベクトルが平行ではあるが長さが一般に異なるために必要である。テンプレート:Math2 の場合、テンプレート:Math の勾配がゼロとなる条件になる。これは テンプレート:Math2 の曲線上にちょうど テンプレート:Mvar の最大値があるため、曲線上で テンプレート:Math が最大を取る点と通常の テンプレート:Math の最大値が一致する場合である。

前述の式を変形すると

x,y(fλg)=0

となることから、テンプレート:Math の極値を求めればいいことになる。

束縛条件のない問題への変換

次の類似した2つの問題を考える

問題A
xnが束縛条件g(x)=0を満たす条件下で、f(x)を極大にする点を求めよ。

問題B
λを定数とし、xnh(x)=f(x)λg(x)を極大にする点を求めよ。

問題Aは、束縛条件が存在するため「各変数で偏微分して、偏微分係数がゼロになる点を求める」という解法が使えないのに対し、問題Bには束縛条件がないので、「各変数で偏微分して、偏微分係数がゼロになる点を求める」という解法が使える。ラグランジュの未定乗数法は、問題Aと問題Bが、実質的に同じであることを言うものである。

問題B→問題A
Xnをあるλについての問題Bの極大点とし、加えてXg(X)=0を満たせば、Xは問題Aの解である。
なぜなら、Xの近傍でg(x)=0となる点xを考えると、
f(x)=f(x)λg(x)f(X)λg(X)=f(X) となるため、Xは問題Aの極大点でもある。

問題A→問題B
Xnを問題Aの極大点とする。
c(t)nt(1,1)を、g(c(t))=0を満たしXを通る曲線とし、c(0)=Xとする。
F(t)=f(c(t))tの関数と考える。
dFdt=i=1nfxidcidt=fc(t)
ただし、f=(f/x1,,f/xn)c(t)=(dc1/dt,,dcn/dt)、「」はベクトルの内積である。
一方、g(c(t))=0の両辺をtで微分すれば、
gc(t)=0が言える。
g(c(t))=0を満たしXを通るどのような曲線でも、t=0は、c(0)=XのためF(t)=f(c(t))の極大点であり、dF/dt(0)=f(X)c(0)=0
が言える。ただしc(0)は、曲線のXでの接線ベクトルである。

Xが問題Aの極大点であれば、
g(X)v=0を満たすどのようなvnについても、
f(X)v=0である。

g(X)0と仮定し、f(X)を、g(X)に平行な成分aと、g(X)に垂直な成分bに分解する。(g(X)方向の単位ベクトルをeとすると、a=(f(X)e)eb=f(X)aである。)f(X)=a+b
g(X)b=0であるためv=bとして代入すると、 0=f(X)b=ab+bb=bb、よってb=0
このため、f(X)g(X)は平行である。

f(X)=λg(X)、(ただしg(X)0を仮定した。)

このλについて問題Bを考えると、f(X)λg(X)=0であるため、 hxi(X)=fxi(X)λgxi(X)=0 となり、全ての偏微分係数がゼロとなるため、Xは問題Bの極大点でもある。

変則版

2次元問題で、束縛条件が1つの場合には、以下のように連立方程式を作ってもよい:

fx+λfy=0
gx+λgy=0
g(x,y)=0

ただしこの場合の テンプレート:Mvar は、もとの定理の テンプレート:Mvar とは異なる。

この変則版は、極値となる点で全微分 テンプレート:Math となる方向と、テンプレート:Math となる方向が平行であることから導かれる。

応用例

物理学の問題を解くとき、ラグランジュの未定乗数は単なる方便ではなく、ある物理量を表すことが多い。

流体力学

流体力学において、非圧縮性流れナビエ-ストークス方程式を解く場合、圧力は速度ベクトル場が連続の式という束縛条件を満たすための未定乗数として求められる[3]。 連続の式を満たさない速度場 テンプレート:Math が与えられたとき、ここから連続の式 テンプレート:Math を満たす速度場 テンプレート:Math を求めることは、未定乗数(最終的に圧力場となる)を テンプレート:Mvar として

R:=12Ω(𝒗𝒗*)2dΩΩp𝒗dΩ

を最小化する問題に置き換えられる。ここで テンプレート:Math は速度場が定義されている領域である。

テンプレート:Mvar を最小化する速度場を テンプレート:Math とし、任意の微小変化 テンプレート:Math を考えると、発散定理を使って

δR=Ωδ𝒗(𝒗+𝒗*+p)dΩ+Ωpδ𝒗d𝑺.

テンプレート:Math の任意性より右辺第1項の括弧の中身が 0 であることと、テンプレート:Math から

2p=𝒗*

というポアソン方程式が導かれ、これを解いて得られる テンプレート:Mvar を用いて

𝒗+=𝒗*p

より速度場が求められる。

情報理論

情報理論エントロピーが最大となる離散的確率分布を見出すことを考えよう。このときエントロピーは確率を変数とする関数で、

f(p1,p2,,pn)=k=1npklog2pk

となる。もちろんこれらの確率の合計は1に等しく、束縛条件を表す関数は

g(p1,p2,,pn)=k=1npk1

となる。ラグランジュ乗数を用いてエントロピー最大の点を見つけよう。すべての テンプレート:Mvar(1から テンプレート:Mvar をとる)に対して次の条件が必要である:

pi(f+λg)=0.

従って

pi(k=1npklog2pk+λ(k=1npk1))=0.

これら テンプレート:Mvar 個の方程式から次の式が得られる:

(1ln2+log2pi)+λ=0.

これは、すべての テンプレート:Mvar が等しいということを示している(変数は テンプレート:Mvar だけだから)。

束縛条件 テンプレート:Math を使って、

pi=1n

が分かる。すなわち、すべての事象が等確率の一様分布がエントロピー最大の分布である:つまり他のどんな確率分布の場合よりも、確率変数が実際に観測されたときに得られる情報量の期待値が大きいということである。

ミクロ経済学

制約条件を予算制約線、函数を効用関数、極値を最適消費点と置き換えることでミクロ経済学における最適消費点を求める事に利用される[4]。この際、ラグランジュの未定乗数は、貨幣の限界効用として解釈することができる。

統計力学

統計力学においては、統計集団があるエネルギー状態をとる確率を導出するために未定乗数法が用いられる。 テンプレート:節stub

解析力学

作用積分テンプレート:Math で与えられる物理系に テンプレート:Mvar 個の拘束条件 テンプレート:Math が課せられているとき、この系の運動方程式は テンプレート:Math を未定乗数とする条件付き変分

δSδq+a=1nλaϕaq=0

により表される[5]。ここで テンプレート:Math汎関数微分である。ラグランジュの運動方程式で表すなら、ラグランジアン

L(q,q˙,t)+a=1nλaϕa(q,t)

に置き換えることで拘束を考慮した運動方程式が得られる。

参考文献

テンプレート:Reflist

関連項目

外部リンク

テンプレート:最適化アルゴリズム