【SPONSORED LINK】

ラグランジュの未定乗数法の直感的な理解と証明

例えば,f(x,y)=x^2+3xy+y^2+1の最小値を求めたいときには,\pd{f}{x}(a,b)=\pd{f}{y}(a,b)=0となる点(a,b)を求めることによって,f(x,y)が最小値をとる点の候補が得られる.

しかし,これが「『x+y=1上での』f(x,y)=x^2+3xy+y^2+1の最小値を求めたい」のように,xyに制約がかかると単純にfの偏導関数から最小値を求めることができない.

そこで,曲線や直線上といった「制約条件下」での関数の極値を求めるために,[Lagrange(ラグランジュ)の未定乗数法]がある.

この記事では,[Lagrangeの未定乗数法]の考え方のイメージを説明し,証明を与える.

【SPONSORED LINK】

Lagrangeの未定乗数法の直感的な理解

1変数関数の場合には,定義域があっても単純な微分で極値点を求めることができるので,[Lagrangeの未定乗数法]は必要ない.

そのため,[Lagrangeの未定乗数法]が必要となるのは,2変数以上の場合である.

偏導関数

例えば,yを固定してxを増減させるときのfの増減を考えるものが\pd{f}{x}なので,\od{f}{x}x軸に平行な向きの増減を考えている.

Rendered by QuickLaTeX.com

このように,偏導関数は軸に平行な方向の増減を考えることはできる.

しかし,軸に沿った方向の増減を見ることしかできないfの偏導関数を考えるだけでは,軸に平行でない直線や曲線上での増減を考えることができない.

これにより,制約条件のもとでは単に偏導関数を考えるだけでは都合が悪いのである.

極値をとるパターン1

例えば,制約条件y=x-3上で2変数関数f(x,y)=5x^2+5y^2+6xy-2を考える.

まず,f(x,y)等高線”は下図のようになる.

Rendered by QuickLaTeX.com

なお,

  • 赤:f(x,y)=0
  • 青:f(x,y)=2
  • 緑:f(x,y)=6
  • 橙:f(x,y)=14

である.こうみるとうまくCを取れば,等高線f(x,y)=Cは制約条件y=x-3のグラフと接しそうである.

もし等高線f(x,y)=C_0y=x-3が点(a,b)で接するなら,下図のようになる.

Rendered by QuickLaTeX.com

さて,この等高線f(x,y)=C_0xy平面を

  • f(x,y)>C_0なる点(x,y)の領域
  • f(x,y)<C_0なる点(x,y)の領域

の2つに分割している.

いまは等高線f(x,y)=C_0の内部の点(x,y)f(x,y)<C_0を満たし,外部の点(x,y)f(x,y)>C_0を満たす.

よって,制約条件y=x-3上の点(x,y)f(x,y)\ge C_0を満たし,f(a,b)=C_0だから,制約条件y=x-3のもとでのf(x,y)の最小値はC_0であることが分かる.

このように,制約条件のグラフとf(x,y)等高線”が接するような点を見つけることができれば,その点は極値となりうる.

さて,制約条件g(x,y)=0上の点(a,b)での接ベクトル,f(x,y)=C上の点(a,b)での接ベクトルはそれぞれ

    \begin{align*} \bmat{\pd{g}{x}(a,b)\\\pd{g}{y}(a,b)},\quad \bmat{\pd{f}{x}(a,b)\\\pd{f}{y}(a,b)} \end{align*}

であり,(a,b)g(x,y)=0のグラフとf(x,y)=Cのグラフが接するとき,これら2つの接ベクトルは平行だから,

    \begin{align*} \bmat{\pd{f}{x}(a,b)\\\pd{f}{y}(a,b)}=\mu\bmat{\pd{g}{x}(a,b)\\\pd{g}{y}(a,b)} \end{align*}

が成り立つ.

極値をとるパターン2

関数gによっては,制約条件g(x,y)=0のグラフが尖る”ことがある.

このような尖った点ではg(x,y)=0の接ベクトルを考えることができないが,もしg(x,y)=0のグラフが等高線f(x,y)=Cにタッチしてすぐに引き返すに状況になっていれば,極値をとりうる.

いま,gが微分可能であるとすれば,尖る可能性があるのはgの速度が0になるような場合である.すなわち,g(x,y)=0上の点(a,b)

    \begin{align*} \bmat{\pd{g}{x}(a,b)\\\pd{g}{y}(a,b)}=\bmat{0\\0} \end{align*}

