PDFをダウンロード

 『公共経済学講義:理論から政策へ』
1
数学付録:最適制御
須賀晃一[編]
c
⃝Koichi
Suga, 2014
発行所:有斐閣
2014 年 6 月 25 日 初版第 1 刷発行
ISBN 978-4-641-16445-1
1
須賀晃一(編)『公共経済学講義:理論から政策へ』(有斐閣,2014 年)の【数学付録】を項目別に公開
しています。本書を読み進めて頂くに際してのご参考に,ぜひご利用下さい。
1
最適制御
ここでは,ダイナミック・システムを制御する方法としての最適制御理論の基礎を解説す
る.たとえば,ある成長率で増える魚資源をどれだけ収穫するかという問題を考える.多く
とりすぎれば資源が枯渇し,少なすぎれば,利潤が得られない.いかなる収穫高の軌跡 (毎
期どれだけの漁獲高にするか) が最適経路であるかを確定しておかなければならない.それ
には,さまざまな経路の中から選択を行うための基準が必要であるし,経路が何に依存して
変化するかを特定化しておかなければならない.x(t) は時点 t における状態,u(t) は時点 t
における制御を表すとすると,最適制御問題は制御の集合 {u(t)} を選択することによって
最適な経路 {x(t)} を見つけることである.ここではポントリャーギンの最大値原理と呼ば
れる方法によって,この種の問題を解く.
1
連続モデル
以下のような典型的な連続時間制御問題を考える.仮定として,(1) 有限時間の終点 T ,
(2) 自律系方程式, (3) 一意に決まる終点状態, (4) 1 つの状態変数と制御変数,を設ける.
∫ T
V (x, u)dt
max J =
{u(t)}
0
x˙ = f (x, u)
x(0) = x
(1)
0
x(T ) = xT
ここで, x は状態変数, u は制御変数であり, 両者とも時間 t の関数である.x˙ は変数 x の時
間 t に関する微分を表す.
2 つの経路 u∗ ,u∗∗ がともに微分方程式 x˙ = f (x, u) の解であるとする.問題は,終点条
件 x(t∗ ) = xT ,x(t∗∗ ) = xT を満たす経路のうちいずれが J を最大化しているかである.し
たがって正確には,次のように述べることができる.初期状態 x0 から終点状態 xT へつな
ぐシステムを形成し,かつ目的関数 J を最大化する制御変数の経路 {u(t)} を見つけること
が最適制御問題の課題である.
λ(t) によって制約条件 x˙ = f (x, u) に対するラグランジュ未定乗数を表す.これを共役変
数と呼ぶ.そのとき,ラグランジュ関数は
∫ T
∫ T
L=
V (x, u)dt +
λ[f (x, u) − x]dt
˙
0
∫
=
0
T
[V (x, u) + λf (x, u) − λx]dt
˙
0
と書ける.ここでハミルトニアン (関数) を次のように定義する.
H(x, u) = V (x, u) + λf (x, u)
すると,
∫
L=
T
[H(x, u) − λx]dt
˙
0
2
(2)
(3)
部分積分公式を利用して,式 (3) の右辺の第 2 項を変形する.
∫ T
∫ T
˙
−
λxdt
˙ =
λxdt
− [λ(T )x(T ) − λ(0)x(0)]
0
(4)
0
となるので,L は次のようになる.
∫ T
˙
L=
[H(x, u) + λx]dt
− [λ(T )x(T ) − λ(0)x(0)]
(5)
0
ここで,制御変数の値が変化したとき状態変数の値がどのように変化するかを考えよう.
たとえば,制御変数の経路が {u(t)} から {u(t) + ∆u(t)} に変化し,その結果状態変数の軌
道が {x(t)} から {x(t) + ∆x(t)} に変化したとする. そのとき,ラグランジュ関数の変化 ∆L
は
]
∫ T[
∂H
∂H
˙
∆L =
dx +
du + λdx dt − λ(T )dxT
∂x
∂u
0
(
) ]
∫ T[
∂H
∂H
=
du +
+ λ˙ dx dt − λ(T )dxT
∂u
∂x
0
である.du,dx の符号は ± いずれでもありうるので,最大値では,∆L = 0 が成り立つ. こ
れより最大値の必要条件が導かれる.
(i)
(ii)
(iii)
∂H
=0
0≤t≤T
∂u
∂H
0≤t≤T
λ˙ = −
∂x
λ(T ) = 0 (あるいは xT が既知ならば, x(T ) = xT より dxT = 0)
(i) は,最適経路上の各時点でハミルトニアンが最大になるよう制御変数が選択されてい
ることを述べている.ここでは,内点解を持ち,制御変数に制約がないことを仮定している.
(ii) は共役変数 λ の変化に関する条件である.すなわち,その変化は対応する状態変数に関
するハミルトニアンの変化にマイナスの符号をつけたものに等しい.(iii) は共役変数の終点
における値が 0 になることを主張している.あるいは,終点状態 x(T ) = xT が与えられる
と,dxT = 0 が成り立たなければならない.
ハミルトニアンの定義より,状態変数の微分方程式は
∂H
x˙ = f (x, u) =
∂λ
のように表すことができる.したがって,次のような手法にたどり着く.共役変数 λ を導入
しハミルトニアン関数 H(x, u) = V (x, u) + λf (x, u) を定義する.そして,次の条件を満た
す経路 {u(t)}, {λ(t)}, {x(t)} を見つける.
(iv)
∂H
=0
0≤t≤T
∂u
∂H
λ˙ = −
0≤t≤T
∂x
∂H
x˙ =
= f (x, u)
0≤t≤T
∂λ
x(0) = x0
(v)
λ(T ) = 0
(i)
(ii)
(iii)
(6)
(あるいは x(T ) = xT )
3
これらの結果は,状態変数が x1 (t), · · · , xn (t) 共役変数が λ1 (t), · · · , λn (t),制御変数が
u1 (t), · · · , um (t) である一般の場合にも容易に拡張することができる.
(i)
(ii)
(iii)
∂H
=0
i = 1, · · · , m
0≤t≤T
∂ui
∂H
λ˙ i = −
i = 1, · · · , n
0≤t≤T
∂xi
∂H
= fi (x, u)
0≤t≤T
x˙ i =
∂λi
(iv)
xi (0) = x0i
(v)
λi (T ) = 0
(7)
(あるいは xi (T ) = xTi )
2 つの例を考察することで,連続制御問題の解き方を考えてみよう.それぞれのケースで
状態変数の初期値, すなわち x(0) = x0 と x(T ) = xT ,および最終時点 T が与えられている.
例 1 制御問題は
∫
1
u2 dt
max
{u}
0
x˙ = −u
x(0) = 1, x(1) = 0
である.この問題のハミルトニアンは
H(x, u) = V (x, u) + λf (x, u)
= u2 + λ(−u)
最大化の 1 階の条件は:
(i)
(ii)
(iii)
(iv)
(v)
∂H
= 2u − λ = 0
∂u
∂H
λ˙ = −
=0
∂x
∂H
x˙ =
= −u
∂λ
x(0) = 1
x(1) = 0
条件 (i) より
1
∴ u= λ
2
2u = λ
よって,
λ
x˙ = − ,
2
この連立方程式を解くと,次を得る.
x(t) = c1 −
λt
,
2
λ˙ = 0
λ(t) = c2
4
(c1 , c2 は積分定数)
x(0) = 1 なので c1 = 1. 同様に, x(1) = 0 より,
λ
=0
2
∴ λ = 2 あるいは c2 = 2
2t
x∗ (t) = 1 −
=1−t
2
1
u∗ (t) = λ = 1
2
x(1) = 1 −
例 2 制御問題は
∫
max −
{u}
1
0
1 2
(x + u2 )dt
4
x˙ = x + u
x(0) = 2,
x(1) = 0
である.この問題のハミルトニアンは
1
H(x, u) = V (x, u) + λf (x, u) = − (x2 + u2 ) + λ(x + u)
4
最大化の 1 階の条件は:
(i)
(ii)
(iii)
∂H
u
=− +λ=0
=⇒ u = 2λ
∂u
2
1
∂H
= x−λ
λ˙ = −
∂x
2
∂H
x˙ =
=x+u
=⇒ x˙ = x + 2λ
∂λ
(i) を (iii) に代入し,u を消去すると, x と λ に関する 2 つの微分方程式 を得る.
x˙ = x + 2λ
1
λ˙ = x − λ
2
微分方程式系は単純だが, 解の値はかなり込み入っている.特に積分定数について解く場合
はそうである.一般解は次のように,この連立微分方程式の固有値と固有ベクトルを計算す
ることによって求められる.係数行列は
[
]
1 2
A= 1
2 −1
であるので,特性方程式は
1 − r
2 = r2 − 1 − 1 = 0
1
2
−1 − r
よって,固有値は r =
√
2,
√
− 2 である. それぞれに対応する固有ベクトルを求める.
5
i) r =
√
2 のとき
[
√
1− 2
1
2
] [ ] [
] [ ]
√
(1 − 2)v11 + 2v21
2
v11
0
√ = 1 = 1 1
√ 1 =
v2
−1 − 2
2)v2
0
2 v1 − (1 +
[ ] [
]
1
v11
∴ 1 = √2−1
v2
2
√
ii) r = − 2 のとき
[
√
1+ 2
] [ ]
] [ ] [
√
(1 + 2)v12 + 2v22
0
2
v12
√ 2 =
√ = 2 = 1 2
0
−1 + 2
v2
2)v2
2 v1 + (−1 +
1
2
[ ] [
]
1
v12
√
∴ 2 =
2+1
v2
−
2
よって,一般解は
√
√
x(t) = c1 e 2t + c2 e− 2t
√
√
c1 √
c2 √
λ(t) = ( 2 − 1)e 2t − ( 2 + 1)e− 2t
2
2
である.しかしながら,条件 x(0) = 2 と x(1) = 0 を使えば,c1 と c2 を以下のように解く
ことができる.
x(0) = c1 + c2 = 2
√
x(1) = c1 e
よって
√
+ c 2 e−
2
2
=0
√
√
c1 =
−2e−
√
e 2
−
2
√
e− 2
≈ −0.1256,
c2 =
2e
√
e 2
2
− e−
√
2
≈ 2.1256
である.
これらの例が示しているのは,制御問題の解法に現れてくるパターンである.それは次の
ようなステップである:
(1) ハミルトニアンを作り,最大化条件を導出する.
(2) 方程式
∂H
∂u
= 0 を解き,u を共役変数 λ を使って表す.
(3) 2 つの微分方程式を導く: 1 つは状態変数 x に関するもの,もう 1 つは共役変数 λ に関
するものである.
(4) 微分方程式を解き,一般解を求める.
(5) x(0) および x(T ) に関する条件を使って積分定数の値を定める.
(6) λ∗ に対する最適経路を u の方程式に代入し,制御変数の最適経路 u∗ を求める.
6
次の例は,制御領域が閉区間になっているため,端点解が生じるケースである.
例 3 最初の例で境界上の解を考察する.制御問題は:
∫ 1
max
5xdx
{u}
0
x˙ = x + u
x(1) は自由
x(0) = 2,
u(t) ∈ [0, 3]
である.この問題のハミルトニアンは
H(x, u) = V (x, u) + λf (x, u)
= 5x + λ(x + u)
= (5 + λ)x + λu
となる.最大化の 1 階の条件は:
(i)
(ii)
(iii)
(iv)
(v)
∂H
=λ
∂u
∂H
λ˙ = −
= −(5 + λ)
∂x
∂H
=x+u
x˙ =
∂λ
x(0) = 2
λ(1) = 0
条件 (i) は最適経路 u∗ を決定する上で役に立たない. もし λ > 0 ならば H は境界 u = 3
で最大値をとり (端点解), u∗ (t) = 3 である.
条件 (ii) より,
λ˙ = −λ − 5
∴ λ˙ + λ = −5
t
両辺に e をかけて
˙ t + λet = −5et
λe
左辺は (λet )′ に等しいので,両辺を積分すると
λet = −5et + k
(k は積分定数)
∴ λ∗ (t) = ke−t − 5
終点は自由なので,λ∗ (1) = ke−1 − 5 = 0 より k = 5e1
∴ λ∗ (t) = 5e1−t − 5
u∗ (t) = 3 であるから,(λ∗ (t) > 0, 0 ≤ t < 1 より)
x˙ ∗ = x∗ + 3
∴ x˙ − x = 3
7
両辺に et をかけて
xe
˙ t − xet = 3et
左辺は (xet )′ に等しいので,両辺を積分すると
x∗ (t) = ket − 3
初期条件より,
x(0) = ke0 − 3 = 2
∴ k=5
となる.したがって,
x∗ (t) = 5et − 3
制御変数は全期間を通じて固定されているにもかかわらず,状態変数は x(0) = 2 から増加
し続ける.
2
横断条件
動学的最適化問題では,終点は十分可動的でありうる.たとえば,終点の時刻は決められ
ていても,終点状態 (終点における資本ストック) は完全に自由に選択できる.逆に,終点
の状態 (目標成長率) は特定化するが,終点時刻 (いつ達成するか) は自由に選択できるかも
しれない.T で終点を表し,Z で終点状態を表すものとすると,T または Z は可動的であ
るため,終点条件 x(T ) = Z は最適経路を決めることはできない.したがって,最適経路を
他の可能な経路から区別するための終点条件が必要である.そのような条件は横断条件とい
われる.前節で λ(T ) = 0 あるいは x(T ) = x0 (定数) としたのは,横断条件が満たされるこ
とを暗に示したものであった.
数学付録 1 で論じた,不等式制約下の一般最適化問題における相補条件を想起せよ.制約
条件 g(x) ≥ 0 が与えられているとき,それに付随するラグランジュ未定乗数を λ とすると,
制約が拘束的であっても(g(x∗ ) = 0),非拘束的であっても(g(x∗ ) > 0),最適解 x∗ では
常に
λ∗ g(x∗ ) = 0
が成り立する.この式が相補条件と呼ばれた.
相補条件を理解した上で,動学最適化問題の終点における相補条件としての横断条件 (tranversality condition) を説明する.
以下の連続時間制御問題を考える.
∫
T
max J =
{u(t)}
V (x, u)dt
0
s.t.x˙ = f (x, u)
x(0) = x
0
x(T ) ≥ 0
8
(8)
ラグランジュ関数は
∫ T
∫
L=
V (x, u)dt +
T
λ[f (x, u) − x]dt
˙
+ µ · x(T )
∫ T
∫ T
˙
=
[V (x, u) + λf (x, u)]dt +
λxdt
− λ(T )x(T ) + λ(0)x(0) + µ · x(T )
0
0
0
0
と書ける.2 行目の式を導く際に部分積分の公式を用いた.ここで,L を最大化するために,
x(T ) に関する 1 階の条件を求める.
∂L
= −λ(T ) + µ = 0
∂x(T )
∴ µ = λ(T )
また,制約条件に関する相補条件より,µ · x(T ) = 0.
以上の 2 つの式から,
λ(T ) · x(T ) = 0
が得られる.この式が横断条件である.この条件を満たすのは次のいずれかのケースである.
ケース 1 : λ∗ (T ) > 0, x∗ (T ) = 0
ケース 2:λ∗ (T ) = 0, x∗ (T ) ≥ 0
3
割引つき制御問題
制御問題の主たる特徴は目的関数 V (x, u) を最大化することである. しかしながら, 多く
の経済問題では V (x, u) は各期の利潤や純便益で表される.したがって,所得流列を現在ま
で割り引いて最大化しなければならない.δ を割引率とすると,制御の目的は
∫ T
max J =
e−δt V (x, u)dt
(9)
{u(t)}
0
となり,割引には影響を受けないさまざまな条件が制約として課される.よって,典型的な
連続時間の割引つき最大化問題は,制御問題
∫ T
max J =
e−δt V (x, u)dt
{u(t)}
0
x˙ = f (x, u)
(10)
x(0) = x0
x(T ) = xT
のように表せる.この問題のラグランジュ関数は
∫ T
L=
{e−δt V (x, u) + λ[f (x, u) − x]}dt
˙
0
であり,ハミルトニアンは
H(x, u) = e−δt V (x, u) + λf (x, u)
9
である.現在価値ハミルトニアン (関数) Hc を
Hc (x, u) = V (x, u) + µf (x, u)
と定義すると,
Hc = Heδt
µ = λeδt
あるいは
H = Hc e−δt
あるいは
λ = µe−δt
が成立する.ここで,µ = λeδt は現在価値ラグランジュ乗数である.
ここで,5 つの最適条件を再検討しよう.eδt は制御変数の変化に対して一定にとどまる
∂Hc
ので,条件 (i) は単純に
= 0 となる. 第 2 の条件はあまり直接的ではない.
∂u
∂H
∂Hc −δt
λ˙ = −
=−
e
∂x
∂x
となるが,λ = µe−δt より
λ˙ = µe
˙ −δt − δµe−δt
これらを等しくすると,
∂Hc −δt
e
= µe
˙ −δt − δµe−δt
∂x
∂Hc
あるいは
µ˙ = −
+ δµ
∂x
−
条件 (iii) は
x˙ =
∂H
∂Hc −δt ∂Hc
=
e
=
= f (x, u)
∂λ
∂λ
∂µ
となるが,一方,条件 (iv) は
λ(T ) = µ(T )e−δt = 0
となる.また,条件 (v) は不変である.
要約すると,まず現在価値ハミルトニアンと現在価値ラグランジュ乗数を定義する.すな
わち,
Hc (x, u) = H(x, u)eδt = V (x, u) + µf (x, u)
ここで λ = µe−δt である. そのとき最適条件は:
(i)
(ii)
(iii)
∂Hc
=0
0≤t≤T
∂u
∂Hc
µ˙ = −
+ δµ
0≤t≤T
∂x
∂Hc
x˙ =
= f (x, u)
0≤t≤T
∂µ
(iv)
x(0) = x0
(v)
µ(T )e−δt = 0
(11)
(あるいは x(T ) = xT )
これらの最適条件から,条件 (i) を用いて制御変数 u を消去することができ,2 つの微分
方程式が導かれる: 1 つは状態変数 x に対する微分方程式, もう 1 つは現在価値共役変数 µ
に対する微分方程式である.
10
例 4 次の制御問題を考え,
∫
max J = −
{u(t)}
10
u2 e−0.1t dt
0
x˙ = u
x(0) = 0
x(10) = 1000
最適経路 x∗ (t) を見つけよう.
現在価値ハミルトニアンは
Hc = −u2 + µu
であり,最適条件は
(i)
(ii)
(iii)
∂Hc
= −2u + µ = 0
∂u
∂Hc
µ˙ = −
+ δµ = 0 + 0.1µ
∂x
∂Hc
x˙ =
=u
∂µ
(i) より u = 0.5µ であり, (iii) に代入すると,x˙ = 0.5µ となる. したがって,2 つの微分方
程式
x˙ = 0.5µ
µ˙ = 0.1µ
が導かれる.これを解くために,以下のように変形する.両辺の積分をとって,
µ˙
= 0.1
µ
(k は積分定数)
ln µ = 0.1t + k
µ=e
0.1t k
e = k1 e
0.1t
(改めて ek = k1 とおいた)
これを最初の式に代入し積分をとると,
x˙ = 0.5k1 e0.1t
x = 5k1 e0.1t + k2
k2 は積分定数
すなわち,適当な係数の下に解
x(t) = c1 + c2 e0.1t
µ(t) = c2 e0.1t
を得る.x(0) = 0 および x(10) = 1000 より,c1 ,c2 について以下の式を解く.
c1 + c2 = 0
c1 + c2 e = 1000
11
このとき,c1 = −
1000
1000
≈ −581.9767 と c2 =
≈ 581.9767 を得る. したがって,
e−1
e−1
1000
1000 0.1t 1000 0.1t
+
e
=
(e
− 1)
e−1 e−1
e
≈ −581.9767 + 581.9767e0.1t = 581.9767(e0.1t − 1)
x∗ (t) = −
練習問題
1. 次の制御問題を解け.
∫
1√
max
{u}
udt
0
x˙ = −u
x(0) = 1,
x(1) = 0
2. 次の制御問題を解け.
∫
1
max −
{u}
0
)
1( 2
x + u2 dt
4
x˙ = x + u
x(0) = 2,
x(1) = 0
3. 次の制御問題を解け.
1( 2
x
∫
max −
{u}
u2
−
4
9
0
)
dt
x˙ = −x + u
x(0) = 5,
x(1) = 10
4. 次の制御問題を解け.
∫
1
max
{u}
(3x2 − u2 )dt
0
x˙ = 2x + u
x(0) = 10,
x(1) = 15
5. 次の制御問題を解け.
∫
10
max −
{u}
u2 e−0.1t dt
0
x˙ = u
x(0) = 0,
12
x(10) = 100