宏观经济数量分析方法04-动态最优化基础
第四章 动态最优化基础
§4.1 动态最优化的基本问题
例:最短路问题
图4.1给出了从城市A到城市B的路线图(省略了距离单位标注)。现求一条从A到B的最短路线。
图4.1
显然,为了从A到B,必须先逐步经过C1、C2、C3、C4等诸城市。而在C1、C2、C3、C4,又都有多种选择。而关键性的困难是当前的最优选择不一定是全局的最优。 这类问题也称为多阶段决策问题。
§4.2 动态最优化的基本概念
阶段:将全过程分为若干个有相互联系的阶段,常用字母t、k表示;
状态:系统在不同阶段性态。一般来说,系统在一个阶段有多个状态。系统在某一阶段的所有可能的状态构成的集合成为状态集,记为Sk;
状态变量:表示系统状态的变量,记为sk。它与阶段有关;
决策:在某一阶段的某一状态下,系统由该状态演变到下一阶段某一状态的选择。在第k阶段,处于状态sk时的所有可能的决策集记为Dk(sk);
决策变量:描述决策的变量,它与阶段与系统在该阶段的状态有关。在第k阶段,处于状态sk时的决策记为dk(sk);
状态转移:从当前阶段的某一状态转移到下一阶段的某一状态。
状态转移方程:描述状态转移规律的数学方程。它是当前状态变量与决策变量的函数,即
sk1Tk(sk, dk);
策略:从起点到终点的每一阶段的决策所构成的决策序列,称为(全局)策略。自某一阶段起,至终点的决策称为子策略,记为pk,n(sk)(d1(s1),,dn(sn))。
指标(目标)函数:性能指标或效用指标,它用来评价决策的效果。它可分为阶段指标与全局指标两类。
阶段指标是指衡量某一阶段在某一状态下的决策效果的指标。它仅依赖当前状态和当前决策。记为vk(sk,dk(sk));
全局指标是指衡量整个全过程或自某一阶段起至终点的各阶段决策的总体效果的指标。它是所有各阶段的状态和决策的函数,即
Vk,n(sk,dk,sk1,dk1,,sn,dn)
动态最优化的主要问题是寻找一个策略,使全局指标最优。此策略称为动态系统的最优解。注意,最优解是各阶段状态的函数,其含义是在各个阶段,当处于不同的状态下应选择的(从全局)最优决策。
动态最优化的分类
离散阶段、离散状态的动态优化问题;
离散阶段、连续状态的动态优化问题(如长期投资问题);
连续阶段、离散状态的动态优化问题;
连续阶段、连续状态的动态优化问题(如追击问题、长期投资问题)。
处理动态最优化的方法:
动态规划方法;
变分法;
最优化方法。
§ 4.3 动态规划方法
对于动态规划而言,它要求过程的全局指标函数是各阶段指标的和,即
Vk,n(sk,dk,sk1,dk1,,sn,dn)vi(si,di(si))
ikn
动态规划最优化原理(Richard Bellman)
作为整个过程的最优策略具有这样的性质:无论过去的状态和决策如何,对前面决策所形成的状态而言,余下的诸决策必须构成最优策略。
该原理可以这样理解:如果在某一阶段的某一状态位于全局最优路径上,则以它为起点到终点的最优策略一定与全局最优策略重合。
由基本原理,不难得到动态规划的函数基本方程(反向递归方程):
fk(sk)Max(Min){vk(sk,dk(sk))fk1(sk1)}dk(sk)Dk(sk) kn,n1,,1
f(s)0n1n1
其中,fk(sk)表示在第k阶段的某一状态下到终点的最优指标函数。
例:求前例的最短路。(反向递归)
例:某商店在未来四个月里销售一种商品。它有一个最大容量为1000件的仓库。该商店每月中旬订购商品,下月初到货。经市场调查,今后四个月商品的购买价与销售价如下表所示。假定商店在1月初已有500件库存商品,在不考虑市场需求和库存费用的条件下,问
如何安排每月的订购量和销售量,使6个月的总利润最大。
解:这是一个四阶段决策问题。决策变量是每月的订购量xk,销售量yk。取状态变量为sk;并记仓库最大容量为H=1000。显然,状态转移方程为
sk1skxkyk
基本函数方程为
fk(sk)Max{vk(sk,xk,yk)fk1(sk1)} 0yksk 0xHys k4,3,2,1kkkfn1(sn1)0
利用后向算法求解。
令k4,解约束极值问题:
f4(s4)Max{17y415x4}
0y4s4
0x4Hy4s4
显然,该优化问题的解是y4s4,x40,此时,f4(s4)17s4。
令k3,有优化问题 **
f3(s3)Max{13y311x3f4(s4)}
Max{13y311x317(s3y3x3)}
Max{17s34y36x3)}
0y3s3
0x3Hy3s3
**这是一个线性规划问题,解之,有x3H,y3s3,f3(s3)13s36H。
令k2,有优化问题
f2(s2)Max{6H13s24y24x2)}
0y2s2
0x2Hy2s2
**其最优解为x2H,y2s2,f2(s2)9s210H。
令k1,得
f1(s1)Max{10H9s1y13x1)}
0y1s1
0x1Hy1s1
**其最优解为x1s1,f1(s1)12s110H。 0,y1
最后,注意到初始条件s1500,H1000,对上述求出的最优解逐步回代,得到该问题的最优解:
**x10, y1s1500;
****x2H1000, y2s2s1x1y10;
****s3s2x2y21000; x3H1000, y3
****x40, y4s4s3x3y31000。
在用动态规划方法解多阶段决策问题时,除了反向递归函数方程和反向递归算法外,还有正向递归函数方程和正向递归算法。
fk(sk)Max(Min){vk(sk,dk(sk))fk1(sk1)}dk(sk)Dk(sk) k1,2,,n1,n
f(s)000
一般来说,若已知初始条件,则用反向递归算法,若已知终端条件,则用正向递归算法。
最后要指出,若考虑连续阶段的动态规划问题,则上述目标函数中的求和就变成了积分。
§ 4.4 变分方法
考虑下列优化问题A:
OptV(y)F(t,y(t),y(t))dt 0T
满足条件 Y(0)A and y(T)Z。
在这个问题中,y(t)是未知函数。由于目标函数中的积分是函数的函数,故常称这类
函数为泛函。
该问题可以认为是一个连续阶段的多阶段决策问题。其中,y(t)可以认为是决策变量,y(t)可以认为是状态变量,而目标泛函是各阶段效用函数的累积。
由于变分方法是用古典微积分方法处理这类问题,所以通常要求未知泛函是连续可导的。
一阶必要条件(Euler方程)
若连续可导函数y(t)是问题A的解,则y(t)满足下列方程:
Fyyy(t)Fyyy(t)FtyFy0
在不同的经济问题中,问题A形式可能有所不同,主要是积分的上下限、端点条件以及被积函数F有所改变。此时,Euler方程的形式也会有一定的变化。
例:(通货膨胀与失业的折衷)通货膨胀和失业都会造成社会福利损失。因此,希望找到这两者之间在时间上的组合,使社会福利损失最小。
社会福利损失函数:
设在理想经济中,其充分就业的收入水平为Yf,通货膨胀率为0。实际就业率Y对Yf的任何偏离及实际通货膨胀率p对0的任何偏离都是社会福利损失。因此,我们假设社会福利损失函数为
(YfY)2p2 0
YfY与p之间的折衷可假设为
p(YfY)
称为菲利普斯折衷。其中,是预期通货膨胀率。
假设预期通货膨胀率的形成是自适应的:
于是有 dj(p) 0j1 dt
j(YjY)
即
YfY
于是有 j
p
最后得到 j
(,)jj
这样,政府的问题就是在时间区间[0,T]上,寻找的最优路径,使社会福利损失函数最小。
假设初始通货膨胀率预期为0,期末通货膨胀预期为0(政策目标),社会福利损失的折现率为。则政府的政策目标是 22
Max ()(,)etdt 0T
s.t. (0)0
(T)0
容易算得,该问题的欧拉方程是
0
其中,
2j(j)0 12
该方程是一个二阶常系数线性微分方程,其解为
*(t)A1ertA2ert 12
且r1,r21(24) 2
显然有r10,r20。
由初始条件,不难求出A1和A2为
0er1T0er2T
A1r1T,A2rT。 e1er2Teer2T
§4.5 最优控制理论
基本问题B:
Max VF(t,y,u)dt 0T
满足 yf(t,y,u),y(0)A,y(T)自由,以及u(t)U,对于所有的t[0,T]。
在这个问题中,y称为状态变量;u称为控制(策略);积分称为目标泛函;微分方程称为运动方程(状态方程);U称为控制集。U通常是( , )。
若状态方程是yu,将其代入目标泛函,则变成了一个变分问题。
令
H(t,y,u,)F(t,y,u)(t)f(t,y,u)
称为问题B的汉密尔顿(Hamiton)函数。
(庞德理雅金)极大值原理(一阶必要条件)
设u*(t)是问题B的解,则u*(t)一定也是下列问题的解
MaxH(t,y,u,) uyHf(t,y,u) H y
(T)0