拘束のある問題
提供: Internet Web School
1 行: | 1 行: | ||
==等式拘束のある問題== | ==等式拘束のある問題== | ||
+ | |||
+ | |||
+ | |||
+ | ==陰関数定理とラグランジュ乗数== | ||
+ | |||
+ | 以下の問題を考える. | ||
+ | |||
+ | |||
+ | <math>L(x,y)=x+y</math>とするとき, | ||
+ | 半径1の円周 | ||
+ | |||
+ | <math>x^2+y^2=1 \qquad (1)</math> | ||
+ | |||
+ | 上の点<math>(x,y)</math>で<math>L(x,y)</math>の最大にするものを求めよ。 | ||
+ | |||
+ | |||
+ | ===関数の極値条件=== | ||
+ | |||
+ | 実数値関数<math>F(x)</math>が<math>x=x_0</math>で極小値または極大値をとり,かつ,<math>x=x_0</math>で微分可能であれば, | ||
+ | |||
+ | <math>F(x)</math>の<math>x=x_0</math>での微分係数は<math>0</math>である。 | ||
+ | |||
+ | <math>\frac{dF}{dx}(x_0) = 0</math> | ||
+ | |||
+ | ===陰関数=== | ||
+ | |||
+ | |||
+ | 半径1の円の方程式 | ||
+ | |||
+ | <math>x_2+y_2=1\qquad (1)</math> | ||
+ | |||
+ | に注目する。判りやすいように, | ||
+ | |||
+ | <math>1\ge x \ge -1,1 \ge y \ge 0</math> | ||
+ | としておく. | ||
+ | |||
+ | <math>g(x)=\sqrt{1-x^2}</math> | ||
+ | とすると, | ||
+ | <math>1\ge x \ge -1,1 \ge y \ge 0</math>では<math>(1)</math>の方程式を満たす<math>x,y</math>については | ||
+ | <math>y=g(x)</math> | ||
+ | という関係が成り立っている. | ||
+ | |||
+ | この<math>g(x)</math>という関数は,<math>(1)</math>式の中には出てこない.<math>(1)</math>からこのように間接的に導き出される関数を陰関数と呼ぶ. | ||
+ | |||
+ | |||
+ | 一般化すれば特定の条件のもとに | ||
+ | <math>f(x,y)=0</math>という式から陰関数<math>y=g(x)</math>が定義される。 | ||
+ | |||
+ | 上の例では <math>f(x,y)=x^2+y^2-1</math> | ||
+ | |||
+ | しかし,何時でも上の例のように,<math>f(x,y)=0<math>から陰関数<math>y=(x)<math>が定義されるわけではない. | ||
+ | 良く知られる定理では | ||
+ | |||
+ | |||
+ | |||
+ | ===陰関数定理=== | ||
+ | |||
+ | ある領域D<math>\subseteq R\times R</math>で関数<math>f(x,y)</math>が連続でかつ,<math>x,y</math>について偏微分可能で, | ||
+ | その偏導関数 | ||
+ | |||
+ | <math>\frac{\partial f}{\partial x}(x,y) \qquad (1)</math> | ||
+ | |||
+ | <math>\frac{\partial f}{\partial y}(x,y) \qquad (2)</math> | ||
+ | も<math>(x,y)</math>について連続とする。 | ||
+ | |||
+ | D内の1点<math>(x_0,y_0)</math>で | ||
+ | |||
+ | <math>f(x_0,y_0)=0</math> | ||
+ | |||
+ | であり, | ||
+ | |||
+ | <math>\frac{\partial f}{\partial y}(x_0,y_0)\neq 0 \qquda (4)</math> | ||
+ | |||
+ | とする。 | ||
+ | このとき,<math>x_0</math>を含む<math>[a,b]</math>とその上の連続関数<math>g(x)</math>が与えられ | ||
+ | |||
+ | (1) 区間<math>[a,b]</math>上で<math>f(x,g(x))=0</math> | ||
+ | |||
+ | (2) <math>y_0=g(x_0)</math> | ||
+ | |||
+ | (3) 区間<math>[a,b]</math>上で, | ||
+ | |||
+ | <math>\frac{dy}{dx}=-\frac{\partial f / \partial x}{\partial f / \partial y} \qquad (5)</math> | ||
+ | |||
+ | ===ラグランジュ乗数法=== | ||
+ | |||
+ | |||
+ | 関数<math>L(x,y)</math>が,制約条件 | ||
+ | <math>f(x,y)=0</math> | ||
+ | の元に<math>(x,y)=(x_0,y_0)</math>で極値(極大値か極小値)をとるとする。 | ||
+ | |||
+ | <math>L(x,y)</math>が<math>(x,y)</math>について微分可能な関数で, | ||
+ | 関数<math>f(x,y)<math>は<math>(x_0,y_0)</math>が上の陰関数定理を適用できる条件を満たしているものとする。 | ||
+ | |||
+ | すると,<math>x_0</math>の近傍で関数<math>g(x)</math>が存在して,<math>x_0</math>のその近傍では | ||
+ | |||
+ | <math>f(x,g(x))=0</math> が成り立ち,<math>y_0=g(x_0)</math>,<math>f(x_0,g(x_0))=0</math>も成り立っている. | ||
+ | |||
+ | すると,関数<math>L(x,y)</math>は<math>(x_0,y_0)</math>で極値(極大値か極小値)をとるから | ||
+ | <math>F(x)=L(x,g(x))</math>も<math>x=x_0</math>で極値を取る. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | 極値条件により | ||
+ | |||
+ | |||
+ | <math>\frac{dF}{dx}(x_0)=0 \qquad (6)</math> | ||
+ | である. | ||
+ | |||
+ | この<math>x</math>についての微分を求めると<math>F(x)</math>は合成関数である | ||
+ | |||
+ | <math> | ||
+ | \frac{dF}{dx}(x_0)=\frac{\partial}{\partial x}L(x_0,g(x_0))+\frac{\partial}{\partial y}L(x_0,g(x_0))\frac{d}{dx}g(x_0) \qquad (7) \\ | ||
+ | \frac{dy}{dx}=-\frac{\partial f / \partial x}{\partial f / \partial y} \qquad(8) | ||
+ | </math> | ||
+ | |||
+ | <math>y=g(x)</math>であるから<math>(8)</math>式を上の<math>(7)</math>式に代入し | ||
+ | |||
+ | |||
+ | |||
+ | <math>\lambda=\frac{\partial}{\partial y}L(x_0,g(x_0))\{-\frac{\partial f}{\partial y}\}^{-1} \qquad (9)</math> | ||
+ | |||
+ | という変数を使うと, | ||
+ | |||
+ | <math>0=\frac{dF}{dx}(x_0)=\frac{\partial}{\partial x}L(x_0,g(x_0))+\lambda\frac{\partial}{\partial x}f(x_0,g(x_0)) \qquad (10)</math> | ||
+ | また | ||
+ | |||
+ | <math>\lambda \frac{\partial}{\partial y}f(x_0,g(x_0)=-\frac{\partial}{\partial y}L(x_0,g(x)) \qquad (11)</math> | ||
+ | |||
+ | から | ||
+ | |||
+ | <math>0=\frac{\partial}{\partial y}L(x_0,g(x_0))+\lambda \frac{\partial}{\partial y}f(x_0,g(x_0)) \qquad (12) </math> | ||
+ | |||
+ | すなわち<math>\lambda</math>という新しい変数を使って | ||
+ | <math>H(x,y,\lambda)=L(x,y)+\lambda f(x,y) \qquad (13)</math> | ||
+ | という関数を造ると: | ||
+ | <math>\lceil</math>関数<math>L(x,y)<m/ath>が制約条件 | ||
+ | <math>f(x,y)=0</math> | ||
+ | の元に | ||
+ | <math>(x,y)=(x_0,y_0)</math>で極値(極大値か極小値)をとる | ||
+ | という条件からHについての制約のない場合の極値条件 | ||
+ | |||
+ | <math> | ||
+ | \frac{\partial}{\partial x}H(x_0,y_0,\lambda)=0 \qquad (14) \\ | ||
+ | \frac{\partial}{\partial y}H(x_0,y_0,\lambda)=0 \qquad (15) \\ | ||
+ | <math>\frac{\partial}{\partial \lambda}H(x_0,y_0,\lambda)=f(x_0,y_0)=0 \qquad (16) | ||
+ | </math> | ||
+ | が導かれる.。 | ||
+ | |||
+ | 要するに,制約条件付きの極値問題から,<math>\lambda</math>という人工的な変数を使って | ||
+ | <math>目的の関数+\lambda\times (制約条件を表す関数)</math> | ||
+ | の制約条件のない場合の極値条件が導かれる. | ||
+ | ただしこの議論は<math>\lceil</math>その点が最大(小)値を与える<math>\rfloor \Rightarrow \lceil</math> | ||
+ | その点が極値が与える<math>\rfloor \Rightarrow \lceil</math> その点での<math>微分係数=0</math> | ||
+ | |||
+ | |||
+ | という必要条件の連鎖でるので注意が必要である. | ||
+ | |||
+ | <math>\lceil<math>微分係数=0<math>\rfloor<math>は必要条件であるから, | ||
+ | これが満たされても,極値かどうかチェックの必要があり,さらには<math>H</math>の極値を与える<math>(x_0,y_0)</math>が求められたとしても, | ||
+ | それが最大(小)値を与えるのか確かめる必要がある。 | ||
+ | |||
+ | また,少なくとも<math>L</math>と<math>f</math>が<math>x,y</math>について微分可能であることも必要である. | ||
+ | |||
+ | ここで使われた<math>\lambda</math>をラグランジュ乗数と呼ばれる. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
2020年11月25日 (水) 13:16時点における版
目次[非表示] |
等式拘束のある問題
陰関数定理とラグランジュ乗数
以下の問題を考える.
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<math>から陰関数<math>y=(x)<math>が定義されるわけではない.良く知られる定理では===陰関数定理===ある領域D<math>⊆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\qquda(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)<math>は<math>(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(\bar{\bf x}){\bf \lambda}=\lambda_1 g_1(\bar{\bf x})+\lambda_2 g_2(\bar{\bf x}) + \cdots +\lambda_m g_m(\bar{\bf x}) =0
が成立つ.
{\bf \lambda}=(\lambda_1,\lambda_2,\cdots,\lambda_m) \ge {\bf 0}
は
\lambda_1 \ge 0,\lambda_2\ge 0,\cdots,\lambda_m \ge 0
と同値になる.