を満たしていれば,g(x,y)=0のグラフは点(a,b)で尖っている可能性がある.

2変数のLagrangeの未定乗数法

以上の考察から以下が成り立ちそうであり,実際に成り立つことが証明できる.

[Lagrangeの未定乗数法(2変数の場合)] U\subset\R^2を開集合とする.関数f:U\to \Rg:U\to\Rは共にC^1級であるとする.C^1級関数g:U\to\Rの零点集合をSとする:

    \begin{align*} S:=\set{(x,y)\in U}{g(x,y)=0} \end{align*}

このとき,点(a,b)\in Sf:U\to \RS上の極値点なら,次の1,2のいずれかが成り立つ.

  1. \bmat{\pd{f}{x}(a,b)\\\pd{f}{y}(a,b)}=\mu\bmat{\pd{g}{x}(a,b)\\\pd{g}{y}(a,b)}かつg(a,b)=0を満たす(a,b)\in\R^2, \mu\in\Rが存在する.
  2. \bmat{\pd{g}{x}(a,b)\\\pd{g}{y}(a,b)}=\bmat{0\\0}が成り立つ.

ここで,(a_1,a_2)fS上の極値点であるとは,点(a_1,a_2)Uでの近傍Wが存在して,S\cap W上でfが最小値または,最大値をとることをいう.

言い換えれば,S\R^Nからの誘導位相が入っていると見たときの,点(a,b)\in Sの近傍上で最小値,または最大値をとるということである.

この意味で,S拘束条件束縛条件などという.

ただし,[Lagrangeの未定乗数法]はS上の極値をもつ時の必要条件を述べているだけであり,条件1または条件2を満たしていても極値となるかどうかは分からないことに注意する.

このままでもよいが,この[Lagrangeの未定乗数法]の条件1はもう少しすっきり表すことができる.関数\Phi:\R^2\times\R\to\R

    \begin{align*} \Phi(x,y,\lambda)=f(x,y)-\lambda g(x,y) \end{align*}

とおくと,

    \begin{align*} \nabla_{x,y,\lambda}\Phi(x,y,\lambda) =&\bmat{\pd{\Phi}{x}(x,y,\lambda)\\\pd{\Phi}{y}(x,y,\lambda)\\\pd{\Phi}{\lambda}(x,y,\lambda)} \\=&\bmat{\pd{f}{x}(x,y)-\lambda \pd{g}{x}(x,y)\\\pd{f}{y}(x,y)-\lambda \pd{g}{y}(x,y)\\-g(x,y)} \end{align*}

となるので,\bmat{\pd{f}{x}(a,b)\\\pd{f}{y}(a,b)}=\mu\bmat{\pd{g}{x}(a,b)\\\pd{g}{y}(a,b)}かつg(a,b)=0

    \begin{align*} \nabla_{x,y,\lambda}\Phi(a,b,\mu) =\bmat{0\\0\\0} \end{align*}

と書き換えることができる

Lagrangeの未定乗数法の例

2変数の場合の[Lagrangeの未定乗数法]を理解できていれば,以下の一般のN変数の場合も同様に理解できる.

 [Lagrangeの未定乗数法] U\subset\R^Nを開集合とする.関数f:U\to \Rg_1,\dots,g_k:U\to\Rは全てC^1級であるとする.C^1級関数g_1,\dots,g_k:U\to\Rの零点集合をSとする:

    \begin{align*} S:=\set{x=(x_1,\dots,x_N)\in U}{g_1(x)=\dots=g_k(x)=0} \end{align*}

このとき,点a=(a_1,\dots,a_N)\in Sf:U\to \RS上の極値点なら,次の1,2のいずれかが成り立つ.

  1. \Phi(x,\lambda)=f(x)-\dsum_{i=1}^{k}\lambda_ig_i(x)で定まる\Phi:\R^N\times\R^k\to\Rに対して,\nabla_{x,\lambda}{\Phi}(a,\mu)=\m{0}となるa\in\R^N\mu\in\R^kが存在する.ただし,\lambda=(\lambda_1,\dots,\lambda_k)である.
  2. \rank\pd{(g_1,\dots,g_k)}{(x_1,\dots,x_N)}(a) :=\rank\bmat{\pd{g_1}{x_1}(a)&\dots&\pd{g_1}{x_N}(a)\\\vdots&\ddots&\vdots\\\pd{g_k}{x_1}(a)&\dots&\pd{g_k}{x_N}(a)}<kが成り立つ.

