拘束のある問題
提供: Internet Web School
目次[非表示] |
等式拘束のある問題
陰関数定理とラグランジュ乗数
以下の問題を考える.
L(x,y)=x+yとするとき,
半径1の円周
x2+y2=1(1)
上の点(x,y)でL(x,y)の最大にするものを求めよ。
関数の極値条件
実数値関数F(x)がx=x0で極小値または極大値をとり,かつ,x=x0で微分可能であれば,
F(x)のx=x0での微分係数は0である。
dFdx(x0)=0
陰関数
半径1の円の方程式
x2+y2=1(1)
に注目する。判りやすいように,
1≥x≥−1,1≥y≥0 としておく.
g(x)=√1−x2 とすると, 1≥x≥−1,1≥y≥0では(1)の方程式を満たすx,yについては y=g(x) という関係が成り立っている.
このg(x)という関数は,(1)式の中には出てこない.(1)からこのように間接的に導き出される関数を陰関数と呼ぶ.
一般化すれば特定の条件のもとに
f(x,y)=0という式から陰関数y=g(x)が定義される。
上の例では f(x,y)=x2+y2−1
しかし,何時でも上の例のように,f(x,y)=0から陰関数y=(x)が定義されるわけではない. 良く知られる定理では
陰関数定理
ある領域D⊆R×Rで関数f(x,y)が連続でかつ,x,yについて偏微分可能で, その偏導関数
∂f∂x(x,y)(1)
∂f∂y(x,y)(2) も(x,y)について連続とする。
D内の1点(x0,y0)で
f(x0,y0)=0
であり,
∂f∂y(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/∂x∂f/∂y(5)
ラグランジュ乗数法
関数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も成り立っている.
すると,関数L(x,y)は(x0,y0)で極値(極大値か極小値)をとるから F(x)=L(x,g(x))もx=x0で極値を取る.
極値条件により
dFdx(x0)=0(6)
である.
このxについての微分を求めるとF(x)は合成関数である
dFdx(x0)=∂∂xL(x0,g(x0))+∂∂yL(x0,g(x0))ddxg(x0)(7)dydx=−∂f/∂x∂f/∂y(8)
y=g(x)であるから(8)式を上の(7)式に代入し
λ=∂∂yL(x0,g(x0)){−∂f∂y}−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)<m/ath>が制約条件<math>f(x,y)=0 の元に (x,y)=(x0,y0)で極値(極大値か極小値)をとる という条件からHについての制約のない場合の極値条件
∂∂xH(x0,y0,λ)=0(14)∂∂yH(x0,y0,λ)=0(15)<math>∂∂λH(x0,y0,λ)=f(x0,y0)=0(16) が導かれる.。
要するに,制約条件付きの極値問題から,λという人工的な変数を使って 目的の関数+λ×(制約条件を表す関数) の制約条件のない場合の極値条件が導かれる. ただしこの議論は⌈その点が最大(小)値を与える⌋⇒⌈ その点が極値が与える⌋⇒⌈ その点での微分係数=0
という必要条件の連鎖でるので注意が必要である.
⌈<math>微分係数=0<math>⌋<math>は必要条件であるから,これが満たされても,極値かどうかチェックの必要があり,さらには<math>Hの極値を与える(x0,y0)が求められたとしても, それが最大(小)値を与えるのか確かめる必要がある。
また,少なくともLとfがx,yについて微分可能であることも必要である.
ここで使われたλをラグランジュ乗数と呼ばれる.
これを一般化したものが以下である.
l:(x1,x2,⋯,xn)∈Rn↦∈R
がˉx=(ˉx1,ˉx2,⋯,ˉxn)でm個の制約条件
g1(ˉx1,ˉx2,⋯,ˉxn)=0g2(ˉx1,ˉx2,⋯,ˉxn)=0g3(ˉx1,ˉx2,⋯,ˉxn)=0⋯gm(ˉx1,ˉx2,⋯,ˉxn)=0
のもとでの極少(極大)値をとるものとする.さらにm個のn次元 ベクトル
∂g1∂x(ˉx)T=(∂g1∂x1(ˉx),∂g1∂x2(ˉx)⋯,∂g1∂xn(ˉx))∂g2∂x(ˉx)T=(∂g2∂x1(ˉx),∂g2∂x2(ˉx)⋯,∂g2∂xn(ˉx))∂g3∂x(ˉx)T=(∂g3∂x1(ˉx),∂g3∂x2(ˉx)⋯,∂g3∂xn(ˉx))⋯∂gm∂x(ˉx)T=(∂gm∂x1(ˉx),∂gm∂x2(ˉx)⋯,∂gm∂xn(ˉx))
が一次独立とする.このとき,一変数関数の場合と同様,以下が成立つ.すなわち, 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)]=0∂∂x2[l(x)+λ1g1(x)+λ2g2(x)+⋯+λmgm(x)]=0⋯∂∂xn[l(x)+λ1g1(x)+λ2g2(x)+⋯+λmgm(x)]=0
が成りたつ.
不等式拘束のある問題
前項では,等式拘束問題を扱った.この項では不等式拘束問題を扱う. 先ず,Rmの部分集合
P={p|p=(p1,p2,⋯,pm)T∈Rm,p1≥0,p2≥0,⋯,pm≥0}
を定義しておく.この(正錐)Pを使って,p,q∈Rmの 順序(大小)を
p≥q⇔p−q∈P
で定義する.
RnからRmへの微分可能な写像
G:x=(x1,x2,⋯,xn)∈Rn↦G(x)=(g1(x)g2(x)g3(x)⋯gm(x))∈Rm で定義されるものとする.
不等式制約
G(x)=(g1(x)g2(x)g3(x)⋯gm(x))≤0=(000⋮0)
について,この項では以下のクーン・タッカーの条件が成立つものとする.
クーン・タッカーの条件
G(x)≤0 を充たす任意のx∈Rnについて
G(x)+dGdxT(x)k≤0
となる k=(k1,k2,⋯,kn)T∈Rnが存在する.
ただし,
dGdxT(x)=(∂g1∂x1(x)∂g1∂x2(x)…∂g1∂xm(x)∂g2∂x1(x)∂g2∂x2(x)…∂g2∂xm(x)⋮⋮⋮⋮∂gm∂x1(x)∂gm∂x2(x)⋯∂gm∂xn(x))
ここで, G(x)≤0 は順序(大小関係)を
P={p|p=(p1,p2,⋯,pm)T∈Rm,p1≥0,p2≥0,⋯,pm≥0}p≥q⇔p−q∈P
定義する場合,
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)λ=(∂l∂x1(ˉx)∂l∂x2(ˉx)⋮∂l∂xn(ˉx))+(∂g1∂x1(x)∂g2∂x1(x)…∂gm∂x1(x)∂g1∂x2(x)∂g2∂x2(x)…∂gm∂x2(x)⋮⋮⋮⋮∂g1∂xn(x)∂g2∂xn(x)⋯∂gm∂xn(x))(λ1λ2⋮λm)=(00⋮0)
が成りたつ.
さらにˉx=(ˉx1,ˉx2,⋯,ˉxn)については,
G(ˉx)λ=λ1g1(ˉx)+λ2g2(ˉx)+⋯+λmgm(ˉx)=0
が成立つ.
λ=(λ1,λ2,⋯,λm)≥0
は
λ1≥0,λ2≥0,⋯,λm≥0
と同値になる.