第11章 动态规划一个随事件或阶段推移的系统叫做动态系统,动态规划是解决多阶段决策过程最优化的一种数学方法。
一个系统依据某种方式分为许多个不同的阶段,这些阶段不仅有着次序推移性,而且相互间有着依赖和影响。
这样,在多阶段决策过程中,每个阶段决策的选择,不仅要依据次序来考查某阶段的效果,而且要顾及此决策对以后各阶段决策的影响。
一般情况下,为得到整个系统的最优选择,必须放弃对某个阶段来说最佳的决策。
对各个阶段所做的决策形成确定整个系统的决策序列,称这样的决策序列为系统的一个策略。
对应某一确定的策略,整个系统依据某种数量指标衡量其决策的优劣。
多阶段决策过程就是在所有允许策略集合中。
确定一个达到最有指标的最优策略。
这种衡量系统的指标一般取最大值或最小值的策略。
因此,多阶段决策过程也是一个可以构成多个变量的最优化问题。
动态规划就是解决此类多阶段决策过程的最优化方法。
虽然动态规划主要解决多阶段决策的动态系统,但是可分阶段的静态系统问题也能作为特例用它有效地求解。
§11.1 动态规划的基本原理本章通过构造数学模型,形成具有特殊的动态系统过程,将基于某种方式把整个过程分成若干个互相联系的阶段,在其每个阶段都需要作出决策,从而使整个过程达到最佳效果。
同时,各个阶段决策的选择依赖于该阶段的状态以及前阶段或后阶段的变化。
各个阶段决策确定后,组成一个决策序列,从而形成了整个过程具有前后关联的链状结构的多阶段决策过程,称为序贯决策过程。
先用下面的最短路问题(问题可分成阶段性)来说明动态规划的基本思想。
例 1,最短路问题。
图11—1所示是一个路线网络图,连线上的数字表示两点之间的距离(或费用),要求寻找一条由A 到E 的路线,使距离最短(或费用最省)。
对于这样的一个比较简单的问题,可直接使用枚举法例举所有从A 到E 得路线,确定出所应走的路线是距离最短或费用最少,用动态规划的思想,如果已找到由A 到E 得最短路线是A —B 1—C2—D 2—E (记作L ),那么当寻求L 中的任何一点(如C 2)到E 得最短路时,它必然是L 子路线 C 2—D 2—E(记作L 1)。
否则,如D 2到E 的最短路是另一条路线L 2,则把A —B 1—C 2与L2连接起来,就会得到一条不同于L 的从A 到E 得最短路,根据最短路的这一特性,可以从最后一段开始,用逐步向前递推的方法,一次求出路段上各点到E 的最短路,最后得到A 到E 得最短路。
上述这种由系统的最后阶段逐段向初始阶段求最优的过程称为动态规划的解法。
该过程揭示了动态规划的基础思想,为便于对动态规划的思想和方法进行数学描述,下面先引入动态规划的基本概念并建立最优目标函数。
(1)分阶段:适当地依据具体情况将系统分成若干个相互联系的阶段,并将各个段按顺序或逆序加以编号(常用K ),描述阶段的变量称为阶段变量。
如例1可分为5个阶段,k=1,2,3,4,5.(2)状态:状态表示系统在某一阶段所处的位置。
描述过程状态的变量称为状态变量,第k 阶段的状态变量常用s k 表示,状态变量的集合用S k 表示。
如在例1中,第一阶段有一个状态就是初始位置A ,第三阶段有3个状态,即集合S3=}{1,2,3C C C .(3)决策:当系统处于某一阶段的某个状态时,可以作出不同的决定(或选择),从而确定下一阶段的状态,这种决定称为决策。
如在例1第二阶段中,从状态B2出发,其允许决策集合为D2(B2)=(4)策略:由系统各阶段确定的决策所形成的决策序列称为策略。
从初始状态s1出发,由系统的所有n 个阶段的决策所形成的策略成为全过程策略,从允许策略集合中找出达到最有效果的策略称为最优策略。
(5)状态转移方程:状态转移方程是确定过程有一个状态到另一个状态的演变过程。
若给定第k 阶段状态的演变过程,并且若该阶段的决策变量dk 一经确定,第k+1阶段的状态变量sk+1也就完全确定。
如例1中,状态转移方程为s k+1=d k (s k ).(6)阶段收益:若确定某一阶段的系统状态,执行某一阶段决策所得的效益称为阶段效益,他是整个系统总收益的一部分。
阶段效益是阶段状态和决策变量的函数。
如在例1中阶段效益为走完一段路程所走过的距离。
(7)指标函数和最优值函数:系统执行某策略所产生效果的优劣可用数学指标来衡量,它是各个阶段状态和决策的函数,称为指数函数。
(8)边值条件:在系统决策的状态推移进程中最初的条件称为边值条件。
由系统的最后阶段逐段向初始阶段求最优的过程称为速推解法,由系统的最前阶段逐段向终结阶段求最优的过程称为顺序推解法。
如例1显然有边值条件:f n+1(s n+1)=0.根据上述确定的阶段编号。
状态变量、决策变量、状态转移方程、边值条件及指标函数。
确定例1的最短路线,计算步骤如下:根据最短路线特性,寻找最短路线的方法,将从最后一段开始,用后向前逐步地推的方法,求出各点到点E 的最短路线,最后求得由点A 到点E 的最短线,所以,动态规划的方向是从各点逐段向始点方向寻找最短路线的一种方法,见图11—2.当k=4时,有D1到终点E 只有一条路线,故f 4(D1)=4,同理,f 4(D2)=3.当k=3时,出发点有C1,C2,C33个,若从C1出发,则有两个选择,一是至D1,一是至D2,则F 3(C1)=min 311431242(,)(1)(,)()r C D f D r C D f D +⎧⎫⎨⎬+⎭⎩ =min 3453+⎧⎫⎨⎬+⎩⎭=7. 其相应的决策为d 3(C 1)=D 1,表示由D 1,至终点E 的最短距离为7,其最短距离路线是C1—D1—E.同理,从C 2和C 3出发,则有f 3(C 2)=321415224244(,)()min 633(,)()r C D f D r C D f D ⎧++⎫⎧⎫⎪==⎨⎬⎨⎬++⎪⎭⎩⎭⎩。
其相应的决策为d 3(C 2)=D 2。
f3(C 3)=min 3314133242(,)()64min 10,(,)()93r C D f D r C D f D ++⎧⎫⎧⎫==⎨⎬⎨⎬++⎭⎩⎭⎩ 且d 3(C 3)=D 3。
类似地。
可计算当k=2时,有f 2(B 1)=12, d 2(B 1)=C 2.f2(B2)=11, d2(B2)=C2,f2(B3)=9, d2(B3)=C3 当k=1时,出发点只有一个点A,则f1(A)=min121222323(,)()312(,)()min5111579(,)()r A B f Br A B f Br A B f B⎧++⎫⎧⎫⎪⎪⎪⎪+=+=⎨⎬⎨⎬⎪⎪⎪⎪++⎭⎩⎭⎩,且d1(A)=B1,于是获得从始点A至终点E的最短距离为15,为便于找出最短路线,在按计算的顺序推之,可求出最优决策函数序列{dk},即由d1(A)=B1,d2(B)=C2,d3(C2)=D2,d4(D2)=E组成一个最优策略。
那么最短路线为A—B1—C2—D2—E.§11.2 中学生数学知识应用竞赛题举例例2今年盛夏酷暑,能源紧张,某工厂从能源部门获得5个单位某种能源,该工厂有3个部门需要这种能源,由于各部门所使用设备条件不同,生产的产品也不同,这样导致是用能源所产生的收益情况也不同,所用的能源为整数单位,各部门具体产生的收益(万元)如表11—1所示,为能有效地利用这种能源,工厂将如何分配能源给各部门,使工厂受益最大?表11—1解设3个部门分配到的能源分别为x1,x2,x3单位,相应每个单位所产生的收益设为c1(x1),c2(x2),c3(x3),a那么模型为Max{c1(x1)+c2(x2)+c3(x3)};s.t. x1+x2+x3≤5x1,x2,x3≥0为整数。
使用递推方法来求解。
按k=1,2,3为3阶段,用f k(z)表示在第k阶段所用能源为z 单位时,获得最大收益,即有f3(5)=max{c1(x1)+c2(x2)+c3(x3)};s.t. x1+x2+x3≤ 5.x1,x2,x3≥0为整数。
于是f3(5)=max{f2(5-x3)+c3(x3)}(x3=1,1,2,3..5)=max{f2(5),f2(4)+3,f2(3)+4,f2(2)+5,f2(1)+5,f2(0)+6};f2(5)=max{f1(5-x2)+c2(x2)}(x2=0,1,2,….5)=max{f1(5),f1(4)+1,f1(3)+3,f1(2)+4,f1(1)+6,f2(0)+8}f2(4)=max{f1(4-x2)+c2(x2)} (x2=0,1,2,…4)=max{f1(4),f1(3)+1,f1(2)+3,f1(1)+4,f1(0)+6};f2(3)=max{f1(3-x2)+c2(x2)}(x2=0,1,3)max{f1(3),f1(2)+1,f1(1)+3,f1(0)+4};f2(2)=max{f1(2),f(1)+1,f1(0)+3};f2(1)=max{f1(1),f1(0)+1}.将f1(0)=0,f1(1)=2,f1(2)=4,f1(3)=5,f1(4)=5,f1(5)=6回代得f2(1)=2f 2(2)=max{4,2+1,3}=4,f 2(3)=max{5,4+1,2+3,4}=5,f 2(4)=max{5,5+1,4+3,2+4,6}=7,f 2(5)=max{6,5+2,5+3,4+4,2+6,8}=8.f 2(5)=max{8,7+3,5+4,4+5,2+5,6}=10于是解为x 3*=1,x 2*=2,x 1*=2,最大收益为10(万元),即分配给3个部门的分别为:部门1,部门2都为2单位,而部门3为1单位,最大收益为10万元。
.§11.3 复合系统工作可靠性问题若某种机器的工作系统有n 个部件串联组成,只要有一个部件失灵,整个系统就不能工作,为提高系统工作的可靠性,在每一个部件上均配有主要元件的备用件,并且设计了备用元件自动投入装置。
显然,备用元件越多,整个系统正常工作的可靠性越大,但备用元件多了,整个系统的成本、重量、体积均相应增大,工作精度也降低,因此,最优化问题是在考虑上述限制条件下,应如何选择个部件的备用元件数,使整个系统的工作可靠性最大。
设部件i (i=1,2,…..n )上装有u i 个备用件时,它正常工作的概率为p i (u i )。
例 3 某个厂设计一种电子设备,由3种元件D 1,D 2,D 3组成,已知这3中元件的价格和可靠性如11—2所示。
要求在设计中所使用元件的费用不超过105元,试问:应如何设计室设备的可靠性达到最大(不考虑重量的限制)?解 按元件种类划分为3各阶段,设状态变量s k 表示能容许用在D k 元件至D 3元件的总费用;决策变量x k 表示在D k 元件上的并联个数;P k 表示一个D k 元件正常工作的概率,则为x k 个D k 元件不正常工作的概率,另最优值函数f k (s k )表示由状态s k 开始从D k 元件至D 3元件组成的系统的最大可靠性,因而有f 3(s3)=[]3331/20max 1(0.5);x x s ≤≤⎡⎤-⎣⎦ f 2(s2)=[]{}2223221/15max1(0.2)(15);x x s f s x ≤≤⎡⎤--⎣⎦ f 1(s2)=[]{}1112111/30max 1(0.1)(30).x x s f s x ≤≤⎡⎤--⎣⎦ 由于s 1=105,故解此问题只要求出f 1(105)即可,而 f1(105)={}[]{}[]{}{}1321113222223212433333133max 1(0.1)(10530)max 0.9(75),0.99(45),0.999(15),f (75)max 1(0.2)(7515)max 0.8(60),0.96(45),0.992(30),0.998(15),f (60)=max 1(1.5)max 0.5,0.75,x x x x x f x f f f x f x f f f f ≤≤≤≤≤≤⎡⎤--⎣⎦==--=⎡⎤-=⎣⎦但且{}0.8730.875,= f3(30)=0.5,f3(15)=0,所以f2(75)=max{0.8×0.875,0.96×0.75,0.992 ×.5,0.9984×0}=max{0.7,0.72,0.496}=0.72.同理f2(45)=max{0.8f3(30),0.96f3(30)}=max{0.4,0}=0.4,f2(15)=0.故f2(105)=max{0.9 ×.72,0.99×0.4,0.999×0}=max{0.648,0.396}=0.648.从而求得x1*=1,x2*=2,x3*=2为最优方案,即D1元件用2个,D3元件用2个,其总费用为100元,可靠性为0.648。