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

ラグランジュの未定乗数法（ラグランジュのみていじょうすうほう、英: method of Lagrange multiplier）とは、束縛条件のもとで最適化を行うための数学（解析学）的な方法である。いくつかの変数に対して、いくつかの関数の値を固定するという束縛条件のもとで、別のある1つの関数の極値を求めるという問題を考える。各束縛条件に対して定数（未定乗数、Lagrange multiplier）を用意し、これらを係数とする線形結合を新しい関数（未定乗数も新たな変数とする）として考えることで、束縛問題を普通の極値問題として解くことができる方法である。 ラグランジュの未定乗数法は、次のような定理として記述される。 束縛条件 g(x, y) = 0 の下で、f(x, y) が最大値となる点 (a , b) を求める問題、つまり maximize f ( x , y ) , {\displaystyle f(x,y),} subject to g ( x , y ) = 0 {\displaystyle g(x,y)=0} という問題を考える。ラグランジュ乗数を λ とし、 F ( x , y , λ ) = f ( x , y ) − λ g ( x , y ) {\displaystyle F(x,y,\lambda )=f(x,y)-\lambda g(x,y)} とおく。点 (a, b) で ∂g/∂x と ∂g/∂y の少なくとも一方が 0 でないならば、α が存在して点 (a, b, α) で ∂ F ∂ x = ∂ F ∂ y = ∂ F ∂ λ = 0 {\displaystyle {\frac {\partial F}{\partial x}}={\frac {\partial F}{\partial y}}={\frac {\partial F}{\partial \lambda }}=0} が成り立つ。 n 次元空間の点 x = (x1, …, xn) のある領域 R を定義域とする被評価関数 z = f(x) が、同じ領域を定義域とする m 次元ベクトル値関数 G ( x ) = ( g 1 ( x 1 , … , x n ) ⋮ g m ( x 1 , … , x n ) ) = 0 ( 1 ) {\displaystyle {\boldsymbol {G}}({\boldsymbol {x}})={\begin{pmatrix}g_{1}(x_{1},\dots ,x_{n})\\\vdots \\g_{m}(x_{1},\dots ,x_{n})\end{pmatrix}}={\boldsymbol {0}}\qquad (1)} の下で、R 内の点 x において極値をとるための必要条件は、その点における f の勾配ベクトル ∇ f = t ( ∂ f ∂ x 1 , … , ∂ f ∂ x n ) {\displaystyle \nabla f={}^{t}{\begin{pmatrix}{\dfrac {\partial f}{\partial x_{1}}},\dots ,{\dfrac {\partial f}{\partial x_{n}}}\end{pmatrix}}} が、その点で、m 個の gi それぞれの勾配ベクトルが張る m 次元線型部分空間に含まれること、すなわち、スカラーの組 λ = (λ1, …, λm) を用いて、 ∇ f = ∑ i = 1 m λ i ∇ g i ( 2 ) {\displaystyle \nabla f=\sum _{i=1}^{m}\lambda _{i}\nabla g_{i}\qquad (2)} が成り立つことである。移項して ∇ を取れば、 f ( x ) − ∑ i = 1 m λ i g i ( x ) {\displaystyle f({\boldsymbol {x}})-\sum _{i=1}^{m}\lambda _{i}g_{i}({\boldsymbol {x}})} が停留点をとることである。ただし、{∇g1, …, ∇gm} は一次独立、すなわち dim ⁡ ( ∇ g 1 , … , ∇ g m ) = m {\displaystyle \dim(\nabla g_{1},\dots ,\nabla g_{m})=m} でなければならない。式(1)の m 本と式(2)の n 本の式を連立させて、x と λ の (n + m) 個の未知数について解けば、f の極値を与える候補点が得られる。 簡単のため2次元の場合を考えよう。g (x, y) = c（ここで c は与えられた定数である）という条件の下、関数 f (x, y) を最大化するものとしよう。f の値を高さとしたグラフを考えると、高さが d の f の等高線は f (x, y) = d で与えられる。ここで、任意の曲線に沿って移動する点を考えると、この点が等高線を横切る場合、必ず f (x, y) は増加、もしくは減少するが、この点が等高線に沿って移動する場合は f (x, y) は変化しないことが分かる。この条件と通常の極値の条件を合わせて考えれば、曲線上で f (x, y) が最大をとる点では、f の等高線の接線と曲線の接線が平行となっているか、f の勾配がゼロとなっていることが分かる。ここで g (x, y) = c の接線は、g の勾配ベクトル ∇x,y g と直交し、また f の等高線 f (x, y) = d の接線は f の勾配ベクトル ∇x,y f と直交することを踏まえると、前述の条件は ∇ x , y f = λ ∇ x , y g {\displaystyle \nabla _{x,y}f=\lambda \nabla _{x,y}g} と書ける。ここで ∇ x , y f = ( ∂ f ∂ x , ∂ f ∂ y ) , ∇ x , y g = ( ∂ g ∂ x , ∂ g ∂ y ) {\displaystyle \nabla _{x,y}f=\left({\frac {\partial f}{\partial x}},{\frac {\partial f}{\partial y}}\right),\qquad \nabla _{x,y}g=\left({\frac {\partial g}{\partial x}},{\frac {\partial g}{\partial y}}\right)} である。定数 λ は f の勾配ベクトルと g の勾配ベクトルが平行ではあるが長さが一般に異なるために必要である。λ = 0 の場合、f (x, y) の勾配がゼロとなる条件になる。これは g (x, y) = c の曲線上にちょうど f の最大値があるため、曲線上で f (x,y ) が最大を取る点と通常の f (x, y ) の最大値が一致する場合である。 前述の式を変形すると ∇ x , y ( f − λ g ) = 0 {\displaystyle \nabla _{x,y}(f-\lambda g)=0} となることから、f − λ g の極値を求めればいいことになる。 2次元問題で、束縛条件が1つの場合には、以下のように連立方程式を作ってもよい： ∂ f ∂ x + λ ′ ∂ f ∂ y = 0 {\displaystyle {\frac {\partial f}{\partial x}}+\lambda '{\frac {\partial f}{\partial y}}=0} ∂ g ∂ x + λ ′ ∂ g ∂ y = 0 {\displaystyle {\frac {\partial g}{\partial x}}+\lambda '{\frac {\partial g}{\partial y}}=0} g ( x , y ) = 0 {\displaystyle g(x,y)=0} ただしこの場合の λ は、もとの定理の λ とは異なる。 この変則版は、極値となる点で全微分 df = 0 となる方向と、dg = 0 となる方向が平行であることから導かれる。 物理学の問題を解くとき、ラグランジュの未定乗数は単なる方便ではなく、ある物理量を表すことが多い。 流体力学において、非圧縮性流れのナビエ-ストークス方程式を解く場合、圧力は速度ベクトル場が連続の式という束縛条件を満たすための未定乗数として求められる。 情報理論的エントロピーが最大となる離散的確率分布を見出すことを考えよう。このときエントロピーは確率を変数とする関数で、 f ( p 1 , p 2 , … , p n ) = − ∑ k = 1 n p k log 2 ⁡ p k {\displaystyle f(p_{1},p_{2},\dots ,p_{n})=-\sum _{k=1}^{n}p_{k}\log _{2}p_{k}} となる。もちろんこれらの確率の合計は1に等しく、束縛条件を表す関数は g ( p 1 , p 2 , … , p n ) = ∑ k = 1 n p k − 1 {\displaystyle g(p_{1},p_{2},\dots ,p_{n})=\sum _{k=1}^{n}p_{k}-1} となる。ラグランジュ乗数を用いてエントロピー最大の点を見つけよう。すべての i（1から n をとる）に対して次の条件が必要である： ∂ ∂ p i ( f + λ g ) = 0. {\displaystyle {\frac {\partial }{\partial p_{i}}}(f+\lambda g)=0.} 従って ∂ ∂ p i ( − ∑ k = 1 n p k log 2 ⁡ p k + λ ( ∑ k = 1 n p k − 1 ) ) = 0. {\displaystyle {\frac {\partial }{\partial p_{i}}}\left(-\sum _{k=1}^{n}p_{k}\log _{2}p_{k}+\lambda (\sum _{k=1}^{n}p_{k}-1)\right)=0.} これら n 個の方程式から次の式が得られる： − ( 1 ln ⁡ 2 + log 2 ⁡ p i ) + λ = 0. {\displaystyle -\left({\frac {1}{\ln 2}}+\log _{2}p_{i}\right)+\lambda =0.} これは、すべての pi が等しいということを示している（変数は λ だけだから）。 束縛条件 ∑k pk = 1 を使って、 p i = 1 n {\displaystyle p_{i}={\frac {1}{n}}} が分かる。すなわち、すべての事象が等確率の一様分布がエントロピー最大の分布である：つまり他のどんな確率分布の場合よりも、確率変数が実際に観測されたときに得られる情報量の期待値が大きいということである。 制約条件を予算制約線、函数を効用関数、極値を最適消費点と置き換えることでミクロ経済学における最適消費点を求める事に利用される。この際、ラグランジュの未定乗数は、貨幣の限界効用として解釈することができる。 統計力学においては、統計集団があるエネルギー状態をとる確率を導出するために未定乗数法が用いられる。 作用積分が S[q] で与えられる物理系に n 個の拘束条件 ϕa(q, t) = 0, (a = 1, ..., n) が課せられているとき、この系の運動方程式は λa を未定乗数とする条件付き変分 δ S δ q + ∑ a = 1 n λ a ∂ ϕ a ∂ q = 0 {\displaystyle {\frac {\delta S}{\delta q}}+\sum _{a=1}^{n}\lambda _{a}{\frac {\partial \phi ^{a}}{\partial q}}=0} により表される。ここで δS/δq は汎関数微分である。ラグランジュの運動方程式で表すなら、ラグランジアンを L ( q , q ˙ , t ) + ∑ a = 1 n λ a ϕ a ( q , t ) {\displaystyle L(q,{\dot {q}},t)+\sum _{a=1}^{n}\lambda _{a}\phi ^{a}(q,t)} に置き換えることで拘束を考慮した運動方程式が得られる。