1、动动 态态 规规 划划(Dynamic programming)动态规划的基本思想动态规划的基本思想最短路径问题最短路径问题资源分配问题资源分配问题背包问题背包问题生产计划问题生产计划问题复合系统工作可靠性问题复合系统工作可靠性问题 动态规划是用来解决多阶段决策过程最优动态规划是用来解决多阶段决策过程最优化的一种数量方法。其特点在于,它可以把一化的一种数量方法。其特点在于,它可以把一个个n 维决策问题变换为几个一维最优化问题,从维决策问题变换为几个一维最优化问题,从而一个一个地去解决。而一个一个地去解决。需指出:动态规划是求解某类问题的一种需指出:动态规划是求解某类问题的一种方法,是考察问题的
2、一种途径,而不是一种算方法,是考察问题的一种途径,而不是一种算法。必须对具体问题进行具体分析,运用动态法。必须对具体问题进行具体分析,运用动态规划的原理和方法,建立相应的模型,然后再规划的原理和方法,建立相应的模型,然后再用动态规划方法去求解。用动态规划方法去求解。即在系统发展的不同时刻(或阶段)根据系统即在系统发展的不同时刻(或阶段)根据系统所处的状态,不断地做出决策;所处的状态,不断地做出决策;每个阶段都要进行每个阶段都要进行决策决策,目的是使整个过程的决策目的是使整个过程的决策 达到最优效果。达到最优效果。动态决策问题的特点:动态决策问题的特点:系统所处的状态和时刻是进行决策的重要因素;
3、系统所处的状态和时刻是进行决策的重要因素;找到不同时刻的最优决策以及整个过程的最优策略。找到不同时刻的最优决策以及整个过程的最优策略。多阶段决策问题:多阶段决策问题:在多阶段决策过程中在多阶段决策过程中,系统的动态过程可以按照时间系统的动态过程可以按照时间进程分为进程分为状态状态相互相互联系联系而又相互而又相互区别区别的各个的各个阶段阶段;多阶段决策问题的典型例子:多阶段决策问题的典型例子:1.1.生产决策问题生产决策问题:企业在生产过程中,由于:企业在生产过程中,由于需求是随时间变化的,因此企业为了获得全年的最需求是随时间变化的,因此企业为了获得全年的最佳生产效益,就要在整个生产过程中逐月或
4、逐季度佳生产效益,就要在整个生产过程中逐月或逐季度地地根据库存和需求决定生产计划。根据库存和需求决定生产计划。2.2.机器负荷分配问题机器负荷分配问题:某种机器可以在高低两:某种机器可以在高低两种不同的负荷下进行生产。在高负荷下进行生产时,种不同的负荷下进行生产。在高负荷下进行生产时,产品的年产量产品的年产量g和投入生产的机器数量和投入生产的机器数量u1的关系为的关系为g=g(u1)12n状态状态决策决策状态状态决策决策状态状态状态状态决策决策 这时,机器的年完好率为这时,机器的年完好率为a,即如果年初完好机,即如果年初完好机器的数量为器的数量为u,到年终完好的机器就为,到年终完好的机器就为a
5、u,0a1。在低负荷下生产时,产品的年产量在低负荷下生产时,产品的年产量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、集合或范围,此集合状态变量的取值有一定的允许集合或范围,此集合称为称为状态允许集合状态允许集合S K=s1,s2,s k,。一、动态规划的基本思想一、动态规划的基本思想 3、决策:表示当过程处于某一阶段的某个状态时,、决策:表示当过程处于某一阶段的某个状态时,可以作出不同的决定,从而确定下一阶段的状态可以作出不同的决定,从而确定下一阶段的状态,这这种决定称为种决定称为决策决策。描述决策的变量,称为描述决策的变量,称为决策变量决策变量。常用常用uk(sk)表示第)表示第k阶段当状态为阶段当状态为sk时的决策变量。时的决策变量。决策变量是状态变量的函数。可用一个数、一组数决策变量是状态变量的函数。
10、可用一个数、一组数或一向量(多维情形)来描述。或一向量(多维情形)来描述。在实际问题中决策变量的取值往往在某一范围之内,在实际问题中决策变量的取值往往在某一范围之内,此范围称为此范围称为允许决策集合允许决策集合。常用常用Dk(sk)表示第)表示第k阶段从状态阶段从状态sk出发的允许决策出发的允许决策集合,显然集合,显然uk(sk)Dk(sk)。)。4、多阶段决策过程多阶段决策过程 可以在各个阶段进行决策,去控制过程发展的多段过可以在各个阶段进行决策,去控制过程发展的多段过程;程;其发展是通过一系列的状态转移来实现的;其发展是通过一系列的状态转移来实现的;系统在某一阶段的状态转移不但与系统的当前
11、的状态系统在某一阶段的状态转移不但与系统的当前的状态和决策有关,而且还与系统过去的历史状态和决策有和决策有关,而且还与系统过去的历史状态和决策有关。关。),(),(),(221112211231112kkkkusususTsususTsusTs 图示如下:图示如下:状态转移方程是确定状态转移方程是确定过程由一个状态到另过程由一个状态到另一个状态的演变过程。一个状态的演变过程。如果第如果第k阶段状态变量阶段状态变量sk的值、该阶段的决策的值、该阶段的决策变量一经确定,第变量一经确定,第k+1阶段状态变量阶段状态变量sk+1的值的值也就确定。也就确定。其状态转移方程如下(一般形式)其状态转移方程如
12、下(一般形式)12ks1u1s2u2s3skuksk+1 能用动态规划方法求解的多阶段决策过程是一类能用动态规划方法求解的多阶段决策过程是一类特殊的多阶段决策过程,即特殊的多阶段决策过程,即具有无后效性具有无后效性的多阶段的多阶段决策过程。决策过程。如果状态变量不能满足无后效性的要求,应如果状态变量不能满足无后效性的要求,应适当地改变状态的定义或规定方法。适当地改变状态的定义或规定方法。),(),(),(122231112kkkkusTsusTsusTs 动态规划中能动态规划中能处理的状态转移处理的状态转移方程的形式方程的形式。状态具有无后效性的多阶段决策过程的状状态具有无后效性的多阶段决策过
13、程的状态转移方程如下态转移方程如下无后效性无后效性(马尔可夫性马尔可夫性)如果某阶段状态给定后,则在这个阶段以后如果某阶段状态给定后,则在这个阶段以后过程的发展不受这个阶段以前各段状态的影响;过程的发展不受这个阶段以前各段状态的影响;过程的过去历史只能通过当前的状态去影响过程的过去历史只能通过当前的状态去影响它未来的发展;它未来的发展;构造动态规划模型时,要充分注意构造动态规划模型时,要充分注意是否满足无后效性的要求;是否满足无后效性的要求;状态变量要满足无后效性的要求状态变量要满足无后效性的要求;5 5、策略:相互连接的决策序列称为一个、策略:相互连接的决策序列称为一个策略策略。从第从第k
14、k阶段开始到第阶段开始到第n n阶段结束称为一个阶段结束称为一个子策略子策略。P Pk k,n n ,全策略全策略 P P1 1,n n .所有策略当中有最优值的策略称为所有策略当中有最优值的策略称为最优策略最优策略。6 6、状态转移方程:是确定过程由一个状态到另一、状态转移方程:是确定过程由一个状态到另一个状态的演变过程,描述了状态转移规律。个状态的演变过程,描述了状态转移规律。7 7、指标函数和最优值函数:用来衡量所实现过程优、指标函数和最优值函数:用来衡量所实现过程优劣的一种数量指标,为劣的一种数量指标,为指标函数指标函数。阶段指标函数阶段指标函数:V Vk k(s(sk k,u,uk
15、k)表示第表示第 k k 阶段位阶段位于于s sk k 状态、决策为状态、决策为 u uk k 的指标值。的指标值。策略指标函数策略指标函数:各决策序列指标值之和。(个别情:各决策序列指标值之和。(个别情况为乘积)况为乘积)指标函数的最优值,称为指标函数的最优值,称为最优值函数最优值函数。在不同的问题。在不同的问题中,指标函数的含义是不同的,它可能是距离、利润、中,指标函数的含义是不同的,它可能是距离、利润、成本、产量或资源消耗等。成本、产量或资源消耗等。动态规划模型的指标函数,应具有可分离性,并满动态规划模型的指标函数,应具有可分离性,并满足足递推递推关系关系。小结小结:),()(1,sus
16、Voptsfnkknkkkuunk),(,111,1nkknkkkksusVus方程方程 :状态转移方程状态转移方程),(1kkkkusTs概念概念 :阶段变量阶段变量k k状态变量状态变量s sk k决策变量决策变量u uk k;指标指标:),(111,nkkkknknksususVV动态规划本质上是多阶段决策过程动态规划本质上是多阶段决策过程;效益效益指标函数形式指标函数形式:和、和、积积无后效性无后效性),(111,nkkkknksususV可递推可递推,*2*1nuuu,*2*1nsss解多阶段决策过程问题,求出解多阶段决策过程问题,求出 最优策略最优策略,即最优,即最优决策序列决策序
17、列 susvoptsfnkknkkkuunk1,f1(s1)最优轨线最优轨线,即执行最优策略时的即执行最优策略时的状态序列状态序列 最优目标函数值最优目标函数值),(*1*1*,1*,1nnnnususVV从从 k 到终点最优策略到终点最优策略子策略的最优目标函数值子策略的最优目标函数值 1、动态规划方法的关键在于正确地写出基本的递推、动态规划方法的关键在于正确地写出基本的递推关系式和恰当的边界条件(简称基本方程)。要做到关系式和恰当的边界条件(简称基本方程)。要做到这一点,就必须将问题的过程分成几个相互联系的阶这一点,就必须将问题的过程分成几个相互联系的阶段,恰当的选取状态变量和决策变量及定
18、义最优值函段,恰当的选取状态变量和决策变量及定义最优值函数,从而把一个大问题转化成一组同类型的子问题,数,从而把一个大问题转化成一组同类型的子问题,然后逐个求解。即从边界条件开始,逐段递推寻优,然后逐个求解。即从边界条件开始,逐段递推寻优,在每一个子问题的求解中,均利用了它前面的子问题在每一个子问题的求解中,均利用了它前面的子问题的最优化结果,依次进行,最后一个子问题所得的最的最优化结果,依次进行,最后一个子问题所得的最优解,就是整个问题的最优解。优解,就是整个问题的最优解。(二)、动态规划的基本思想(二)、动态规划的基本思想 2、在多阶段决策过程中,动态规划方法是既把当前、在多阶段决策过程中
19、,动态规划方法是既把当前一段和未来一段分开,又把当前效益和未来效益结合一段和未来一段分开,又把当前效益和未来效益结合起来考虑的一种最优化方法。因此,每段决策的选取起来考虑的一种最优化方法。因此,每段决策的选取是从全局来考虑的,与该段的最优选择答案一般是不是从全局来考虑的,与该段的最优选择答案一般是不同的同的.最优化原理:作为整个过程的最优策略具有这样的最优化原理:作为整个过程的最优策略具有这样的性质:无论过去的状态和决策如何,相对于前面的决性质:无论过去的状态和决策如何,相对于前面的决策所形成的状态而言,余下的决策序列必然构成最优策所形成的状态而言,余下的决策序列必然构成最优子策略。子策略。”
20、也就是说,一个最优策略的子策略也是最也就是说,一个最优策略的子策略也是最优的。优的。3、在求整个问题的最优策略时,由于初始状态是、在求整个问题的最优策略时,由于初始状态是已知的,而每段的决策都是该段状态的函数,故最优已知的,而每段的决策都是该段状态的函数,故最优策略所经过的各段状态便可逐段变换得到,从而确定策略所经过的各段状态便可逐段变换得到,从而确定了最优路线。了最优路线。(三)、建立动态规划模型的步骤(三)、建立动态规划模型的步骤 1 1、划分阶段、划分阶段k k划分阶段是运用动态规划求解多阶段决策问题的第一划分阶段是运用动态规划求解多阶段决策问题的第一步,在确定多阶段特性后,按时间或空间
21、先后顺序,步,在确定多阶段特性后,按时间或空间先后顺序,将过程划分为若干相互联系的阶段。对于静态问题要将过程划分为若干相互联系的阶段。对于静态问题要人为地赋予人为地赋予“时间时间”概念,以便划分阶段。概念,以便划分阶段。2 2、正确选择状态变量、正确选择状态变量s sk k选择变量既要能确切描述过程演变又要满足无后效性,选择变量既要能确切描述过程演变又要满足无后效性,而且各阶段状态变量的取值能够确定。一般地,状态而且各阶段状态变量的取值能够确定。一般地,状态变量的选择是从过程演变的特点中寻找。变量的选择是从过程演变的特点中寻找。3 3、确定决策变量、确定决策变量u uk k(s(sk k)及允
22、许决策集合及允许决策集合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、确定阶段指标函数和最优指标函数,建立动态规、确定阶段指
23、标函数和最优指标函数,建立动态规划基本方程划基本方程 阶段指标函数是指第阶段指标函数是指第k 阶段的收益,最优指标函数是阶段的收益,最优指标函数是指从第指从第k 阶段状态出发到第阶段状态出发到第n 阶段末所获得收益的最优阶段末所获得收益的最优值,最后写出动态规划基本方程。值,最后写出动态规划基本方程。f k(sk)=Opt Vk(sk,uk)+f k+1(s k+1)fn+1(s n+1)=0 Opt 最优化(最优化(max,min)以上五步是建立动态规划数学模型的一般步骤。以上五步是建立动态规划数学模型的一般步骤。由于动态规划模型与线性规划模型不同,动态规由于动态规划模型与线性规划模型不同,
24、动态规划模型没有统一的模式,建模时必须根据具体问划模型没有统一的模式,建模时必须根据具体问题具体分析,只有通过不断实践总结,才能较好题具体分析,只有通过不断实践总结,才能较好掌握建模方法与技巧。掌握建模方法与技巧。f1(s1)是整个问题的最优策略,最优值。是整个问题的最优策略,最优值。f k(sk)表示从第表示从第k阶段(状态阶段(状态sk)到终点)到终点的最优指标值。(距离、利润、成本等的最优指标值。(距离、利润、成本等)例一、从例一、从A 地到地到D 地要铺设一条煤气管道地要铺设一条煤气管道,其中需经过其中需经过两级中间站,两点之间的连线上的数字表示距离,如两级中间站,两点之间的连线上的数
25、字表示距离,如图所示。问应该选择什么路线,使总距离最短?图所示。问应该选择什么路线,使总距离最短?AB1B2C1C2C3D24333321114二、最短路径问题二、最短路径问题 解:整个计算过程分三个阶段,从最后一个阶段开始。解:整个计算过程分三个阶段,从最后一个阶段开始。第三阶段(第三阶段(C D):):C 有三条路线到终点有三条路线到终点D。AB1B2C1C2C3D24333321114DC1C2C3显然有显然有 f3(C1)=1 ;f3(C2)=3 ;f3(C3)=4 d(B1,C1)+f3(C1)3+1 f2(B1)=min d(B1,C2)+f3(C2)=min 3+3 d(B1,C
26、3)+f3(C3)1+4 4 =min 6 =4 5第二阶段(第二阶段(B C):):B 到到C 有六条路线。有六条路线。AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为最短路线为B1C1 D)d(B2,C1)+f3(C1)2+1 f2(B2)=min d(B2,C2)+f3(C2)=min 3+3 d(B2,C3)+f3(C3)1+4 3 =min 6 =3 5AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为最短路线为B2C1 D)第一阶段(第一阶段(A B):):A 到到B 有二条路线有二条路线。f1(A)1=d(A,B1)f
27、2(B1)246 f1(A)2=d(A,B2)f2(B2)437 f1(A)=min =min6,7=6d(A,B1)f2(B1)d(A,B2)f2(B2)(最短路线为最短路线为AB1C1 D)AB1B2C1C2C3D24333321114DC1C2C3B1B2AAB1B2C1C2C3D24333321114DC1C2C3B1B2A最短路线为最短路线为 AB1C1 D 路长为路长为 6三、非线性规划问题三、非线性规划问题【例【例7-47-4】用动态规划方法解下列非线性用动态规划方法解下列非线性规划问题规划问题 3,2,1 0 max3213221ixcxxxxxxzi解:解:解决这一类静态规划
28、问题,需要人为地赋解决这一类静态规划问题,需要人为地赋予时间概念,从而将该问题转化为多阶段决予时间概念,从而将该问题转化为多阶段决策过程。策过程。按问题的变量个数划分阶段,把它看作一按问题的变量个数划分阶段,把它看作一个三阶段决策问题,个三阶段决策问题,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为决策变量为决策变量 3,2,1 0 max3213221ixcxxxxxxzi状态转移方程为:状态转移方程为:s3=x3s3+x2=s2s2+x1
29、=s1c允许决策集合为:允许决策集合为:x3=s30 x2s20 x1s1各阶段指标函数为:各阶段指标函数为:v1(x1)=x1v2(x2)=x22v3(x3)=x3,各指标函数以乘积方式结合,最优指标函数各指标函数以乘积方式结合,最优指标函数fk(sk)表示从第表示从第k k阶段初始状态阶段初始状态sk出发到第出发到第3 3阶段所得到的阶段所得到的最大值,则动态规划基本方程为:最大值,则动态规划基本方程为:1)(1,2,3 )()(max)(4411)(sfksfxvsfkkkksDxkkkkk用逆序解法由后向前依次求解:用逆序解法由后向前依次求解:k=3k=3时时,x3*=s3 k=2 k
30、=2时时,334433)(33)(max)()(max)(33333sxsfxvsfsxsDx)(max)(max)()(max)(2222032203322)(222222222xsxsxsfxvsfsxsxsDx令令h2(s2,x2)=x22(s2x2)用用经典解析法经典解析法求极值点:求极值点:解得:解得:x2=0(舍)(舍)所以所以 是极大值点。是极大值点。032222222xsxdxdh2232sx22222262xsdxhd02322222222ssxdxhd2232sx 32222222274)32()32()(sssssf2*232sx k=1时,令解得:x1=s1(舍)所以所
31、以 是极大值点。是极大值点。)(274max)274(max)()(max)(3111032102211)(111111111xsxsxsfxvsfsxsxsDx3111111)(274),(xsxxsh0)1()(2712)(274211131111xsxxsdxdh1141sx)2)(2724)(2724)(2712)1()(271211111112112112112sxxsxsxxsxsdxhd02794121112112ssxdxhd1141sx 由于由于s1未知,所以对未知,所以对s1再求极值,再求极值,显然显然s s1 1=c c时,时,f f1 1(s s1 1)取得最大值取得最
32、大值 反向追踪得各阶段最优决策及最优值:反向追踪得各阶段最优决策及最优值:s1=c所以最优解为:所以最优解为:41311111641)41(27441)(sssssf1*141sx)641(max)(max41011011ssfcscs411641)(csfcsx41411*1411641)(csfcxss43*112csx21322*233222161274)(cssfcxss41*223csx413*3cssf41)(3334*3*2*1641,41,21,41czcxcxcx 一般地,如果阶段指标函数一般地,如果阶段指标函数vk(sk,uk)是是线性函数或凸函数时,最优指标函数线性函数或
33、凸函数时,最优指标函数fk(sk)的表达式比较容易得到,但是当的表达式比较容易得到,但是当vk(sk,uk)不具备上述特性时,最优指标函数不具备上述特性时,最优指标函数fk(sk)的的表达式不易得到,就需要采用表达式不易得到,就需要采用数值法数值法,即对连,即对连续变量进行离散化处理,再分散求解。续变量进行离散化处理,再分散求解。例如静态规划模型例如静态规划模型其动态规划基本方程为:其动态规划基本方程为:状态转移方程为状态转移方程为sk+1=skxks1=anjxaxxxxgxgxgzjnnn,2,1 0 )()()(max2122110)(1,1,)()(max)(1111)(nnkkkks
34、Dxkksfnnksfxgsfkkk状态变量状态变量sk及决策变量及决策变量xk都是连续变量,对其进行离散都是连续变量,对其进行离散化处理,具体做法是:化处理,具体做法是:1.1.对区间对区间00,aa进行分割,分割数进行分割,分割数m=m=,其中,其中是分是分割后的小区间的长度,其大小可以根据所求解问题要割后的小区间的长度,其大小可以根据所求解问题要求的精度及计算机运算能力而定,分割点为求的精度及计算机运算能力而定,分割点为0 0,22,m=am=a。2.2.规定状态变量规定状态变量sk及决策变量及决策变量xk仅在离散点仅在离散点0 0,22,mm处取值,最优指标函数处取值,最优指标函数fk
35、(sk)也定义在也定义在这些离散点上。动态规划基本方程可以写为:这些离散点上。动态规划基本方程可以写为:其中其中s sk k=q q,x xk k=p p。3.3.由后向前逐段递推,直至求出整个过程最优解。由后向前逐段递推,直至求出整个过程最优解。a0)(1,1,)()(max)(111,2,1,0nnkkkqpkksfnnkpsfpgsf【例7-5】解解 按变量个数将原问题分为三个阶段,阶段变量按变量个数将原问题分为三个阶段,阶段变量k=1,2,3;选择选择xk为决策变量;为决策变量;状态变量状态变量sk表示表示第第k阶段至第阶段至第3阶段决策变量之和;阶段决策变量之和;取小区间长度取小区间
36、长度=1=1,小区间数目,小区间数目m=6/1=6m=6/1=6,状态变,状态变量量sk的取值点为:的取值点为:状态转移方程:状态转移方程:sk+1=skxk;允许决策集合:允许决策集合:Dk(sk)=xk|0 xksk k=1,2,3xk,sk均在分割点上取值;均在分割点上取值;3,2,1 06 max32133221jxxxxxxxzj62 6,5,4,3,2,1,01sksk阶段指标函数分别为:阶段指标函数分别为:g1(x1)=x12g2(x2)=x2g3(x3)=x33,最优指标函数最优指标函数fk(sk)表示从第表示从第k阶段状态阶段状态sk出发到第出发到第3阶段所得到的最大值,动态
37、规划的基阶段所得到的最大值,动态规划的基本方程为:本方程为:k=3时,时,s3及及x3取值点较多,计算结果以表格形式给出,取值点较多,计算结果以表格形式给出,见表见表7-17-1所示。所示。1)(1,2,3 )()(max)(44110sfksfxgsfkkkksxkkkk333333)(max)(33sxsfsx表71取值k=2k=2时,时,计算结果见表计算结果见表7-27-2 )(max)(max)(223203320222222xsfxsfxsfsxsxk=1k=1时,时,其中其中s1=6,计算结果见表计算结果见表7-37-3所示。所示。由表由表7-37-3知,知,x1*=2,s1=6,
38、则则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。本例也可用经典解析法求得各段的极值,读者可自本例也可用经典解析法求得各段的极值,读者可自行求解,二者结论完全相同。需要指出的是当连续变量行求解,二者结论完全相同。需要指出的是当连续变量离散化处理以后,由于状态变量和决策变量只在给定的离散化处理以后,由于状态变量和决策变量只在给定的离散点上取值,故有可能漏掉最优解,因此需要慎重选离散点上取值,故有可能漏掉最优解,因此需要
39、慎重选择参数择参数m m与与。)(max)(max)(11221022210111111xsfxsfxsfsxsx资源分配问题就是将一定数量的一种或若干种资资源分配问题就是将一定数量的一种或若干种资源(原材料、资金、设备等)合理分配给若干使用者,源(原材料、资金、设备等)合理分配给若干使用者,使得资源分配后总结果最优。一种资源的分配问题称使得资源分配后总结果最优。一种资源的分配问题称为一维资源分配问题,两种资源的分配问题称为二维为一维资源分配问题,两种资源的分配问题称为二维资源分配问题。资源分配问题。四、四、资源分配问题资源分配问题假设有一种资源,数量为假设有一种资源,数量为a a,将其分配给
40、,将其分配给n n个使用者,个使用者,分配给第分配给第i个使用者数量个使用者数量xi时,相应的收益为时,相应的收益为gi(xi),),问如何分配使得总收入最大?这就是一维资源分配问题,问如何分配使得总收入最大?这就是一维资源分配问题,该问题的数学模型为:该问题的数学模型为:这是一个静态规划问题,应用动态规划方法求解时这是一个静态规划问题,应用动态规划方法求解时人为赋予时间概念,将其看作是一个多阶段决策问题。人为赋予时间概念,将其看作是一个多阶段决策问题。nixaxxxxgxgxgzinnn,2,1 0 )()()(max212211按变量个数划分阶段,按变量个数划分阶段,k=1,2,n;设决策
41、变量设决策变量uk=xk,表示分配给第表示分配给第k个使用者的资源数量;个使用者的资源数量;设状态变量为设状态变量为sk,表示分配给第表示分配给第k个至第个至第n个使用者的总个使用者的总资源数量;资源数量;状态转移方程:状态转移方程:sk+1=skxk,其中其中s1=a;允许决策集合:允许决策集合:Dk(sk)=xk|0 xksk阶段指标函数:阶段指标函数:vk(sk,uk)=gk(xk)表示分配给第表示分配给第k个个使用者数量使用者数量xk时的收益;时的收益;最优指标函数最优指标函数fk(sk)表示以数量表示以数量sk的资源分配给第的资源分配给第k个至个至第第n个使用者所得到的最大收益,则动
42、态规划基本方程个使用者所得到的最大收益,则动态规划基本方程为:为:由后向前逐段递推,由后向前逐段递推,f1(a)即为所求问题的最大收益即为所求问题的最大收益。0)(1,)()(max)(11110nnkkkksxkksfnksfxgsfkk【例【例7-67-6】某公司打算在某公司打算在3 3个不同的地区设置个不同的地区设置4 4个个销售点,根据市场部门估计,在不同地区设置销售点,根据市场部门估计,在不同地区设置不同数量的销售点每月可得到的利润如表不同数量的销售点每月可得到的利润如表7-47-4所示。试问在各地区如何设置销售点可使每月所示。试问在各地区如何设置销售点可使每月总利润最大。总利润最大
43、。表表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)表示表示xk个销售点分配给第个销售点分配给第k个地区所获得的利润;个地区所获得的利润;最优指标函数最
44、优指标函数fk(sk)表示将数量为表示将数量为sk的销售点分的销售点分配给第配给第k个至第个至第3个地区所得到的最大利润,动态规划个地区所得到的最大利润,动态规划基本方程为:基本方程为:0)(1,2,3 )()(max)(4410sfkxsfxgsfkkkkksxkkkkk=3时,时,数值计算如下表数值计算如下表7-57-5表表7-5 7-5)(max)(333333xgsfsx k=2k=2时,时,计算结果见下表计算结果见下表7-67-6表表7-67-6)()(max)(2232202222xsfxgsfsxk=1k=1时,时,k=1k=1时,只有时,只有s s1 1=4=4的情况。的情况。
45、计算结果如表计算结果如表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个个地区设置地区设置1 1个销售点,第个销售点,第3 3个个地区设置地区设置1 1个销售点,每月可获利润个销售点,每月可获利润4747。表表7-77-7)()(max)(1121101111xsfxgsfsx)4()(max)(121140111xfxgsfx【例【例7-7】机器负荷问题】机器负荷问题某工厂有某工厂有100100台机器,拟
46、分四期使用,每一期都可在高、低台机器,拟分四期使用,每一期都可在高、低两种不同负荷下进行生产。若把两种不同负荷下进行生产。若把x x台机器投入高负荷下进行生产,台机器投入高负荷下进行生产,则在本期结束时将有则在本期结束时将有1/3x1/3x台机器损坏报废;余下的机器全部投台机器损坏报废;余下的机器全部投入低负荷下进行生产,则在期末有入低负荷下进行生产,则在期末有1/101/10的机器报废。如果高负的机器报废。如果高负荷下生产时每台机器可获利润为荷下生产时每台机器可获利润为1010,低负荷下生产时每台机器,低负荷下生产时每台机器可获利润为可获利润为7 7,问怎样分配机器使四期的总利润最大?,问怎
47、样分配机器使四期的总利润最大?解解 将问题按周期分为将问题按周期分为4 4个阶段,个阶段,k=1,2,3,4;状态变量状态变量sk表示第表示第k阶段初完好的机器数,阶段初完好的机器数,s1=100,0sk100;决策变量决策变量xk表示第表示第k阶段投入高负荷下生产的机器数,阶段投入高负荷下生产的机器数,则则skxk表示第表示第k阶段投入低负荷下生产的机器数;阶段投入低负荷下生产的机器数;允许决策集合:允许决策集合:Dk(sk)=xk|0 xksk状态转移方程:状态转移方程:sk+1=Tk(sk,xk),),即第即第k+1阶段初拥有的完好机器阶段初拥有的完好机器数数sk+1为:为:)(1093
48、21kkkkxsxs阶段指标函数:阶段指标函数:vk(sk,xk)=10 xk+7(skxk)表示第表示第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 0)(1,2,3,4 )(),(max)(55110sfksfxsvsfkkkkksxkkkk444044404410)73(max)(710max)
49、(4444ssxxsxsfsxsx333033333304333044333033350 )1632(max )(1093210)(710max 10)(710max )()(710max)(33333333ssxxsxxsxsxsxsfxsxsfsxsxsxsxk=2时,时,x2*=0 k=1时,时,x1*=022202222220322203322202222 )9822(max )(10932350)(710max 350)(710max )()(710max)(22222222sxsxsxxsxsxsxsfxsxsfsxsxsxsx111011111102111022111011513
50、4 )15325134(max )(1093222)(710max 22)(710max )()(710max)(11111111sxsxsxxsxsxsxsfxsxsfsxsxsxsx因为因为s1=100,所以,所以f1(100)=2680,逆向追踪得:,逆向追踪得:s1=100,x1*=0 x2*=0 x3*=s3=81 x4*=s4=54即,第即,第1,2期把全部完好机器投入低负荷下生产,第期把全部完好机器投入低负荷下生产,第3,4期把全部完好机器投入高负荷下生产所得利润最大。期把全部完好机器投入高负荷下生产所得利润最大。90)(10932*11*12xsxs81)(10932*22*2
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。