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

**ラグランジュの未定乗数法**（ラグランジュのみていじょうすうほう、）とは、束縛条件のもとで最適化を行うための数学（解析学）的な方法である。いくつかの変数に対して、いくつかの関数の値を固定するという束縛条件のもとで、別のある1つの関数の極値を求めるという問題を考える。各束縛条件に対して定数（**未定乗数**、）を用意し、これらを係数とする線形結合を新しい関数（未定乗数も新たな変数とする）として考えることで、束縛問題を普通の極値問題として解くことができる方法である。

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

### 2次元の場合
束縛条件  の下で、 が最大値となる点  を求める問題、つまり
:maximize f(x,y),
:subject to g(x,y) = 0
という問題を考える。**ラグランジュ乗数**を  とし、ラグランジュ関数を

とおく。点  で  と  の少なくとも一方が 0 でないならば、 が存在して点  で
:\frac{\partial F}{\partial x} = \frac{\partial F}{\partial y} = \frac{\partial F}{\partial \lambda} = 0
が成り立つ。

### 一般の多次元の場合
 次元空間の点  のある領域  を定義域とする被評価関数  が、同じ領域を定義域とする  次元ベクトル値関数
:\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)
の下で、 内の点  において極値をとるための必要条件は、その点における  の勾配ベクトル
:\nabla f = {}^t\begin{pmatrix}
\dfrac{\partial f}{\partial x_1},\dots,\dfrac{\partial f}{\partial x_n}
\end{pmatrix}
が、その点で、 個の  それぞれの勾配ベクトルが張る  次元線型部分空間に含まれること、すなわち、スカラーの組  を用いて、
:\nabla f = \sum_{i=1}^m \lambda_i \nabla g_i \qquad (2)
が成り立つことである。移項して  を取れば、
:f(\boldsymbol{x}) - \sum_{i=1}^m \lambda_i g_i(\boldsymbol{x})
が停留点をとることである。ただし、 は一次独立、すなわち
:\dim \langle \nabla g_1,\dots,\nabla g_m \rangle = m
でなければならない。式(1)の  本と式(2)の  本の式を連立させて、 と  の  個の未知数について解けば、 の極値を与える候補点が得られる。

## 解釈
### 幾何学的な説明
250px|thumb|図1：束縛条件  に対して関数  を最大化する場合。
250px|thumb|図2：図1の等高線地図。赤い線は束縛条件  を示す。青い線は  の等高線。赤い線が青い等高線に接する点が解。
簡単のため2次元の場合を考えよう。（ここで  は与えられた定数である）という条件の下、関数  を最大化するものとしよう。 の値を高さとしたグラフを考えると、高さが  の  の等高線は  で与えられる。ここで、任意の曲線に沿って移動する点を考えると、この点が等高線を横切る場合、必ず  は増加、もしくは減少するが、この点が等高線に沿って移動する場合は  は変化しないことが分かる。この条件と通常の極値の条件を合わせて考えれば、曲線上で  が最大をとる点では、 の等高線の接線と曲線の接線が平行となっているか、 の勾配がゼロとなっていることが分かる。ここで  の接線は、 の勾配ベクトル  と直交し、また  の等高線  の接線は  の勾配ベクトル  と直交することを踏まえると、前述の条件は
:\nabla_{x,y} f = \lambda \nabla_{x,y} g
と書ける。ここで
:\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)
である。定数  は  の勾配ベクトルと  の勾配ベクトルが平行ではあるが長さが一般に異なるために必要である。 の場合、 の勾配がゼロとなる条件になる。これは  の曲線上にちょうど  の最大値があるため、曲線上で  が最大を取る点と通常の  の最大値が一致する場合である。

前述の式を変形すると
:\nabla_{x,y} (f-\lambda g)=0
となることから、 の極値を求めればいいことになる。

### 束縛条件のない問題への変換
次の類似した２つの問題を考える

問題Ａ
x\in \mathbb{R}^nが束縛条件g(x)=0を満たす条件下で、f(x)を極大にする点を求めよ。

問題Ｂ
\lambdaを定数とし、x\in \mathbb{R}^nがh(x)=f(x)-\lambda g(x)を極大にする点を求めよ。

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

問題Ｂ→問題Ａ
X\in \mathbb{R}^nをある\lambdaについての問題Ｂの極大点とし、加えてXがg(X)=0を満たせば、Xは問題Ａの解である。
なぜなら、Xの近傍でg(x)=0となる点xを考えると、
f(x)=f(x)-\lambda g(x)\le f(X)-\lambda g(X)=f(X)
となるため、Xは問題Ａの極大点でもある。

