《算法设计与分析动态规划实例讲解.ppt》由会员分享,可在线阅读,更多相关《算法设计与分析动态规划实例讲解.ppt(82页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、动动态态规规划划(Dynamicprogramming)动态规划的基本思想动态规划的基本思想最短路径问题最短路径问题资源分配问题资源分配问题背包问题背包问题生产计划问题生产计划问题复合系统工作可靠性问题复合系统工作可靠性问题动态规划是用来解决多阶段决策过程最优动态规划是用来解决多阶段决策过程最优化的一种数量方法。其特点在于,它可以把一化的一种数量方法。其特点在于,它可以把一个个n维决策问题变换为几个一维最优化问题,从维决策问题变换为几个一维最优化问题,从而一个一个地去解决。而一个一个地去解决。需指出:动态规划是求解某类问题的一种需指出:动态规划是求解某类问题的一种方法,是考察问题的一种途径,而
2、不是一种算方法,是考察问题的一种途径,而不是一种算法。必须对具体问题进行具体分析,运用动态法。必须对具体问题进行具体分析,运用动态规划的原理和方法,建立相应的模型,然后再规划的原理和方法,建立相应的模型,然后再用动态规划方法去求解。用动态规划方法去求解。即在系统发展的不同时刻(或阶段)根据系统即在系统发展的不同时刻(或阶段)根据系统所处的状态,不断地做出决策;所处的状态,不断地做出决策;每个阶段都要进行每个阶段都要进行决策决策,目的是使整个过程的决策目的是使整个过程的决策 达到最优效果。达到最优效果。动态决策问题的特点:动态决策问题的特点:系统所处的状态和时刻是进行决策的重要因素;系统所处的状
3、态和时刻是进行决策的重要因素;找到不同时刻的最优决策以及整个过程的最优策略。找到不同时刻的最优决策以及整个过程的最优策略。多阶段决策问题:多阶段决策问题:在多阶段决策过程中在多阶段决策过程中,系统的动态过程可以按照时间系统的动态过程可以按照时间进程分为进程分为状态状态相互相互联系联系而又相互而又相互区别区别的各个的各个阶段阶段;多阶段决策问题的典型例子:多阶段决策问题的典型例子:1.1.生产决策问题生产决策问题:企业在生产过程中,由于需:企业在生产过程中,由于需求是随时间变化的,因此企业为了获得全年的最佳求是随时间变化的,因此企业为了获得全年的最佳生产效益,就要在整个生产过程中逐月或逐季度地生
4、产效益,就要在整个生产过程中逐月或逐季度地根据库存和需求决定生产计划。根据库存和需求决定生产计划。2.2.机机器器负负荷荷分分配配问问题题:某某种种机机器器可可以以在在高高低低两两种种不不同同的的负负荷荷下下进进行行生生产产。在在高高负负荷荷下下进进行行生生产产时时,产品的年产量产品的年产量g和投入生产的机器数量和投入生产的机器数量u1的关系为的关系为g=g(u1)12n状态状态决策决策状态状态决策决策状态状态状态状态决策决策 这时,机器的年完好率为这时,机器的年完好率为a,即如果年初完好机,即如果年初完好机器的数量为器的数量为u,到年终完好的机器就为,到年终完好的机器就为au,0a1。在低负
5、荷下生产时,产品的年产量在低负荷下生产时,产品的年产量h和投入生产和投入生产的机器数量的机器数量u2的关系为的关系为 h=h(u2)假定开始生产时完好的机器数量为假定开始生产时完好的机器数量为s s1 1。要求制。要求制定一个五年计划,在定一个五年计划,在每年开始时,决定如何重新每年开始时,决定如何重新分配分配完好的完好的机器在两种不同的负荷下生产的数量机器在两种不同的负荷下生产的数量,使在五年内产品的总产量达到最高。使在五年内产品的总产量达到最高。相应的机器年完好率相应的机器年完好率b b,0,0 b b11。3.3.航天飞机飞行控制问题:由于航天飞机的航天飞机飞行控制问题:由于航天飞机的运
6、动的环境是不断变化的,因此就要根据航天飞机运动的环境是不断变化的,因此就要根据航天飞机飞行在不同环境中的情况,不断地决定航天飞机的飞行在不同环境中的情况,不断地决定航天飞机的飞行方向和速度(状态),使之能最省燃料和实现飞行方向和速度(状态),使之能最省燃料和实现目的(如软着落问题)。目的(如软着落问题)。4 4.不包含时间因素的线性规划、非线性规划等不包含时间因素的线性规划、非线性规划等静态决策问题(本质上是一次决策问题)也可以适静态决策问题(本质上是一次决策问题)也可以适当地引入阶段的概念,作为多阶段的决策问题用动当地引入阶段的概念,作为多阶段的决策问题用动态规划方法来解决。态规划方法来解决
7、。5.最短路问题最短路问题:给定一个交通网络图如下,其:给定一个交通网络图如下,其中两点之间的数字表示距离(或花费),试求从中两点之间的数字表示距离(或花费),试求从A点点到到G点的最短距离(总费用最小)。点的最短距离(总费用最小)。123456AB1B2C1C2C3C4D1D2D3E1E2E3F1F2G531368763685338422213335256643(一)、基本概念(一)、基本概念1、阶段:、阶段:把一个问题的过程,恰当地分为若干个相互联系的把一个问题的过程,恰当地分为若干个相互联系的阶阶段段,以便于按一定的次序去求解。,以便于按一定的次序去求解。描述阶段的变量称为描述阶段的变量
8、称为阶段变量(阶段变量(k)。k=1,2,3,,n阶段的划分,一般是根据时间和空间的自然特征来进行阶段的划分,一般是根据时间和空间的自然特征来进行的,但要便于问题转化为多阶段决策。的,但要便于问题转化为多阶段决策。2、状态:表示每个阶段开始所处的、状态:表示每个阶段开始所处的自然状况或客观自然状况或客观条件条件。通常一个阶段有若干个状态,描述过程状态的。通常一个阶段有若干个状态,描述过程状态的变量称为变量称为状态变量状态变量sk(表示第表示第k阶段的状态变量阶段的状态变量)。年、月、年、月、路段路段一个数、一个数、一组数、一组数、一个向一个向量量状态变量的取值有一定的允许集合或范围,此集合状态
9、变量的取值有一定的允许集合或范围,此集合称为称为状态允许集合状态允许集合SK=s1,s2,sk,。一、动态规划的基本思想一、动态规划的基本思想3、决策:表示当过程处于某一阶段的某个状态时,、决策:表示当过程处于某一阶段的某个状态时,可以作出不同的决定,从而确定下一阶段的状态可以作出不同的决定,从而确定下一阶段的状态,这这种决定称为种决定称为决策决策。描述决策的变量,称为描述决策的变量,称为决策变量决策变量。常用常用uk(sk)表示第)表示第k阶段当状态为阶段当状态为sk时的决策变量。时的决策变量。决策变量是状态变量的函数。可用一个数、一组数决策变量是状态变量的函数。可用一个数、一组数或一向量(
10、多维情形)来描述。或一向量(多维情形)来描述。在实际问题中决策变量的取值往往在某一范围之内,在实际问题中决策变量的取值往往在某一范围之内,此范围称为此范围称为允许决策集合允许决策集合。常用常用Dk(sk)表示第)表示第k阶段从状态阶段从状态sk出发的允许决策出发的允许决策集合,显然集合,显然uk(sk)Dk(sk)。)。4、多阶段决策过程多阶段决策过程 可以在各个阶段进行决策,去控制过程发展的多段过可以在各个阶段进行决策,去控制过程发展的多段过程;程;其发展是通过一系列的状态转移来实现的;其发展是通过一系列的状态转移来实现的;系统在某一阶段的状态转移不但与系统的当前的状态系统在某一阶段的状态转
11、移不但与系统的当前的状态和决策有关,而且还与系统过去的历史状态和决策有和决策有关,而且还与系统过去的历史状态和决策有关。关。图示如下:图示如下:状态转移方程是确定状态转移方程是确定过程由一个状态到另过程由一个状态到另一个状态的演变过程。一个状态的演变过程。如果第如果第k阶段状态变量阶段状态变量sk的值、该阶段的决策的值、该阶段的决策变量一经确定,第变量一经确定,第k+1阶段状态变量阶段状态变量sk+1的值的值也就确定。也就确定。其状态转移方程如下(一般形式)其状态转移方程如下(一般形式)12ks1u1s2u2s3skuksk+1 能用动态规划方法求解的多阶段决策过程是一类能用动态规划方法求解的
12、多阶段决策过程是一类特殊的多阶段决策过程,即特殊的多阶段决策过程,即具有无后效性具有无后效性的多阶段的多阶段决策过程。决策过程。如果状态变量不能满足无后效性的要求,应如果状态变量不能满足无后效性的要求,应适当地改变状态的定义或规定方法。适当地改变状态的定义或规定方法。动态规划中能动态规划中能处理的状态转移处理的状态转移方程的形式方程的形式。状态具有无后效性的多阶段决策过程的状状态具有无后效性的多阶段决策过程的状态转移方程如下态转移方程如下无后效性无后效性(马尔可夫性马尔可夫性)如果某阶段状态给定后,则在这个阶段以后如果某阶段状态给定后,则在这个阶段以后过程的发展不受这个阶段以前各段状态的影响;
13、过程的发展不受这个阶段以前各段状态的影响;过程的过去历史只能通过当前的状态去影响过程的过去历史只能通过当前的状态去影响它未来的发展;它未来的发展;构造动态规划模型时,要充分注意是构造动态规划模型时,要充分注意是否满足无后效性的要求;否满足无后效性的要求;状态变量要满足无后效性的要求状态变量要满足无后效性的要求;5 5、策略:相互连接的决策序列称为一个、策略:相互连接的决策序列称为一个策略策略。从第从第k k阶段开始到第阶段开始到第n n阶段结束称为一个阶段结束称为一个子策略子策略。P Pk k,n n ,全策略全策略 P P1 1,n n .所有策略当中有最优值的策略称为所有策略当中有最优值的
14、策略称为最优策略最优策略。6 6、状态转移方程:是确定过程由一个状态到另一个、状态转移方程:是确定过程由一个状态到另一个状态的演变过程,描述了状态转移规律。状态的演变过程,描述了状态转移规律。7 7、指标函数和最优值函数:用来衡量所实现过程优、指标函数和最优值函数:用来衡量所实现过程优劣的一种数量指标,为劣的一种数量指标,为指标函数指标函数。阶阶段段指指标标函函数数:V Vk k (s(sk k ,u,uk k )表表示示第第 k k 阶阶段段位位于于s sk k 状态、决策为状态、决策为 u uk k 的指标值。的指标值。策略指标函数策略指标函数:各决策序列指标值之和。(个别情:各决策序列指
15、标值之和。(个别情况为乘积)况为乘积)指标函数的最优值,称为指标函数的最优值,称为最优值函数最优值函数。在不同的问题。在不同的问题中,指标函数的含义是不同的,它可能是距离、利润、中,指标函数的含义是不同的,它可能是距离、利润、成本、产量或资源消耗等。成本、产量或资源消耗等。动态规划模型的指标函数,应具有可分离性,并满动态规划模型的指标函数,应具有可分离性,并满足足递推递推关系关系。小结小结:方程方程:状态转移方程状态转移方程概念概念:阶段变量阶段变量k k状态变量状态变量s sk k决策变量决策变量u uk k;指标指标:动态规划本质上是多阶段决策过程动态规划本质上是多阶段决策过程;效益效益指
16、标函数形式指标函数形式:和、和、积积无后效性无后效性可递推可递推解多阶段决策过程问题,求出解多阶段决策过程问题,求出 最优策略最优策略,即最优,即最优决策序列决策序列f1(s1)最优轨线最优轨线,即执行最优策略时的即执行最优策略时的状态序列状态序列 最优目标函数值最优目标函数值从从 k 到终点最优策略到终点最优策略子策略的最优目标函数值子策略的最优目标函数值1、动态规划方法的关键在于正确地写出基本的递推、动态规划方法的关键在于正确地写出基本的递推关系式和恰当的边界条件(简称基本方程)。要做到关系式和恰当的边界条件(简称基本方程)。要做到这一点,就必须将问题的过程分成几个相互联系的阶这一点,就必
17、须将问题的过程分成几个相互联系的阶段,恰当的选取状态变量和决策变量及定义最优值函段,恰当的选取状态变量和决策变量及定义最优值函数,从而把一个大问题转化成一组同类型的子问题,数,从而把一个大问题转化成一组同类型的子问题,然后逐个求解。即从边界条件开始,逐段递推寻优,然后逐个求解。即从边界条件开始,逐段递推寻优,在每一个子问题的求解中,均利用了它前面的子问题在每一个子问题的求解中,均利用了它前面的子问题的最优化结果,依次进行,最后一个子问题所得的最的最优化结果,依次进行,最后一个子问题所得的最优解,就是整个问题的最优解。优解,就是整个问题的最优解。(二)、动态规划的基本思想(二)、动态规划的基本思
18、想2、在多阶段决策过程中,动态规划方法是既把当前、在多阶段决策过程中,动态规划方法是既把当前一段和未来一段分开,又把当前效益和未来效益结合一段和未来一段分开,又把当前效益和未来效益结合起来考虑的一种最优化方法。因此,每段决策的选取起来考虑的一种最优化方法。因此,每段决策的选取是从全局来考虑的,与该段的最优选择答案一般是不是从全局来考虑的,与该段的最优选择答案一般是不同的同的.最优化原理:作为整个过程的最优策略具有这样的最优化原理:作为整个过程的最优策略具有这样的性质:无论过去的状态和决策如何,相对于前面的决性质:无论过去的状态和决策如何,相对于前面的决策所形成的状态而言,余下的决策序列必然构成
19、最优策所形成的状态而言,余下的决策序列必然构成最优子策略。子策略。”也就是说,一个最优策略的子策略也是最也就是说,一个最优策略的子策略也是最优的。优的。3、在求整个问题的最优策略时,由于初始状态是、在求整个问题的最优策略时,由于初始状态是已知的,而每段的决策都是该段状态的函数,故最优已知的,而每段的决策都是该段状态的函数,故最优策略所经过的各段状态便可逐段变换得到,从而确定策略所经过的各段状态便可逐段变换得到,从而确定了最优路线。了最优路线。(三)、建立动态规划模型的步骤(三)、建立动态规划模型的步骤 1 1、划分阶段、划分阶段k k划划分分阶阶段段是是运运用用动动态态规规划划求求解解多多阶阶
20、段段决决策策问问题题的的第第一一步步,在在确确定定多多阶阶段段特特性性后后,按按时时间间或或空空间间先先后后顺顺序序,将将过过程程划划分分为为若若干干相相互互联联系系的的阶阶段段。对对于于静静态态问问题题要要人为地赋予人为地赋予“时间时间”概念,以便划分阶段。概念,以便划分阶段。2 2、正确选择状态变量、正确选择状态变量s sk k选选择择变变量量既既要要能能确确切切描描述述过过程程演演变变又又要要满满足足无无后后效效性性,而而且且各各阶阶段段状状态态变变量量的的取取值值能能够够确确定定。一一般般地地,状状态态变量的选择是从过程演变的特点中寻找。变量的选择是从过程演变的特点中寻找。3 3、确定
21、决策变量、确定决策变量u uk k(s(sk k)及允许决策集合及允许决策集合D Dk k(s(sk k)通通常常选选择择所所求求解解问问题题的的关关键键变变量量作作为为决决策策变变量量,同同时时要给出决策变量的取值范围,即确定允许决策集合。要给出决策变量的取值范围,即确定允许决策集合。4 4、确定状态转移方程、确定状态转移方程根据根据k 阶段状态变量和决策变量,写出阶段状态变量和决策变量,写出k+1阶段状态变量,阶段状态变量,状态转移方程应当具有递推关系。状态转移方程应当具有递推关系。s sk+1k+1=T=Tk k (s (sk k,u,uk k)T)Tk k 函数关系函数关系 5 5、确
22、定阶段指标函数和最优指标函数,建立动态规、确定阶段指标函数和最优指标函数,建立动态规划基本方程划基本方程 阶段指标函数是指第阶段指标函数是指第k 阶段的收益,最优指标函数是阶段的收益,最优指标函数是指从第指从第k 阶段状态出发到第阶段状态出发到第n 阶段末所获得收益的最优阶段末所获得收益的最优值,最后写出动态规划基本方程。值,最后写出动态规划基本方程。fk(sk)=OptVk(sk,uk)+fk+1(sk+1)fn+1(sn+1)=0Opt最优化(最优化(max,min)以上五步是建立动态规划数学模型的一般步骤。以上五步是建立动态规划数学模型的一般步骤。由于动态规划模型与线性规划模型不同,动态
23、规划由于动态规划模型与线性规划模型不同,动态规划模型没有统一的模式,建模时必须根据具体问题具模型没有统一的模式,建模时必须根据具体问题具体分析,只有通过不断实践总结,才能较好掌握建体分析,只有通过不断实践总结,才能较好掌握建模方法与技巧。模方法与技巧。f1(s1)是整个问题的最优策略,最优值。是整个问题的最优策略,最优值。fk(sk)表示从第表示从第k阶段(状态阶段(状态sk)到终点)到终点的最优指标值。(距离、利润、成本等的最优指标值。(距离、利润、成本等)例一、从例一、从A地到地到D地要铺设一条煤气管道地要铺设一条煤气管道,其中需经过其中需经过两级中间站,两点之间的连线上的数字表示距离,如
24、两级中间站,两点之间的连线上的数字表示距离,如图所示。问应该选择什么路线,使总距离最短?图所示。问应该选择什么路线,使总距离最短?AB1B2C1C2C3D24333321114二、最短路径问题二、最短路径问题解:整个计算过程分三个阶段,从最后一个阶段开始。解:整个计算过程分三个阶段,从最后一个阶段开始。第三阶段(第三阶段(C D):):C 有三条路线到终点有三条路线到终点D。AB1B2C1C2C3D24333321114DC1C2C3显然有显然有f3(C1)=1;f3(C2)=3;f3(C3)=4 d(B1,C1)+f3(C1)3+1 f2(B1)=mind(B1,C2)+f3(C2)=min
25、3+3d(B1,C3)+f3(C3)1+44=min6=45第二阶段(第二阶段(B C):):B 到到C 有六条路线。有六条路线。AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为最短路线为B1C1D)d(B2,C1)+f3(C1)2+1 f2(B2)=mind(B2,C2)+f3(C2)=min3+3d(B2,C3)+f3(C3)1+43=min6=35AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为最短路线为B2C1D)第一阶段(第一阶段(A B):):A 到到B 有二条路线。有二条路线。f1(A)1=d(A,B1)f2(B1)
26、246f1(A)2=d(A,B2)f2(B2)437f1(A)=min=min6,7=6d(A,B1)f2(B1)d(A,B2)f2(B2)(最短路线为最短路线为AB1C1D)AB1B2C1C2C3D24333321114DC1C2C3B1B2AAB1B2C1C2C3D24333321114DC1C2C3B1B2A最短路线为最短路线为AB1C1D路长为路长为6三、非线性规划问题三、非线性规划问题【例【例7-47-4】用动态规划方法解下列非线性用动态规划方法解下列非线性规划问题规划问题解解:解解决决这这一一类类静静态态规规划划问问题题,需需要要人人为为地地赋赋予予时时间间概概念念,从从而而将将该
27、该问问题题转转化化为为多多阶阶段段决决策过程。策过程。按按问问题题的的变变量量个个数数划划分分阶阶段段,把把它它看看作作一一个三阶段决策问题,个三阶段决策问题,k=1k=1,2 2,3 3设状态变量为设状态变量为s s1 1,s s2 2,s s3 3,s s4 4并记并记s s1 1cc取问题中的变量取问题中的变量x x1 1,x x2 2,x x3 3为决策变量为决策变量状态转移方程为:状态转移方程为:s3=x3s3+x2=s2s2+x1=s1c允许决策集合为:允许决策集合为:x3=s30 x2s20 x1s1各阶段指标函数为:各阶段指标函数为:v1(x1)=x1v2(x2)=x22v3(
28、x3)=x3,各指标函数以乘积方式结合,最优指标函数各指标函数以乘积方式结合,最优指标函数fk(sk)表示从第表示从第k k阶段初始状态阶段初始状态sk出发到第出发到第3 3阶段所得到阶段所得到的最大值,则动态规划基本方程为:的最大值,则动态规划基本方程为:用逆序解法由后向前依次求解:用逆序解法由后向前依次求解:k=3k=3时时,x3*=s3 k=2 k=2时时,令令h2(s2,x2)=x22(s2x2)用用经典解析法经典解析法求极值点:求极值点:解得:解得:x2=0(舍)(舍)所以所以是极大值点。是极大值点。k=1时,令解得:x1=s1(舍)所以所以 是极大值点。是极大值点。由于由于s1未知
29、,所以对未知,所以对s1再求极值,再求极值,显然显然s s1 1=c c时,时,f f1 1(s s1 1)取得最大值取得最大值 反向追踪得各阶段最优决策及最优值:反向追踪得各阶段最优决策及最优值:s1=c所以最优解为:所以最优解为:一一般般地地,如如果果阶阶段段指指标标函函数数vk(sk,uk)是是线线性性函函数数或或凸凸函函数数时时,最最优优指指标标函函数数fk(sk)的的表表达达式式比比较较容容易易得得到到,但但是是当当vk(sk,uk)不不具具备备上上述述特特性性时时,最最优优指指标标函函数数fk(sk)的的表表达达式式不不易易得得到到,就就需需要要采采用用数数值值法法,即即对对连连续
30、续变变量量进行离散化处理,再分散求解。进行离散化处理,再分散求解。例如静态规划模型例如静态规划模型其动态规划基本方程为:其动态规划基本方程为:状态转移方程为状态转移方程为sk+1=skxks1=a状状态态变变量量sk及及决决策策变变量量xk都都是是连连续续变变量量,对对其其进进行行离离散散化化处理,具体做法是:处理,具体做法是:1.1.对区间对区间00,aa进行分割,分割数进行分割,分割数m=m=,其中,其中是分是分割后的小区间的长度,其大小可以根据所求解问题要割后的小区间的长度,其大小可以根据所求解问题要求的精度及计算机运算能力而定,分割点为求的精度及计算机运算能力而定,分割点为0 0,22
31、,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.由后向前逐段递推,直至求出整个过程最优解。由后向前逐段递推,直至求出整个过程最优解。【例7-5】解解 按按变变量量个个数数将将原原问问题题分分为为三三个个阶阶段段,阶阶段段变变量量k=1,2,3;选择选择xk为决策变量;为决策变量;状态变量状态变量sk表示第表示第k阶段至第阶段
32、至第3阶段决策变量之和;阶段决策变量之和;取小区间长度取小区间长度=1=1,小区间数目,小区间数目m=6/1=6m=6/1=6,状态变量,状态变量sk的取值点为:的取值点为:状态转移方程:状态转移方程:sk+1=skxk;允许决策集合:允许决策集合:Dk(sk)=xk|0 xksk k=1,2,3xk,sk均在分割点上取值;均在分割点上取值;阶段指标函数分别为:阶段指标函数分别为:g1(x1)=x12g2(x2)=x2g3(x3)=x33,最优指标函数最优指标函数fk(sk)表示从第表示从第k阶段状态阶段状态sk出发到第出发到第3阶段所得到的最大值,动态规划的基阶段所得到的最大值,动态规划的基
33、本方程为:本方程为:k=3时,时,s3及及x3取值点较多,计算结果以表格形式给出,取值点较多,计算结果以表格形式给出,见表见表7-17-1所示。所示。表71取值k=2k=2时,时,计算结果见表计算结果见表7-27-2k=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。本例也可用经典解
34、析法求得各段的极值,读者可自本例也可用经典解析法求得各段的极值,读者可自行求解,二者结论完全相同。需要指出的是当连续变量行求解,二者结论完全相同。需要指出的是当连续变量离散化处理以后,由于状态变量和决策变量只在给定的离散化处理以后,由于状态变量和决策变量只在给定的离散点上取值,故有可能漏掉最优解,因此需要慎重选离散点上取值,故有可能漏掉最优解,因此需要慎重选择参数择参数m m与与。资源分配问题就是将一定数量的一种或若干种资资源分配问题就是将一定数量的一种或若干种资源(原材料、资金、设备等)合理分配给若干使用者,源(原材料、资金、设备等)合理分配给若干使用者,使得资源分配后总结果最优。一种资源的
35、分配问题称使得资源分配后总结果最优。一种资源的分配问题称为一维资源分配问题,两种资源的分配问题称为二维为一维资源分配问题,两种资源的分配问题称为二维资源分配问题。资源分配问题。四、四、资源分配问题资源分配问题假设有一种资源,数量为假设有一种资源,数量为a a,将其分配给,将其分配给n n个使用者,个使用者,分配给第分配给第i个使用者数量个使用者数量xi时,相应的收益为时,相应的收益为gi(xi),),问如何分配使得总收入最大?这就是一维资源分配问题,问如何分配使得总收入最大?这就是一维资源分配问题,该问题的数学模型为:该问题的数学模型为:这是一个静态规划问题,应用动态规划方法求解时这是一个静态
36、规划问题,应用动态规划方法求解时人为赋予时间概念,将其看作是一个多阶段决策问题。人为赋予时间概念,将其看作是一个多阶段决策问题。按变量个数划分阶段,按变量个数划分阶段,k=1,2,n;设决策变量设决策变量uk=xk,表示分配给第表示分配给第k个使用者的资源数量;个使用者的资源数量;设设状状态态变变量量为为sk,表表示示分分配配给给第第k个个至至第第n个个使使用用者者的的总总资资源数量;源数量;状态转移方程:状态转移方程:sk+1=skxk,其中其中s1=a;允许决策集合:允许决策集合:Dk(sk)=xk|0 xksk阶阶段段指指标标函函数数:vk(sk,uk)=gk(xk)表表示示分分配配给给
37、第第k个个使用者数量使用者数量xk时的收益;时的收益;最最优优指指标标函函数数fk(sk)表表示示以以数数量量sk的的资资源源分分配配给给第第k个个至至第第n个个使使用用者者所所得得到到的的最最大大收收益益,则则动动态态规规划划基基本本方方程程为:为:由后向前逐段递推,由后向前逐段递推,f1(a)即为所求问题的最大收益即为所求问题的最大收益。【例例7-67-6】某某公公司司打打算算在在3 3个个不不同同的的地地区区设设置置4 4个个销销售售点点,根根据据市市场场部部门门估估计计,在在不不同同地地区区设设置置不不同同数数量量的的销销售售点点每每月月可可得得到到的的利利润润如如表表7-47-4所所
38、示示。试试问问在在各各地地区区如如何何设设置置销销售售点点可可使使每每月月总利润最大。总利润最大。表表7-47-4解解 如前所述,建立动态规划数学模型:如前所述,建立动态规划数学模型:将问题分为将问题分为3 3个阶段,个阶段,k=1,2,3;决策变量决策变量xk表示分配给第表示分配给第k个地区的销售点数;个地区的销售点数;状态变量为状态变量为sk表示分配给第表示分配给第k个至第个至第3个地区的销售点总数;个地区的销售点总数;状态转移方程:状态转移方程:sk+1=skxk,其中其中s1=4;允许决策集合:允许决策集合:Dk(sk)=xk|0 xksk阶阶段段指指标标函函数数:gk(xk)表表示示
39、xk个个销销售售点点分分配配给给第第k个地区所获得的利润;个地区所获得的利润;最优指标函数最优指标函数fk(sk)表示将数量为表示将数量为sk的销售点分的销售点分配给第配给第k个至第个至第3个地区所得到的最大利润,动态规划个地区所得到的最大利润,动态规划基本方程为:基本方程为:k=3时,时,数值计算如下表数值计算如下表7-57-5表表7-5 7-5 k=2k=2时,时,计算结果见下表计算结果见下表7-67-6表表7-67-6k=1k=1时,时,k=1k=1时,只有时,只有s s1 1=4=4的情况。的情况。计算结果如表计算结果如表7-77-7所示。所示。所以所以最优解最优解为:为:x x1 1
40、*=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个个地区设置地区设置1 1个销售点,第个销售点,第3 3个个地区设置地区设置1 1个销售点,每月可获利润个销售点,每月可获利润4747。表表7-77-7【例【例7-7】机器负荷问题】机器负荷问题某工厂有某工厂有100100台机器,拟分四期使用,每一期都可在高、低台机器,拟分四期使用,每一期都可在高、低两种不同负荷下进行生产。若把两种不同负荷下进行生产。若把x x台机器投入高负荷下进行生产,台机器投入高负荷下进行生产,则在本期
41、结束时将有则在本期结束时将有1/3x1/3x台机器损坏报废;余下的机器全部投入台机器损坏报废;余下的机器全部投入低负荷下进行生产,则在期末有低负荷下进行生产,则在期末有1/101/10的机器报废。如果高负荷下的机器报废。如果高负荷下生产时每台机器可获利润为生产时每台机器可获利润为1010,低负荷下生产时每台机器可获利,低负荷下生产时每台机器可获利润为润为7 7,问怎样分配机器使四期的总利润最大?,问怎样分配机器使四期的总利润最大?解解 将问题按周期分为将问题按周期分为4 4个阶段,个阶段,k=1,2,3,4;状态变量状态变量sk表示第表示第k阶段初完好的机器数,阶段初完好的机器数,s1=100
42、,0sk100;决策变量决策变量xk表示第表示第k阶段投入高负荷下生产的机器数,阶段投入高负荷下生产的机器数,则则skxk表示第表示第k阶段投入低负荷下生产的机器数;阶段投入低负荷下生产的机器数;允许决策集合:允许决策集合:Dk(sk)=xk|0 xksk状态转移方程:状态转移方程:sk+1=Tk(sk,xk),),即第即第k+1阶段初拥有的完好机器阶段初拥有的完好机器数数sk+1为:为:阶段指标函数:阶段指标函数:vk(sk,xk)=10 xk+7(skxk)表示第表示第k阶段所获得的利润;阶段所获得的利润;最优指标函数最优指标函数f fk k(s sk k)表示从第表示从第k k阶段初完好
43、机器数为阶段初完好机器数为s sk k至至第四阶段的最大第四阶段的最大利润,动态规划基本方程为:利润,动态规划基本方程为:k=4k=4时,时,x x4 4*=s s4 4 k=3k=3时,时,x x3 3*=s s3 3k=2时,时,x2*=0k=1时,时,x1*=0因为因为s1=100,所以,所以f1(100)=2680,逆向追踪得:,逆向追踪得:s1=100,x1*=0 x2*=0 x3*=s3=81x4*=s4=54即,第即,第1,2期把全部完好机器投入低负荷下生产,第期把全部完好机器投入低负荷下生产,第3,4期把全部完好机器投入高负荷下生产所得利润最大。期把全部完好机器投入高负荷下生产
44、所得利润最大。五、生产计划问题五、生产计划问题 在企业生产经营活动中,经常会遇到在企业生产经营活动中,经常会遇到如何合理安排生产、库存及销售计划,如何合理安排生产、库存及销售计划,使总效益最高的问题,这一类问题统称使总效益最高的问题,这一类问题统称为生产计划问题。为生产计划问题。【例【例7-8】(生产(生产库存问题)库存问题)某工厂要对一种产品制定今后四个时期的生产计划,某工厂要对一种产品制定今后四个时期的生产计划,据估计在今后四个时期内,市场对该产品的需求量分别据估计在今后四个时期内,市场对该产品的需求量分别为为2,3,2,4单位,假设每批产品固定成本为单位,假设每批产品固定成本为3千元,千
45、元,若不生产为若不生产为0,每单位产品成本为,每单位产品成本为1千元,每个时期最大千元,每个时期最大生产能力不超过生产能力不超过6个单位,每期期末未出售产品,每单个单位,每期期末未出售产品,每单位需付存贮费位需付存贮费0.5千元,假定第千元,假定第1期初和第期初和第4期末库存量期末库存量均为均为0,问该厂如何安排生产与库存,可在满足市场需,问该厂如何安排生产与库存,可在满足市场需求的前提下总成本最小。求的前提下总成本最小。解解解解 以以以以每每每每个个个个时时时时期期期期作作作作为为为为一一一一个个个个阶阶阶阶段段段段,该该该该问问问问题题题题分分分分为为为为4 4个个个个阶阶阶阶段段段段,k
46、 k=1=1,2 2,3 3,4 4;决策变量决策变量决策变量决策变量x xk k表示第表示第表示第表示第k k阶段生产的产品数;阶段生产的产品数;阶段生产的产品数;阶段生产的产品数;状态变量状态变量状态变量状态变量s sk k表示第表示第表示第表示第k k阶段初的库存量;阶段初的库存量;阶段初的库存量;阶段初的库存量;以以dk表示第表示第k阶段的需求,则状态转移方程:阶段的需求,则状态转移方程:sk+1=sk+xkdkk=4,3,2,1由于期初及期末库存为由于期初及期末库存为0,所以,所以s1=0,s5=0;允许决策集合允许决策集合Dk(sk)的确定:)的确定:当当skdk时,时,xk可以为
47、可以为0,当,当skdk时,至少应生产时,至少应生产dksk,故故xk的下限为的下限为max(0,dksk);每期最大生产;每期最大生产能力为能力为6,xk最大不超过最大不超过6,由于期末库存为,由于期末库存为0,xk还应小还应小于本期至于本期至4期需求之和减去本期的库存量期需求之和减去本期的库存量,所,所以以xk的上限为的上限为min(,6),故有:),故有:Dk(sk)=xk|max(0,dksk)xkmin(,6)阶阶段段指指标标函函数数rk(sk,xk)表表示示第第k期期的的生生产产费费用用与与存贮费用之和:存贮费用之和:最最优优指指标标函函数数fk(sk)表表示示第第k期期库库存存为
48、为sk到到第第4期期末的生产与存贮最低费用,动态规划基本方程为:末的生产与存贮最低费用,动态规划基本方程为:先先求求出出各各状状态态允允许许状状态态集集合合及及允允许许决决策策集集合合,如如表表7-8所示。所示。表表7-8k=4时,时,计算结果见表计算结果见表7-9所示。所示。表表7-9k=3时,时,计算结果如下表:计算结果如下表:k=2时,时,计算结果如下表计算结果如下表k=1时,计算结果见表7-12所示 逆向追踪可得:x1*=5,s2=3,x2*=0,s3=0,x3*=6,s4=4,x4*=0,即第1时期生产5个单位,第3时期生产6个单位,第2,4时期不生产,可使总费用最小,最小费用为20
49、.5千元。【例【例7-9】(库存(库存销售问题)销售问题)设设某某公公司司计计划划在在1至至4月月份份从从事事某某种种商商品品经经营营。已已知知仓仓库库最最多多可可存存储储600件件这这种种商商品品,已已知知1月月初初存存货货200件件,根根据据预预测测知知1至至4月月份份各各月月的的单单位位购购货货成成本本及及销销售售价价格格如如表表7-13所所示示,每每月月只只能能销销售售本本月月初初的的库库存存,当当月月进进货货供供以以后后各各月月销销售售,问问如如何何安安排排进进货货量量和和销销售售量量,使使该该公公司司四四个个月月获获得利润最大(假设四月底库存为零)。得利润最大(假设四月底库存为零)
50、。表表7-13解按月份划分阶段,k=1,2,3,4;状态变量sk表示第k月初的库存量,s1=200,s5=0;决策变量xk表示第k月售出的货物数量,yk表示第k月购进的货物数量;状态转移方程:sk+1=sk+ykxk;允许决策集合:0 xksk,0yk600(skxk);阶段指标函数为:pkxkckyk表示k月份的利润,其中pk为第k月份的单位销售价格,ck为第k月份的单位购货成本;最优指标函数fk(sk)表示第k月初库存为sk时从第k月至第4月末的最大利润,则动态规划基本方程为:k=4时,时,x4*=s4y4*=0k=3时,时,为为求求出出使使44s35x3+4y3最最大大的的x3,y3,须