Loading [MathJax]/jax/output/HTML-CSS/jax.js

拘束のある問題

提供: Internet Web School

(版間での差分)
(ラグランジュ乗数法)
(ラグランジュ乗数法)
 
123 行: 123 行:
-
<math>\lambda=\frac{\partial}{\partial y}L(x_0,g(x_0))\{-\frac{\partial f}{\partial y}\}^{-1} \qquad (9)</math>
+
<math>\lambda=\frac{\partial}{\partial y}L(x_0,g(x_0))\{-\frac{\partial f}{\partial y}(x_0,g(x_0))\}^{-1} \qquad (9)</math>
という変数を使うと,
という変数を使うと,

2021年1月2日 (土) 16:44 時点における最新版

目次

[非表示]

等式拘束のある問題

陰関数定理とラグランジュ乗数

以下の問題を考える.


L(x,y)=x+yとするとき, 半径1の円周

x2+y2=1(1)

上の点(x,y)L(x,y)=x+yの最大にするものを求めよ.


関数の極値条件

実数値関数F(x)x=x0で極小値または極大値をとり,かつ,x=x0で微分可能であれば,

F(x)x=x0での微分係数は0である。

dFdx(x0)=0


陰関数

半径1の円の方程式

x2+y2=1(1)

に注目する。判りやすいように,

1x1,1y0 としておく.

g(x)=1x2 とすると, 1x1,1y0では(1)の方程式を満たすx,yについては y=g(x) という関係が成り立っている.

このg(x)という関数は,(1)式の中には出てこない.(1)からこのように間接的に導き出される関数を陰関数と呼ぶ.


一般化すれば特定の条件のもとに f(x,y)=0という式から陰関数y=g(x)が定義される。

上の例では f(x,y)=x2+y21

しかし,何時でも上の例のように,f(x,y)=0から陰関数y=g(x)が定義されるわけではない.

陰関数定理

ある領域DR×Rで関数f(x,y)が連続でかつ,x,yについて偏微分可能で, その偏導関数

fx(x,y)(1)

fy(x,y)(2)

(x,y)について連続とする。

D内の1点(x0,y0)

f(x0,y0)=0

であり,

fy(x0,y0)0(4)

とする. このとき,x0を含む開区間(a,b)とその上の連続関数g(x)が存在し,

1) 開区間(a,b)上でf(x,g(x))=0

2) y0=g(x0)

3) 開区間(a,b)上で,

dydx=f/xf/y(5)


上の定理でx,yの役目を反対にすれば,x0=g(y0) となる陰関数の存在が示される.

ラグランジュ乗数法

関数L(x,y)が,制約条件 f(x,y)=0 の元に(x,y)=(x0,y0)で極値(極大値か極小値)をとるとする。

L(x,y)(x,y)について微分可能な関数で, 関数f(x,y)(x0,y0)が上の陰関数定理を適用できる条件を満たしているものとする。 x0の近傍で関数g(x)が存在して,x0のその近傍では f(x,g(x))=0 が成り立ち,y0=g(x0),f(x0,g(x0))=0も成り立っている. x,yの役目を反対にすれば,x0=g(y0) となる陰関数を用いることになるが議論は全く同様に できる.


関数L(x,y)(x0,y0)で極値(極大値か極小値)をとるから F(x)=L(x,g(x))x=x0で極値を取る.


極値条件により

dFdx(x0)=0(6)

である.

このxについての微分を求めるとF(x)=L(x,g(x))は合成関数であるから

dFdx(x0)=xL(x0,g(x0))+yL(x0,g(x0))ddxg(x0)(7)dydx=f/xf/y(8)

y=g(x)であるから(8)式を上の(7)式に代入し


λ=yL(x0,g(x0)){fy(x0,g(x0))}1(9)

という変数を使うと,

0=dFdx(x0)=xL(x0,g(x0))+λxf(x0,g(x0))(10)

また

