动态规划的基本概念和基本原理

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

第1章 动态规划的基本概念和基本原理

在这一章中,我们将通过一个具体而典型的例子(最短行军路线问题),引出有关动态规划的一些名词和记号,进而得到动态规划的基本原理。

1.1 最短行军路线问题及标号法

问题描述:图1.1中给出一个行军路线网络,从A 点要走到G 点,中间要经过B 、C 、D 、……等很多点,各点间的距离如图中所示,今要求选择一条由A 点到G

点的最短行军路线。

图 1.1

这是个多阶段决策问题。从A 点到G 点可以分为6个阶段,从A 点出发到B 点为第一阶段。这时有两个选择:一是到B 1点;二是到B 2点。若我们选择到B 2点的决策,则B 2点就是第一阶段决策的结果,它既是第一阶段的终点,又是下一阶段(第二阶段)路线的始点。在第二阶段,再从B 2点出发,这时有三个选择,即对应于B 2点就有一个可供选择的终点集合{,,}。若选择由B 2C 3C 4C 2走到C 2为第二阶段的决策,则C 2就是第二阶段的终点,同时又是第三阶段的始点。类似地可以递推下去,直到终点G 点。我们可以看到,各个阶段的决策不同,所走的路线也就不同。现在要求:在各个阶段中选取一个恰当的决策,使由这些决策所决定的一条路线,其总距离最近。

下面我们利用“标号法”来求解这个问题。首先要注意到下面一个明显面重要的事实:如果某一条路线,如是最优路线,那么无论从该路线中的哪一点开始(如从D G F E D C B A →→→→→→221211点开始)到达终点G 点的那一段路线,仍然是从D 1点到达终点G 的所有可能选择的不同的路线的最优路线,称为由D 1出发的最短子路线。这一事实,以后我们称之为“最优化原理”。因为如果不是这样,从D 1点到终点还有另一条更短的子路线存在,那么把它和原来最短路线由始点A 到达D 1点的那部分连接起来,就会形成一条比原来最短路线更短的路线,而这是不可能的。

根据上面的事实,我们可以从后段开始逐段往前求最优子路线,从而得到全

过程最优路线。在逐段求最优子路线时,采用“标号法”,见图1.2。

图 1.2

先标第五段:因从或到G 点,仅各有一条路线,因而也分别是它们的最短路线,于是将其最短距离值4和3分别标写在和的圆圈内,并划上路径G 及G 。

1F 2F 1F 2F 1F →2F →再标第四段:从点出发有两条路线可供选择:一是从过到G 点,其距离值为3+4=7;另一是从过到G 点,其距离值为5+3=8。这样,从出发过到G 点是最短路径,将其距离值7标写在的圆圈内,并划上路径F 。同样,从出发,也有两种决策可供选择,即G 和G ,并划上路径。同理,到G 的最优路径为G ,其值为6+3=9,将9标写在的圆圈内,并划上路径。

1E 1E 1F 1E 2F 1E 1F 1E 1E →2E 2E →1F →2E →2F →2E →2F 3E 3E →2F →3E 3E →2F 标第三段:从出发,也有两种决策可供选择:一是过去G 点,其最优距离为+到G ,最优距离为2+7=9;另一是过去G 点,其最优距离为+到G ,最优距离为2+5=7.因此,从出发,过去G 点的路线是最优路线,将其距离值7标写在圆圈内,并划上路径。同理,从出发,过去G 点是它的最优路径,将其距离值1+5=6标写在圆圈内,并划上。同理,在的圆圈内标写上从到G 的最优距离值3+5=8,并划上最优路径。

1D 1E 1D 1E 1E 2E 1D 2E 2E 1D 2E 1D 1D →2E 2D 2E 2D 2D →2E 3D 3D 3D →2E 继续仿照上述逆推过程一直标写到始点A ,在A 点也有两种决策可供选择:一是过去G 点,其最优距离为5+13=18;另一是过去G 点,其最有距离为3+16=19,因此,应选过的路线,将其最优距离值18标写在A 圆圈内,并划上其最优路径A →。

1B 2B 1B 1B 于是,从图1.2中易知,我们从A 出发,顺推回去,即得最优路径:A →1B → 2C →1D →2E →2F →G 其最优距离值为18。

上述标号法要比穷举法优越得多,表现在以下几个方面:

(1) 计算量少。穷举法要对48条路径进行比较,即进行比较运算47次,即

使用逐段累加方法也要进行加法运算6+12+24+48+48=138次。而标号法共进行比较运算3+3+4+4+1=15次,每次比较运算相应有两次加法运算,再去掉中间重复的两次(即,各多算了一次),实际只有28次加法运算。

1B →1C 2B →4C (2) 丰富了计算结果。标号法计算,使我们不仅得出A 出发到达终点G 的最短线及其相应的最短距离值,而且得到了从所有各中间点出发到达G 点的最短路线和它相应的最短距离,这对许多实际问题来讲是很有用的,有利于帮助分析所得的结果。

1.2 动态规划的基本概念

求解最短行军路线问题的标号法,事实上就是动态规划方法的具体体现,因此,我们从该问题的标号法解法中,可以看到动态规划方法的一般思路。下面我们将从严格的理论基础上,引入动态规格的基本概念,以建立动态规划的数学模型。

1.阶段

把所给问题的过程恰当地分成若干个相互联系的阶段,以便于求解,过程不同,阶段数就可能不同。描述阶段的变量称为阶段变量。在多数情况下,阶段变量是离散的,用表示。此外,也有阶段变量是连续的情形。如果过程可以在任何时刻做出决策,且在任意两个不同的时刻之间允许有无穷多个决策时,阶段变量就是连续的。

k 在最短行军路线的例子中,共分为六个相互联系的阶段,常用k 表示阶段变量。从起点A 到点B 为第一阶段,从点B 到点C 为第为第二阶段,……,点F 到点G 为第六阶段,即0,1,,5k = ,对有个阶段的问题,的值为。

n k 0,1,,1k n =− 2.状态

状态表示每个阶段开始面临的自然状况或客观条件,它不以人的主观意志为转移,也称为不可控因素。过程的状态通常可以用一个或一组变数描述,称为状态变量,常用k x 表示第阶段的某一状态。第阶段的状态变量k k k x 的取值集合称

为状态集合,记为 或。例如最短行军

路线问题的第二阶段的状态集合可记为

{1,2,,}k X r = },...,,{)()2()1(

r k k k k x x x X x k =∈},...,,{)4(2)2(2)1(

22x x x X =={1,2,3,4}={,,,}

1C 2C 3C 4C 一般而言状态是离散的,但从分析的观点看,有时将状态作为连续变量处理将会有更多的好处。另外状态可以有多个分量,用向量来表示,称为多维状态。而每个阶段的状态维数可以不同。如果给定过程某一阶段的状态,那么在这段以后过程的发展要受到该段给定状态的影响,而不受该段以前各段状态的影响。这就是说:过程的发展,只受当前的状态的影响,过去的历史只能通过当前的状态去影响它的未来,而不能直接影响它的未来。这种特性叫做无后效性。

相关文档
最新文档