《动态规划(全套)课件.ppt》由会员分享,可在线阅读,更多相关《动态规划(全套)课件.ppt(104页珍藏版)》请在三一办公上搜索。
1、主要内容:7.1多阶段决策问题7.2 动态规划的基本概念和基本原理7.3 动态规划应用举例,例 求解最短路问题,分阶段的最短路径,:C1T 3-:B1C1T 4-:A2B1C1T 7-:QA2B1C1T 11 Q-A3B1C1T 11 Q-A3B2C2T 11,最短路径,3,4,4,7,6,11,7,8,11,最短路径解的特点,1、可以将全过程求解分为若干阶段求解;-多阶段决策问题2、在全过程最短路径中,将会出现阶段的最优路径;-递推性3、前面的终点确定,后面的路径也就确定了,且与前面的路径(如何找到的这个终点)无关;-无后效性3、逐段地求解最优路径,势必会找到一个全过程最优路径。-动态规划,
2、7.1多阶段决策问题,动态规划是解决多阶段最优决策的方法,由美国数学家贝尔曼(R.Bellman)于 1951年首先提出;1957年贝尔曼发表动态规划方面的第一部专著“动态规划”,标志着运筹学的一 个新分支的创立。,动态规划将复杂的多阶段决策问题分解为一系列简单的、离散的单阶段决策问题,采用顺序求解方法,通过解一系列小问题达到求解整个问题目的;动态规划的各个决策阶段不但要考虑本阶段的决策目标,还要兼顾整个决策过程的整体目标,从而实现整体最优决策.,动态规划的分类:,离散确定型离散随机型连续确定型连续随机型,动态规划的特点:,动态规划没有准确的数学表达式和定义精确的算法,它强调具体问题具体分析,
3、依赖分析者的经验和技巧。与运筹学其他方法有很好的互补关系,尤其在处理非线性、离散性问题时有其独到的特点。,通常多阶段决策过程的发展是通过状态的一系列变换来实现的。一般情况下,系统在某个阶段的状态转移除与本阶段的状态和决策有关外,还可能与系统过去经历的状态和决策有关。因此,问题的求解就比较困难复杂。而适合于用动态规划方法求解的只是一类特殊的多阶段决策问题,即具有“无后效性”的多阶段决策过程。所谓无后效性,又称马尔柯夫性,是指系统从某个阶段往后的发展,仅由本阶段所处的状态及其往后的决策所决定,与系统以前经历的状态和决策(历史)无关。具有无后效性的多阶段决策过程的特点是系统过去的历史,只能通过现阶段
4、的状态去影响系统的未来,当前的状态就是后过程发展的初始条件。,动态规划的应用,动态规划在工程技术,企业管理,军事部门有广泛的应用;可解决资源分配,生产调度,库存管理,路径优化,设备更新,投资规划,排序问题和生产过程的最优控制等问题;,使用动态规划方法求解决策问题首先要将问题改造成符合动态规划求解要求的形式,要涉及以下概念:(1)阶段(2)状态(3)决策与策略(4)状态转移方程(5)指标函数(6)基本方程,7.2 动态规划的基本概念和基本思想,一、基本概念,(1)划分阶段 把一个复杂决策问题按时间或空间特征分解为若干(n)个相互联系的阶段(stage),以便按顺序求解;阶段变量描述当前所处的阶段
5、位置,一般用下标 k 表示;,每阶段有若干状态(state),表示某一阶段决策面临的条件或所处位置及运动特征的量,称为状态。反映状态变化的量叫作状态变量。k 阶段的状态特征可用状态变量 sk 描述;每一阶段的全部状态构成该阶段的状态集合Sk,并有skSk。每个阶段的状态可分为初始状态和终止状态,或称输入状态和输出状态,阶段的初始状态记作sk,终止状态记为sk+1,也是下个阶段的初始状态。,(2)确定状态,(3)决策、决策变量,所谓决策就是确定系统过程发展的方案,决策的实质是关于状态的选择,是决策者从给定阶段状态出发对下一阶段状态作出的选择。,用以描述决策变化的量称之决策变量,和状态变量一样,决
6、策变量可以用一个数,一组数或一向量来描述也可以是状态变量的函数,记以,表示于 k 阶段状态 sk 时的决策变量,决策变量的取值往往也有一定的容许范围,称之允许决策集合决策变量 xk(sk)的允许决策集用 XK(SK)表示,xk(sk)XK(SK),允许决策集合实际是决策的约束条件。,(4)策略和允许策略集合,策略(Policy)也叫决策序列策略有全过程策略和 k 部子策略之分,全过程策略是指具有n 个阶段的全部过程,由依次进行的 n 个阶段决策构成的决策序列,简称策略,表示为。从 k 阶段到第 n 阶段,依次进行的阶段决策构成的决策序列称为 k 部子策略,表示为,显然当 k=1时的 k 部子策
7、略就是全过程策略。,(5)状态转移方程,状态转移确定从一个状态到另一个状态的转移过程,由状态转移方程描述:sk+1=T(sk,xk);状态转移方程在大多数情况下可以由数学公式表达,如:sk+1=sk+xk;,(6)指标函数,用来衡量策略或子策略或决策的效果的某种数量指标,就称为指标函数。它是定义在全过程或各子过程或各阶段上的确定数量函数。对不同问题,指标函数可以是诸如费用、成本、产值、利润、产量、耗量、距离、时间、效用,等等。,用vk(sk,xk)表示第 k 段处于状态 sk且所作决策为 xk 时的指标,则它就是第 k 段指标函数,简记为vk。,用f(sk,xk)表示第k子过程的指标函数。表示
8、处于第 k 段 sk 状态且所作决策为xk时,从 sk 点到终点的距离。由此可见,f(sk,xk)不仅跟当前状态 sk 有关,,(2)过程指标函数(也称目标函数),(1)阶段指标函数(也称阶段效应),还跟该子过程策略 pk(sk)有关,严格说来,应表示为 fk(sk,pk(sk)。它是由各阶段的阶段指标函数 vk(sk,xk)累积形成的,对于 k 部子过程的指标函数可以表示为:,式中,表示某种运算,可以是加、减、乘、除、开方等,多阶段决策问题中,常见的目标函数形式之一是取各阶段效应之和的形式,即:,有些问题,如系统可靠性问题,其目标函数是取各阶段效应的连乘积形式,,(7)最优解,用 fk*(s
9、k)表示第 k 子过程指标函数Fk(sk,pk(sk)在状态 sk 下的最优值,即:,称 fk(sk)为第 k 子过程上的最优指标函数;与它相应的子策略 pk(sk)称为状态 sk 下的最优子策略,记为 pk*(sk),例 用动态规划求解最短路问题,最短路的求解:阶段:可分为4个阶段,k=1,.,4。状态:可用城市编号,S1=Q,S2=A1,A2,A3,S3=B1,B2,B3,S4=C1,C2,S5=T 决策:决策变量也可用城市编号;状态转移方程:sk+1=xk;阶段指标函数:过程指标(阶段递推)函数:,k=4f4(C1)=3,f4(C2)=4 k=3f3(B1)=min1+f4(C1)=4*
10、,4+f4(C2)=8=4 f3(B2)=min6+f4(C1)=9,3+f4(C2)=7*=7 f3(B3)=min3+f4(C1)=6*,3+f4(C2)=7=6 k=2 f2(A1)=min7+f3(B1),4+f3(B2),6+f3(B3)=min11*,11*,12=11f2(A2)=min3+f3(B1),2+f3(B2),4+f3(B3)=min7*,9,10=7 f2(A3)=min4+f3(B1),1+f3(B2),5+f3(B3)=min8*,8*,11=8 k=1 f1(Q)=min2+f2(A1),4+f2(A2),3+f2(A3)=min13,11*,11*=11 最
11、短路是:Q A2 B1 C1 T,p=A2,B1,C1,T Q A3 B1 C1 T,p=A3,B1,C1,T Q A3 B2 C2 T,p=A3,B2,C2,T,整个过程的最优策略应具有这样的性质:无论过去的状态和决策如何,对前面的决策所形成的状态而言,后续的诸决策必须构成最优策略;上一条成立的条件是阶段递推函数严格单调。,二、动态规划的最优性原理,在例题中,求解最短路线的计算公式可以概括写成:,其中,vk 在这里表示从状态 sk 到由决策 xk 所决定的状态 sk+1 之间的距离。f5(s5)=0 是边界条件,表示全过程到第四阶段终点结束。,一般地,对于 n 个阶段的决策过程,假设只考虑指
12、标函数是“和”与“积”的形式,第 k 阶段和第 k+1 阶段间的递推公式可表示如下:,当过程指标函数为下列“和”的形式时,相应的函数基本方程为:,当过程指标函数为下列“积”的形式时,相应的函数基本方程为:,动态规划的优缺点,动态规划的优点可以解决线性,非线性,整数规划无法有效求解的复杂问题;容易找到全局最优解;可以得到一组解;,动态规划的缺点:没有标准的模型可供应用,构模依赖于个人的经验和技巧;状态变量需满足无后效性,有较大的局限性;动态规划的维数灾难限制了对规模较大问题的求解效率;,7.3 动态规划方法应用,动态规划的步骤:1.将问题按时间或空间划分为满足递推关系的若干阶段,对非时序问题可人
13、为地引入“时段”概念;2.正确选择状态变量 sk,满足:可知性:正确描述动态过程演变,可直接或间接确定状态变量的值;无后效性:后面的决策与前面的决策无关;,3.确定决策变量 xk以及允许决策集合Xk;4.写出状态转移方程 sk+1=T(sk,xk);5.决策变量的取值范围 6.写出过程指标函数(阶段函数)的递推关系,应满足:a)是定义在所有阶段上的数量函数;b)具有可分离性,并满足递推关系;c)阶段函数应严格单调。,动态规划应用举例:,1.最优路径问题2.资源配置问题3.生产与库存问题4.机器负荷分配问题5.复合系统工作可靠性问题6.二维背包问题7.设备更新问题货郎担问题非线性规划的求解,1.
14、最优路径问题,某厂要确定一种新产品在今后五年内的价格,并已拟定只在5、6、7、8元这四种单价中进行选择。据预测,今后五年不同价格下每年盈利(万元)见下表,但是各相邻年度价格增减不得超过1元。问今后五年内每年定价各为多少,可逾七五年总利润最大。,13,14,11,8,4,3,4,10,18,22,23,17,24,28,28,30,37,35,36,38,解:1、建立动态规划模型:阶段:以年划分阶段,k=5,4,3,2,1;状态变量sk为每个阶段初的价格,则Sk=5,6,7,8;决策变量xk为每年所确定的价格,则Xk=5,6,7,8;状态转移方程:阶段指标函数vk(sk,xk)为每个阶段选择xk
15、所取得的盈利;例如v(sk,)过程指标函数为第k阶段状态为sk时到最后一个阶段的总利润。基本函数方程为:,、逆序求解:,k=5f5(s5,x5)v5(s5,x5)+f6*(s6)f5*(s5)x5*s x 5 6 7 8 5 8+0 8 5 6 4+0 4 6 7 3+0 3 7 8 4+0 4 8,k=4f4(s4,x4)v4(s4,x4)+f5*(s5)f4*(s4)x4*s x 5 6 7 8 5 5+8 5+4 13 5 6 6+8 6+4 6+3 14 5 7 7+4 7+3 7+4 11 6,8 8 6+3 6+4 10 7,k=3f3(s3,x3)v3(s3,x3)+f4*(s4
16、)f3*(s3)x3*s x 5 6 7 8 5 4+13 4+14 18 6 6 8+13 8+14 8+11 22 7 7 9+14 9+11 9+10 23 6 8 6+11 6+10 17 7,k=2f2(s2,x2)v2(s2,x2)+f3*(s3)f2*(s2)x2*s x 5 6 7 8 5 2+18 2+22 24 6 6 5+18 5+22 5+23 28 7 7 5+22 5+23 5+17 28 7 8 7+23 7+17 30 7,k=1f1(s1,x1)v1(s1,x1)+f2*(s2)f1*(s1)x1*s x 5 6 7 8 5 9+24 9+28 37 6 6
17、7+24 7+28 7+28 35 6,7 7 6+28 6+28 6+30 36 8 8 8+28 8+30 38 8,S1=8 X1=8 s2=8 x2=7 s3=7 x3=6 s4=6 x4=5 s5=5 x5=5,2.资源配置问题,如何将有限的资源分配给若干种生产活动,并使资源利用的收益最大是经济活动中常见的问题,动态规划可以求解一些线性规划无法解决的资源配置问题。一般的资源分配问题可以描述为如下的规划问题:max:z=g1(x1)+g2(x2)+.+gn(xn)x1+x2+.+xn=axi 0 i=1,.,n,例:某厂为扩大生产能力,拟订购某种成套46套,以分配给其所辖1、2、3个分
18、厂使用。预计个分厂分的不同套数的设备后,每年创造的利润(万元)如下表所示。该厂应订购几套设备并如何分配,才能使每年预计创利总额最大?,建立动态规划模型:1.阶段与分厂相联系,阶段 k 只考虑分配分厂 k 的设备套数;2.状态变量 sk 表示 k 分厂可分配的设备套数;3.决策变量 xk 表示决定在 k 分厂使用的设备套数;4.状态转移方程:sk+1=sk-xk;阶段函数:vk(sk,xk)为k分厂使用设备xk时的获利,从第一分厂到第k分厂的总获利 fk(sk)=max vk(sk,xk)+fk+1(sk+1)6.基本状态方程,k=3,k=2:s3=s2 x2,k=1:s2=s1-x1,因此得到
19、:x1=2,s2=6-2=4,x2=1,s3=4-1=3,x3=3 x1=1,s2=6-1=5,x2=2,s3=5-2=3,x3=3即:p=2,1,3或1,2,3获利18万元,3.复合系统的工作可靠性问题例:为保证设备可靠运行,一些关键部件往往由多个器件并联运行,如果器件 i 的失效概率为 pi,则 xi 个器件并联工作的可靠性为(1-pixi),假定每个器件的采购费用为 ci,在满足总采购费用不超过预算限制 C 的前提下,使设备可靠性最高的规划问题可以描述为:,该问题为整数非线性规划,可以用动态规划求解,设关键器件数n=3,总费用为120万元。器件的单价与可靠性如下表:,建立动态规划模型:阶
20、段与器件挂钩,第 k 阶段仅考虑器件k的采购数量;sk 表示k 阶段可使用的采购费用;xk 表示 k阶段决定购买k 器件的数量;状态转移方程:sk+1=sk-ck xk;递推阶段函数:vk(sk,xk)=1-pkxk总可靠性fk(sk)=max(1-pkxk)fk+1(sk+1)基本状态方程:,k=3,k=2:s3=s2 c2x2,k=1:s2=s1 c1 x1,因此得到:x1=1,s2=120-30=90,x2=2,s3=90-2*15=60,x3=3 即:p=1,2,3 可靠性为0.756,4、生产调度(生产与库存)问题,某厂根据市场预测,确认今后4个月该厂的一种主要产品每月的需求的量d为
21、3,2,3,2万件。已知每月生产固定费用b为2千元,但若当月不生产则为0;产品成本c为1千元/件,贮存费用h为 0.2千元/万件/月。最大存贮能力w为4万件。若第1月初五库存产品,第4月末也不留库存,则该厂怎样安排生产,才能使今后4个月的总费用最少?,建立动态规划模型:1、阶段与时间相联系,阶段 k表示月份 2、状态变量 sk 表示 k 月初的库存量;3、决策变量 xk 表示 k月的产量;4、若dk为需求量,则状态转移方程:sk+1=sk+xk-dk;5、阶段函数:vk(sk,xk)为k月的生产费用,过程函数:fk(sk)为从第一月到第k月的总生产费用 fk(sk)=max vk(sk,xk)
22、+fk+1(sk+1)6.基本状态方程,k=4这是最后一个月,需求为2,无库存s5=0。由状态方程知:s4=2-x4,x40,则s4只能是0,1,2,k=3这是第3个月,需求为3。由状态方程知:s4=s3+x3-3,又由于 2 s4 0,即2 s3+x3-3 0,s3 w=4则s3取值是0,1,2,3,4。X3=x3|3s3+x35,s3=0,1,2,3,4,k=2这是第2个月,需求为2。第一个月无库存s1=0,s2=s1+x1-3=x1-3,又因x1 5,则s2取值是0,1,2。由状态方程知:s3=s2+x2-2,又由于 4 s3 0,即4 s2+x2-2 0;X2=x2|2s2+x26且x
23、2 5,s2=0,1,2,k=1这是第1个月,需求为3。第一个月无库存s1=0,s2=x1-3=x1-3,又因x1 5,s2取值是0,1,2。X1=x1|3x15,5 设备更新问题,设备在使用全过程中会遭受磨损,使用一段时间后就要维修,而且使用的时间越长,维修费用越高,设备使用多少时间在经济上最合算,就是设备更新问题。,分析:阶段 k=1,2,3,4,5;sk 表示 k 年初设备已使用的年限;xk 为 k 年初决定设备是继续使用还是更新的决策变量:xk=1表示继续使用,xk=0表示更新;状态转移方程:sk+1=sk+1,xk=1;sk+1=1,xk=0,k=5 状态变量 s5 可取 1,2,3
24、,4f5(1)=maxx1=0,1r(0)-u(0)-c(1),r(1)-u(1)=max 5-0.5-1.5,4.5-1=3.5(x5*=1)f5(2)=max5-0.5-2.2,4-1.5=2.5(x5*=1)f5(3)=max5-0.5-2.5,3.75-2=2(x5*=0)f5(4)=max5-0.5-3,3-2.5=1.5(x5*=0),k=4状态变量 s4 可取 1,2,3 f4(1)=maxr(0)-u(0)-c(1)+f5(1),r(1)-u(1)+f5(2)=max 5-0.5-1.5+3.5,4.5-1+2.5=6.5(x4*=0)f4(2)=max 5-0.5-2.2+3
25、.5,4-1.5+2=5.8(x4*=0)f4(3)=max 5-0.5-2.5+3.5,3.75-2+1.5=5.5(x4*=0),k=3状态变量 s3 可取 1,2,f3(1)=maxr(0)-u(0)-c(1)+f4(1),r(1)-u(1)+f4(2)=max 5-0.5-1.5+6.5,4.5-1+5.8=9.5(x3*=0)f3(2)=max 5-0.5-2.2+6.5,4-1.5+5.5=8.8(x3*=0),k=2状态变量 s2 可取 1,f2(1)=maxr(0)-u(0)-c(1)+f3(1),r(1)-u(1)+f3(2)=max 5-0.5-1.5+9.5,4.5-1+
26、8.8=12.5(x2*=0),最优策略为:k=12345 不更新 更新 更新 更新 不更新,k=1时状态变量 s1 只能取 0 f1(0)=maxr(0)-u(0)-c(0)+f2(1),r(0)-u(0)+f2(1)=max5-0.5-0.5+12.5,5-0.5+12.5=17(x1*=1),6、机器负荷分配问题 有某种机床,可以在高低两种不同的负荷下进行生产,在高负荷下生产时,产品的年产量为 g,与年初投入生产的机床数量 u1 的关系为 g=g(u1)=8u1,这时,年终机床完好台数将为,au1(a为机床完好率,0 a 1,设 a=0.7)。在低负荷下生产时,产品的年产量为 h,和投入
27、生产的机床数量的关系为 h=h(u2)=5u2,相应的机床完好率为 b(0b2,设 b=0.9),一般情况下(a b)。假设某厂开始有 x1=1000 台完好的机床,现要制定一个五年生产计划,问每年开始时如何重新分配完好的机床在两种不同的负荷下生产的数量,以使在5年内产品的总产量为最高。,解:首先构造这个问题的动态规划模型。,1分阶段:设阶段变量 k 表示年度,因此,阶段总数 n=5。,2.状态变量:用 sk 表示第 k 年度初拥有的完好机床台数,同时也是第 k-1 年度末时的完好机床数量。,3.决策变量:用 uk 表示第 k 年度中分配于高负荷下生产的机床台数。于是 sk-uk 便为该年度中
28、分配于低负荷下生产的机床台数。,4状态转移方程为:,决策变量的取值:在第 k 段为,6阶段指标函数,令 vk(sk,uk)表示由第 k 年的状态 sk 出发,采取uk分配方案的产品产量.,7条件最优目标函数递推方程,令 fk(sk)表示由第 k 年的状态 sk 出发,采取最优分配方案到第5年度结束这段时间的产品产量,根据最优化原理有以下递推关系:,下面采用逆序递推计算法,从第5年度开始递推计算,K=5 时有,显然,当 u5*=s5 时,f5(s5)有最大值,相应的有 f5(s5)=8s5。,K=4 时有:,因此,当 u4*=s4 时,有最大值 f4(s4)=13.6s4,K=3 时有:,可见,
29、当 u3*=s3 时,有最大值 f3(s3)=17.55s3。,K=2 时有:,此时,当 u2*=0 时有最大值,即 f2(s2)=20.8s2,其中 s2=0.7u1+0.9(s1-u1),K=1 时有:,当 u1*=0 时,有最大值,即 f1(s1)=23.7s1,因为 s1=1000,故 f1(s1)=23700 个产品。,按照上述计算顺序寻踪得到下述计算结果:,上面所讨论的最优决策过程是所谓始端状态固定,终端状态自由如果终端也附加上一定的约束条件,那么计算结果将会与之有所差别例如,若规定在第五个年度结束时,完好的机床数量为500台(上面只有278台),问应该如何安排五年的生产,使之在满
30、足这一终端要求的情况下产量最高?,解:由状态转移方程,有,由此式得,当 k=5 时有,当 k=4 时有,显然,只有取 u4*=0,有最大值 f4(s4)=21.4s4-7500,当 k=3 时有:,显然,只有取 u3*=0,f3(s3)有最大值 f3(s3)=24.5s3-7500。,当 k=2 时有:,显然,只有取 u2*=0,f2(s2)有最大值 f2(s2)=27.1s2-7500。,当 k=1 时有:,显然,只有取 u1*=0,f1(s1)有最大值 f1(s1)=29.4s1-7500。,7、非线性规划问题求解某公司拥有资金 10 万元,若投资于项目 i(i1,2,3)的投资额为 xi
31、 时,其收益分别为 g1(x1)=4x1,g2(x2)=9x2,g3(x3)=2x32,问应如何分配投资数额才能使总收益最大?,这是一个与时间无明显关系的静态最优化问题,可列出其静态模型为:,满足,我们可以人为地赋予它“时段”的概念,用动态规划方法求解,解:(解法1)首先用逆序构造动态规划模型。,1分阶段:设阶段变量 k 表示依次对第 k 个项目投资,因此,阶段总数 n=3。(k=1,2,3),2.状态变量:用 sk 表示已经对第 1 至 第 k-1 个项目投资后的剩余资金;即第 k 段初拥有的可以分配给第 k 到第3个项目的资金额(单位:万元)。,3.决策变量:用 xk 表示对第 k 个项目
32、投资 的资金数量(单位:万元)。,决策变量的取值:0 xk sk,4状态转移方程为:,6.基本方程为:,最优指标函数 fk(sk)表示第 k 阶段,初始状态为 sk 时,从第 k 到第 3 个项目所获最大收益,当 k=3 时:,当 k=2 时:,极大值只可能在 0,s2 端点取得,,当 k=1 时:,矛盾,所以舍去 sk 9/2,故 极大值只能在 0,10 的端点取得,比较0,10两个端点的函数值,即全部资金投于第3个项目,(解法2)用顺序解法,1.阶段划分:(同上)和决策变量,2.状态变量:用 sk 表示可用于第1到第 k-1个项目投资的金额,即对第 k 个项目到第3个项目投资后的剩余资金数量。,3.决策变量:(同上),4.状态转移方程:,5.决策变量的取值范围:,6.最优指标函数:,令 fk(sk+1)表示第 k 段投资额 sk+1 为时,第1到第 k 项目所获的最大收益,此时顺序解法的基本方程为:,当 k=1 时,有,当 k=2 时,有,当 k3 时,有,x3=9/4 为极小点。,极大值应在0,s4 0,10 端点取得,再由状态转移方程逆推:,