[Lagrangeの未定乗数法]の適用例を挙げる.

例1

N=2, k=1, U=\R^2g(x,y)=x^2+y^2-1の場合を考える.このとき,束縛条件Sは原点中心の単位円となる.

この円周S上の点(a,b)で極値をとるとする.

Rendered by QuickLaTeX.com

このとき,\pd{g}{x}(x,y)=2x, \pd{g}{y}(x,y)=2yだから,

    \begin{align*} \bmat{\pd{g}{x}(a,b)\\\pd{g}{y}(a,b)}=\bmat{0\\0} \iff(a,b)=(0,0) \end{align*}

であるが,(0,0)\notin Sだから[Lagrangeの未定乗数法]の条件2は成り立ち得ない.

一方,(a,b)が[Lagrangeの未定乗数法]の条件1を満たす極値点なら,\Phi(x,y,\lambda)=f(x,y)-\lambda g(x,y)に対して

    \begin{align*} \pd{\Phi}{x}(a,b,\mu)=\pd{\Phi}{y}(a,b,\mu)=\pd{\Phi}{\lambda}(a,b,\mu)=0 \end{align*}

となる\mu\in\Rが存在する.

例2

N=2, k=1, U=\R^2g(x,y)=x^2-y^3の場合を考える.

この束縛条件S上の点(a,b)で極値をとるとする.

Rendered by QuickLaTeX.com

このとき,\pd{g}{x}(x,y)=2x_1, \pd{g}{y}(x,y)=-3yだから,

    \begin{align*} \bmat{\pd{g}{x}(a,b)\\\pd{g}{y}(a,b)}=\bmat{0\\0} \iff (a,b)=(0,0) \end{align*}

であり,(0,0)\in Sだから[Lagrangeの未定乗数法]の条件2が成り立つ.よって,(0,0)がまず極値点の候補となる.

一方,(a,b)が[Lagrangeの未定乗数法]の条件1の極値点なら,\Phi(x,y,\lambda)=f(x,y)-\lambda g(x,y)に対して

    \begin{align*} \pd{\Phi}{x}(a,b,\mu)=\pd{\Phi}{y}(a,b,\mu)=\pd{\Phi}{\lambda}(a,b,\mu)=0 \end{align*}

となる\mu\in\Rが存在する.

例3

N=3, k=2, U=\R^2g_1(x_1,x_2,x_3)=x_1+x_2, g_2(x_1,x_2,x_3)={x_1}^2+{x_2}^2-{x_3}^2の場合を考える.このとき,

    \begin{align*} \rank\bmat{\pd{g_1}{x_1}&\pd{g_1}{x_2}&\pd{g_1}{x_3}\\\pd{g_2}{x_1}&\pd{g_2}{x_2}&\pd{g_2}{x_3}} =&\rank\bmat{1&1&0\\2x_1&2x_2&-2x_3} \\=&\rank\bmat{1&1&0\\0&x_1-x_2&-x_3} \\=&\begin{cases}1&(x_1=x_2,x_3=0)\\2&(\mrm{other})\end{cases} \end{align*}

だから,k\in\Rが存在して(k,k,0)\in Sとなれば,[Lagrangeの未定乗数法]の条件2が成り立つ.g_1(k,k,0)=2k, g_2(k,k,0)=2k^2だから, k=0(k,k,0)\in Sとなる.よって,(0,0,0)で[Lagrangeの未定乗数法]の条件2をみたし,極値点の候補となる.

一方,(a_1,a_2,a_3)が[Lagrangeの未定乗数法]の条件1の極値点なら,\Phi(x_1,x_2,x_3,\lambda_1,\lambda_2)=f(x_1,x_2,x_3)-\lambda_1g_1(x_1,x_2,x_3)-\lambda_2g_2(x_1,x_2,x_3)に対して,

    \begin{align*} &\pd{\Phi}{x_1}(a_1,a_2,a_3,\mu_1,\mu_2)=\pd{\Phi}{x_2}(a_1,a_2,a_3,\mu_1,\mu_2)=\pd{\Phi}{x_3}(a_1,a_2,a_3,\mu_1,\mu_2) \\&=\pd{\Phi}{\lambda_1}(a_1,a_2,a_3,\mu_1,\mu_2)=\pd{\Phi}{\lambda_2}(a_1,a_2,a_3,\mu_1,\mu_2)=0 \end{align*}

