您的位置:大榕树 \ 编程
|
Logo语言
|
Pascal语言
|
信息学奥赛
|
高考保送
| HTML版本
|
动态规划问题的数学描述
http://www.mydrs.org 10/14/2001 大榕树
首先,例举一个典型的且很直观的多阶段决策问题: [例] 下图表示城市之间的交通路网,线段上的数字表示费用,单向通行由A->E。试用动态规划的最优化原理求出A->E的最省费用。
 如图从A到E共分为4个阶段,即第一阶段从A到B,第二阶段从B到C,第三阶段从C到D,第四阶段从D到E。除起点A和终点E外,其它各点既是上一阶段的终点又是下一阶段的起点。例如从A到B的第一阶段中,A为起点,终点有B1,B2,B3三个,因而这时走的路线有三个选择,一是走到B1,一是走到B2,一是走到B3。若选择B2的决策,B2就是第一阶段在我们决策之下的结果,它既是第一阶段路线的终点,又是第二阶段路线的始点。在第二阶段,再从B2点出发,对于B2点就有一个可供选择的终点集合(C1,C2,C3);若选择由B2走至C2为第二阶段的决策,则C2就是第二阶段的终点,同时又是第三阶段的始点。同理递推下去,可看到各个阶段的决策不同,线路就不同。很明显,当某阶段的起点给定时,它直接影响着后面各阶段的行进路线和整个路线的长短,而后面各阶段的路线的发展不受这点以前各阶段的影响。故此问题的要求是:在各个阶段选取一个恰 当的决策,使由这些决策组成的一个决策序列所决定的一条路线,其总路程最短。
