没有合适的资源?快使用搜索试试~ 我知道了~
首页运筹学第七章:动态规划.pdf
运筹学第七章:动态规划.pdf
需积分: 48 13 下载量 158 浏览量
更新于2023-03-03
评论 2
收藏 464KB PDF 举报
运筹学教程第5版第七章:动态规划的一个学习笔记。基本上是抄书,例子要少一些,主要是在抄写过程中加深记忆,同时方便以后查看。
资源详情
资源评论
资源推荐
运筹学第七章:动态规划
Charles007
November 23, 2020
动态规划是解决多阶段决策过程最优化问题的一种方法。它可用于解决最优路径问题、资源分配问题、生产
计划与库存、投资、装载、排序等问题及生产过程的最优控制等。由于它有独特的解题思路,在处理某些优化问
题时,比线性规划或非线性规划方法更有效。
动态规划模型的分类:离散确定型;离散随机型;连续确定型;连续随机型。其中离散确定型是最基本的,
文中主要针对这类问题介绍动态规划的基本思想、原理和方法。不过这些对其他类型的问题也适用。
1 多阶段决策过程的最优化
多阶段决策过程,是指可以按时间顺序分为若干阶段,而每个阶段都需要做出决策,以使整个活动过程的总
体效果最优的过程。由于各段决策间有机地联系在一起,本阶段决策的执行会影响到下阶段的决策,以至于影响
总体效果,所以决策者在每阶段决策时不应仅考虑本阶段最优,还应考虑对最终目标的影响,从而做出对全局来
讲是最优的决策。
动态规划方法与“时间”关系密切,随着时间过程的发展而决定各时段的决策,产生一个决策序列,这就是
“动态”的意思。然而它也可以处理与时间无关的静态问题,如某些线性规划或非线性规划问题,只要在问题中
人为地引入“时段”因素,将问题看成多阶段决策过程即可。
2 动态规划的基本概念和基本原理
2.1 动态规划的基本概念
动态规划的基本概念有5个:阶段;状态;决策和策略;状态转移方程;指标函数。
(1) 阶段。将所给问题的过程,按时间或空间特征分成若干互相联系的阶段,以便按次序去求每阶段的解,常
用字母 k 表示阶段变量。
(2) 状态。各阶段开始时的客观条件叫做状态。描述各阶段状态的变量称为状态变量,常用 s
k
表示第 k 阶段
的状态变量,状态变量 s
k
的取值集合称为状态集合,用 S
k
表示。动态规划中的状态应具有如下性质:当
某阶段状态给定以后,在这阶段以后过程的发展不受这段以前各段状态的影响。也就是说,当前的状态是
过去历史的一个完整总结,过程的过去历史只能通过当前状态去影响它未来的发展,这称为无后效性。如
果所选定的变量不具备无后效性,就不能作为状态变量来构造动态规划模型。
(3) 决策和策略。当各阶段的状态取定以后,就可以做出不同的决定 (或选择),从而确定下一阶段的状态,这
种决定称为决策。表示决策的变量,称为决策变量,常用 u
k
(s
k
) 表示第 k 阶段当状态为 s
k
时的决策变量。
在实际问题中,决策变量的取值往往限制在一定范围内,我们称此范围为允许决策集合,常用 D
k
(s
k
) 表示
第 k 阶段从状态 s
k
出发的允许决策集合,显然有 u
k
(s
k
) ∈ D
k
(s
k
)。
(4) 状态转移方程。动态规划中本阶段的状态往往是上一阶段状态和上一阶段的决策结果。如果给定了第 k 阶
段的状态为 s
k
,决策为 u
k
(s
k
)。那么,第 k + 1 阶段的状态 s
k+1
也就完全确定,它们的关系可表示如下:
s
k+1
= T
k
(s
k
, u
k
)
这就是状态转移方程。
1
(5) 指标函数。用于衡量所选定策略优劣的数量指标称为指标函数。它分为阶段指标函数和过程指标函数两种。
阶段指标函数是指第 k 阶段,从状态 s
k
出发;采取决策 u
k
时的效益,用 d(s
k
, u
k
) 表示。而一个 n 阶段
决策过程,从1到 n 叫作问题的原过程,对于任意一个给定的 k(1 ≤ k ≤ n),从第 k 到 n 阶段的过程称为
原过程的一个后部子过程。V
1,n
(s
1
, p
1,n
) 表示初始状态为 s
1
采用策略 p
1,n
时原过程的指标函数。最优指
标函数记为 f
k
(s
k
),它表示从第 k 阶段状态 s
k
采用最优策略 p
∗
k,n
到过程终止时的最佳效益值。f
k
(s
k
) 与
V
k,n
(s
k
, p
k,n
) 间的关系为
f
k
(s
k
) = V
k,n
(s
k
, p
∗
k,n
) = opt
p
k,n
∈P
k,n
V
k,n
(s
k
, p
k,n
)
当 k = 1 时,f
1
(s
1
) 就是从初始状态 s
1
到全过程结束的整体最优函数。
2.2 动态规划的基本思想和最优化原理
动态规划的基本思想可以总结为:
(1) 将多阶段决策过程划分阶段,恰当地选取状态变量、决策变量及定义最优指标函数,从而把问题化成一族
同类型的子问题,然后逐个求解。
(2) 求解时从边界条件开始,逆 (或顺) 过程行进方向,逐段递推寻优。在每一个子问题求解时,都要使用它前
面已求出的子问题的最优结果,最后一个子问题的最优解,就是整个问题的最优解。
(3) 动态规划方法是既把当前一阶段与未来各阶段分开,又把当前效益和未来效益结合起来考虑的一种最优化
方法,因此每段的最优决策选取是从全局考虑的,与该段的最优选择一般是不同的。动态规划的基本方程
是递推逐段求解的根据,一般的动态规划基本方程可以表示为
f
k
(s
k
) = opt
u
k
∈D
k
(s
k
)
[v
k
(s
k
, u
k
) + f
k+1
(s
k+1
)] k = n, n − 1, · · · , 1
f
n+1
(s
n+1
) = 0
(1)
式中 opt 可根据题意取 min 或 max,v
k
(s
k
, u
k
) 是状态为 s
k
,决策为 u
k
时对应的第 k 阶段的指标函数值。
动态规划的最优化原理。动态规划方法基于贝尔曼等人提出的最优化原理。其可表述为:“一个过程的最优
策略具有这样的性质:即无论初始状态及初始决策如何,对于先前决策所形成的状态而言,其以后的所有决策应
构成最优策略。”利用此原理,可以把多阶段决策问题求解过程表示成一个连续的递推过程,由后向前逐步计算。
在求解时,前面的各状态与决策,对后面的子过程来说,只相当于初始条件,并不影响后面子过程的最优决策。
3 动态规划模型的建立与求解
3.1 动态规划模型的建立
一般地,建立动态规划模型的要点如下:
1. 分析题意,识别问题的多阶段特性,按时间或空间的先后顺序适当地划分为满足递推关系的若干阶段,对
非时序的静态问题要人为地赋予“时段”的概念。
2. 正确地选择状态变量,使其具备两个必要特征:
(1) 可知性:即过程演变的各阶段状态变量的取值,能直接或间接地确定。
(2) 能够确切地描述过程的演变且满足无后效性。即由第 k 阶段的状态 s
k
出发的后部子过程,可以看作
是一个以 s
k
为初始状态的独立过程。这一点并不是每个问题都很容易满足的。例如“货郎担问题”,
就不能像前面处理最短路问题一样,把城镇位置作为状态变量,而需要把含该城镇在内及以前走过的
全部城镇的集合定义为状态,才能实现无后效性。
3. 根据状态变量与决策变量的含义,正确写出状态转移方程 s
k+1
= T
k
(s
k
, u
k
) 或转移规则。
4. 根据题意明确指标函数 V
k,n
,最优指标函数 f
k
(s
k
) 以及 k 阶段指标 v
k
(s
k
, u
k
) 的含义,并正确列出最优指
标函数的递推关系及边界条件 (即基本方程)。
2
3.2 逆序解法与顺序解法
动态规划的求解有两种基本方法:逆序解法 (后向动态规划方法)、顺序解法 (前向动态规划方法)。这两种方
法的原理是一样的,只是递推方向不同,得到的结果也有一些差异。
先介绍逆序解法。考虑图 1所示的求最短路径的例子。
Figure 1: 最短路径问题
所谓逆序解法,就是从过程的最后一个阶段开始递推。对于本例,其过程为:
(1) 从 k = 5 开始,状态变量 s
5
可取两种状态 E
1
、E
2
,它们到 F 点的路长分别为 4、3。即
f
5
(E
1
) = 4 f
5
(E
2
) = 3
(2) k = 4,状态变量 s
4
可取三个值 D
1
、D
2
、D
3
,这是经过一个中途点到达终点 F 的两级决策问题,从 D
1
到 F 有两条路线,需加以比较,取其中最短的,即
f
4
(D
1
) = min
d(D
1
, E
1
) + f
5
(E
1
)
d(D
1
, E
2
) + f
5
(E
2
)
= min
3 + 4
5 + 3
= 7
这说明由 D
1
到终点 F 最短距离为 7,其路径为 D
1
→ E
1
→ F 。相应决策为 u
∗
4
(D
1
) = E
1
。
f
4
(D
2
) = min
d(D
2
, E
1
) + f
5
(E
1
)
d(D
2
, E
2
) + f
5
(E
2
)
= min
6 + 4
2 + 3
= 5
即 D
2
到终点的最短距离为 5,其路径为 D
2
→ E
2
→ F 。相应决策为 u
∗
4
(D
2
) = E
2
。
f
4
(D
3
) = min
d(D
3
, E
1
) + f
5
(E
1
)
d(D
3
, E
2
) + f
5
(E
2
)
= min
1 + 4
3 + 3
= 5
即 D
3
到终点的最短距离为 5,其路径为 D
3
→ E
1
→ F 。相应决策为 u
∗
4
(D
3
) = E
1
。类似地,可得
(3) k = 3 时,有
f
3
(C
1
) = 12 u
∗
3
(C
1
) = D
1
f
3
(C
2
) = 10 u
∗
3
(C
2
) = D
2
f
3
(C
3
) = 8 u
∗
3
(C
3
) = D
2
f
3
(C
4
) = 9 u
∗
3
(C
4
) = D
3
(4) k = 2 时,有
f
2
(B
1
) = 12 u
∗
2
(B
1
) = C
2
f
2
(B
2
) = 10 u
∗
2
(B
2
) = C
3
3
剩余11页未读,继续阅读
KnowledgeIsMagic
- 粉丝: 2
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0