問題Ａ→問題Ｂ
X\in \mathbb{R}^nを問題Ａの極大点とする。
c(t) \in \mathbb{R}^n、t \in (-1,1)を、g( c(t) )=0を満たしXを通る曲線とし、c(0)=Xとする。
F(t)=f( c(t) )をtの関数と考える。
\frac{dF}{dt}=\sum_{i=1}^n\frac{\partial f}{\partial x_i} \frac{d c_i}{dt}=\nabla f \cdot c'(t)
ただし、\nabla f= (\partial f/\partial x_1,\cdots , \partial f/\partial x_n)、c'(t)= (d c_1/dt,\cdots ,dc_n/dt)、「\cdot」はベクトルの内積である。
一方、g( c(t) )=0の両辺をtで微分すれば、
\nabla g \cdot c'(t)=0が言える。
g( c(t) )=0を満たしXを通るどのような曲線でも、t=0は、c(0)=XのためF(t)=f( c(t) )の極大点であり、dF/dt(0)=\nabla f (X)\cdot c'(0)=0が言える。ただしc'(0)は、曲線のXでの接線ベクトルである。
:Xが問題Ａの極大点であれば、
:\nabla g(X) \cdot v=0を満たすどのようなv\in \mathbb{R}^nについても、
:\nabla f(X) \cdot v=0である。
\nabla g(X)\ne 0と仮定し、\nabla f(X)を、\nabla g(X)に平行な成分aと、\nabla g(X)に垂直な成分bに分解する。（\nabla g(X)方向の単位ベクトルをeとすると、a=(\nabla f(X)\cdot e)e、b=\nabla f(X)-aである。）\nabla f(X)=a+b
\nabla g(X) \cdot b=0であるためv=bとして代入すると、
0=\nabla f(X) \cdot b=a\cdot b+b\cdot b=b\cdot b、よってb=0
このため、\nabla f(X)と\nabla g(X)は平行である。
:\nabla f(X)=\lambda \nabla g(X)、（ただし\nabla g(X)\ne 0を仮定した。）
この\lambdaについて問題Ｂを考えると、\nabla f(X)-\lambda \nabla g(X)=0であるため、
\frac{\partial h}{\partial x_i}(X)=\frac{\partial f}{\partial x_i}(X)-\lambda \frac{\partial g}{\partial x_i}(X)=0
となり、全ての偏微分係数がゼロとなるため、Xは問題Ｂの極大点でもある。

## 変則版
**2次元問題で、束縛条件が1つの場合には**、以下のように連立方程式を作ってもよい：
:\frac{\partial f}{\partial x} + \lambda' \frac{\partial f}{\partial y} = 0
:\frac{\partial g}{\partial x} + \lambda' \frac{\partial g}{\partial y} = 0
:g(x,y) = 0
ただしこの場合の  は、もとの定理の  とは異なる。

この変則版は、極値となる点で全微分  となる方向と、 となる方向が平行であることから導かれる。

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

### 流体力学
流体力学において、非圧縮性流れのナビエ-ストークス方程式を解く場合、圧力は速度ベクトル場が連続の式という束縛条件を満たすための未定乗数として求められる。
連続の式を満たさない速度場  が与えられたとき、ここから連続の式  を満たす速度場  を求めることは、未定乗数（最終的に圧力場となる）を  として
:R:=\frac{1}{2}\int_\Omega(\boldsymbol{v}-\boldsymbol{v}^*)^2 \mathrm{d}\Omega - \int_\Omega p \, \nabla\cdot\boldsymbol{v} \, \mathrm{d}\Omega
を最小化する問題に置き換えられる。ここで  は速度場が定義されている領域である。

 を最小化する速度場を  とし、任意の微小変化  を考えると、発散定理を使って
:\delta R=\int_\Omega \delta\boldsymbol{v}\cdot(\boldsymbol{v}^{+} -\boldsymbol{v}^{*}+\nabla p)\mathrm{d}\Omega + \oint_{\partial\Omega}p\delta\boldsymbol{v}\cdot\mathrm{d}\boldsymbol{S}.

 の任意性より右辺第1項の括弧の中身が 0 であることと、 から
:\nabla^2 p = \nabla\cdot\boldsymbol{v}^*
というポアソン方程式が導かれ、これを解いて得られる  を用いて
:\boldsymbol{v}^{+} = \boldsymbol{v}^{*} - \nabla p
より速度場が求められる。

### 情報理論
情報理論的エントロピーが最大となる離散的確率分布を見出すことを考えよう。このときエントロピーは確率を変数とする関数で、
:f(p_1,p_2,\dots,p_n) = -\sum_{k=1}^n p_k\log_2 p_k
となる。もちろんこれらの確率の合計は1に等しく、束縛条件を表す関数は
:g(p_1,p_2,\dots,p_n)=\sum_{k=1}^n p_k -1
となる。ラグランジュ乗数を用いてエントロピー最大の点を見つけよう。すべての （1から  をとる）に対して次の条件が必要である：
:\frac{\partial}{\partial p_i}(f+\lambda g)=0.
従って
:\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.
これら  個の方程式から次の式が得られる：
:-\left(\frac{1}{\ln 2}+\log_2 p_i \right) + \lambda = 0.
これは、すべての  が等しいということを示している（変数は  だけだから）。

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

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

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

### 解析力学
作用積分が  で与えられる物理系に  個の拘束条件  が課せられているとき、この系の運動方程式は  を未定乗数とする条件付き変分
:\frac{\delta S}{\delta q} + \sum_{a=1}^n \lambda_a \frac{\partial \phi^a}{\partial q} = 0
により表される。ここで  は汎関数微分である。ラグランジュの運動方程式で表すなら、ラグランジアンを
:L(q,\dot{q},t) + \sum_{a=1}^n \lambda_a \phi^a(q,t)
に置き換えることで拘束を考慮した運動方程式が得られる。

## 参考文献

## 関連項目
*カルーシュ・クーン・タッカー条件（KKT条件）- ラグランジュの未定乗数法の一般化
*極値
*最適化問題
*ジョゼフ＝ルイ・ラグランジュ
*縁つきヘッセ行列 - 条件つき極値の十分条件を記述するのに用いられる

## 外部リンク
*
*ラグランジュの未定乗数法の解説と直感的な証明
*ラグランジュの未定乗数法とは？ - Qiita
*ラグランジェの未定乗数法 - 物理のかぎしっぽ
* - 京都大学
* - 名古屋大学
*