动态规划
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
建立动 态规划 模型必 须先确 定这些
1.阶段
阶段是对整个过程的划分。通常根据时间顺 序和空间特征来划分阶段,以便按阶段的次 序解优化问题; 阶段变量一般用k表示,如k=1,2,3,…,n 例子2中的4个季度依次分为k=1,2,3,4个阶段
2.状态
表示每个阶段开始时过程所处的自然状况。 状态能描述过程的特征并且具有无后效性, 即当某阶段的状态给定时,这个阶段以后过 程的演变与该阶段以前的状态无关。 描述状态的变量成为状态变量。用xk表示k阶 段的状态变量。变量允许范围构成允许状态 集合。 例子1中:x2可取B1, B2。若将Bi定义为i;则 Xi={1,2}
1.前向动态规划方程
2.后向动态规划方程
后向动态规划的基本方程
f k ( xk )
uk U k ( xk )
opt [vk ( xk , uk ) f k 1 ( xk 1 )], , 2,1
* k * k
源自文库
k n, n 1,
或者表示为:
f k ( xk ) vk ( xk , u ) f k 1 (Tk ( xk , u )), k n, n 1,
, n 1, n
状态转移方程
xk Tk 1 ( xk 1 , uk 1 ), xk X k , k 1, 2, , n.
初始条件是:
f1 ( x1 ) ( x1 )
动态规划与静态规划
1、在一定情况下,两种规划可以相互转换 2、动态规划可以看作求决策u1,u2,…,un, 使指标函数V1n达到最优(最大或最小)的极 值过程,状态转移方程、端点条件以及允许 状态集、允许决策集等是约束条件。原则上 用非线性规划求解; 3、一些静态规划通过适当引入阶段变量、状 态、决策等可以用动态规划求解。(如一些 线性规划)
动态规划的优点
1、能够得到全局最优解; 2、可以得到一族最优解;非线性规划只得到 一个最优解; 3、能够利用经验提高求解效率,如在策略迭 代法中,通过实际经验选择较好的初始策略, 提高收敛速度。
动态规划的缺点
1、没有统一的标准模型,也没有构造模 型通用的方法,甚至没有判断一个问题能 否构造动态规划模型的标准。建模需要丰 富的想象力和灵活性,这对应用带来局限。 2、用数值方法求解时存在维数灾。求解 过程要计算、存储大量数据。适用范围较 小。
动态规划是运筹学的一个分支,是求解决策过 程最优化的数学方法。 20 世纪 50 年代初美国数学家 R.E.Bellman 等人 在研究多阶段决策过程的优化问题时,提出了著 名的最优性原理,把多阶段过程转化为一系列单 阶段问题,逐个求解。
动态规划
动态规划自问世以来,在经济管理、生产调度、 工程技术和最优控制等方面得到了广泛的应用。 例如最短路线、库存管理、资源分配、设备更新、 排序等问题。 虽然动态规划主要用于求解以时间划分阶段的 动态过程的优化问题,但是一些与时间无关的静 态规划(如线性规划、非线性规划),通过人为 引入时间因素,把它视为多阶段决策过程,也可 以用动态规划方法求解。
决策过程分类
根据过程的时间变量是离散还是连续,分为: 1、离散时间决策过程(即多阶段决策过程) 2、连续时间决策过程(控制问题) 根据过程的演变是确定的还是随机的,分为: 1、确定性决策过程 2、随机性决策过程 应用最广的是:确定性多阶段决策过程
涉及概念
阶段 状态 决策 策略 状态转移方程 指标函数和最优值函数
主要参考书:
张润琦,《动态规划》,北京理工大学出版社, 1989
孙世新,《组合数学》,电子科技大学出版社, 1995
现代应用数学手册,《运筹学与最优化理论 卷》,清华大学出版社,1998
学习目标:
掌握动态规划模型基础
建立前向或后向动态规划模型
掌握编写动态规划程序的一般方法
实际问题建模及编程实现
动态规划 (Dynamic Programming)
5.状态转移方程
在确定性过程中,一旦某阶段的状态和决策 为已知,下阶段的状态便完全确定。用状态 转移方程表示。 记作:xk+1=Tk(xk,uk),k=1,2,…,n. (这是后向动态规划的状态转移方程)
6.指标函数和最优值函数
指标函数Vkn是衡量过程优劣的数量指标 最优值函数值在给定xk时,指标函数Vkn对 pkn的最优值称为最优值函数,记作fk(xk),即 fk(xk) = opt Vkn(xk,pkn) pkn عPkn(xk) opt为max或min
如何学习动态规划方法,以便将一个 问题抽象为一个动态规划模型?
1、通过阅读和结合实例,理解动态模型的一般构 成及概念 2、看懂一个动态规划模型的建立、求解例子 3、编程序实现这个例子 如此,基本掌握了动态规划模型的建模和求 解过程(包括软件实现)
学习动态规划疑难点:
建立动态规划模型
动态规划模型求解程序设计(递归)
多阶段决策过程 最优化问题的典型例子
例子1:最短路线问题 寻找一条从S地到T地地最短路线(图略)
例子2:生产计划问题
工厂生产某种产品,每单位(千件)地成本为1 (千元),每次开工地固定成本为3(千元),工 厂每季度地最大生产能力为6(千元)。经调查, 市场对该产品地需求量第一、二、三、四季度分 别为2,3,2,4(千件)。 如果工厂在第一、二季度将全年地需求量都生产 出来,自然可以降低成本(少付固定成本费), 但是对于第三、四季度才能上市地产品需付存储 费,每季每千件地存储费为0.5(千元)。还规定 年初和年末这种产品均为库存。试制定一个生产 计划,即安排每个季度地产量,使一年的总费用 (生产成本和存储费)最少。
4.策略
决策组成的序列成为策略。 由初始状态xk开始的全过程的策略记为 p1n(x1); 即p1n(x1)={u1(x1), u2(x2), u3(x3),…, un(xn)} 第k阶段的状态xk开始到终止状态的后部子 过程的策略记作:pkn(xk) pkn(xk)={uk(xk), uk+1(xk+1),…, un(xn)},k=2,…,n 可供选择的策略有一定范围,成为允许策 略集合,一般用Pkn(xk) , Pkj(xk)表示。
程序中如何实现回溯得到最优策略?
3.决策
当某个阶段的状态确定后,可以做出各种选 择从而演变到下一个阶段的某个状态。这种 选择手段成为决策(在最优控制问题中称为 控制)。 描述决策的变量成为决策变量(简称决策), 变量允许取值的范围成为允许决策集合。 uk(xk)表示第k阶段处于状态xk时的决策变量。 它是xk的函数。 Uk(xk)表示xk允许的决策集合。 如例子1: u2(B1)可以为C1, C2, C3, 可记U2(1)={1,2,3}
状态转移方程
初始条件是:
, 2,1
xk 1 Tk ( xk , uk ), xk X k
fn1 ( xn1 ) ( xn1 )
前向动态规划的基本方程
f k 1 ( xk 1 ) k 1, 2,
uk 1U k 1 ( xk 1 )
opt
[vk 1 ( xk 1 , uk 1 ) f k ( xk )],