10427-数学建模-动态规划的原理及应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

动态规划的原理及应用

动态规划是运筹学的一个分支,是求解多阶段决策过程的最优化数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,把多阶段过程转化为一系列单阶段问题,逐个求解,创立了解决这类问题的新方法——动态规划。

动态规划主要用于以时间划分阶段的动态过程优化问题,但一些与时间无关的静态规划如线性规划或非线性规划,人为引进时间因素后,把它们看成多阶段过程,也可用动态规划求解。

1.动态规划的基本理论

一.动态规划的术语

在研究现实的系统时,我们必须将系统具体的术语抽象为数学统一的术语。在此先简要介绍动态规划中的常用术语。

级:我们把系统顺序地向前发展划分为若干个阶段,称这些阶段为“级”。在离散动态规划中,“级”顺序的用自然整数编号,即1,2,…,n.

状态(λ):用来描述、刻画级的特征。状态可以是单变量,也可以时向量。在此,我们假设研究的状态具有“无记忆性”,即当前与未来的收益仅决定于当前的状态,并不依赖于过去的状态和决策的历史。

状态空间(Λ):由全部系统可能存在的状态变量所组成。

决策:在每一级,当状态给定后,往往可以做出不同的决定,从而确定下一级的状态,这种决定称为决策。描述决策的变量称为决策变量。对每个状态λ∈Λ,有一非空集X(λ)称为λ的决策集。决策变量x(λ)∈X(λ)。

变换:若过程在状态λ,选择决策x(λ),可确定一个状态集T(λ,x(λ)),过程将从λ移动到其中某个状态.T(λ,x(λ))称为变换函数,它确定过程从一个状态到另一个状态的演变。T(λ,x(λ))可分为两种类型,即确定型和不确定型。确定型的T(λ,x(λ))只含有一个元。不确定型指我们不能确切知道决策的结果,但作为某已知概率分布支配的变换结果,在每级状态和决策是确定的。这时,集函数T(λ,x(λ))将包含多个元素。当T(λ,x(λ))=0 时,过程终止。

策略:顺序排列的决策集,记为v。所有可能的策略集构成策略空间Γ。

收益:评价给定策略的目标函数r(λ,v),它依赖于状态和策略。总收益是集收益s(λ,v)的某个组合(通常为集收益之和)。若T(λ,x(λ))=0,则r(λ1,v1)= s(λ1,v1);若T(λ,x(λ))= λ2,则r(λ1,v)= s(λ1,v1)+ r(λ1,v2)。

二.序贯决策过程

动态规划的寻优过程可以有正序、逆序两种方式。当初始状态给定时,用逆序方式比较好,当终止状态给定时,用正序方式较好。

采用分级的序贯决策方法,把一个含有n个变量的问题转化为求解n个单变量问题。为了应用最优化原理,必须满足分级条件,即目标函数可分性和状态可分性。

目标函数可分性:

1n j sj =∑ = 1n

j sj =∑(λj, vj )

状态可分性:即在n+1 级做决策x(n+1) 后,状态λ(n+1)仅取决于λ(n)和x(n+1) ,而与以前的状态无关。也就是系统的无记忆性。

三.最优性定理和基本方程

Bellman 的最优性原理指出:不管该最优策略上某状态以前的状态和决策如何,对该状态而言,余下的诸决策必构成最优子策略.由此得出最优性定理:

策略v(1,n)=( λ1, λ2,…, λn)是最优子策略的充分必要条件是:对任一k(1

r(λ1,v*(1,n))=min r(λ1,v(1,n))

=min [r(λ1,v(1,k-1))+v(λk,v(k,n))]

因此,在策略集V (1,n )上求最优解,就等价于先在子策略集V (k,n )上求最优解,然后再求这些子最优解在子策略空间V (1,k-1)上的最优解。

逆序递推的基本方程:

r*(λk) = min [r(λk,vk)+r*(λk+1)] 终端条件:r*(λn+1) = 0

式中: λk+1 = T(λk, vk)

顺序递推的基本方程:

r*(λk+1) = min [r(λk+1,vk)+r*(λk)] 始端条件:r*(λ1) = 0

式中: λk+1 = T(λk, vk)

2.动态规划的应用举例

用动态规划求解实际问题,首先要建立动态规划模型,需进行以下几方面工作:

(1)正确划分阶段及选择阶段变量k。

(2)正确选择状态变量λk,状态变量应满足以下两个条件:

1.能正确描述受控过程的演变特征。

2.无后效性

(3)正确选择决策变量及确定个级允许决策集合。

(4)写出状态转移方程(以逆序为例)

λk+1 = T(λk, vk)

(5)确定阶段目标函数的形式,目标函数必须具有可分性,并满足递推关系。

(6)写出基本方程即最优值函数满足的递推方程及端点条件(以逆序极小化为例):

r*(λk) = min [r(λk,vk)+r*(λk+1)] 终端条件:r*(λn+1) = 0

例最短路径问题

如图,给定一个运输网络,两点之间连线上的数字表示两点间的距离。试求一条从A到E的运输路线,使总距离最短。

从图中可以看出,我们可以把从A到E的过程分成若干个阶段,这里是四个阶

段。处于每个阶段时,都要选择走哪条支路——决策,一个阶段的决策除了影响该阶段的效果之外,还影响到下一阶段的初始状态,从而也就影响到整个过程以后的进程。因此,在进行某一阶段的决策时,就不能只从这一阶段本身考虑,而应使整体的效果最优。

我们可以从最后一个阶段开始,由终点向始点方向逐阶递推,寻找各点到终点的最短路径,当递推到始点时,即得到了从始点到终点的全过程最短路。这种由后向前的递推方法,正是动态规划的寻优思想。

下面我们对这个问题进行求解。把从A 到E 的全过程分为四个阶段,用k 表示阶段变量。第一阶段,有一个初始状态A ,三条可供选择的支路1AB 、2AB 、3AB ,以此类推。我们用k d (k x ,1k x +)表示在第k 阶段由初始状态k x 到下阶段的初始状态1k x +的支路距离。用k f (k x )表示从第k 阶段的k x 到终点E 的最短距离。 用逆序递推的方法:

1.阶段k = 4

相关文档
最新文档