λyf(x0,g(x0)=yL(x0,g(x))(11)

から

0=yL(x0,g(x0))+λyf(x0,g(x0))(12)

すなわちλという新しい変数を使って

H(x,y,λ)=L(x,y)+λf(x,y)(13)

という関数を造ると:

関数L(x,y)が制約条件f(x,y)=0 を充たすという条件の下に (x,y)=(x0,y0)で極値(極大値か極小値)をとる という条件からHについての制約のない場合の極値条件

xH(x0,y0,λ)=0(14)yH(x0,y0,λ)=0(15)λH(x0,y0,λ)=f(x0,y0)=0(16)


が導かれる.制約条件付きの極値問題から,λという人工的な変数を使って

+λ×() の制約条件のない場合の極値条件が導かれる.

ただしこの議論は「その点が最大(小)値を与える」 「その点が極値を与える」 「その点での=0


という必要条件の連鎖であるので注意が必要である.

0」は必要条件であるから, これが満たされても,極値かどうかチェックの必要があり,さらにはHの極値を与える(x0,y0)が求められたとしても, それが最大(小)値を与えるのか確かめる必要がある。

また,少なくともLfx,yについて微分可能であることも必要である.

ここで使われたλはラグランジュ乗数と呼ばれる. 上の問題に適用すると


f(x,y)=x2+y21,L(x,y)=x+y

拘束条件f(x,y)=x2+y21=0 を充たし,L(x,y)=x+yの極値を与える x0,y0が存在すると仮定すれば,

x00 または y00 であり,

陰関数の存在条件 fx(x0,y0)=2x00 または fy(x0,y0)=2y00 が成り立っている.

そこで,

H(x,y,λ)=x+y+λ(x2+y21)

とおけば

1+2λx0=xH(x0,y0,λ)=0(17)1+2λy0=yH(x0,y0,λ)=0(18)x20+y201=λH(x0,y0,λ)=0(19)


(17)式から λ0 であり,


(18),(19)式から

x0=12λ,y0=12λ

これを(19) 式に代入して

12λ21=0

よって

λ=22 または λ=22

λ=22 のときx0=y0=22 であり,L(x0,y0)=x0+y0=2

λ=22 のときx0=y0=22 であり,L(x0,y0)=x0+y0=2


従って 等式拘束条件 x2+y2=1 の下でL(x,y)=x+y の 最大値はx=y=22のときで2

Microsoft Excel のソルバーで解くこともできる.

データの入力とソルバーのパラメータは以下の通りである.解析には非線形問題を選択する.

ソルバーの出力は以下の通りであり前期の解析解と同じである.

上記の議論を一般化したものが以下である.


l:(x1,x2,,xn)Rn↦∈R

ˉx=(ˉx1,ˉx2,,ˉxn)m個の制約条件

g1(ˉx1,ˉx2,,ˉxn)=0g2(ˉx1,ˉx2,,ˉxn)=0g3(ˉx1,ˉx2,,ˉxn)=0gm(ˉx1,ˉx2,,ˉxn)=0

のもとでの極少(極大)値をとるものとする.さらにm個のn次元 ベクトル

g1x(ˉx)T=(g1x1(ˉx),g1x2(ˉx),g1xn(ˉx))g2x(ˉx)T=(g2x1(ˉx),g2x2(ˉx),g2xn(ˉx))g3x(ˉx)T=(g3x1(ˉx),g3x2(ˉx),g3xn(ˉx))gmx(ˉx)T=(gmx1(ˉx),gmx2(ˉx),gmxn(ˉx))

が一次独立とする.これは前項の(4)式の陰関数の存在条件 fy(x0,y0)0(4) に相当する.

m個のn次元 ベクトルからなるn×m行列 [g1x(ˉx),g2x(ˉx),,gmx(ˉx)] の階数がm であることと同値である.


このとき,一変数関数の場合と同様,以下が成立つ.すなわち, m次元のラグランジュ乗数ベクトル

λ=(λ1,λ2,,λm) が存在し,

l(x)+λ1g1(x)+λ2g2(x)++λmgm(x)

ˉx=(ˉx1,ˉx2,,ˉxn)で停留条件を充す.

すなわち

x1[l(x)+λ1g1(x)+λ2g2(x)++λmgm(x)]=0x2[l(x)+λ1g1(x)+λ2g2(x)++λmgm(x)]=0xn[l(x)+λ1g1(x)+λ2g2(x)++λmgm(x)]=0


が成りたつ.

不等式拘束のある問題

前項では,等式拘束問題を扱った.この項では不等式拘束問題を扱う. 先ず,Rmの部分集合

P={p|p=(p1,p2,,pm)TRm,p10,p20,,pm0}

を定義しておく.この(正錐)Pを使って,p,qRmの 順序(大小)を

pqpqP

で定義する.

RnからRmへの微分可能な写像

G:x=(x1,x2,,xn)RnG(x)=(g1(x)g2(x)g3(x)gm(x))Rm で定義されるものとする.

不等式制約

G(x)=(g1(x)g2(x)g3(x)gm(x))0=(0000)

について,この項では以下のクーン・タッカーの条件が成立つものとする.


クーン・タッカーの条件

G(x)0 を充たす任意のxRnについて

G(x)+dGdxT(x)k<0

となる k=(k1,k2,,kn)TRnが存在する.

ただし,


dGdxT(x)=(g1x1(x)g1x2(x)g1xm(x)g2x1(x)g2x2(x)g2xm(x)gmx1(x)gmx2(x)gmxn(x))

ここで, G(x)0 は順序(大小関係)を

P={p|p=(p1,p2,,pm)TRm,p10,p20,,pm0}pqpqP

定義する場合,

g1(x)0,g2(x)0,g3(x)0,,gm(x)0

と同値になる.

停留条件

以上のクーン・タッカーの条件下で,


微分可能な写像 l:(x1,x2,,xn)Rn↦∈R

が不等式制約G(x)0 のもとで

ˉx=(ˉx1,ˉx2,,ˉxn) で極小(極大)値をとるものとすると,m次元のラグランジュ乗数ベクトル

λ=(λ1,λ2,,λm)0 が存在し,

l(x)+G(x)λ=l(x)+λ1g1(x)+λ2g2(x)++λmgm(x)

は,ˉx=(ˉx1,ˉx2,,ˉxn)で極値条件(停留条件)を充たす.


すなわち

dldx(ˉx)+dGdx(ˉx)λ=(lx1(ˉx)lx2(ˉx)lxn(ˉx))+(g1x1(x)g2x1(x)gmx1(x)g1x2(x)g2x2(x)gmx2(x)g1xn(x)g2xn(x)gmxn(x))(λ1λ2λm)=(000)

が成りたつ.

さらにˉx=(ˉx1,ˉx2,,ˉxn)については,

G(ˉx)λ=λ1g1(ˉx)+λ2g2(ˉx)++λmgm(ˉx)=0

が成立つ.

λ=(λ1,λ2,,λm)0

λ10,λ20,,λm0

と同値になる.

個人用ツール