となる(\mu_1,\mu_2)\in\R^2が存在する.

Lagrangeの未定乗数法の証明

[Lagrangeの未定乗数法]の証明をする.

[証明]

a=(a_1,\dots,a_N)\in SfS上の極値点であるとし,\rank\pd{(g_1,\dots,g_k)}{(x_1,\dots,x_N)}(a)=kであるとする.

\rank\pd{(g_1,\dots,g_k)}{(x_1,\dots,x_N)}(a)=kであることから,k\le Nであり,N個の列ベクトル

    \begin{align*} \bmat{\pd{g_1}{x_1}(a)\\\vdots\\\pd{g_k}{x_1}(a)}, \dots, \bmat{\pd{g_k}{x_N}(a)\\\vdots\\\pd{g_k}{x_N}(a)} \end{align*}

のうち,線型独立なk個の列ベクトルが存在する.このとき,

    \begin{align*} \bmat{\pd{g_1}{x_1}(a)\\\vdots\\\pd{g_k}{x_1}(a)}, \dots, \bmat{\pd{g_1}{x_k}(a)\\\vdots\\\pd{g_k}{x_k}(a)} \end{align*}

が線型独立であるとして良い.すなわち,

    \begin{align*} \rank{\pd{(g_1,\dots,g_k)}{(x_1,\dots,x_k)}(a)} =\rank{\bmat{ \pd{g_1}{x_1}(a)&\dots&\pd{g_1}{x_k}(a)\\ \vdots&\ddots&\vdots\\ \pd{g_k}{x_1}(a)&\dots&\pd{g_k}{x_k}(a) }} =k \end{align*}

である.ここで,x'=(x_1,\dots,x_k)x''=(x_{k+1},\dots,x_N)a'=(a_1,\dots,a_k)a''=(a_{k+1},\dots,a_N)とする.

定数\mu=(\mu_1,\dots,\mu_k)

    \begin{align*} &[\mu_1,\dots,\mu_k] :=\brc{\pd{f}{x_1}(a),\dots,\pd{f}{x_k}(a)}\bra{\pd{(g_1,\dots,g_N)}{(x_{1},\dots,x_{k})}(a)}^{-1} \end{align*}

で定める.

このとき,点(a,\mu)が,\Phi(x,\lambda)=f(x)-\dsum_{i=1}^{k}\lambda_ig_i(x)で定まる\Phi:\R^N\times\R^k\to\Rに対して,\nabla_{x,\lambda}{\Phi}(a,\mu)=\bmat{0\\\vdots\\0}を満たすことを,以下のStep.1〜Step.3で示す.

Step.1

任意のi=1,\dots,kに対して,\pd{\Phi}{\lambda_i}(a,\mu)=0である.

[証明]

a\in Sであることから,任意のi=1,\dots,kに対してg_i(a)=0なので,

    \begin{align*} \pd{\Phi}{\lambda_i}(a,\mu)=-g_i(a)=0 \end{align*}

が従う.

Step.2

任意のi=1,\dots,kに対して,\pd{\Phi}{x_i}(a,\mu)=0である.

[証明]

\muの定義から,

    \begin{align*} [\mu_1,\dots,\mu_k]\pd{(g_1,\dots,g_N)}{(x_{1},\dots,x_{k})}(a) =\brc{\pd{f}{x_1}(a),\dots,\pd{f}{x_k}(a)} \end{align*}

である.よって,任意のi=1,\dots,kに対して

    \begin{align*} \pd{\Phi}{x_i}(a,\mu) =&\pd{f}{x_i}(a)-\dsum_{j=1}^{k}\mu_j\pd{g_j}{x_i}(a) \\=&\pd{f}{x_i}(a)-[\mu_1,\dots,\mu_k]\pd{(g_1,\dots,g_N)}{x_{i}}(a) \\=&\pd{f}{x_i}(a)-\pd{f}{x_i}(a) =0 \end{align*}

が従う.

Step.3

任意のi=k+1,\dots,Nに対して,\pd{\Phi}{x_i}(a,\mu)=0である.

[証明]

