《动态规划Dynamicprogramming》由会员分享,可在线阅读,更多相关《动态规划Dynamicprogramming(82页珍藏版)》请在金锄头文库上搜索。
1、动动态态规规划划(Dynamicprogramming)动态规划的基本思想动态规划的基本思想最短路径问题最短路径问题资源分配问题资源分配问题背包问题背包问题生产计划问题生产计划问题复合系统工作可靠性问题复合系统工作可靠性问题荚扣厚膨伊综扼象苇咳验兽汛羚劝幂胃谰此渠呼弄凹翔教腹鸯驮渔膝狸衡动态规划Dynamicprogramming动态规划Dynamicprogramming动态规划是用来解决多阶段决策过程最优动态规划是用来解决多阶段决策过程最优化的一种数量方法。其特点在于,它可以把一化的一种数量方法。其特点在于,它可以把一个个n维决策问题变换为几个一维最优化问题,从维决策问题变换为几个一维最优
2、化问题,从而一个一个地去解决。而一个一个地去解决。需指出:动态规划是求解某类问题的一种需指出:动态规划是求解某类问题的一种方法,是考察问题的一种途径,而不是一种算方法,是考察问题的一种途径,而不是一种算法。必须对具体问题进行具体分析,运用动态法。必须对具体问题进行具体分析,运用动态规划的原理和方法,建立相应的模型,然后再规划的原理和方法,建立相应的模型,然后再用动态规划方法去求解。用动态规划方法去求解。赊吉缆孪旦询射丫驼悟木迭珊夫醋嫉茂毒农踪朽寓笆偷宁证邮季帕卢顿恐动态规划Dynamicprogramming动态规划Dynamicprogramming即在系统发展的不同时刻(或阶段)根据系统即
3、在系统发展的不同时刻(或阶段)根据系统所处的状态,不断地做出决策;所处的状态,不断地做出决策;每个阶段都要进行每个阶段都要进行决策决策, ,目的是使整个过程的决策目的是使整个过程的决策 达到最优效果。达到最优效果。动态决策问题的特点:动态决策问题的特点:系统所处的状态和时刻是进行决策的重要因素;系统所处的状态和时刻是进行决策的重要因素;找到不同时刻的最优决策以及整个过程的最优策略。找到不同时刻的最优决策以及整个过程的最优策略。多阶段决策问题:多阶段决策问题:在多阶段决策过程中在多阶段决策过程中, ,系统的动态过程可以按照时间系统的动态过程可以按照时间进程分为进程分为状态状态相互相互联系联系而又
4、相互而又相互区别区别的各个的各个阶段阶段;巴犀布庸晓权埋奸屑饿淹涂燕钥杏兑倍宰赫悼附削伸爱育肿术兑吞黄恐路动态规划Dynamicprogramming动态规划Dynamicprogramming多阶段决策问题的典型例子:多阶段决策问题的典型例子: 1 . 1 . 生产决策问题生产决策问题:企业在生产过程中,由于需:企业在生产过程中,由于需求是随时间变化的,因此企业为了获得全年的最佳求是随时间变化的,因此企业为了获得全年的最佳生产效益,就要在整个生产过程中逐月或逐季度地生产效益,就要在整个生产过程中逐月或逐季度地根据库存和需求决定生产计划。根据库存和需求决定生产计划。 2. 2. 机机器器负负荷
5、荷分分配配问问题题:某某种种机机器器可可以以在在高高低低两两种种不不同同的的负负荷荷下下进进行行生生产产。在在高高负负荷荷下下进进行行生生产产时时,产品的年产量产品的年产量g和投入生产的机器数量和投入生产的机器数量u1的关系为的关系为g=g(u1)12n状态状态决策决策状态状态决策决策状态状态状态状态决策决策雪钡斟母娥擞祟摔书令亲耶才鸯诲蛰延痴想腐勉里杠痒细唾窜屎刽对逾浊动态规划Dynamicprogramming动态规划Dynamicprogramming 这时,机器的年完好率为这时,机器的年完好率为a,即如果年初完好机,即如果年初完好机器的数量为器的数量为u,到年终完好的机器就为,到年终完
6、好的机器就为au,0a1。 在低负荷下生产时,产品的年产量在低负荷下生产时,产品的年产量h和投入生产和投入生产的机器数量的机器数量u2的关系为的关系为 h=h(u2) 假定开始生产时完好的机器数量为假定开始生产时完好的机器数量为s s1 1。要求制。要求制定一个五年计划,在定一个五年计划,在每年开始时,决定如何重新每年开始时,决定如何重新分配分配完好的完好的机器在两种不同的负荷下生产的数量机器在两种不同的负荷下生产的数量,使在五年内产品的总产量达到最高。使在五年内产品的总产量达到最高。 相应的机器年完好率相应的机器年完好率b b, 0 , 0 b b11。 应睡同厚萍襟叮杖器埃卓拇异剪赊弘妄债
7、锗哆罪憋浑创真作竖猎磐基厦个动态规划Dynamicprogramming动态规划Dynamicprogramming 3. 3. 航天飞机飞行控制问题:由于航天飞机的航天飞机飞行控制问题:由于航天飞机的运动的环境是不断变化的,因此就要根据航天飞机运动的环境是不断变化的,因此就要根据航天飞机飞行在不同环境中的情况,不断地决定航天飞机的飞行在不同环境中的情况,不断地决定航天飞机的飞行方向和速度(状态),使之能最省燃料和实现飞行方向和速度(状态),使之能最省燃料和实现目的(如软着落问题)。目的(如软着落问题)。 4 4 .不包含时间因素的线性规划、非线性规划等不包含时间因素的线性规划、非线性规划等静
8、态决策问题(本质上是一次决策问题)也可以适静态决策问题(本质上是一次决策问题)也可以适当地引入阶段的概念,作为多阶段的决策问题用动当地引入阶段的概念,作为多阶段的决策问题用动态规划方法来解决。态规划方法来解决。 痹当畴皿吐鲍坚鸳太挣始撮排峭糠役尸乡渗串含妇钥跪频贯揽烘撩赦贰醚动态规划Dynamicprogramming动态规划Dynamicprogramming 5. 最短路问题最短路问题:给定一个交通网络图如下,其:给定一个交通网络图如下,其中两点之间的数字表示距离(或花费),试求从中两点之间的数字表示距离(或花费),试求从A点点到到G点的最短距离(总费用最小)。点的最短距离(总费用最小)。
9、123456AB1B2C1C2C3C4D1D2D3E1E2E3F1F2G531368763685338422213335256643们卤影灵阻捎稠业垫园氨咐缨己蝗展摄行咬啄咸僳虽授那铺晨目腑柬询弥动态规划Dynamicprogramming动态规划Dynamicprogramming(一)、基本概念(一)、基本概念1、阶段:、阶段:把一个问题的过程,恰当地分为若干个相互联系的把一个问题的过程,恰当地分为若干个相互联系的阶阶段段,以便于按一定的次序去求解。,以便于按一定的次序去求解。描述阶段的变量称为描述阶段的变量称为阶段变量(阶段变量(k)。k=1,2,3,,n阶段的划分,一般是根据时间和空间
10、的自然特征来进行阶段的划分,一般是根据时间和空间的自然特征来进行的,但要便于问题转化为多阶段决策。的,但要便于问题转化为多阶段决策。2、状态:表示每个阶段开始所处的、状态:表示每个阶段开始所处的自然状况或客观自然状况或客观条件条件。通常一个阶段有若干个状态,描述过程状态的。通常一个阶段有若干个状态,描述过程状态的变量称为变量称为状态变量状态变量sk(表示第表示第k阶段的状态变量阶段的状态变量)。年、月、年、月、路段路段一个数、一个数、一组数、一组数、一个向一个向量量状态变量的取值有一定的允许集合或范围,此集合状态变量的取值有一定的允许集合或范围,此集合称为称为状态允许集合状态允许集合SK=s1
11、,s2,sk,。一、动态规划的基本思想一、动态规划的基本思想钨饰埔无谦拆揩詹劈精燃溅佯洗神鲁涣谷瞎数附麻刻匀亢遣够治嘿射椭变动态规划Dynamicprogramming动态规划Dynamicprogramming3、决策:表示当过程处于某一阶段的某个状态时,、决策:表示当过程处于某一阶段的某个状态时,可以作出不同的决定,从而确定下一阶段的状态可以作出不同的决定,从而确定下一阶段的状态,这这种决定称为种决定称为决策决策。描述决策的变量,称为描述决策的变量,称为决策变量决策变量。常用常用uk(sk)表示第)表示第k阶段当状态为阶段当状态为sk时的决策变量。时的决策变量。决策变量是状态变量的函数。可
12、用一个数、一组数决策变量是状态变量的函数。可用一个数、一组数或一向量(多维情形)来描述。或一向量(多维情形)来描述。在实际问题中决策变量的取值往往在某一范围之内,在实际问题中决策变量的取值往往在某一范围之内,此范围称为此范围称为允许决策集合允许决策集合。常用常用Dk(sk)表示第)表示第k阶段从状态阶段从状态sk出发的允许决策出发的允许决策集合,显然集合,显然uk(sk)Dk(sk)。)。遗悦傲鲸窝吭秘拾楞昔椅毒肺煎伟戚撰渭谢劝餐讨整掩庐拉抠棠肛堆臂钾动态规划Dynamicprogramming动态规划Dynamicprogramming4、多阶段决策过程多阶段决策过程 可以在各个阶段进行决策
13、,去控制过程发展的多段过可以在各个阶段进行决策,去控制过程发展的多段过程;程;其发展是通过一系列的状态转移来实现的;其发展是通过一系列的状态转移来实现的; 系统在某一阶段的状态转移不但与系统的当前的状态系统在某一阶段的状态转移不但与系统的当前的状态和决策有关,而且还与系统过去的历史状态和决策有和决策有关,而且还与系统过去的历史状态和决策有关。关。魂孩家说祖狐喻啤锻镊绽蝗送催偏晦滤叫温锻矾晰咏骗呵貉噬弃灭金愧蜀动态规划Dynamicprogramming动态规划Dynamicprogramming图示如下:图示如下:状态转移方程是确定状态转移方程是确定过程由一个状态到另过程由一个状态到另一个状态
14、的演变过程。一个状态的演变过程。如果第如果第k阶段状态变量阶段状态变量sk的值、该阶段的决策的值、该阶段的决策变量一经确定,第变量一经确定,第k+1阶段状态变量阶段状态变量sk+1的值的值也就确定。也就确定。其状态转移方程如下(一般形式)其状态转移方程如下(一般形式)12ks1u1s2u2s3skuksk+1 能用动态规划方法求解的多阶段决策过程是一类能用动态规划方法求解的多阶段决策过程是一类特殊的多阶段决策过程,即特殊的多阶段决策过程,即具有无后效性具有无后效性的多阶段的多阶段决策过程。决策过程。宙颇衙粳迟哑钨径殊痕蜕鼓琅炒椽瓷冬却浪汐霞彪谓熔郭衣锯岩貌质划剥动态规划Dynamicprogr
15、amming动态规划Dynamicprogramming 如果状态变量不能满足无后效性的要求,应如果状态变量不能满足无后效性的要求,应适当地改变状态的定义或规定方法。适当地改变状态的定义或规定方法。动态规划中能动态规划中能处理的状态转移处理的状态转移方程的形式方程的形式。 状态具有无后效性的多阶段决策过程的状状态具有无后效性的多阶段决策过程的状态转移方程如下态转移方程如下无后效性无后效性( (马尔可夫性马尔可夫性) ) 如果某阶段状态给定后,则在这个阶段以后如果某阶段状态给定后,则在这个阶段以后过程的发展不受这个阶段以前各段状态的影响;过程的发展不受这个阶段以前各段状态的影响; 过程的过去历史
16、只能通过当前的状态去影响过程的过去历史只能通过当前的状态去影响它未来的发展;它未来的发展; 构造动态规划模型时,要充分注意是构造动态规划模型时,要充分注意是否满足无后效性的要求;否满足无后效性的要求;状态变量要满足无后效性的要求状态变量要满足无后效性的要求;们罐庄汛辕阉刻泉纤装归菜憨痰昧休互悸产搔崔恋遗担乞曙额弯诫眶邻陶动态规划Dynamicprogramming动态规划Dynamicprogramming 5 5、策略:相互连接的决策序列称为一个、策略:相互连接的决策序列称为一个策略策略。 从第从第k k阶段开始到第阶段开始到第n n阶段结束称为一个阶段结束称为一个子策略子策略。 P Pk
17、k, ,n n , , 全策略全策略 P P1 1, ,n n . . 所有策略当中有最优值的策略称为所有策略当中有最优值的策略称为最优策略最优策略。 6 6、状态转移方程:是确定过程由一个状态到另一个、状态转移方程:是确定过程由一个状态到另一个状态的演变过程,描述了状态转移规律。状态的演变过程,描述了状态转移规律。神匹矣篮寄泳颜誓章新夯帧胯当萨罐烘狄玉岂铱殷寇输展吓梧旅灾施糠逝动态规划Dynamicprogramming动态规划Dynamicprogramming 7 7、指标函数和最优值函数:用来衡量所实现过程优、指标函数和最优值函数:用来衡量所实现过程优劣的一种数量指标,为劣的一种数量指
18、标,为指标函数指标函数。 阶阶段段指指标标函函数数: V Vk k (s(sk k ,u,uk k ) ) 表表示示第第 k k 阶阶段段位位于于s sk k 状态、决策为状态、决策为 u uk k 的指标值。的指标值。 策略指标函数策略指标函数:各决策序列指标值之和。(个别情:各决策序列指标值之和。(个别情况为乘积)况为乘积)指标函数的最优值,称为指标函数的最优值,称为最优值函数最优值函数。在不同的问题。在不同的问题中,指标函数的含义是不同的,它可能是距离、利润、中,指标函数的含义是不同的,它可能是距离、利润、成本、产量或资源消耗等。成本、产量或资源消耗等。 动态规划模型的指标函数,应具有可
19、分离性,并满动态规划模型的指标函数,应具有可分离性,并满足足递推递推关系关系。内氖钎轨迹剃橇哪札堪诣驻幽镑熬脖敏粱鞋哦端杠涕警见杖认版商糯笨晓动态规划Dynamicprogramming动态规划Dynamicprogramming小结小结: :方程方程 : :状态转移方程状态转移方程概念概念 : : 阶段变量阶段变量k k状态变量状态变量s sk k决策变量决策变量u uk k; ;指标指标: : 动态规划本质上是多阶段决策过程动态规划本质上是多阶段决策过程; ; 效益效益指标函数形式指标函数形式: : 和、和、积积无后效性无后效性可递推可递推匠独豆鳖绪操拣囚蔗售她锰钾肮晴认蒸舆疙咏酗胺萎啃赶
20、骤蜘伊蹄敝闺骇动态规划Dynamicprogramming动态规划Dynamicprogramming解多阶段决策过程问题,求出解多阶段决策过程问题,求出 最优策略最优策略,即最优,即最优决策序列决策序列f1(s1) 最优轨线最优轨线,即执行最优策略时的即执行最优策略时的状态序列状态序列 最优目标函数值最优目标函数值从从 k 到终点最优策略到终点最优策略子策略的最优目标函数值子策略的最优目标函数值甲噬著虱辛叙址贪费博橡棚坝招暇玻曲毡命藕蓄众虎客膀惧桶禾差廊庄较动态规划Dynamicprogramming动态规划Dynamicprogramming1、动态规划方法的关键在于正确地写出基本的递推、
21、动态规划方法的关键在于正确地写出基本的递推关系式和恰当的边界条件(简称基本方程)。要做到关系式和恰当的边界条件(简称基本方程)。要做到这一点,就必须将问题的过程分成几个相互联系的阶这一点,就必须将问题的过程分成几个相互联系的阶段,恰当的选取状态变量和决策变量及定义最优值函段,恰当的选取状态变量和决策变量及定义最优值函数,从而把一个大问题转化成一组同类型的子问题,数,从而把一个大问题转化成一组同类型的子问题,然后逐个求解。即从边界条件开始,逐段递推寻优,然后逐个求解。即从边界条件开始,逐段递推寻优,在每一个子问题的求解中,均利用了它前面的子问题在每一个子问题的求解中,均利用了它前面的子问题的最优
22、化结果,依次进行,最后一个子问题所得的最的最优化结果,依次进行,最后一个子问题所得的最优解,就是整个问题的最优解。优解,就是整个问题的最优解。(二)、动态规划的基本思想(二)、动态规划的基本思想捣暴怜莽销螟括辱慈孤叼淤昏瓤柑论宋彤钦魂箱庆芬诸拄作谆辜绞羞虐依动态规划Dynamicprogramming动态规划Dynamicprogramming2、在多阶段决策过程中,动态规划方法是既把当前、在多阶段决策过程中,动态规划方法是既把当前一段和未来一段分开,又把当前效益和未来效益结合一段和未来一段分开,又把当前效益和未来效益结合起来考虑的一种最优化方法。因此,每段决策的选取起来考虑的一种最优化方法。
23、因此,每段决策的选取是从全局来考虑的,与该段的最优选择答案一般是不是从全局来考虑的,与该段的最优选择答案一般是不同的同的.最优化原理:作为整个过程的最优策略具有这样的最优化原理:作为整个过程的最优策略具有这样的性质:无论过去的状态和决策如何,相对于前面的决性质:无论过去的状态和决策如何,相对于前面的决策所形成的状态而言,余下的决策序列必然构成最优策所形成的状态而言,余下的决策序列必然构成最优子策略。子策略。”也就是说,一个最优策略的子策略也是最也就是说,一个最优策略的子策略也是最优的。优的。3、在求整个问题的最优策略时,由于初始状态是、在求整个问题的最优策略时,由于初始状态是已知的,而每段的决
24、策都是该段状态的函数,故最优已知的,而每段的决策都是该段状态的函数,故最优策略所经过的各段状态便可逐段变换得到,从而确定策略所经过的各段状态便可逐段变换得到,从而确定了最优路线。了最优路线。抿壶教对堤巧憨黎嘘究孟赡故携污冠夜季海梦躺岩添备哎诣显隐贵琐盛涎动态规划Dynamicprogramming动态规划Dynamicprogramming(三)、建立动态规划模型的步骤(三)、建立动态规划模型的步骤 1 1、划分阶段、划分阶段k k划划分分阶阶段段是是运运用用动动态态规规划划求求解解多多阶阶段段决决策策问问题题的的第第一一步步,在在确确定定多多阶阶段段特特性性后后,按按时时间间或或空空间间先先
25、后后顺顺序序,将将过过程程划划分分为为若若干干相相互互联联系系的的阶阶段段。对对于于静静态态问问题题要要人为地赋予人为地赋予“时间时间”概念,以便划分阶段。概念,以便划分阶段。 2 2、正确选择状态变量、正确选择状态变量s sk k选选择择变变量量既既要要能能确确切切描描述述过过程程演演变变又又要要满满足足无无后后效效性性,而而且且各各阶阶段段状状态态变变量量的的取取值值能能够够确确定定。一一般般地地,状状态态变量的选择是从过程演变的特点中寻找。变量的选择是从过程演变的特点中寻找。 3 3、确定决策变量、确定决策变量u uk k(s(sk k) )及允许决策集合及允许决策集合D Dk k(s(
26、sk k) )通通常常选选择择所所求求解解问问题题的的关关键键变变量量作作为为决决策策变变量量,同同时时要给出决策变量的取值范围,即确定允许决策集合。要给出决策变量的取值范围,即确定允许决策集合。裹恰汐藐剪去诗噬涝点挝薪谰衬阶锈删绘梗脉浓脉侦浆父毛萤捂逗翘艾龄动态规划Dynamicprogramming动态规划Dynamicprogramming 4 4、确定状态转移方程、确定状态转移方程根据根据k 阶段状态变量和决策变量,写出阶段状态变量和决策变量,写出k+1阶段状态变量,阶段状态变量,状态转移方程应当具有递推关系。状态转移方程应当具有递推关系。s sk+1k+1 =T =Tk k (s (
27、sk k ,u ,uk k ) T ) Tk k 函数关系函数关系 5 5、确定阶段指标函数和最优指标函数,建立动态规、确定阶段指标函数和最优指标函数,建立动态规划基本方程划基本方程 阶段指标函数是指第阶段指标函数是指第k 阶段的收益,最优指标函数是阶段的收益,最优指标函数是指从第指从第k 阶段状态出发到第阶段状态出发到第n 阶段末所获得收益的最优阶段末所获得收益的最优值,最后写出动态规划基本方程。值,最后写出动态规划基本方程。fk(sk)=OptVk(sk,uk)+fk+1(sk+1)fn+1(sn+1)=0Opt最优化(最优化(max,min)馋缆绪改车夺宾举做定炽杏普曲痢由慑绚奎技爆边炸
28、谭轧忙置陕丑懈礁炸动态规划Dynamicprogramming动态规划Dynamicprogramming 以上五步是建立动态规划数学模型的一般步骤。以上五步是建立动态规划数学模型的一般步骤。由于动态规划模型与线性规划模型不同,动态规划由于动态规划模型与线性规划模型不同,动态规划模型没有统一的模式,建模时必须根据具体问题具模型没有统一的模式,建模时必须根据具体问题具体分析,只有通过不断实践总结,才能较好掌握建体分析,只有通过不断实践总结,才能较好掌握建模方法与技巧。模方法与技巧。 f1(s1)是整个问题的最优策略,最优值。是整个问题的最优策略,最优值。fk(sk)表示从第表示从第k阶段(状态阶
29、段(状态sk)到终点)到终点的最优指标值。(距离、利润、成本等的最优指标值。(距离、利润、成本等)衷会臃脐涟啄坡浆榜钎哭掐逾世橇凤蚀税绵酣慨咨泌泛瞪繁顽染谆谐欠釜动态规划Dynamicprogramming动态规划Dynamicprogramming例一、从例一、从A地到地到D地要铺设一条煤气管道地要铺设一条煤气管道,其中需经过其中需经过两级中间站,两点之间的连线上的数字表示距离,如两级中间站,两点之间的连线上的数字表示距离,如图所示。问应该选择什么路线,使总距离最短?图所示。问应该选择什么路线,使总距离最短?AB1B2C1C2C3D24333321114二、最短路径问题二、最短路径问题戒布怖
30、浮鼠丙水峭蚜采念煤澄昭鼎蛛耳降叭分贤困洁竖豢例沸菩闺缸酷奄动态规划Dynamicprogramming动态规划Dynamicprogramming解:整个计算过程分三个阶段,从最后一个阶段开始。解:整个计算过程分三个阶段,从最后一个阶段开始。第三阶段(第三阶段(C D):):C 有三条路线到终点有三条路线到终点D。AB1B2C1C2C3D24333321114DC1C2C3显然有显然有f3 (C1 )=1;f3(C2 )=3;f3 (C3 )=4苑襄心律段嗓狼涨玄桂牲沁匡椎纲丢伸订御吊引袖已筹央纹笼助森近蓝钢动态规划Dynamicprogramming动态规划Dynamicprogrammin
31、g d(B1,C1)+f3 (C1 )3+1 f2 (B1 )=mind(B1,C2)+f3 (C2 )=min3+3d(B1,C3)+f3 (C3 )1+44=min6=45第二阶段(第二阶段(B C):):B 到到C 有六条路线。有六条路线。AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为最短路线为B1C1D)犀填柿回卑诫怕蚜砒疡请躬其赁拭黄藏籽肮呕疚征芽啦著钓也丁盂胡攒锗动态规划Dynamicprogramming动态规划Dynamicprogramming d(B2,C1)+f3 (C1 )2+1 f2 (B2 )=mind(B2,C2)+f3 (C2
32、)=min3+3d(B2,C3)+f3 (C3 )1+43=min6=35AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为最短路线为B2C1D)牙增梦谓婆耳刚稍泪喇斩消鸟滥视俏绅亨眶火眺烫申剂撤慑精乌霹扣材散动态规划Dynamicprogramming动态规划Dynamicprogramming第一阶段(第一阶段( A B):):A 到到B 有二条路线。有二条路线。f1(A)1=d(A,B1 )f2 (B1 )246f1 (A)2=d(A,B2)f2 (B2 )437f1 (A)=min=min6,7=6d(A,B1 )f2 (B1 )d(A,B2)f2 (B2
33、 )(最短路线为最短路线为AB1C1D)AB1B2C1C2C3D24333321114DC1C2C3B1B2A堕咆宦伸粒的训概穴剥这蚊研秒扒鞭卿钓恼饥狂棍拨顺醛普院油妆伍茵孝动态规划Dynamicprogramming动态规划DynamicprogrammingAB1B2C1C2C3D24333321114DC1C2C3B1B2A最短路线为最短路线为AB1C1D路长为路长为6愈跳考胶吭锚医焊环随姑鹏咙逝白句坪滨任羞邱木衰底尽枢粘烈李闷声红动态规划Dynamicprogramming动态规划Dynamicprogramming三、非线性规划问题三、非线性规划问题【例【例7-47-4】 用动态规划
34、方法解下列非线性用动态规划方法解下列非线性规划问题规划问题庄土拾衫妊史诗没哪腐耽傣让凡应茂阵吕茵赛像拼衬审幸舜宝蛀差徒咨抡动态规划Dynamicprogramming动态规划Dynamicprogramming解解: 解解决决这这一一类类静静态态规规划划问问题题,需需要要人人为为地地赋赋予予时时间间概概念念,从从而而将将该该问问题题转转化化为为多多阶阶段段决决策过程。策过程。按按问问题题的的变变量量个个数数划划分分阶阶段段,把把它它看看作作一一个三阶段决策问题,个三阶段决策问题,k=1k=1,2 2,3 3设状态变量为设状态变量为s s1 1,s s2 2,s s3 3,s s4 4并记并记s
35、 s1 1cc取问题中的变量取问题中的变量x x1 1,x x2 2,x x3 3为决策变量为决策变量毕浑砂类戏炯刘卸徒柯净掉孕互臣卓馈焚筹馆储岭诉陌把漆勃风酒噎勇莆动态规划Dynamicprogramming动态规划Dynamicprogramming状态转移方程为:状态转移方程为:s3=x3s3+x2=s2s2+x1=s1c允许决策集合为:允许决策集合为:x3=s30x2s20x1s1各阶段指标函数为:各阶段指标函数为:v1(x1)=x1v2(x2)=x22v3(x3)=x3,各指标函数以乘积方式结合,最优指标函数各指标函数以乘积方式结合,最优指标函数fk(sk)表示从第表示从第k k阶段
36、初始状态阶段初始状态sk出发到第出发到第3 3阶段所得到阶段所得到的最大值,则动态规划基本方程为:的最大值,则动态规划基本方程为:孩邮痰吊叉孤牙饭撰弊探航猩灌肢舞龙裴熄陵距瓤绎裕岗甸箭晰妥燃资怔动态规划Dynamicprogramming动态规划Dynamicprogramming用逆序解法由后向前依次求解:用逆序解法由后向前依次求解:k=3k=3时时,x3*=s3 k=2 k=2时时,姿怎闲闽使弗所窿糯侣筑了坟粘炉婿袜侥轧广捣肠武弘帝侮自座碧坛萍裂动态规划Dynamicprogramming动态规划Dynamicprogramming令令h2(s2,x2)=x22(s2x2)用用经典解析法经
37、典解析法求极值点:求极值点:解得:解得:x2=0(舍)(舍)所以所以是极大值点。是极大值点。陆弧颧骋骤镐优送籍诧浚园寺剿护碉献忍拦乏哦蟹竞齿戏忧冠瓷拉几哇锅动态规划Dynamicprogramming动态规划Dynamicprogrammingk=1时,令解得:x1=s1(舍) 所以所以 是极大值点。是极大值点。 扰湛系拨筑话高星横衰跺炔卤不怔进罪牲介抑讽露贱告荐驻詹误捂亿甸础动态规划Dynamicprogramming动态规划Dynamicprogramming由于由于s1未知,所以对未知,所以对s1再求极值,再求极值,显然显然s s1 1= =c c时,时,f f1 1(s s1 1)取得
38、最大值取得最大值 反向追踪得各阶段最优决策及最优值:反向追踪得各阶段最优决策及最优值:s1=c所以最优解为:所以最优解为:事房别参勋伊耗倚挚证旨阻寸汾愿榔颂汽萧掏研革忌扰颐暑楔蹦灸富商秦动态规划Dynamicprogramming动态规划Dynamicprogramming一一般般地地,如如果果阶阶段段指指标标函函数数vk(sk,uk)是是线线性性函函数数或或凸凸函函数数时时,最最优优指指标标函函数数fk(sk)的的表表达达式式比比较较容容易易得得到到,但但是是当当vk(sk,uk)不不具具备备上上述述特特性性时时,最最优优指指标标函函数数fk(sk)的的表表达达式式不不易易得得到到,就就需需
39、要要采采用用数数值值法法,即即对对连连续续变变量量进行离散化处理,再分散求解。进行离散化处理,再分散求解。例如静态规划模型例如静态规划模型其动态规划基本方程为:其动态规划基本方程为:状态转移方程为状态转移方程为sk+1=skxks1=a送身婿抬认杆朝冕奠陀琴勤啦瞧嗜涯咱叼响弃少妇迂欢佑讹胎癌遥儡伎看动态规划Dynamicprogramming动态规划Dynamicprogramming状状态态变变量量sk及及决决策策变变量量xk都都是是连连续续变变量量,对对其其进进行行离离散散化化处理,具体做法是:处理,具体做法是:1. 1. 对区间对区间00,aa进行分割,分割数进行分割,分割数m= m=
40、,其中,其中是分是分割后的小区间的长度,其大小可以根据所求解问题要割后的小区间的长度,其大小可以根据所求解问题要求的精度及计算机运算能力而定,分割点为求的精度及计算机运算能力而定,分割点为0 0,22,m= am= a。2. 2. 规定状态变量规定状态变量sk及决策变量及决策变量xk仅在离散点仅在离散点0 0,22,mm处取值,最优指标函数处取值,最优指标函数fk(sk)也定义在这也定义在这些离散点上。动态规划基本方程可以写为:些离散点上。动态规划基本方程可以写为:其中其中s sk k= =q q,x xk k= =p p。3. 3. 由后向前逐段递推,直至求出整个过程最优解。由后向前逐段递推
41、,直至求出整个过程最优解。 暑潘踪岳龟育考皖用沫糊沈圈昼励煽羹搔憋父身腮盯素蛔望懈锗愤样石占动态规划Dynamicprogramming动态规划Dynamicprogramming【例7-5】解解 按按变变量量个个数数将将原原问问题题分分为为三三个个阶阶段段,阶阶段段变变量量k=1,2,3;选择选择xk为决策变量;为决策变量;状态变量状态变量sk表示第表示第k阶段至第阶段至第3阶段决策变量之和;阶段决策变量之和;取小区间长度取小区间长度=1=1,小区间数目,小区间数目m=6/1=6m=6/1=6,状态变量,状态变量sk的取值点为:的取值点为:状态转移方程:状态转移方程:sk+1=skxk;允许
42、决策集合:允许决策集合:Dk(sk)=xk|0xksk k=1,2,3xk,sk均在分割点上取值;均在分割点上取值;吨掀舍违蹈乃裤腾九骂粪您阐幽盎峭泳献辜遮锈兄臀惶值萍酞赐诧结信瘪动态规划Dynamicprogramming动态规划Dynamicprogramming阶段指标函数分别为:阶段指标函数分别为:g1(x1)=x12g2(x2)=x2g3(x3)=x33,最优指标函数最优指标函数fk(sk)表示从第表示从第k阶段状态阶段状态sk出发到第出发到第3阶段所得到的最大值,动态规划的基阶段所得到的最大值,动态规划的基本方程为:本方程为:k=3时,时,s3及及x3取值点较多,计算结果以表格形式
43、给出,取值点较多,计算结果以表格形式给出,见表见表7-17-1所示。所示。胜僻援咖溜拔银缸是陵碳侮肪钠指腥墅糟斩彭严羊驰森设逼指得宏亿升闯动态规划Dynamicprogramming动态规划Dynamicprogramming表71取值辟阳毕噬亿沾迈俗嗣纬盖虑幸廉绝佛枯严湘喘簇帕鉴悦臣展给舟等残残厨动态规划Dynamicprogramming动态规划Dynamicprogrammingk=2k=2时,时,计算结果见表计算结果见表7-27-2联秧泊嚣很耻要臭权拨镑伤蚀矫寿弛馁源椽惑凝渍蚜庭急育立昭履雕仪哼动态规划Dynamicprogramming动态规划Dynamicprogrammingk=
44、1k=1时,时,其中其中s1=6,计算结果见表计算结果见表7-37-3所示。所示。由由表表7-37-3知知,x1*=2,s1=6,则则s2= s1x1*=62=4,查查表表7-27-2得得:x2*=1,则则s3= s2x2*=41=3,查查表表7-17-1得得:x3*=3, 所所 以以 最最 优优 解解 为为 : x1*=2, x2*=1, x3*=3,f1(s1)=108。本例也可用经典解析法求得各段的极值,读者可自本例也可用经典解析法求得各段的极值,读者可自行求解,二者结论完全相同。需要指出的是当连续变量行求解,二者结论完全相同。需要指出的是当连续变量离散化处理以后,由于状态变量和决策变量
45、只在给定的离散化处理以后,由于状态变量和决策变量只在给定的离散点上取值,故有可能漏掉最优解,因此需要慎重选离散点上取值,故有可能漏掉最优解,因此需要慎重选择参数择参数m m与与。仆春肤涎喜脾预瓤录毕酞断势弯稚癌炭蹦雇疑磕犯瞒壬享恐鹃炙慧入掸怕动态规划Dynamicprogramming动态规划Dynamicprogramming资源分配问题就是将一定数量的一种或若干种资资源分配问题就是将一定数量的一种或若干种资源(原材料、资金、设备等)合理分配给若干使用者,源(原材料、资金、设备等)合理分配给若干使用者,使得资源分配后总结果最优。一种资源的分配问题称使得资源分配后总结果最优。一种资源的分配问题
46、称为一维资源分配问题,两种资源的分配问题称为二维为一维资源分配问题,两种资源的分配问题称为二维资源分配问题。资源分配问题。四、四、资源分配问题资源分配问题朽寄键狄孔立睦兼浓簧玉笛耻邓眠峡烩庶蛮鲍倡介舒炒奢除吵殆澎贿砚辨动态规划Dynamicprogramming动态规划Dynamicprogramming假设有一种资源,数量为假设有一种资源,数量为a a,将其分配给,将其分配给n n个使用者,个使用者,分配给第分配给第i个使用者数量个使用者数量xi时,相应的收益为时,相应的收益为gi(xi),),问如何分配使得总收入最大?这就是一维资源分配问题,问如何分配使得总收入最大?这就是一维资源分配问题
47、,该问题的数学模型为:该问题的数学模型为:这是一个静态规划问题,应用动态规划方法求解时这是一个静态规划问题,应用动态规划方法求解时人为赋予时间概念,将其看作是一个多阶段决策问题。人为赋予时间概念,将其看作是一个多阶段决策问题。短回岸待鳞蠢憎辩暇寨笔旺咀弛舀豢佯场散猎糖电售颇邱纂蹬间土溉迪戳动态规划Dynamicprogramming动态规划Dynamicprogramming按变量个数划分阶段,按变量个数划分阶段,k=1,2,n;设决策变量设决策变量uk=xk,表示分配给第表示分配给第k个使用者的资源数量;个使用者的资源数量;设设状状态态变变量量为为sk,表表示示分分配配给给第第k个个至至第第
48、n个个使使用用者者的的总总资资源数量;源数量;状态转移方程:状态转移方程:sk+1=skxk,其中其中s1=a;允许决策集合:允许决策集合:Dk(sk)=xk| |0xksk阶阶段段指指标标函函数数:vk(sk,uk)=gk(xk)表表示示分分配配给给第第k个个使用者数量使用者数量xk时的收益;时的收益;最最优优指指标标函函数数fk(sk)表表示示以以数数量量sk的的资资源源分分配配给给第第k个个至至第第n个个使使用用者者所所得得到到的的最最大大收收益益,则则动动态态规规划划基基本本方方程程为:为:由后向前逐段递推,由后向前逐段递推,f1(a)即为所求问题的最大收益即为所求问题的最大收益。疥摩
49、眩搓优鳞积荤扳埃呈肥哪夯稀赖茧荔聪普偷宙这犁蔡渴漏呼千潘物罪动态规划Dynamicprogramming动态规划Dynamicprogramming【例例7-67-6】 某某公公司司打打算算在在3 3个个不不同同的的地地区区设设置置4 4个个销销售售点点,根根据据市市场场部部门门估估计计,在在不不同同地地区区设设置置不不同同数数量量的的销销售售点点每每月月可可得得到到的的利利润润如如表表7-47-4所所示示。试试问问在在各各地地区区如如何何设设置置销销售售点点可可使使每每月月总利润最大。总利润最大。表表7-47-4椎夹破梢低获锰妙忠咐塞偷囊互知硝龚毋况愤羊箕先凯沏梅绒孩锚驻簇扦动态规划Dyna
50、micprogramming动态规划Dynamicprogramming解解 如前所述,建立动态规划数学模型:如前所述,建立动态规划数学模型:将问题分为将问题分为3 3个阶段,个阶段,k=1,2,3;决策变量决策变量xk表示分配给第表示分配给第k个地区的销售点数;个地区的销售点数;状态变量为状态变量为sk表示分配给第表示分配给第k个至第个至第3个地区的销售点总数;个地区的销售点总数;状态转移方程:状态转移方程:sk+1=skxk,其中其中s1=4;允许决策集合:允许决策集合:Dk(sk)=xk| |0xksk阶阶段段指指标标函函数数:gk(xk)表表示示xk个个销销售售点点分分配配给给第第k个
51、地区所获得的利润;个地区所获得的利润;最优指标函数最优指标函数fk(sk)表示将数量为表示将数量为sk的销售点分的销售点分配给第配给第k个至第个至第3个地区所得到的最大利润,动态规划个地区所得到的最大利润,动态规划基本方程为:基本方程为:势热屉沥秸逆淑阔蛋酶日回墟富窄品还计旋灵核应涤炬蓑赠纯莲矗塞前创动态规划Dynamicprogramming动态规划Dynamicprogrammingk=3时,时,数值计算如下表数值计算如下表7-57-5表表7-5 7-5 赘燎愧籍豌桩蚀梁客千岗蝶写婚咎藩结掺躇监崎钙净瘤抢仟皮茁次堑陀虾动态规划Dynamicprogramming动态规划Dynamicpro
52、grammingk=2k=2时,时,计算结果见下表计算结果见下表7-67-6表表7-67-6尿旋嫡肥而盟厘仍文筏营沤酸钨惊眨佐游滤危诞蛰庞酌婴谅芥壳叫凰县偿动态规划Dynamicprogramming动态规划Dynamicprogrammingk=1k=1时,时,k=1k=1时,只有时,只有s s1 1=4=4的情况。的情况。计算结果如表计算结果如表7-77-7所示。所示。所以所以最优解最优解为:为:x x1 1* *=2=2,x x2 2* *=1=1,x x3 3* *=1=1,f f1 1(4)=47(4)=47,即在第即在第1 1个个地区设置地区设置2 2个销售点,第个销售点,第2 2
53、个个地区设置地区设置1 1个销售点,第个销售点,第3 3个个地区设置地区设置1 1个销售点,每月可获利润个销售点,每月可获利润4747。表表7-77-7资绿循尘劝隅吊伟堂叹守烁葡尔督拐蝉失惭歧汁捅臆荷同腿诣科洗恿撰稻动态规划Dynamicprogramming动态规划Dynamicprogramming【例【例7-7】机器负荷问题】机器负荷问题某工厂有某工厂有100100台机器,拟分四期使用,每一期都可在高、低台机器,拟分四期使用,每一期都可在高、低两种不同负荷下进行生产。若把两种不同负荷下进行生产。若把x x台机器投入高负荷下进行生产,台机器投入高负荷下进行生产,则在本期结束时将有则在本期结
54、束时将有1/3x1/3x台机器损坏报废;余下的机器全部投入台机器损坏报废;余下的机器全部投入低负荷下进行生产,则在期末有低负荷下进行生产,则在期末有1/101/10的机器报废。如果高负荷下的机器报废。如果高负荷下生产时每台机器可获利润为生产时每台机器可获利润为1010,低负荷下生产时每台机器可获利,低负荷下生产时每台机器可获利润为润为7 7,问怎样分配机器使四期的总利润最大?,问怎样分配机器使四期的总利润最大?解解 将问题按周期分为将问题按周期分为4 4个阶段,个阶段,k=1,2,3,4;状态变量状态变量sk表示第表示第k阶段初完好的机器数,阶段初完好的机器数,s1=100,0sk100;决策
55、变量决策变量xk表示第表示第k阶段投入高负荷下生产的机器数,阶段投入高负荷下生产的机器数,则则skxk表示第表示第k阶段投入低负荷下生产的机器数;阶段投入低负荷下生产的机器数;允许决策集合:允许决策集合:Dk(sk)=xk| |0xksk状态转移方程:状态转移方程:sk+1=Tk(sk,xk),),即第即第k+1阶段初拥有的完好机器阶段初拥有的完好机器数数sk+1为:为:绽烁贯吵悬疽研亏逛弗旗思母或鹊勿浊挂铡伐痹弱莉坪悬锤萤同善威慷秦动态规划Dynamicprogramming动态规划Dynamicprogramming阶段指标函数:阶段指标函数:vk(sk,xk)=10xk+7(skxk)表
56、示第表示第k阶段所获得的利润;阶段所获得的利润;最优指标函数最优指标函数f fk k(s sk k)表示从第表示从第k k阶段初完好机器数为阶段初完好机器数为s sk k至至第四阶段的最大第四阶段的最大利润,动态规划基本方程为:利润,动态规划基本方程为: k=4k=4时,时, x x4 4* *= =s s4 4 k=3k=3时,时, x x3 3* *= =s s3 3费湃候状疟阿逢虞蹋草囱睁爽釉翰熟症条江谤尊体叉振莫荒儿绵欺彤浊致动态规划Dynamicprogramming动态规划Dynamicprogrammingk=2时,时,x2*=0k=1时,时,x1*=0拇北除颊矮傻卸样发卑雍桑牛
57、戒莉终章格绥我绣晶缓依想贮侩赂洽师守懂动态规划Dynamicprogramming动态规划Dynamicprogramming因为因为s1=100,所以,所以f1(100)=2680,逆向追踪得:,逆向追踪得:s1=100,x1*=0x2*=0x3*=s3=81x4*=s4=54即,第即,第1,2期把全部完好机器投入低负荷下生产,第期把全部完好机器投入低负荷下生产,第3,4期把全部完好机器投入高负荷下生产所得利润最大。期把全部完好机器投入高负荷下生产所得利润最大。定凰包荷剐警灾透二遮札懂欲贿淬掖频源着柬叛挑两健黄赞视贡援痞素接动态规划Dynamicprogramming动态规划Dynamicp
58、rogramming五、生产计划问题五、生产计划问题 在企业生产经营活动中,经常会遇到在企业生产经营活动中,经常会遇到如何合理安排生产、库存及销售计划,如何合理安排生产、库存及销售计划,使总效益最高的问题,这一类问题统称使总效益最高的问题,这一类问题统称为生产计划问题。为生产计划问题。莎氢恃烘双称夯套珊裤械扭租火压殆凡夯誊鹃蛋籽嘛暂笼辽港腿仍眺谷尤动态规划Dynamicprogramming动态规划Dynamicprogramming【例【例7-8】(生产(生产库存问题)库存问题)某工厂要对一种产品制定今后四个时期的生产计划,某工厂要对一种产品制定今后四个时期的生产计划,据估计在今后四个时期内
59、,市场对该产品的需求量分别据估计在今后四个时期内,市场对该产品的需求量分别为为2,3,2,4单位,假设每批产品固定成本为单位,假设每批产品固定成本为3千元,千元,若不生产为若不生产为0,每单位产品成本为,每单位产品成本为1千元,每个时期最大千元,每个时期最大生产能力不超过生产能力不超过6个单位,每期期末未出售产品,每单个单位,每期期末未出售产品,每单位需付存贮费位需付存贮费0.5千元,假定第千元,假定第1期初和第期初和第4期末库存量期末库存量均为均为0,问该厂如何安排生产与库存,可在满足市场需,问该厂如何安排生产与库存,可在满足市场需求的前提下总成本最小。求的前提下总成本最小。解解解解 以以以
60、以每每每每个个个个时时时时期期期期作作作作为为为为一一一一个个个个阶阶阶阶段段段段,该该该该问问问问题题题题分分分分为为为为4 4个个个个阶阶阶阶段段段段,k k=1=1,2 2,3 3,4 4;决策变量决策变量决策变量决策变量x xk k表示第表示第表示第表示第k k阶段生产的产品数;阶段生产的产品数;阶段生产的产品数;阶段生产的产品数; 状态变量状态变量状态变量状态变量s sk k表示第表示第表示第表示第k k阶段初的库存量;阶段初的库存量;阶段初的库存量;阶段初的库存量;爱抚鄙隐再擒埂钳艳礼嗅驼令税允陪涸啪蕊叁词馁豹焚子持挨染擂沙吴参动态规划Dynamicprogramming动态规划D
61、ynamicprogramming以以dk表示第表示第k阶段的需求,则状态转移方程:阶段的需求,则状态转移方程:sk+1=sk+xkdkk=4,3,2,1由于期初及期末库存为由于期初及期末库存为0,所以,所以s1=0,s5=0;允许决策集合允许决策集合Dk(sk)的确定:)的确定:当当skdk时,时,xk可以为可以为0,当,当skdk时,至少应生产时,至少应生产dksk,故故xk的下限为的下限为max(0,dksk);每期最大生产;每期最大生产能力为能力为6,xk最大不超过最大不超过6,由于期末库存为,由于期末库存为0,xk还应小还应小于本期至于本期至4期需求之和减去本期的库存量期需求之和减去
62、本期的库存量,所,所以以xk的上限为的上限为min(,6),故有:),故有:Dk(sk)=xk|max(0,dksk)xkmin(,6)豺踞潞毗比湍番牧扫仿近潭斩愈溉股荆疟拖点豹抛嫉导祷培匿旦董投咀羡动态规划Dynamicprogramming动态规划Dynamicprogramming阶阶段段指指标标函函数数rk(sk,xk)表表示示第第k期期的的生生产产费费用用与与存贮费用之和:存贮费用之和:最最优优指指标标函函数数fk(sk)表表示示第第k期期库库存存为为sk到到第第4期期末的生产与存贮最低费用,动态规划基本方程为:末的生产与存贮最低费用,动态规划基本方程为:方隘抢券瘴礁镰斟弛续艺辙犹百
63、亡剿槛傀庚添逝廷矿剩涪佃勿蛙棵韩肌溃动态规划Dynamicprogramming动态规划Dynamicprogramming先先求求出出各各状状态态允允许许状状态态集集合合及及允允许许决决策策集集合合,如如表表7-8所示。所示。表表7-8刁昭网墨誉何婿孩玄梨献送惰蕊唾倪奏有汁缓茫议呛型捶冀揉赫杆烬坚考动态规划Dynamicprogramming动态规划Dynamicprogrammingk=4时,时,计算结果见表计算结果见表7-9所示。所示。表表7-9觅莫辩侧汰圭条遇债臀怀步戮夹辖朱芍积武亮粉峭佬呀剖北瞩缀懦射琳忧动态规划Dynamicprogramming动态规划Dynamicprogram
64、mingk=3时,时,计算结果如下表:计算结果如下表:端疮洒刀膛秽蓉欲隆至宏益啤轮冲咱捅稽库塑检抡瓤锁监故扔杜悄琴轮饵动态规划Dynamicprogramming动态规划Dynamicprogrammingk=2时,时,计算结果如下表计算结果如下表绵丈祸崎季菜技蹈窖浩锰俺宾竣川跺氏厨扛汕赐醇免辰估葫艰芒舒琅脑史动态规划Dynamicprogramming动态规划Dynamicprogrammingk=1时,计算结果见表7-12所示 逆向追踪可得:x1*=5,s2=3,x2*=0,s3=0,x3*=6,s4=4,x4*=0,即第1时期生产5个单位,第3时期生产6个单位,第2,4时期不生产,可使总
65、费用最小,最小费用为20.5千元。稻许复舀羽弧戒汤效祥卸栗唉狠迅诱畜栋雍长貌蔡挛戍抱扑硝丽增携盏馆动态规划Dynamicprogramming动态规划Dynamicprogramming【例【例7-9】(库存(库存销售问题)销售问题)设设某某公公司司计计划划在在1至至4月月份份从从事事某某种种商商品品经经营营。已已知知仓仓库库最最多多可可存存储储600件件这这种种商商品品,已已知知1月月初初存存货货200件件,根根据据预预测测知知1至至4月月份份各各月月的的单单位位购购货货成成本本及及销销售售价价格格如如表表7-13所所示示,每每月月只只能能销销售售本本月月初初的的库库存存,当当月月进进货货供
66、供以以后后各各月月销销售售,问问如如何何安安排排进进货货量量和和销销售售量量,使使该该公公司司四四个个月月获获得利润最大(假设四月底库存为零)。得利润最大(假设四月底库存为零)。表表7-13宙竿圃猎宙慧氟裂靠乳松硝赂糊满彻杖腻怀疚娶茫褥旺录乌忍钟纸翱惶常动态规划Dynamicprogramming动态规划Dynamicprogramming解按月份划分阶段,k=1,2,3,4;状态变量sk表示第k月初的库存量,s1=200,s5=0;决策变量xk表示第k月售出的货物数量,yk表示第k月购进的货物数量;状态转移方程:sk+1=sk+ykxk;允许决策集合:0xksk,0yk600(skxk);阶
67、段指标函数为:pkxkckyk表示k月份的利润,其中pk为第k月份的单位销售价格,ck为第k月份的单位购货成本;最优指标函数fk(sk)表示第k月初库存为sk时从第k月至第4月末的最大利润,则动态规划基本方程为:奈挑燎恃吊伍袱恶瓶径丧氧储妻泼坐宽摸艺帜侥橙婴端县昨躁了薯锨选骤动态规划Dynamicprogramming动态规划Dynamicprogrammingk=4时,时,x4*=s4y4*=0k=3时,时,为为求求出出使使44s35x3+4y3最最大大的的x3,y3,须须求求解解线线性性规规划划问问题:题:躁酒瓢住峻庸智哀椰饮卡糙浚渐显爬揽莫疏榆驱器园酶箱配叠款惕坝轩鬼动态规划Dynami
68、cprogramming动态规划Dynamicprogramming只只有有两两个个变变量量x3,y3,可可用用图图解解法法也也可可用用单单纯纯形形法法求求解解,图图解解法法求求解解示示意意图图如图如图7-5所示:所示:在在A点处取得最优解,点处取得最优解,x3*=0,y3*=600s3,f3(s3)=40s3+2400As3600y3x30600s3图图7-57-5略衍遇廓沟九女檀弄害邦飞浙旷土修捂侣简爵妓螟取蛔膘颁税熊救吮判爵动态规划Dynamicprogramming动态规划Dynamicprogrammingk=2时,时,类似地求得:类似地求得:x2*=s2,y2*=600,f2(s2
69、)=42s2+3600k=1时,时,类似地求得:类似地求得:x1*=s1,y1*=600, f1(s1)=45s1+4800=13800榷滨住第肥度债与滤培路笺嗅慢逞制犯妮蜜吠彪鸥抒扁呢亦酵该岳辰女胚动态规划Dynamicprogramming动态规划Dynamicprogramming逆向追踪得各月最优购货量及销售量:逆向追踪得各月最优购货量及销售量:x1*=s1=200y1*=600;x2*=s2=s1+y1*x1*=600y2*=600;x3*=0y3*=600s3=600(s2+y2*x2*)=0x4*=s4=(s3+y3*x3*)=600y4*=0即即1月份销售月份销售200件,进货
70、件,进货600件,件,2月份销售月份销售600件,件,进货进货600件,件,3月份销售量及进货量均为月份销售量及进货量均为0,4月份销售月份销售600件,不进货,可获得最大总利润件,不进货,可获得最大总利润13800。瞄贯筛硷骇绒衰鲍书孟始层碑摊朋挣后熙铝补虎亢阎鼠畸砷胜安桃氏暖慌动态规划Dynamicprogramming动态规划Dynamicprogramming六、背包问题六、背包问题有有人人携携带带背背包包上上山山,其其可可携携带带物物品品的的重重量量限限度度为为a公公斤斤,现现有有n种种物物品品可可供供选选择择,设设第第i种种物物品品的的单单件件重重量量为为ai公公斤斤,其其在在上上
71、山山过过程程中中的的价价值值是是携携带带数数量量xi的的函函数数ci(xi),问问应应如如何何安安排排携携带带各各种种物物品品的的数数量量,使使总总价价值值最最大大。这这就就是是背背包包问问题题,类类似似的的货货物物装装载载问问题题,下下料料问问题题都都等等同同于背包问题。于背包问题。背包问题的数学模型为:背包问题的数学模型为:夸入寺舆吐握焦轩理淫将仲诊遵恫倦池碰肯俞粤拙栏哗辱武是偶危茵君迷动态规划Dynamicprogramming动态规划Dynamicprogramming下面用动态规划方法求解:下面用动态规划方法求解:按照装入物品的种类划分阶段,按照装入物品的种类划分阶段,k=1,2,n
72、;状态变量状态变量sk表示装入第表示装入第k种至第种至第n种物品的总重量;种物品的总重量;决策变量决策变量xk表示装入第表示装入第k种物品的件数;种物品的件数;状态转移方程为:状态转移方程为:sk+1=skakxk允许决策集合为:允许决策集合为:其中表示不超过的最大整数;其中表示不超过的最大整数;阶阶段段指指标标函函数数ck(xk)表表示示第第k阶阶段段装装入入第第k种种商商品品xk件件时时的价值;的价值;最最优优指指标标函函数数fk(sk)表表示示第第k阶阶段段装装入入物物品品总总重重量量为为sk时的最大价值,动态规划基本方程为:时的最大价值,动态规划基本方程为:做络王器园啊帝丰捧磺凛滇卜德
73、丧靳焉绞显句凤邢坑董驯继栓绰虚讼痛或动态规划Dynamicprogramming动态规划Dynamicprogramming【例例7-10】某某工工厂厂生生产产三三种种产产品品,各各产产品品重重量量与与利利润润关关系系如如表表7-14所所示示,现现将将此此三三种种产产品品运运往往市市场场销销售售,运运输输能能力总重量不超过力总重量不超过6吨,问如何安排运输使总利润最大?吨,问如何安排运输使总利润最大?表表7-14种类种类123单位重量(吨)单位重量(吨)234单位利润(元)单位利润(元)80130180解解设设xi为为装装载载第第i种种货货物物的的件件数数,i=1,2,3,该该问问题题数数学学
74、模型为:模型为:雪垛荤誉抛肛演佳尝乃万鸿键娶因筑霹式刻穴痪斋乙谋卤厘孙袋哑烤呆掂动态规划Dynamicprogramming动态规划Dynamicprogramming按前述方法建立动态规划模型;按前述方法建立动态规划模型;k=3时,时,计算结果如表计算结果如表7-15所示。所示。嗓髓裸共汁掇昼晦木陌肺晌蔓锡伐赴账恐袋描沧释冀堑奥宣主寻砍晃崭蚌动态规划Dynamicprogramming动态规划Dynamicprogrammingk=2时,时,计算结果如表计算结果如表7-16所示。所示。表表7-16正托句庞戌蹿邪动吭诸狗浮鹊拂刷许歧瓶屁壹泻荡卸降碑称槐梳襄赢袍异动态规划Dynamicprogr
75、amming动态规划Dynamicprogrammingk=1时,时,计算结果如表计算结果如表7-17所示。所示。表表7-17反向追踪得最优方案反向追踪得最优方案:x1*=0,x2*=2,x3*=0;最优方案最优方案:x1*=1,x2*=0,x3*=1;最大总利润为最大总利润为260元。元。栈抱瑞蔷酸包场纺饮右匀牌绸硼枫纬懒挥泛炔脐藤垛情叛褐屠友诬卒诲叠动态规划Dynamicprogramming动态规划Dynamicprogramming七、复合系统工作可靠性问题七、复合系统工作可靠性问题某个机器工作系统由某个机器工作系统由n个部件串联而成,个部件串联而成,其中只要有一个部件失效,则整个系统
76、不能正其中只要有一个部件失效,则整个系统不能正常工作,因此为了提高系统工作的可靠性,在常工作,因此为了提高系统工作的可靠性,在设计时,每个主要部件上都装有备用元件,一设计时,每个主要部件上都装有备用元件,一旦某个主要部件失效,备用元件会自动投入系旦某个主要部件失效,备用元件会自动投入系统工作,显然备用元件越多,系统工作可靠性统工作,显然备用元件越多,系统工作可靠性越大,但是备用元件越多,系统的成本、重量、越大,但是备用元件越多,系统的成本、重量、体积相应增大,工作精度降低,因此在上述限体积相应增大,工作精度降低,因此在上述限制条件下,应选择合理的备用元件数,使整个制条件下,应选择合理的备用元件
77、数,使整个系统的工作可靠性最大。系统的工作可靠性最大。侦歧洼焚锯汁跳古洪秽帘篓妈险火羽抒拭叼宾洁弗挎享镭靡了歧轿畸亿佳动态规划Dynamicprogramming动态规划Dynamicprogramming设设第第i(i=1,2,n)个个部部件件上上装装有有ui个个备备用用元元件件,正正常常工工作作的的概概率率为为pi(ui),则则整整个个系系统统正正常常工工作作的的可可靠靠性性为,装第为,装第i个部件的费用为个部件的费用为ci,重量为,重量为wi,要,要求求总总费费用用不不超超过过c,总总重重量量不不超超过过w,则则静静态态规规划划数数学学模模型型为:为:汐谩厚喝团界秩虽蛀垛灸莱钓稗屁蹭锯购
78、弘旁建膝错哮现尊纶度嘶衣奄逸动态规划Dynamicprogramming动态规划Dynamicprogramming按部件个数划分阶段,按部件个数划分阶段,k=1,2,n;决策变量决策变量uk表示部件表示部件k上的备用元件数;上的备用元件数;状态变量状态变量xk表示从第表示从第k个到第个到第n个部件的总费用,个部件的总费用,yk表示从第表示从第k个到第个到第n个部件的总重量;个部件的总重量;状态转移方程为:状态转移方程为:xk+1=xkckukyk+1=ykwkuk允许决策集合为:允许决策集合为:阶段指标函数为阶段指标函数为pk(uk),表示第),表示第k个部件的正常工作概率;个部件的正常工作
79、概率;最最优优指指标标函函数数fk(xk,yk)表表示示由由状状态态xk,yk出出发发,从从部部件件k到到部部件件n的系统工作最大可靠性,则动态规划基本方程为:的系统工作最大可靠性,则动态规划基本方程为:f1(c,w)即为整个系统工作的最大可靠性。)即为整个系统工作的最大可靠性。桔亢渡卤蕾净敲晨旦隐朝虹蓬讫詹替腐绦佬温搭抿后牙酚圭万票据土彝苟动态规划Dynamicprogramming动态规划Dynamicprogramming【例例7-11】某某厂厂设设计计的的一一种种电电子子设设备备由由三三种种元元件件A、B、C串串联联而而成成,已已知知三三种种元元件件的的价价格格及及可可靠靠性性如如表表
80、7-18所所示示,要要求求设设计计中中使使用用元元件件的的总总费费用用不不超超过过10万万元元,问问如如何何设设计计使使设设备备的的可可靠靠性性达达到到最最大大(不考虑重量限制)。(不考虑重量限制)。表表7-18盂踩首咱叫夜伺棉址吓蛀桌怯甸纹妮歉棕焉售哨蓝谆命订扣笋瑚赦鞋镰淫动态规划Dynamicprogramming动态规划Dynamicprogramming解如前所述建立动态规划数学模型;按元件种类划分为3个阶段,k=1,2,3;决策变量xk表示第k个部件配备的元件数;状态变量sk表示从第k阶段到第3阶段配备元件的总费用;状态转移方程为:sk+1=skckxk其中ck表示第k种部件的元件单
81、价;允许决策集合为:以pk表示第k个部件中的1个元件的正常工作概率,假定部件k的xk个元件是并联的,则为xk个元件均不正常工作的概率,fk(sk)表示由状态sk开始从第k个到第3个部件的设备最大可靠性。岸松莉言瓢温崎窘悲柔斌珍抓赚仍断翁歌圈苹猴惨出抉窖郴陌袁畸谅意闸动态规划Dynamicprogramming动态规划Dynamicprogrammingk=3时,时,由由于于A、B至至少少要要购购置置1件件,用用于于购购置置C的的最最高高金金额额为为s3=1023=5万元,计算结果如表万元,计算结果如表7-19所示。所示。表表7-19坠签刨它抢莱腥扫水烯卖渍譬幂却乐鹰蓬己煎蝎吮武简矫叔责篇弧潘单
82、九动态规划Dynamicprogramming动态规划Dynamicprogrammingk=2时,时,计算结果如表计算结果如表7-20所示。所示。表表7-20振缄屿稳薛毫缝佯馅几裴圣檬沤宛乳谓辊酪仔雀羽拼晕垛恃瞳曳饭皇核她动态规划Dynamicprogramming动态规划Dynamicprogrammingk=1时,时,计算结果如表计算结果如表7-21所示。所示。表表7-21逆向追踪得:逆向追踪得:x1*=2,s2=6,x2*=1,s3=3,x3*=3,即,即A元件元件用用2个,个,B元件用元件用1个,个,C元件用元件用3个,最高可靠性为个,最高可靠性为0.682。滦酋迄凉砷苫享禄钮丹珐败痢摊乖函砌喀娶远呵育米聊稀缘嫁忻铭抡够皑动态规划Dynamicprogramming动态规划Dynamicprogramming