700 likes | 864 Views
第七章 动态规划. 一、多阶段决策过程的最优化 二、基本概念和基本原理 三、动态规划模型的建立与求解 四、动态规划在经济管理中的应用. 一、多阶段决策过程的最优化. 动态规划 (D.P. – Dynamic Program) 是解决多阶段决策过程最优化问题的一种方法。 广泛应用于工业技术、生产管理、企业管理、经济、军事等领域。可用于解决最优路径问题、资源分配问题、生产计划与库存、投资、装载、排序等问题及生产过程的最优控制等。 动态的含义:
E N D
第七章 动态规划 一、多阶段决策过程的最优化 二、基本概念和基本原理 三、动态规划模型的建立与求解 四、动态规划在经济管理中的应用
一、多阶段决策过程的最优化 动态规划(D.P.– Dynamic Program)是解决多阶段决策过程最优化问题的一种方法。 广泛应用于工业技术、生产管理、企业管理、经济、军事等领域。可用于解决最优路径问题、资源分配问题、生产计划与库存、投资、装载、排序等问题及生产过程的最优控制等。 动态的含义: 动态规划方法与“时间”关系很密切,随着时间过程的发展而决定各时段的决策,产生一个决策序列,这就是“动态”的意思。
一、多阶段决策过程的最优化 动态规划的起源: 1951年,(美)数学家R.Bellman等人,根据多阶段序贯决策问题的特点,提出了著名的“最优性原理”。将多阶段决策问题转变为一系列的互相联系的单阶段决策问题,然后,逐个阶段予以解决,最后再形成总体解决。从而创建了求解优化问题的新方法——动态规划。1957年,他的名著《动态规划》出版。 最优性原理: 作为整个过程的最优策略具有这样的性质:即无论过去的状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优子策略。简言之,最优策略的子策略总是最优的。
一、多阶段决策过程的最优化 动态决策问题: 决策过程具有阶段性和时序性(与时间有关)的决策问题。即决策过程可划分为明显的阶段。 动态决策问题分类: 1、按数据给出的形式分为: 离散型动态决策问题。 连续型动态决策问题。 2、按决策过程演变的性质分为: 确定型动态决策问题。 随机型动态决策问题。
一、多阶段决策过程的最优化 例1 生产与存贮问题 要求确定一个逐月的生产计划,在满足需求条件下,使一年的生产与存贮费用之和最小? 例2 投资决策问题 某公司现有资金Q万元,在今后5年内考虑给A,B,C,D 4个项目投资? 例3 设备更新问题 现企业要决定一台设备未来8年的更新计划,问应在哪些年更新设备可使总费用最小?
一、多阶段决策过程的最优化 例4 基建投资问题 一家公司有三个工厂,每个厂都需要进行扩建。公司用于扩建的资金总共为7万元。各个厂的投资方案及扩建后预期可获得的利润如表所示(单位:万元)。 现在公司要确定时各厂投资多少才能使公司的总利润达到最大?
一、多阶段决策过程的最优化 例5 货船装运问题 有四种货物准备装到一艘货船上。第i(i=1.2,3,4)种货物的每一箱重量是wi(单位:吨),其价值是vi(单位:干元),如表所示。 假定这艘货船的总载重量是10吨,现在要确定这四种货物应各装几箱才能使装载货物的总价值达到最大?
7 3 B1 C1 6 3 D1 5 4 9 4 6 5 A B2 C2 E 3 2 6 3 D2 7 3 B3 C3 9 8 一、多阶段决策过程的最优化 例6最短路程问题 假定从A地到E地要铺设一条管道,其中要经过若干个中间点(如图)。 图中两点之间连线上的数字表示两地间的距离,现在要选择一条铺设管道的路线使总长度最短。
二、基本概念和基本原理 动态规划模型要用到的概念: (1)阶段; (2)状态; (3)决策和策略; (4)状态转移; (5)指标函数。 1、阶段:将所给问题的过程,按时间或空间特征分解成若干互相联系的阶段,以便按次序去求每阶段的解,常用字母k表示阶段变量。
7 3 B1 C1 6 3 D1 5 4 9 4 6 5 A B2 C2 E 3 2 6 3 D2 7 3 B3 C3 9 8 二、基本概念和基本原理 2、状态:各阶段开始时的客观条件叫做状态。 状态变量:描述各阶段状态的变量,用sk表示第k阶段的状态变量。 状态集合:状态变量的取值集合,用Sk表示。 一阶段:S1={A} 二阶段:S2={B1,B2,B3} 三阶段:S3={C1,C2,C3} 四阶段:S4={D1,D2}
二、基本概念和基本原理 3、决策:当各段的状态取定以后,就可以作出不同的决定(或选择),从而确定下一阶段的状态,这种决定称为决策。 决策变量:表示决策的变量,称为决策变量,常用uk(sk)表示第k阶段当状态为sk时的决策变量。 允许决策集合:决策变量的取值往往限制在一定范围内,我们称此范围为允许决策集合,用Dk(sk)表示第k阶段从状态sk出发的允许决策集合。 D2( B1)={C1,C2} D2( B2)={C1,C2,C3} 如状态为B1时选择C2,可表示为:u2(B1)=C2
7 3 B1 C1 6 3 D1 5 4 9 4 6 5 A B2 C2 E 3 2 6 3 D2 7 3 B3 C3 9 8 二、基本概念和基本原理 策略:各段决策确定后,整个问题的决策序列就构成一个策略,用p1,n{u1(s1),u2(s2),...un(sn)}表示。 允许策略集合:对每个实际问题,可供选择的策略有一定范围,称为允许策略集合,记作P1,n,使整个问题达到最优效果的策略就是最优策略。 p1,4{B1,C1, D1,E}
7 3 B1 C1 6 3 D1 5 4 9 4 6 5 A B2 C2 E 3 2 6 3 D2 7 3 B3 C3 9 8 二、基本概念和基本原理 4、状态转移方程:动态规划中本阶段的状态往往是上一阶段状态和上一阶段的决策结果。 第k段的状态sk,本阶段决策为uk(sk),则第k+1段的状态sk+1也就完全确定,它们的关系可用公式表示:sk+1=Tk(sk,uk) sk+1= uk(sk)
二、基本概念和基本原理 5、指标函数:用于衡量所选定策略优劣的数量指标。 它分为阶段指标函数和过程指标函数。 阶段指标函数是指第k段,从状态sk出发,采取决策uk时的效益,用d(sk,uk)表示。d(B1,C2) 一个n段决策过程,从1到n叫作问题的原过程,对于任意一个给定的k(1≤k ≤ n),从第k段到第n段的过程称为原过程的一个后部子过程。 V1,n(s1,p1,n) 表示初始状态为s1采用策略p1,n时原过程的指标函数值; Vk,n(sk,pk,n)表示在第k段,状态为sk采用策略pk,n时,后部子过程的指标函数值。 最优指标函数记为fk(sk):表示从第k段状态sk采用最优策略到过程终止时的最佳效益值。
二、基本概念和基本原理 最简单的方法--穷举法。共有多少条路径,依次计算并比较。 动态规划方法--本方法是从过程的最后一段开始,用逆序递推方法求解,逐步求出各段各点到终点的最短路线,最后求得起始点到终点的最短路线。
C1 B1 12 3 14 D1 9 2 10 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 11 二、基本概念和基本原理 练习: 求从A到E的最短路径。
二、基本概念和基本原理 C1 B1 12 3 14 D1 9 f5(E)=0 2 10 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 11
二、基本概念和基本原理 C1 B1 12 f4(D1)=5 3 14 D1 9 f5(E)=0 2 10 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 11
二、基本概念和基本原理 C1 B1 12 f4(D1)=5 3 14 D1 9 f5(E)=0 2 10 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11
二、基本概念和基本原理 f3(C1)=8 C1 B1 12 f4(D1)=5 3 14 D1 9 f5(E)=0 2 10 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11
二、基本概念和基本原理 f3(C1)=8 C1 B1 12 f4(D1)=5 3 14 D1 9 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11
二、基本概念和基本原理 f3(C1)=8 C1 B1 12 f4(D1)=5 3 14 D1 9 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f3(C3)=12
二、基本概念和基本原理 f3(C1)=8 f2(B1)=20 C1 B1 12 f4(D1)=5 3 14 D1 9 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f3(C3)=12
二、基本概念和基本原理 f2(B1)=21 f3(C1)=8 C1 B1 12 f4(D1)=5 3 14 D1 9 f2(B2)=14 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f3(C3)=12
二、基本概念和基本原理 f3(C1)=8 f2(B1)=21 C1 B1 12 f4(D1)=5 3 14 D1 9 f2(B2)=14 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f2(B3)=19 f3(C3)=12
二、基本概念和基本原理 f2(B1)=21 f3(C1)=8 C1 B1 12 f4(D1)=5 3 14 D1 9 f1(A)=19 f2(B2)=14 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f2(B3)=19 f3(C3)=12
二、基本概念和基本原理 f2(B1)=21 f3(C1)=8 C1 B1 12 f4(D1)=5 3 14 D1 9 f1(A)=19 f2(B2)=14 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f2(B3)=19 f3(C3)=12 状态 最优决策 状态 最优决策 状态 最优决策 状态 最优决策 状态 A ( A,B2) B2
二、基本概念和基本原理 f3(C1)=8 f2(B1)=21 C1 B1 12 f4(D1)=5 3 14 D1 9 f1(A)=19 f2(B2)=14 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f2(B3)=19 f3(C3)=12 状态 最优决策 状态 最优决策 状态 最优决策 状态 最优决策 状态 A ( A,B2) B2 (B2,C1) C1
二、基本概念和基本原理 f2(B1)=21 f3(C1)=8 C1 B1 12 f4(D1)=5 3 14 D1 9 f1(A)=19 f2(B2)=14 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f2(B3)=19 f3(C3)=12 状态 最优决策 状态 最优决策 状态 最优决策 状态 最优决策 状态 A ( A,B2) B2 (B2,C1) C1(C1,D1) D1
二、基本概念和基本原理 f2(B1)=21 f3(C1)=8 C1 B1 12 f4(D1)=5 3 14 D1 9 f1(A)=19 f2(B2)=14 f5(E)=0 2 10 f3(C2)=7 5 6 6 C2 E A B2 10 5 5 4 D2 2 13 8 1 12 B3 C3 10 f4(D2)=2 11 f2(B3)=19 f3(C3)=12 状态 最优决策 状态 最优决策 状态 最优决策 状态 最优决策 状态 A ( A,B2) B2 (B2,C1) C1(C1,D1) D1(D1,E) E 从A到E的最短路径为19,路线为A→B 2→C1 →D1 →E
二、基本概念和基本原理 可以看出,在求解的各阶段,都利用了第k段和第k+1段的如下关系: 这种递推关系称为动态规划的基本方程,第二个式子称为边界条件。 这种在图上直接计算的方法称为标号法。
二、基本概念和基本原理 动态规划标号法较之穷举法的优点: 第一,容易算出; 其次,动态规划的计算结果不仅得到了从起始点到最终点的最短路线,而且得到了中间段任一点到最终点的最短路线 。
二、基本概念和基本原理 动态规划方法的基本思想: (1)将多阶段决策过程划分阶段,恰当地选取状态变量、决策变量及定义最优指标函数.从而把问题化成一族同类型的子问题,然后逐个求解。 (2)求解时从边界条件开始,逆(或顺)过程行进方向,逐段递推寻优。在每一个子问题求解时,都要使用它前面已求出的子问题的最优结果,最后一个子问题的最优解,就是整个问题的最优解。 (3)动态规划方法是既把当前一段与未来各段分开,又把当前效益和未来效益结合起来考虑的一种最优化方法,因此每段的最优决策选取是从全局考虑的,与该段的最优选择一般是不同的。
三、动态规划模型的建立与求解 (一)动态规划模型的建立 (二)逆序解法与顺序解法 (三)基本方程分段求解时的几种常用算法
三、动态规划模型的建立与求解 (一)动态规划模型的建立 建立动态规划的模型关键,在于识别问题的多阶段持征,将问题分解成为可用递推关系式联系起来的若干子问题,或者说正确地建立具体问题的基本方程。而正确建立基本递推关系方程的关键又在于正确选择状态变量,保证各阶段的状您变量具有递推的状态转移关系 sk+1=Tk(sk,uk) 下面以资源分配问题为例介绍动态规划的建模条件及解法。
三、动态规划模型的建立与求解 例5 某公司有资金10万元.若投资于项目i(i=1,2,3)的投资额为xi时,其收益分别为g1(x1)=4x1,g2(x2)=9x2,g3(x3)=2x32,问应如何分配投资数额才能使总收益最大? 可以人为地赋予时段,把问题转化为一个3段决策过程。 关键问题是如何正确选择状态变量,使各后部子过程之间具有递进关系。
三、动态规划模型的建立与求解 K=1 K=2 第k段时 所以,建立动态规划模型: 阶段k:本例中取1,2,3 状态变量sk:第k段可以投资于第k项到第3个项目的资金数 决策变量xk:决定给第k个项目投资的资金数。 状态转移方程:sk+1=sk-xk 最优指标函数fk(sk):当可投资金数为sk时,投资第k-3项所得的最大收益数。 基本方程为:
三、动态规划模型的建立与求解 建立动态规划模型的要点 1、分析题意,识别问题的多阶段特性,按时间或空间的先后顺序适当地划分为满足递推关系的若干阶段。 2、正确地选择状态变量,使其具备两个必要待征: (1)可知性; (2)能够确切地描述过程的演变且满足无后效性。 3、根据状态变量与决策变量的含义,正确写出状态转移方程sk+1=Tk(sk,uk)或转移规则。 4、根据题意明确指标函数vk,n最优指标函数fk(sk)以及k阶段指标vk(sk,uk)的含义,并正确列出最优指标函数的递推关系及边界条件(即基本方程)。
三、动态规划模型的建立与求解 (二)逆序解法与顺序解法 如果寻优的方向与多阶段决策过程的实际行进方向相反,从最后一段开始计算逐段前推,求得全过程的最优策略,称为逆序解法。 顺序解法的寻优方向同于过程的行进方向,计算时从第一段开始逐段向后递推,计算后一阶段要用到前一阶段的求优结果,最后一段计算的结果就是全过程的最优结果。
三、动态规划模型的建立与求解 求解步骤 第一步:k=0 状态:s1=A f0(A)=0
三、动态规划模型的建立与求解 (4) 第二步:k=1 状态:B1 B2 (5) f1(B1)=4 u1*(B1)=A f2(B2)=5 u1*(B2)=A
(4) (5) 三、动态规划模型的建立与求解 (6) 第三步:k=2 状态:C1 C2 C3 C4 (7) (10) (12) u2*(C1)=B1 f2(C1)=6 u2*(C2)=B1 f2(C2)=7 u2*(C3)=B1 f2(C3)=10 f2(C4)=12 u2*(C4)=B2
(6) (4) (7) (10) (5) (12) 三、动态规划模型的建立与求解 第四步:k=3 状态:D1 D2 D3 (11) (12) (14) f3(D1)=11 u3*(D1)=C1或C2 u3*(D2)=C2 f3(D2)=12 u3*(D3)=C3 f3(D3)=14
(6) (11) (4) (7) (12) (10) (5) (14) (12) 三、动态规划模型的建立与求解 第五步:k=4 状态:E1 E2 (14) (14) f4(E1)=14 u4*(E1)=D1 f4(E2)=14 u4*(E2)=D2
(6) (11) (4) (7) (14) (12) (14) (10) (5) (14) (12) 三、动态规划模型的建立与求解 第六步:k=5 状态:F (17) f5(F)=17 u5*(F)=E2 即从A到F的最短距离为17。 最优路线为:A-B1-C2-D2-E2-F
决策u1 un uk uk un 状态s1 s2 Sn+1 sk sk sn sn Sk+1 k 1 n 效益v1(s1,u1) vn(sn,un) vk(sk,uk) vn(sn+1,un) vk(sk+1,uk) 决策u1 状态s1 s2 Sn+1 Sk+1 1 k n 效益v1(s2,u1) 三、动态规划模型的建立与求解 逆序解法与顺序解法建模的不同点 1.状态转移方式不同 sk+1=Tk(sk,uk) sk=Tk(sk+1,uk)
三、动态规划模型的建立与求解 2.指标函数的定义不同 逆序解法中,我们定义最优指标函数fk(sk)表示第k段从状态sk出发,到终点后部子过程最优效益值,f1(s1)是整体最优函数值。 顺序解法中,定义最优指标函数fk(sk+1)表示第k段时从起点到状态sk+1的前部子过程最优效益值。fn(sn+1)是整体最优函数值。
三、动态规划模型的建立与求解 3,基本方程形式不同 (1)当指标函数为阶段指标和形式 逆序解法 则基本方程为: 顺序解法 则基本方程为:
三、动态规划模型的建立与求解 (2)当指标函数为阶段指标积形式 逆序解法 基本方程为: 顺序解法 基本方程为:
三、动态规划模型的建立与求解 (三)基本方程分段求解时的几种常用算法 1.离散变量的分段穷举算法 动态规划模型中的状态变量与决策变量若被限定只能取离散值,则可采用分段穷举法。如前面例4的求解方法就是分段穷举算法,由于每段的状态变量和决策变量离散取值个数较少,所以动态规划的穷举法要比一般的穷举法有效。用分段穷举法求最优指标函数值时,最重要的是正确确定每段状态变量取值范围和允许决策集合的范围。