\pd{(g_1,\dots,g_k)}{(x_1,\dots,x_k)}=kだから,陰関数定理よりaの近傍W\times V\subset U (W\subset\R^k,V\subset\R^{N-k})と,k個のC^1級関数h_1,\dots,h_k:V\to Wが存在して,x=(x',x'')\in W\times Vに対して,

    \begin{align*} x\in S\iff x'=\bmat{h_1(x'')\\\vdots\\h_k(x'')} \end{align*}

かつ

    \begin{align*} \pd{(h_1,\dots,h_k)}{(x_{k+1},\dots,x_N)} =-\bra{\pd{(g_1,\dots,g_N)}{(x_{1},\dots,x_{k})}}^{-1} \pd{(g_1,\dots,g_N)}{(x_{k+1},\dots,x_N)} \end{align*}

をみたす.よって

    \begin{align*} -\pd{(h_1,\dots,h_k)}{(x_{k+1},\dots,x_N)} \bra{\pd{(g_1,\dots,g_N)}{(x_{k+1},\dots,x_N)}}^{-1} =\bra{\pd{(g_1,\dots,g_N)}{(x_{1},\dots,x_{k})}}^{-1} \end{align*}

なので,\muの定義と併せて

    \begin{align*} &[\mu_1,\dots,\mu_k]\pd{(g_1,\dots,g_N)}{(x_{k+1},\dots,x_N)}(a) \\=&\brc{\pd{f}{x_1}(a),\dots,\pd{f}{x_k}(a)}\bra{\pd{(g_1,\dots,g_N)}{(x_{1},\dots,x_{k})}(a)}^{-1}\pd{(g_1,\dots,g_N)}{(x_{k+1},\dots,x_N)}(a) \\=&-\brc{\pd{f}{x_1}(a),\dots,\pd{f}{x_k}(a)}\pd{(h_1,\dots,h_k)}{(x_{k+1},\dots,x_N)}(a) \end{align*}

だから,任意のi=k+1,\dots,Nに対して,

    \begin{align*} &[\mu_1,\dots,\mu_k]\pd{(g_1,\dots,g_N)}{x_i}(a) \\=&-\brc{\pd{f}{x_1}(a),\dots,\pd{f}{x_k}(a)}\pd{(h_1,\dots,h_k)}{x_i}(a) \end{align*}

となる.よって,F:V\to \R

    \begin{align*} F(x''):=f(h_1(x''),\dots,h_k(x''),x'') \end{align*}

で定めると,(h_1(x''),\dots,h_k(x''),x'')\in Sだから,x''=a''Fは極値をもつ.

したがって,\pd{F}{x_{k+1}}(a'')=\dots=\pd{F}{x_N}(a'')=0が成り立つから,任意のi=k+1,\dots,Nに対して,

    \begin{align*} \pd{\Phi}{x_i}(a,\mu) =&\pd{f}{x_i}(a)-\sum_{j=1}^{k}\mu_j\pd{g_j}{x_i}(a) \\=&\pd{f}{x_i}(a)-[\mu_1,\dots,\mu_k]\pd{(g_1,\dots,g_k)}{x_i}(a) \\=&\pd{f}{x_i}(a)+\brc{\pd{f}{x_1}(a),\dots,\pd{f}{x_k}(a)}\pd{(h_1,\dots,h_k)}{x_i}(a) \\=&\pd{f}{x_i}(a)+\sum_{j=1}^{k}\pd{f}{x_j}(a)\pd{h_i}{x_i}(a) \\=&\pd{F}{x_i}(a)=0 \end{align*}

が従う.

[証明終]

補足

[Lagrangeの未定乗数法]は直線上や曲線上の極値点を求める方法であった.

このような直線上や曲線上ではなく,べたっと塗られた領域上の極値点を求めるには次のように考えればよい.

一般に,N次元ユークリッド空間R^N上の有界閉集合(コンパクト集合)D上で定義された連続関数fが最大値,最小値を持つ(Heineの定理).

このとき,fが最大点,最小点は次のいずれかである.

  1. fの全ての偏微分係数が存在して,\pd{f}{x_1}(a)=\dots=\pd{f}{x_N}(a)=0となる点a\in D^i
  2. fが微分可能でない点a\in D^i
  3. \partial D上の点

ただし,D^iDの内部(interior),\partial DDの境界である.

内部D^iは常に開集合であることから,D^iでの最大点,最小点の候補はfの導関数を考えることで絞ることができる.これが1,2である.

残る3であるが,\partial Dは直線や曲線になることが多く,ここで[Lagrange(ラグランジュ)の未定乗数法]が非常に有効にはたらく.

参考文献

関連記事

【良いと思ったらシェアを!】

SNSでもご購読できます。

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください