04第四章 动态规划
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 动态规划初步
第一节 问题概览
一、问题的表述
与变分法和最优控制相比,动态规划处理离散时间与不确定性问题更有优势。在本章中,我们将简介在确定性下的动态规划的初步知识。我们从下面的问题开始:
{}0
(1)((0))((),(1))max t t x t V x U x t x t β∞=∞*
+=+∑ (P1)
.. (1)(())s t x t G x t +∈, 对所有的时间t
(0)x 给定。
约束说明在()x t 时(1)x t +的值。()x t 是状态变量,(1)x t +可以看作是t 时的控制变量。所以该约束说明给定状态变量如何确定控制变量。U 是瞬时回报(实值函数),U 不独立依赖于时间。
我们是要得到最优值序列{}0
(1)t x t ∞
*=+以使得((0))V x *最大,{}0
(1)t x t ∞
*=+被称
为最优计划(plan ),((0))V x *是值函数。我们把问题P1的形式称为序贯(sequence
problem )问题。显而易见,((0))V x *与初始的(0)x 相关,即不同的(0)x 会导致不同的最优值。下面是一个该问题形式的具体例子:
例1:{}
(),()
max
(())t
c t k t t U c t β∞
=∑ .. (1)(())()(1)()s t k t f k t c t k t δ+=-+- ()0k t ≥,(0)k 给定。
该例子实际上就是代表性主体(或计划者)的Ramsey 问题。该问题不是标准的P1问题的形式,但是我们可以将它转化成P1的形式:
{}0
(1)((0))((())(1)(1)())max t t k t V k U f k t k t k t βδ∞=*+=-++-∑
.. (1)[0,(())(1)()]s t k t f k t k t δ+∈+- 其中,()(())(1)(1)c t f k t k t k t δ=-
++-。对应P1式中:()()x t k t =,
(1)(1)x t k t +=+。
序贯问题有时会有优美的特性,但是它一般很难解出也不利于数值运算。 动态规划的思想是将上面的序贯问题转化成函数方程(............functional equation ..................).的形式...
,即将原问题的寻找一个最优序列转化成寻找一个函数。函数方程为: []()
()max (,)()y G x V x U x y V y β∈=+ (P2)
P2为贝尔曼方程。在P2中,我们寻找一个策略(policy),它决定给定()x t 时
(1)x t +应为多少,即如何由状态变量确定控制变量。由于U 不依赖于时间,策
略也不依赖于时间。我们以x 和y 分别表示状态和控制变量。这样,问题被表述成对任何x 选出适当的y 。从数学上看,这对应于对任何x 最大化()V x 。
下面是一个将问题P1转化成P2的具体例子(不是十分严格):
0((0))((),(1))t t V x U x t x t β∞
*
**==+∑
1
((0),(1))((1),(2))s t U x x U x t x t ββ∞
*
**==+++∑
((0),(1))((1))U x x V x β***=+
上式将一个最优化问题分成两部分,一部分是对当前期的优化,一部分是对后续路径的优化。
如果已知最优策略函数为[]():x X X ππ→,则可得最优值函数:
[]()(,()(())V x U x x V x πβπ=+
或者我们可以从上式来寻求()x π,如果求到了()x π,则()y x π=使P2最大化。后面的一些定理保证了我们在一定条件下从P2问题求出的解与从P1问题求出的解是一致的。这样,我们处理动态规划问题的步骤为:首先将P1转化为P2的形式,再在P2寻求最优策略函数()y x π=。
二、一阶条件
我们从如下形式的P2问题开始求解一阶条件(欧拉方程):
()
()[(,)()]max y G x V x U x y V y β∈=+ (1)
求解一阶条件分为三步:
1、上式右边对控制变量求导所得一阶导数为0。如果x 、y 是标量,则有:
(,)
()0U x y V y y β**∂'+=∂ (2) 2、对(1)式应用包络定理:
(,)
()U x y V x x
*∂'=∂ (3)
3、结合(2)和(3)得到如下的一阶条件:
(,())((),(())
0U x x U x x y x
ππππβ∂∂+=∂∂ (4)
其中,定义了()y x π=,且由(3)是得到:
((),(())
()(())U x x V y V x x
ππππ∂''==
∂ (5)
把(5)式的结果代入(2)即得(4)中的欧拉方程。 除了以上结果外,我们也有一个TVC :
((),(1))lim ()0()
t
t U x t x t x t x t β***
→∞∂+=∂ 例2:
{}0
0(),(1)ln ()max t t
t c t k t c t β
∞=∞
=+∑
[].. (1)()()s t k t k t c t α
+=-
0(0)0k k => 先写成递归形式:
{}0
()ln()()max y V x x y V y αβ≥=-+
由(2)得到:
1
()V y x y
α
β'=- (6) 由(3)得到: