动态规划及其在求最短路径问题中的应用

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

计算机算法设计与分析

论文名:动态规划及其在求最短路径问题中的应用

班级:12医软一班

学号:********

姓名:***

日期:2015年6月

动态规划及其在求最短路径问题中的应用

摘要:在概述动态规划原理的基础上,提出了动态规划数学模型建模主要步骤,并运用动态规划思想对最短路径进行求解,最后总结出动态规划在此类问题中的优越性。

关键字:动态规划;最短路径;多阶段决策。

在实践中有许多决策问题与时间有关系,决策过程分成若干阶段,各阶段的决策相互关联,共同决定最终的目标,这样的问题称之为多阶段决策问题。动态规划方法是解决多阶段决策过程最优化的一种方法。这一方法最初是由美国数学家R.Bellman等人在20世纪50年代提出的,实践证明许多问题用动态规划建模求解比用线性规划或非线性规划更加有效,特别是对离散性问题,运用解析数学无法解决,而动态规划就成为得力的工具。动态规划方法把一个比较复杂的问题分析为一系列同一类型的更容易求解的子问题先按照整体最优思想逆序求出各个可能状态的最优策略,然后顺序求出整个问题的最优策略和最优路径。由于将动态规划思想应用到求解运输问题的最短路径中,计算过程单一化便于应用于计算机,求解结果清晰明了,在实践应用中获得显著效果。

1 动态规划原理概述

动态规划最优化原理可以这样阐述:一个最优化策略不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸多策略必须构成最优策略,即其子策略总是最优的。任何思想方法都有一定的局限性,动态规划也有其适应的条件。如果某阶段的状态给定后,则在这阶段以后过程的发展不受这阶段以前各段状态的影响,这个性质称为无后效性,适用动态规划的问题必须满足这个性质;其次还须满足上述最优化原理。动态规划基本思想一是正确的写出基本的递推关系式和恰当的边界条件;二是在多阶段决策过程中,动态规划方法是即把当前一段和后来各阶段分开,又把当前效益和未来效益结合起来考虑的一种多阶段决策的最优化方法,每阶段决策和选取是从全局来考虑,与该段的最优选择的答案一般是不同的;三是在求整个问题的最优策略时,由于初始状态是已知的,儿每阶段的决策又都是该阶段状态的函数,因而最优策略所经过的各阶段状态便可逐次变换得到,从而确定最优路线。简而言之动态规划的基本思想就是把全局的问题化为局部的问题,为了全局最优必须局部最优。

2 动态规划建模主要步骤

用动态规划求解实际问题,首先要建立动态规划模型,需

要进行以下的基本步骤:

第一步:正确划分阶段,确定阶段变量,将多阶段决策问题的实际过程,恰当的划分为若干个相互独立又相互联系的

是需要做出一个决策的子问题。阶段通常是按决

策进行的时间或空间上的先后顺序划分的,阶段变量用K 表示。

第二步:确定状态,正确选择状态变量,在多阶段决策过程中,状态是描述研究问题过程的状况,表示每个阶段开始时所处的自然状况或客观条件。一个阶段有若干个状态, 用一个或一组变量来描述,状态变量必须满足两个条件:一是能描述过程的演变;二是满足无后效性,用s k 表示第k 个阶段的状态变量。

第三步:正确选择决策变量及允许的决策集合。决策的实质是关于状态的选择,是决策者从给定阶段状态出发对下一阶段状态做出的选择,而在实际问题中,决策变量的取值往往限制在某一范围内,此范围称之为允许决策集合。决策变量用u k 表示;允许的决策集合是决策变量的取值范围用

()s k

k

D 表示。

第四步:写出状态转换方程。状态转换方程的一般形式为s 1

k +=()u s k

k

,T k

这里的函数关系T 因问题的不同而不同,如果给定第k 个阶段的状态变量s k ,则该阶段的决策变量u k 一经确定第k+1阶段的状态变量s k 1+的值也就可以确定。

第五步:列出指标函数。根据题意写出指标函数,指标函数常用V n k ,表示。即

V n k ,=V n k ,()s s u n k k k 11,,,,s ++⋅⋅⋅,k=1,2,...,n 。 它满足以下三个性质:

a.它是定义在全过程及所有后部子过程上的数量函数;

b.具有可分离性,切满足递推关系,即 V n k ,=()V u s n k k k k ,1,,+φ;

c.函数()V u s n k k k k ,1,,+φ关于变量V n k ,1+要严格单调。

第六步:写出动态规划函数基本方程,用()s f n 1k +表示k-n 阶段的最优策略函数:

()(){0

.

1,,1,},{111

=⋅⋅⋅-=+=+++x

f

f

v s f n n k k

k

k

n n k opt

3 应用举例

最短路径问题就是从某地出发,途径若干中间点最后到达目的地,要求找出路程或费用最小的路线。这类问题最容易想到的就是穷举法,即将所有的路线都找出来再作比较,对于中间点较少的最短路径问题是可行的,但随着中间点的增加,计算量也大大的增加了。

例1 某工厂需将一笔物资从A 地发送到F 地,A 地到F 地之间的路线可以抽象成如下的线路图,其中节点A 表示发货地,节点F 表示目的地,中间节点表示中转站,边线表示可能路径,边线上的数值表示节点间的距离,问该工厂应该

如何运送才能使路线最短?

1 A 地到F 地的网状路径图

分析:首先根据网络图以及上节提到的建模方法,我们可以将运输过程划分为五个阶段,即阶段变量k=1,2,3,4,5;设状态变量s k 表示k 阶段的起点;决策变量u k 表示k 阶段的终点;状态转换方程为s u k 1k +=;阶段指标函数V n k ,表示k 阶段与所选择的路段相应的路长;()s f k k 表示第k 阶段点s k 到终点F 的运输总距离;递推关系式为

()(){0

.

1,2,3,4,5},min{1

==+=+u f

f

v s f s s

k k

k

k

k

下面利用表格进行计算,从最后一阶段开始向前递推: 表1 k=5时计算过程表

K=4时:利用第5阶段的数据推出本阶段(第4阶段)的结果如下表。

相关文档
最新文档