《动态规划讲座》由会员分享,可在线阅读,更多相关《动态规划讲座(21页珍藏版)》请在金锄头文库上搜索。
1、 4 动态规划动态规划 4.1 多阶段决策问题与动态规划 4.2 动态规划的基本概念 4.3 动态规划的步骤 4.4 动态规划的应用 1 求解静态规划问题 2 资源分配问题 3 不确定性采购问题 4 排序问题 例2 机器负荷分配问题 某种机器可以在高低两种不同的负荷下进行生产在高负荷下进行生产时,产品的年产量g和投入生产的机器数量u的关系为 gg(u), 这时机器的年完好率为a(0a1)在低负荷下生产时,产品的年产量h和投入生产的机器数量v的关系为hh(v), 这时机器的年完好率为b(ab1)假定开始生产时完好的机器数量为s1,要求制定一个五年计划,在每年开始时决定机器在两种不同负荷下生产的数
2、量,使五年内产品的总产量最高。4.1 多阶段决策问题与动态规划 多阶段决策问题和我们前面遇到的决策问题不同,它是和时间有关的。与时间有关的活动过程称为动态过程,其优化方法称为动态规划。而与时间无关的活动过程称为静态过程,相应的的优化方法称为静态规划。 (1)阶段(stage)把所研究的决策问题,按先后顺序划分为若干相互联系的决策步骤,以便按一定的次序进行求解。描述阶段的变量称阶段变量,常用k表示。 (2)状态(state)状态表示每个阶段开始时所处的自然状况或客观条件,它描述了影响决策的因素随决策进程的变化情况,它既是前面阶段所作决策的结果,又是本阶段作出决策的出发点和依据。描述状态的变量称为
3、状态变量,第k阶段的状态变量常用sk表示。通常,在第一阶段状态变量s1是确定的,称初始状态。 (3)决策(decision)决策表示在某一阶段处于某种状态时,决策者在若干种方案中作出的选择决定。描述决策的变量称决策变量,第k阶段的决策变量常用uk表示。决策变量的取值会受到状态变量的制约,被限制在某一范围之内。4.2 动态规划的基本概念(一) (4)策略(policy)把从第一阶段开始到最后阶段终止的整个决策过程,称为问题的全过程;而把从第k阶段开始到最后阶段终止的决策过程,或称为k子过程。在全过程上,各阶段的决策按顺序排列组成的决策序列p1,n u1,u2,un 称为全过程策略,简称 策 略
4、; 而 在 k子 过 程 上 的 决 策 序 列 pk,n uk,uk+1,un 称为k子过程策略,也简称子策略。 (5)状态转移方程 若第k阶段的状态变量值为sk,当决策变量uk的取值决定后,下一阶段状态变量sk+1的值也就完全确定。即sk+1的值对应于sk和uk的值。这种对应关系记为sk+1Tk(sk,uk),称为状态转移方程。状态转移方程描述了由一个阶段的状态到下一阶段的状态的演变规律。4.2 动态规划的基本概念(二) (6)指标函数和最优值函数 指标函数分为阶段指标函数和过程指标函数。阶段指标函数是对某一阶段的状态和决策产生的效益值的度量,用vk(sk,uk)表示。过程指标函数是指过程
5、所包含的各阶段的状态和决策所产生的总的效益值,记为 Vk,nVk,n(sk,uk,sk+1,uk+1,sn,un) 动态规划所要求的过程指标函数应具有可分离性,即可表达为它所包含的各阶段指标函数的函数形式。常见的两种过程指标函数形式是: 各阶段指标函数的和 Vk,nvj(sj,uj); 各阶段指标函数的积 Vk,nvj(sj,uj)。 把过程指标函数Vk,n对k子过程策略pk,n求最优,得到一个关于状态sk的函数,称为最优值函数,记为fk(sk)。即 fk(sk) opt Vk,n(sk,uk,sn,un) uk,un式中的“opt”(optimization)可根据具体问题而取min或max
6、。 (7)基本方程 通常动态规划问题的最优值函数满足递推关系式。设过程指标函数为各阶段指标函数的和的形式,即Vk,nvj(sj,uj),则有 fk(sk) opt vk(sk,uk)+fk+1(sk+1) ukDk(sk) (kn,n-1,1) 递推方程 fn+1(sn+1)0 边界条件递推方程和边界条件一起称为动态规划的基本方程。 可根据边界条件,从k=n开始,由后向前逆推,逐步求得各阶段的最优决策和相应的最优值,最后求出f1(s1)时,就得到整个问题的最优解。此问题的基本方程为此问题的基本方程为f fk k(s(sk k) )MindMindk k(u(uk k)+f)+fk+1k+1(s
7、(sk+1k+1) ) u uk kDDk k(s(sk k) ) k k6,5,4,3,2,16,5,4,3,2,1f f7 7(s(s7 7) )0 04.3 动态规划的步骤(一)动态规划的步骤(一)当k=6时按基本方程由后向前按基本方程由后向前继续递推有继续递推有:当k=5时当k=4时当当k=3时时当当k=2时时当当k=1时时 由此可以看出,由此可以看出,A到到G的最短路长为的最短路长为18,路径为:,路径为: AB1C2D1E2F2G现在把动态规划法的步骤归纳如下:现在把动态规划法的步骤归纳如下:(1) (1) 将所研究问题的过程划分为将所研究问题的过程划分为n n个恰当的阶段,个恰当
8、的阶段, k k 1,2,n 1,2,n;(2) (2) 正确地选择状态变量正确地选择状态变量S Sk k,并确定初始状态,并确定初始状态S S1 1的值;的值;(3) (3) 确定决策变量确定决策变量u uk k以及各阶段的允许决策集以及各阶段的允许决策集D Dk k(S(Sk k) );(4) (4) 给出状态转移方程;给出状态转移方程;(5) (5) 给出满足要求的过程指标函数给出满足要求的过程指标函数V Vk,nk,n及相应的最优及相应的最优 值函数;值函数;(6) (6) 写出递推方程和边界条件,建立基本方程;写出递推方程和边界条件,建立基本方程;(7) (7) 按照基本方程递推求解
9、。按照基本方程递推求解。 以以上上步步骤骤是是动动态态规规划划法法处处理理问问题题的的基基本本步步骤骤,其其中中的前六步是建立动态规划模型的步骤。的前六步是建立动态规划模型的步骤。4.3 动态规划的步骤(二)动态规划的步骤(二)例:机器负荷问题例:机器负荷问题 某种机器可以在高低两种某种机器可以在高低两种不同的负荷下进行生产在高负荷下进行生产不同的负荷下进行生产在高负荷下进行生产时,产品的年产量时,产品的年产量g g和投入生产的机器数量和投入生产的机器数量u u的的关系为关系为 g g8u, 8u, 这时机器的年完好率为这时机器的年完好率为a=0.7a=0.7在低负荷下生产时,产品的年产量在低
10、负荷下生产时,产品的年产量h h和投入和投入生产的机器数量生产的机器数量v v的关系为的关系为h h5v, 5v, 这时机器的这时机器的年完好率为年完好率为b=0.9b=0.9假定开始生产时完好的机假定开始生产时完好的机器数量为器数量为s s1 1,要求制定一个五年计划,要求制定一个五年计划, ,在每年开在每年开始时决定机器在两种不同负荷下生产的数量始时决定机器在两种不同负荷下生产的数量, ,使五年内产品的总产量最高。使五年内产品的总产量最高。(1)按年数划分为5个阶段,k=1,2,3,4,5(2)取第k年初完好的机器数sk为状态变量, s1=1000(3)取第k年投入高负荷的机器数xk为决策
11、变量, 0xksk(4)状态转移方程为 sk+1=0.7xk+0.9(sk-xk)=0.9sk-0.2xk(5)指标函数为Vk,5=8xj+5(sj-xj)=(5sj+3xj)(6)基本方程为 fk(sk) max 5sj+3xj +fk+1(sk+1) k=5,4,3,2,1 0xksk f6(s6)0解:当k=5时f5(s5) max5s5+3x5+f6(s6)= max5s5+3x5=8s5 (x5*=s5) 0x5s5 0x5s5当k=4时f4(s4)max5s4+3x4+8s5=max5s4+3x4+8(0.9s4-0.2x4) 0x4s4 0x4s4 = max12.2s4+1.4
12、x4=13.6s4 (x4*=s4) 0x4s4当k=3时f3(s3)max5s3+3x3+13.6s4=max5s3+3x3+13.6(0.9s3-0.2x3) 0x3s3 0x3s3 = max17.24s3+0.28x3=17.5s3 (x3*=s3) 0x3s3当k=2时f2(s2)=max5s2+3x2+17.52s3=max5s2+3x2+17.52(0.9s2-0.2x2) 0x2s2 0x2s2 = max20.77s2-0.504x2=20.7s4 (x2*=0) 0x2s2当k=1时f1(s1)=23.7s1 (x1*=0)f1(1000)=23700s1=1000, x1
13、*=0s2=900, x2*=0s3=810, x3*=810s4=576, x4*=576s5=397, x5*=397 某些静态规划问题可用动态规划法来求解。某些静态规划问题可用动态规划法来求解。 例例 用动态规划法求解用动态规划法求解 max z=x12.x22.x3 x1+x2+x3=c xi0 i=1,2,34.4 动态规划的划的应用用(一一) 1 求解静求解静态规划划问题 资源分配问题可描述如下:设有某种原料,资源分配问题可描述如下:设有某种原料,总数量为总数量为a,分配给,分配给n个使用者。已知第个使用者。已知第i个使用个使用者得到数量者得到数量xi的资源,可创造的收益为的资源,
14、可创造的收益为gi(xi)。)。问应如何分配该资源,才能使总收益最大。问应如何分配该资源,才能使总收益最大。4.4 动态规划的应用动态规划的应用(二二) 用用动动态态规规划划法法处处理理这这种种问问题题时时,通通常常把把给给一一个个使使用用者者分分配配资资源源的的过过程程看看成成一一个个阶阶段段,按按n n个个使使用用者者分分成成先先后后n n个个决决策策阶阶段段。即即先先给给第第1 1个个使使用用者者分分配配资资源源,为为第第一一阶阶段段;再再给给第第2 2个个使使用用者者分分配配,为为第第2 2阶阶段段;依依此此类类推推,最最后后给给第第n n个使用者分配,为第个使用者分配,为第n n阶段
15、。阶段。 2 资源分配问题资源分配问题 例例 某工业部门根据国家计划安排,拟将五某工业部门根据国家计划安排,拟将五台某种高效率的机器分配给所属的甲、乙、台某种高效率的机器分配给所属的甲、乙、丙三个工厂,各工厂得到不同数量的机器可丙三个工厂,各工厂得到不同数量的机器可获得的收益如下表。问应如何分配机器,才获得的收益如下表。问应如何分配机器,才能使各厂的总效益最大。能使各厂的总效益最大。 某某单单位位准准备备在在以以后后的的n n个个时时期期内内采采购购一一批批物物资资。各各时时期期的的价价格格不不是是确确定定的的,而而是是按按照照某某种种已已知知的的概概率率分分布布取取值值。试试制制定定采采购购
16、策策略略,确确定定在在哪哪一一时时期期以以什什么么价价格格采采购购,能能使使采采购购价价的的数数学学期期望望值值最最低低。这这类类问问题题也也适合用动态规划法进行处理。下面通过实例加以说明。适合用动态规划法进行处理。下面通过实例加以说明。例例7 7 某厂生产上需要在近五周某厂生产上需要在近五周内采购一批原料,而估计在未内采购一批原料,而估计在未来五周的价格有波动,其浮动来五周的价格有波动,其浮动价格和概率策得如下表。试确价格和概率策得如下表。试确定该厂应在哪一周以什么价格定该厂应在哪一周以什么价格购入,能使其采购价的数学期购入,能使其采购价的数学期望值最小,并求出期望值。望值最小,并求出期望值
17、。4.4 动态规划的应用(三) 3 不确定性采购问题 设有n个工件需要在机床A、B上加工,每个工件都必须先经过A而后B两道加工工序。以ai、bi分别表示工件i(1in)在A、B上的加工时间。问应如何在两机床上安排各工件的加工顺序,使在机床A上加工第一个工件开始到在机床B上加工完最后一个工件为止,所用的加工总时间最少? 加工工件在机床A上有加工顺序问题,在机床B上也有加工顺序问题。可以证明:最优加工顺序在两台机床上可同时实现。因此,最优排序方案可以只在机床A、B上加工顺序相同的排序中寻找。即使如此,所有可能的方案仍有n!个,这是一个不小的数,用穷举法是不现实的。4.4 动态规划的应用(四) 4
18、排序问题 用用动动态态规规划划法法可可以以推推出出,工工件件i i应应该该排排在在工工件件j j之之前前的的条条件件为为 min(amin(ai i,b,bj j)min(a)min(aj j,b,bi i) )。根根据据这这个个条条件件,构造下列排序方法:构造下列排序方法: a a1 1 a a2 2 a an n 1) 1)建立工时矩阵建立工时矩阵 M= b M= b1 1 b b2 2 b bn n 2)2)在在工工时时矩矩阵阵M M中中找找出出最最小小元元素素(若若不不止止一一个个可可任任选选其其一一),若若它它在在上上行行,则则相相应应的的工工件件排排在在最最前前位位置置;若它在下行
19、,则相应的工件排在最后位置。若它在下行,则相应的工件排在最后位置。 3)3)将将排排定定位位置置的的工工件件所所对对应应的的列列从从M M中中划划去去,然然后后对对余余下下的的工工件件再再按按2)2)进进行行排排序序。如如此此进进行行下下去去,直直到到把所有工件都排完为止。把所有工件都排完为止。 当加工顺序排定之后,工件在当加工顺序排定之后,工件在A A上没有等待时间,上没有等待时间,而在而在B B上则常常需要等待。因此,寻求最优排序方案上则常常需要等待。因此,寻求最优排序方案只有尽量减少在只有尽量减少在B B上等待加工的时间,才能使总加工上等待加工的时间,才能使总加工时间最短。时间最短。 例 设有5个工件需在机床A、B上加工,加工的次序为先A后B,每个工件需要的加工时间如下表。 试安排加工顺序,使总加工时间最少,并求出总加工时间。