动态规划为此类多阶段决策问题寻求了一种简便的方法。为了便于讨论,我们先引入动态规划问题的一些概念、术语和符号。
名词解释: (1)决策和阶段 在对问题的处理中作出某种选择性的行动就是决策。例如在且点需选择下一步到B1还是到B2,这就是一次决策。一个实际问题可能要有多次决策或多个决策点,为此对整个问题,可按其特点划分成需要作出选择的若干轮次,这些轮次即称为阶段。如图中,从A到E共分为4个阶段,即第一阶段从A到B,第二阶段从B到C,第三阶段从C到D,第四阶段从D到E。 (2)状态和状态变量
某一阶段的出发位置称为状态。通常一个阶段包含若干状态。例如阶段3含有3种状态C1,C2,C3。状态通常可有一个变量来描述,用来描述状态的变量称为状态变量,记第K阶段的状态变量为Uk。例如U3={C1,C2,C3}。 (3)决策变量和允许决策集合
在每一个阶段中都需有一次决策,决策也可以用一个变量来描述,称这种变量为决策变量,一般用Xk表示第K阶段的决策变量。在实际问题中,决策变量的取值往往限制在某一个范围之内,此范围称为允许决策集合,用Sk表示第K阶段的允许决策集合。例如,S3={D1,D2},它表示第三阶段可有两种不同的决策。那么Xk与Sk 之间的关系是UK+1=Xk(Uk)。当第K阶段的状态确定之后,可能作出的决策范围还要受到这一状态的影响,这就是说,决策变量Xk是状态变量Uk的函数,记为Xk(Uk),简记为Xk。把Xk的取值范围记为Sk(Uk),显然有Xk(Uk)∈Sk(Uk)。 例如在图的第三阶段中,若从状态C1出发,就可作出二种不同的决策,其允许决策集合S3(C1)={D1,D2}。若选取的点是D2,则D2是状态C1在决策X3(C1)作用下的下个新的状态,记作X3(C1)=D2。
(4)策略和最优策略
所有阶段依次排列构成问题的全过程。全过程中各阶段决策变量Xk(Uk)所组成的有序总体称为策略。在实际问题中,可供选择的策略有一定的范围,该范围称为允许策略集合P。从P中找出最优效果的策略称为最优策略。
(5)状态转移方程
前一阶段的终点就是后一阶段的起点,前一阶段的决策变量就是后一阶段的状态变量,这种关系描述了由K阶段到K十1阶段状态的演变规律,称为状态转移方程。如上图的状态转移方程为UK+1=Xk(Uk)。 (6)动态规划的函数基本方程 为了帮助大家理解动态规划的基本思想,先说最短路线的一个重要特性:如果从A->B->C->D是A至D的最短路线,那么从B到D的最短路线必是B->C->D。更一般地说:如果最短路线在第K阶段通过Pk,则由点Pk出发到达终点的这条路线对于从Pk出发到达终点的所有可能选择的不同路线来说,必定也是最短路线。 这就引出了从终点逐段向始点方向寻找最短路线的一种方法: 若以Uk表示第K阶段的一个决策点,从终点开始,依逆向求出倒数第一阶段、倒数第二阶段、倒数第三阶段、……、倒数第N-1阶段中各点到达终点的最短路线。最终求出从起点到终点的最短路线。这就是动态规划的基本思想。 下面,我们按照动态规划的方法将上例从最后一段开始计算,由终点E向前逐步倒推至起点A。 设Uk表示第K阶段的一个决策点,Fk(Uk)表示从第K阶段中的点Uk到达终点的最短路线的长度,Sk(Xk,Uk)表示第K阶段中Xk到Uk的距离。 (当K=5时,F5(E)=0) 当K=4时,F4(D1)=5,F4(D2)=2。 当K=3时, F3(C1)=min[S3(C1,D1)+F4(D1),S3(C1,D2)+F4(D2)]=min[8,11]=8。 F3(C2)=min[S3(C2,D1)+F4(D1),S3(C2,D2)+F4(D2)]=min[7,11]=7。 F3(C3)=min[S3(C3,D2)+F4(D2)]=min[12]=12。 当K=2时, F2(B1)=min[S2(B1,C1)+F3(C1),S2(B1,C2)+F3(C2)]=min[20,21]=20。 F2(B2)=min[S2(B2,C1)+F3(C1),S2(B2,C2)+F3(C2),S2(B2,C3)+F3(C3)] =min[14,17,16]=14。 F2(B3)=min[S2(B3,C1)+F3(C1),S2(B3,C2)+F3(C2),S2(B3,C3)+F3(C3)] =min[21,19,23]=19。 当K=1时, F1(A)=min[S1(A,B1)+F2(B1),S1(A,B2)+F2(B2),S1(A,B3)+F2(B3)] =min[22,19,20]=19。 其中X1(A)=B2,X2(B2)=C1,X3(C1)=D1,X4(D1)=E 组成一个最优策略。路线 A->B2->C1->D1->E 为从A到E的最短路线。最短路线长19。 从上面的计算过程中,我们可以看出,在求解的各个阶段,我们利用了K阶段与K+1阶段之间的如下关系: Fk( Uk)=min[Sk(Uk,Xk)+Fk+1(Xk)] k=4,3,2,1 F5( U5)=0 这种递推关系,叫做动态规划的函数基本方程。 动态规划的最优化原理是“作为整个过程的最优策略具有这样的性质:无论过去的状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。” 与穷举法相比,动态规划的方法有两个明显的优点: (1)大大减少了计算量 (2)丰富了计算结果 从上例的求解结果中,我们不仅得到由A点出发到终点E的最短路线及最短距离,而且还得到了从所有各中间点到终点的最短路线及最短距离,这对许多实际问题来讲是很有用的。
动态规划的最优化概念是在一定条件下,我到一种途径,在对各阶段的效益经过按问题具体性质所确定的运算以后,使得全过程的总效益达到最优。
|
□-
近期热门文章 |
□-
相关文章 |
1.
NOIP2006竞赛大纲
[8307]
2.
七类高中生具有保送资格
[5911]
3.
NOI2006获奖选手名单
[4956]
4.
关于举办NOIP2006模拟赛的通告
[4107]
5.
Turbo Pascal各语句运行速...
[3595]
6.
Turbo王者归来新Delphi免费...
[3182]
7.
IOI2006我国4名选手全部获得金...
[2946]
8.
关于APIO2007与IOI2007...
[2764]
9.
noip倒计时 by 枯叶蝴蝶
[2684]
10.
朱泽园:思想上的金牌更重要
[2169]
|
|