39
4 动 动 动 动 动动动动动动动 动动动动动动动动 动动动动动动动动动动动动动动动动动动动动动动动动动动动动 动动动动动动动动动动动动动 ,, 动动动动动动动动动动 动动动动动动动动动动动动动动动动动动 动动动动动动动动动动动动动动 动动动动动动动动动动动动动动 ,,, 动动动动动动动 动动动动动动动动动动动动动动动动动动动动动动动 动动动动动动动动动动动动动动动动动动动动动动动 ,,。 动动动动动动动动动“ Dynamic Programming” 动动 DP 动动动动动动动动动动动 ,, 动动动动动动动动 动动动动动动 动动动动动动动动动动动动动动动动动 动动动动动动动动动 动动动动动动动动动动动动动 动 一,一。、 动动动 动动动动动动动动动动动 动动动动动动动动动动动动动动动动动动动动动动动动 、,。

4 动 态 规 划

Embed Size (px)

DESCRIPTION

4 动 态 规 划. 教学目的与要求. 通过对本章的学习,使学生对多阶段决策问题的产生发展和研究现状有基本的了解,对动态规划在现代物流管理中的运用有较全面的认识,了解动态规划方法的含义及其基本特点,明确动态规划模型的基本思想,掌握动态规划的基本概念和动态规划模型的建立,掌握求解动态规划问题的逆序递推法和顺序递推法,能够将动态规划的方法应用在现代物流管理实践中。. - PowerPoint PPT Presentation

Citation preview

Page 1: 4  动 态 规 划

4 动 态 规 划教学目的与要求

通过对本章的学习,使学生对多阶段决策问题的产生发展和研究现状有基本的了解,对动态规划在现代物流管理中的运用有较全面的认识,了解动态规划方法的含义及其基本特点,明确动态规划模型的基本思想,掌握动态规划的基本概念和动态规划模型的建立,掌握求解动态规划问题的逆序递推法和顺序递推法,能够将动态规划的方法应用在现代物流管理实践中。

动态规划英文名称为“ Dynamic Programming” ,简称 DP ,它是规划论的重要内容,同时也是运筹学的一个重要分支,是解决多阶段决策过程最优化问题的一种重要理论和方法。目前已广泛应用于工程技术、经济管理、工业生产及军事等部门,特别是在动态系统的最优控制方面取得了显著的效果。

Page 2: 4  动 态 规 划

4 动 态 规 划

4.1 多阶段决策问题的提出

4.2 动态规划模型

4.3 动态规划的解法

4.4 动态规划应用举例

◎ 知识归纳

◎ 习题与思考题

Page 3: 4  动 态 规 划

4.1 多阶段决策问题的提出

4.1.1 动态规划概述

规划问题的最终目的就是确定各决策变量的取值,以使目标函数达到极大或极小。在线性规划和非线性规划中,决策变量都是以集合的形式被一次性处理的;然而,有时我们也会面对决策变量需分期、分批处理的多阶段决策问题。 所谓多阶段决策问题是指这样一类活动过程:它可以分解为若干个互相联系的阶段,在每一阶段分别对应着一组可供选取的决策集合,即构成过程的每个阶段都需要进行一次决策。将各个阶段的决策综合起来构成一个决策序列,称为一个策略。显然,由于各个阶段选取的决策不同,对应整个过程可以有一系列不同的策略。当过程采取某个具体策略时,相应可以得到一个确定的效果,采取不同的策略,就会得到不同的效果。多阶段的决策问题,就是要在所有可能采取的策略中选取一个最优策略,以便得到最佳的效果。动态规划同前面介绍过的各种优化方法不同,它不是一种算法,而是考察问题的一种途径。动态规划是一种求解多阶段决策问题的系统技术,可以说它横跨整个规划领域(线性规划和非线性规划)。当然,由于动态规划不是一种特定的算法,因而它不像线性规划那样有一个标准的数学表达式和明确定义的一组规则,动态规划必须对具体问题进行具体的分析处理。在多阶段决策问题中,有些问题对阶段的划分具有明显的时序性,动态规划的“动态”二字也由此而得名。

Page 4: 4  动 态 规 划

动态规划的主要创始人是美国数学家贝尔曼。 20 世纪 40 年代末 50 年代初,当时在兰德公司从事研究工作的贝尔曼首先提出了动态规划的概念。 1951 年贝尔曼首先提出了动态规划中解决多阶段决策问题的最优化原理,并给出了许多实际问题的解法。 1957 年贝尔曼出版了他的第一部著作《动态规划》,标志着运筹学这一重要分支的诞生。该著作成为当时唯一的进一步研究和应用动态规划的理论源泉。 1961 年贝尔曼出版了他的第二部著作,并于 1962 年同杜瑞佛思合作出版了第三部著作。在贝尔曼及其助手们致力于发展和推广这一技术的同时,其他一些学者也对动态规划的发展作了巨大的贡献,其中最值得一提的是爱尔思和梅特顿。爱尔思先后于 1961 年和 1964 年出版了两部关于动态规划的著作,并于 1964 年同尼母霍思尔、威尔德一道创建了处理分支、循环性多阶段决策系统的一般性理论。梅特顿提出了许多对动态规划后来发展有着重要意义的基础性观点,并且对明晰动态规划路径的数学性质作出了巨大的贡献。 动态规划从创立到现在 50 多年来,无论在工程技术、企业管理还是在工农业生产及军事等部门都有着广泛的应用,并取得了显著的效果。在管理方面,动态规划可用于资源分配问题、最短路径问题、库存问题、背包问题、设备更新问题、最优控制问题等等,所以动态规划是现代管理学中进行科学决策不可缺少的工具。 动态规划的优点在于,它把一个多维决策问题转化为若干个一维最优化问题,而对一维最优化问题一个一个地去解,这种方法是许多求极值方法所做不到的,它几乎优于所有现存的优化方法。除此之外,动态规划能求出全局极大或极小,这一点也优于其他优化方法。需要指出的是,动态规划是求解最优化问题的一种方法,是解决问题的一种途径,而不是一种算法。在前面我们学习了用单纯形法解线性规划问题,凡是具有线性规划问题那样统一的数学模型都可以用单纯形法去求解,而

Page 5: 4  动 态 规 划

动态规划问题的求解却没有统一的方法(类似于单纯形法)。因此在用动态规划求解最优化问题中,必须对具体问题具体分析,针对不同的问题,使用动态规划最优化原理和方法,建立起与其相应的数学模型,然后再用动态规划方法去求解。根据动态规划这些特点,要求我们在学好动态规划的基本原理和方法的同时,还应具有丰富的想象力,只有这样才能建好模型求出问题的最优解。

Page 6: 4  动 态 规 划

4.1.2 动态规划在现代物流中的应用

动态规划在现代物流中的应用十分广泛,除了生产过程优化、设备改造更新,还有最优路径、最佳库存、合理配载、资源分配以及排序等问题。下面先给出几个典型的动态规划在现代物流管理中应用中的案例,以使读者对动态规划有一个感性的认识。 ( 1 )最短路径问题 最短路径问题是动态规划在现代物流管理中应用的典型问题之一,我们看下面的例子。 【例 4.1】设某公司从国外进口一部挖土机,由工厂至出口港有三个港口可供选择。而进口港也有三个港口可供选择,进口后可经由两个城市到达目的地,其路线如图 4.1 所示。试根据各点间的运输成本,求运费最低廉的运输路线。

图 4.1 运输路线图

Page 7: 4  动 态 规 划

我们将上述问题可分为四个阶段,第一阶段:从 A 到 B1 、 B2 或 B3 ;第二阶段:从 B1 到 C1 、 C2 或 C3 ,或从 B2 到 C1 、 C2 或 C3 ,或从 B3 到 C1 、 C2或 C3 ;第三阶段:从 C1 到 D1 、 D2 ,或从 C2 到 D1 、 D2 ,或从 C3 到 D1 、D2 ;第四阶段:从 D1 或 D2 到 E 。每个阶段都要作出一个决策,决定向哪个点前进,各阶段的决策有机地联系着,本阶段的决策影响着下一阶段的决策,以至于影响整体效果。决策者在做决策时,不应仅考虑本阶段最优,还应考虑对最终目标的影响。各阶段的决策形成一个决策序列,序列不同,其效果也不同。该问题就是在允许的策略中,求出 A 到 E 的距离最短的策略。 ( 2 )配载问题 这是一种变量为正整数的动态规划典型问题。当有 N 种运价不同的货物需要装载在运载量为 W 的运输工具上,货物装载问题就是寻求最佳装载方案,使货物的装载总量不超过运输工具允许的装载量 W ,而获得的运费为最大。

货物编号 I A B C

单位重量( t )

3 4 5

单位价值 ci 4 5 6

表 4.1

可以将该问题按三种货物分为三个阶段,分别在每一阶段根据该货物的运价,确定其装运件数,最终使得总的运费最高。这是现代物流中较为实际的一个规划算例。

Page 8: 4  动 态 规 划

( 3 )生产计划 生产计划总是按时间段进行安排的,因此对于利用动态规划的方法进行求解更有利。 【例 4.3】某工厂需要制订一个产品的生产计划,计划的区间为一年,该产品年初的库存量为零。年终的库存量也应该使其为零,产品的市场需求量如表 4.2 所示。已知每单位产品的生产成本和库存保管费用。试制定一年的产品生产计划,要求既能满足市场需要,又能使生产和库存的总费用为最低。

季度 1 2 3 4

需求量 (万件 )

2 3 2 4

表 4.2

我们把每个季度当成一个阶段,这样该计划共可分为四个阶段。根据已知的每单位产品的生产成本和库存保管费用,求出每一阶段的最佳的生产和库存的费用,最终使得总费用最低。 上述几类问题有一个共同的特点,就是都采用了分阶段来研究的方法。一般来说,对于一个能采用分级决策的问题,总是将其可以化成动态规划模型来加以求解。

返回

Page 9: 4  动 态 规 划

4.2 动态规划模型

4.2.1 动态规划的基本思想

从上面的叙述中我们知道,动态规划是解决多阶段决策问题的一种方法,它可按时间或空间把问题分为若干个相互联系的阶段,在每一阶段都要作出选择(决策),这个决策不仅仅决定这一阶段的效益,而且决定下一阶段的初始状态,从而决定整个过程的走向,从而称为动态规划。每当一阶段的决策确定之后,就得到一个决策序列,即策略。所谓多阶段决策问题就是求一个策略,使各个阶段的效益总和达到最优。

显然例 4.1 是一个标准的动态规划问题,我们赋予其两点间的运输成本(见图 4.2 ),然后讨论一下如何选择路线,以使运输总费用最低。(也可直接称为最短路径问题)

Page 10: 4  动 态 规 划

图 4.2 A市运到 E市运输路线图

如何解决这个问题呢?如果用穷举法,则从 A 到 E 一共有 3×3×2= 18条不同的路径,逐个计算每条路径的长度,总共需要进行 4×18= 72 次加法计算;对 18条路径的成本做两两比较,找出其中最短的一条,总共要进行 18- 1= 17 次比较。 以上求从 A 到 E 的最短路径问题,可以转化为三个性质完全相同,但规模较小的子问题,即分别从 B1 、 B2 、 B3 到 E 的最短路径问题。 记从 Bi (i=1, 2, 3) 到 E 的最短路径为 S(Bi) ,则从 A 到 E 的最短距离 S(A) 可以表示为:

)(1

)(5

)(2

min

)(

)(

)(

min)(

3

2

1

33

22

11

BS

BS

BS

BSAB

BSAB

BSAB

AS

Page 11: 4  动 态 规 划

同样,计算 S(B1)又可以归结为性质完全相同,但规模更小的问题,即分别求 C1 、 C2 、 C3 到 E 的最短路径问题 S(Ci) (i=1, 2, 3) ;而求 S(Ci)又可以归结为求 S(D1) 和 S(D2) 这两个子问题。从图 4.2 可以看出,在这个问题中, S(D1) 和 S(D2)是已知的,它们分别是: S(D1)=5 , S(D2)=2 因而,可以从这两个值开始,逆向递归计算 S(A) 的值。计算过程如下:

332

1

223

1133

222

1

222

1122

1121

1

221

1111

,12210

58min

)(10

)(8min

)(

)(min)(

,725

56min

)(5

)(6min

)(

)(min)(

,829

53min

)(9

)(3min

)(

)(min)(

DCDS

DS

DSDC

DSDCCS

DCDS

DS

DSDC

DSDCCS

DCDS

DS

DSDC

DSDCCS

即 S(C1)=8 如果到达 C1 ,则下一站应到达 D1 ; S(C2)=7 如果到达 C2 ,则下一站应到达 D2 ; S(C3)=12 如果到达 C3 ,则下一站应到达 D2 。由此,可以计算 S(Bi) :

Page 12: 4  动 态 规 划

23

3

2

1

333

223

113

3

12

3

2

1

332

222

112

2

11

3

2

1

331

221

111

1

,19

1211

712

813

min

)(11

)(12

)(13

min

)(

)(

)(

min)(

,14

124

710

86

min

)(4

)(10

)(6

min

)(

)(

)(

min)(

,20

1210

714

812

min

)(10

)(14

)(12

min

)(

)(

)(

min)(

CB

CS

CS

CS

CSCB

CSCB

CSCB

BS

CB

CS

CS

CS

CSCB

CSCB

CSCB

BS

CB

CS

CS

CS

CSCB

CSCB

CSCB

BS

即 S(B1)=20 如果到达 B1 ,则下一站应到达 C1 ; S(B2)=14 如果到达 B2 ,则下一站应到达 C1 ; S(B3)=19 如果到达 B3 ,则下一站应到达 C2 。

Page 13: 4  动 态 规 划

由此,可以计算 S (A) :

2

3

2

1

33

22

11

,19

191

145

202

min

)(1

)(5

)(2

min

)(

)(

)(

min)( BA

BS

BS

BS

BSAB

BSAB

BSAB

AS

最后,可以得到:从 A 到 E 的最短路径为 A→B2→C1→D1→E ,即按此路线,运输成本最低。计算过程及结果,可用图 4.3 表示,可以看到,以上方法不仅得到了从 A 到 E 的最短路径,同时,也得到了从图中任一点到 E 的最短路径。以上过程,仅用了 18 次加法, 11 次比较,计算效率高于穷举法。

图 4.3 A市运到 E市运输路线计算图

Page 14: 4  动 态 规 划

4.2.2 动态规划的基本概念 ( 1 )阶段与阶段变量 阶段:是指问题需要做出决策的步数,也就是把所给问题的整个过程,恰当地分为若干个既相互联系又相互区别的子过程,以便能够按照一定的次序去求解。阶段总数常记为 n ,相应的是 n 个阶段的决策问题。阶段的序号常记为 k ,称为阶段变量, k= 1,2, …,n , k既可以是顺序编号也可以是逆序编号,常用顺序编号。例4.1 中把问题的中间站 B 、 C 、 D 用空间位置分成 4 个阶段,阶段用阶段变量 k 来描述, k= 1 表示第一阶段, k= 2 表示第二阶段…… ( 2 )状态与状态变量 每一阶段的左端点(初始条件)集合称为本阶段的状态(即开始的客观条件,或称阶段初态,比如资源量、地理位置等)。它描述所研究问题的过程的状况,是不可控因素。 ( 3 )决策与决策变量 当过程处于某一阶段的某个状态时,可以做出不同的决定(或者选择),从而决定下一阶段的状态,这种决定称为决策。描述决策的变量称为决策变量,它可以用一个数、一组数或者一个向量(多维情形)来描述。常用 uk(sk) 表示第 k 阶段当状态处于 sk 时的决策变量,它是状态变量的函数。在实际问题中,决策变量的取值往往被限制在某一范围内,此范围被称为允许决策集合。一般的,用 Dk(sk) 表示第 k 阶段从状态 sk 出发的允许决策集合,显然有 uk(sk) Dk(sk)∈ ,它相当于线性规划中的约束条件,决策变量的取值可以是离散的,也可以是连续的。

Page 15: 4  动 态 规 划

( 4 )策略与最优策略 策略就是决策者按阶段依次所做的决策序列。通常把从第 k 阶段 sk状态开始到终止状态的决策序列,称为 k后部子策略,简称为 k子策略,记做 pkn(sk) ,即 pkn(sk)={uk(sk),uk+1(sk+1),…,un(sn)} 把从第一阶段 s1 阶段状态开始的子策略称为全策略,简称为策略,记做 p1n(s1) ,有 p1n(s1)={u1(s1),u2(s2),…,un(sn)} ( 5 )状态转移方程 状态转移方程是从上一阶段的某一状态值转变为下一阶段某一状态值的转移规律,是描述由第 k 阶段到第 k+1 阶段状态转移规律的关系式。动态规划中本阶段的状态往往是上一阶段的决策结果。如果给定了第 k 段的状态 sk ,本阶段决策为 uk(sk) ,则第 k+1 阶段的状态 sk+1 由公式: sk+1=Tk(sk,uk(sk)) (4.1) 确定,称为状态转移方程, Tk 称为状态转移函数。 ( 6 )指标函数与最优指标函数 用于衡量所选定策略优劣的数量指标称为指标函数,相当于动态的目标函数,最后一个阶段的目标函数就是总的目标函数。它分为阶段指标函数和过程指标函数。 阶段指标函数是指第 k 阶段,从状态 sk 出发,采用决策 uk 时的效益,用 dk(sk,uk) 表示。 从第 k 阶段到第 n 段的决策过程称为原过程的一个后部子过程。 Vkn(sk,uk,uk+1,…,un) k= 1 , 2 ,…, n 表示从第 k 阶段的状态 sk 出发,选择决策 uk,uk+1,…,un 所产生的原过程的指标函数值。动态规划要求过程指标具有可分离性,即

Page 16: 4  动 态 规 划

Vkn(sk, uk,uk+1,…,un)= dk(sk,uk)+Vk+1(sk+1,uk+1,…,un)称指标具有可加性,或 Vkn(sk, uk,uk+1,…,un)= dk(sk,uk)×Vk+1(sk+1,uk+1,…,un)称指标具有可乘性。 过程指标函数也可表示为从第 k 阶段的某状态出发,采取子策略 pkn={uk,uk+1,…,un} 时所得到的阶段效益之和:

n

kjjjjknkkn usdpsV ),(),(

(4.2)

最优指标函数是指从第 k 阶段状态 sk 采用最优策略到过程终止时的最佳效益值fk(sk) ,用表达式表示,即

)(

),(),()(

k

knkn sDp

knkknknkknkk psVoptpsVsf

其中 opt 可根据具体情况取 max 或 min 。

Page 17: 4  动 态 规 划

4.2.3 动态规划的基本模型

在例 4.1 求最短路的问题中我们知道,从某一状态出发寻求最优选择时,它是从下述所有可能的组合中进行优化选取的:将本阶段决策的指标效益值加上从下阶段开始采取最优策略时的指标效益值。这是一种递推关系式,在这种递推关系中包含了动态规划的最优化原理。即“作为整个过程的最优策略应具有这样的性质,无论过去的状态和决策如何,对于前面的决策所形成的状态而言,余下的决策必须构成最优策略”,也就是说最优策略的任一子策略都是最优的。 根据这个原理写出的计算动态规划问题的递推关系式称为动态规划的基本方程。

0)(

,,2,1)())(,(max(min))(

11

)(

11

nn

sDu

kkkk

sf

nksfskukskdksf

kkk

(4.3)

上述方程中 fn+1(sn+1)=0 为边界条件,或称终端条件,即问题从最后一个阶段向前逆推时需要确定的条件。边界条件的值要根据问题的条件来决定。对于可加性指标函数,其值一般为 0 ,对于可乘性指标函数,其值一般为 1 ,即 fn+1(sn+1)=1 。

Page 18: 4  动 态 规 划

1)(

,,2,1)(),(max(min))(

11

)(

11

nn

sDu

kkkk

sf

nksfukskdksf

kkk

(4.4)

上述方程即为动态规划的基本模型。给一个实际问题建立动态规划模型时,必须做到: ( 1 )将问题的过程划分成恰当的阶段; ( 2 )正确选择状态变量 sk ,使它既能描述过程的演变,又要满足无后效性; ( 3 )确定决策变量 uk(sk) 及每阶段的允许决策集合 Dk(sk) ; ( 4 )正确写出状态转移方程; ( 5 )正确写出指标函数 Vkn 的关系式。 这五点是构造动态规划模型的基础。一个问题的动态规划模型是否正确给出,它集中反映在能否恰当的定义最优值函数和正确地写出递推关系式及边界条件上。动态规划方法有逆序和顺序解法,其基本方程这里我们就不详细说明,在下一节的“动态规划解法”中,我们通过例题予以介绍。

Page 19: 4  动 态 规 划

4.2.4 动态规划模型的分类

根据时间变量是离散的还是连续的,把动态规划问题的模型分为离散决策模型和连续决策模型;根据决策过程的演变是确定性的还是随机性的,动态规划问题的模型又可分为确定性决策模型和随机性决策模型。因此有离散确定性的动态规划模型、连续确定性的动态规划模型、离散随机性的动态规划模型和连续随机性的动态规划模型四大类。 此外有些决策过程的阶段数是固定的,称为定期的决策过程,有些决策过程的阶段数是不固定的或可以有无限多阶段数,分别称为不定期或无期的决策过程。本书介绍的主要是离散确定性的动态规划模型。

返回

Page 20: 4  动 态 规 划

4.3 动态规划的解法

4.3.1 逆序解法 从例 4.1 的求解过程我们知道,在图 4.2 中,线路的起点 A 与终点 E 是固定不变的,从 A点到 E点的路线有多条,但最短路线只有一条。其寻找最短路线的方法是从最后一段开始,用由后向前逐步递推的方法,求出各点到 E点的最短路线,最后求得由 A点到 E点的最短路线,即从终点逐段向始点方向寻找最短的路线。如果规定从起点到终点为顺行方向,则从终点至起点为逆行方向,那么这种由终点开始从后向前的计算方法我们称为逆序解法。 根据上述基本概念,我们对例 4.1 运用逆序解法求解。 解 将问题分成五个阶段,第 k 阶段到达的具体地点用状态变量 sk 表示,例如:s2= B3 表示第二阶段到达位置 B3 ,等等。这里状态变量取字符值而不是数值。将决策定义为到达下一站所选择的路径,例如目前的状态是 s2= B3 ,这时决策允许集合包含三个决策,它们是 D2(s2)= D2(B3)= {B3→C1, B3→C2, B3→C3} 最优指标函数 fk(sk) 表示从目前状态 sk 到 E 的最短路径。终端条件为 f5(s5)= f5(E)= 0 其含义是从 sk 到 E 的最短路径为 0 。 在求解的各个阶段要利用第 k 段和第 k+ 1 段的如下递推关系:

Page 21: 4  动 态 规 划

0)(

1,2,3,4,5)(),(max(min))(

55

)(

11

sf

ksfukskdksf

kkk sDu

kkkk

第四阶段的递推方程为:

)()4,4(4max(min))( 515 sfusdsf kk

Page 22: 4  动 态 规 划

从 f5(s5) 到 f4(s4) 的递推过程用表 4.3 表示:

s4 D4(S4) S5 d4(s4,u4)

d4(s4,u4)+f5(s5)

f4(u4) 最优决策u*4

D1 D1→E E 5 5+0=5* 5 D1→E

D2 D2→E E 2 2+0=2* 2 D2→E

表 4.4

Page 23: 4  动 态 规 划

第三阶段的递推方程为:

)(

4433

333

)()3,3(3max(min))(

sDu

sfusdsf

从 f4(s4) 到 f3(s3) 的递推过程用表 4.5 表示。 表 4.5

S3 D3(s3) s4 d3(s3,u3)

d3(s3,u3)+f4(s4)

f3(s3) 最优决策 u*3

C1 C1→D1

C1→D2

D1

D2

3

9

3+5=8*

9+2=11

8 C1→D1

C2 C2→D1

C2→D2

D1

D2

6

5

6+5=11

5+2=7*

7 C2→D2

C3 C3→D1

C3→D2

D1

D2

8

10

8+5=13

10+2=12*

12 C3→D2

Page 24: 4  动 态 规 划

由此得到 f3(s3) 的表达式见表 4.6 。

s3 f3(u3) 最优决策 u*3

C1 8 C1→D1

C2 7 C2→D2

C3 12 C3→D2

表 4.6

Page 25: 4  动 态 规 划

第二阶段的递推方程为:

)(

3322

222

)()2,2(2max(min))(

sDu

sfusdsf

从 f3(s3) 到 f2(s2) 的递推过程用表 4.7 表示。

Page 26: 4  动 态 规 划

s2 D2(S2) S3 d2(s2,u2)

d2(s2,u2)+f3(s3) f2(s2) 最优决策 u*2

B1 B1→C1

B1→C2

B1→C3

C1

C2

C3

12

14

10

12+8=20*

14+7=21

10+12=22

20 B1→C1

B2 B2→C1

B2→C2

B2→C3

C1

C2

C3

6

10

4

6+8=14*

10+7 =17

4+12=16

14 B2→C1

B3 B3→C1

B3→C2

B3→C3

C1

C2

C3

13

12

11

13+8 =21

12+7 =19*

11+12=23

19 B3→C2

表 4.7

Page 27: 4  动 态 规 划

由此得到 f2(s2) 的表达式见表 4.8 。

S2 f2(s2) 最优决策 u*2

B1 20 B1→C1

B2 14 B2→C1

B3 19 B3→C2

表 4.8

第一阶段的递推方程为:

)(

2211

111

)()1,1(1max(min))(

sDu

sfussf

Page 28: 4  动 态 规 划

从 f2(s2) 到 f1(s1) 的递推过程用表 4.9 表示。

S1 D1(s1) s2 d1(s1,u1) d1(s1,u1)+f2(s2)

f1(s1) 最优决策 u*1

A A→B1

A→B2

A→B3

B1

B2

B3

2

5

1

2+20=22

5+14=19*

1+19=20

19 A→B2

表 4.9

由此得到 f1(s1) 的表达式见表 4.10 。

s1 f1(s1) 最优决策 u*1

A 19 A→B2

表 4.10

从表达式 f1(s1) 可以看出,从 A 到 E 的最短路径长度为 19 。由 f1(s1)向 f4(s4)回溯,得到最短路径为: A→B2→C1→D1→E

Page 29: 4  动 态 规 划

4.3.2 顺序解法

顺序解法与逆序解法无本质的区别。一般来说,当初始状态给定时,用逆序解法;当终止状态给定时,用顺序解法。若既给定了初始状态又给定了终止状态,则两种方法均可使用。

返回

Page 30: 4  动 态 规 划

4.4 动态规划应用举例

在上面有关动态规划基本概念、原理和模型的阐述中,我们已经介绍了最短路径问题、配载问题,下面我们接着介绍几个动态规划应用的实际例子。

4.4.1 生产计划问题

设某公司要制订一项 n 个阶段的生产计划,已知其初始库存为零,每阶段生产此产品的数量有上限(为 m )的限制,且社会对此产品的需求量已知,公司保证供应,在 n 阶段终结时的库存为零。试制订一个总成本(包括生产成本和储存成本)最小的计划。 阶段数 N=n ; 状态变量 sk :第 k 阶段结束时的产品库存量; 决策变量 uk :第 k 阶段产品的生产量; 状态转移方程: sk= sk-1+ uk- ak ,其中 ak 为第 k 阶段产品的需求量; 阶段效益: dk(sk, uk)= ck(uk)+ hk(uk) ,其中 ck(uk) 为第 k 阶段的生产费用, hk(uk) 为第 k 阶段的存储费用; 最优值函数 fk ( sk ):表示从第 k 阶段到计算期末生产与库存的最小总费用。

Page 31: 4  动 态 规 划

逆序递推关系式为:

0)(

1,2,,1,)}())(,(min{)(

11

11

nn

kkkkkkkk

sf

nnksfsusdsf

Page 32: 4  动 态 规 划

4.4.2 资源分配问题

所谓资源分配问题,就是将一定数量的一种或若干种资源(如原材料、机器设备、资金、劳动力等)恰当地分配给若干个使用者,或投资于几家企业,以获得最大的效益。设有 m 种资源,总量分别为 bi ( i=1,2,…,m ),用于生产 n 种产品,若用 uij 代表用于生产第 j 种产品的第 i 种资源的数量( j=1,2,…,n ),则生产第 j 种产品的收益是其所获得的各种资源数量的函数,即 gj=f ( u1j,u2j,…, umj )。由于总收益是 n 种产品收益之和,此问题可用如下静态模型加以描述:

),,2,1;,,2,1(0

),,2,1(

max

1

1

njmiu

mibiu

gz

ij

n

jij

n

jj

Page 33: 4  动 态 规 划

当 gj=f ( u1j,u2j,…,umj )是线性函数时,该模型是线性规划模型;当 gj=f ( u1j,u2j,…,umj )是非线性函数时,该模型是非线性规划模型。此模型用线性规划或非线性规划来求解都将是非常麻烦的。然而在此情况下,由于这类问题的特殊结构,可以将它看成为一个多阶段决策问题,并利用动态规划的递推关系来求解。 本教材只考虑一维资源的分配问题,设状态变量 sk 表示分配于从第 k 个阶段至过程最终(第 n 个阶段)的资源数量,即第 k 个阶段初资源的拥有量;决策变量 uk表示第 k 个阶段资源的分配量。于是有状态转移律: sk+1=sk-uk 允许决策集合: Dk(sk)={uk|0≤uk≤sk} 最优指标函数(动态规划的逆序递推关系式):

0)(

1,2,,1,)()(max(min))(

11

0

11

nn

su

kkkkkk

sf

nnksfugsf

kk

利用这一递推关系式,最后求得的 f1(s1) 即为所求问题的最大总收益。

返回

Page 34: 4  动 态 规 划

知识归纳

1. 动态规划是解决多阶段决策过程最优化问题的一种理论和方法。它是一种解决问题的思路,而不是一种算法。因此,在应用动态规划方法求解多阶段决策问题时,要对具体问题进行具体分析。 2. 动态规划问题的模型分为离散确定性的动态规划模型、连续确定性的动态规划模型、离散随机性的动态规划模型和连续随机性的动态规划模型四大类。 3. 动态规划的基本概念有阶段与阶段变量,状态与状态变量,决策与决策变量,策略与最优策略,状态转移方程以及指标函数与最优指标函数等。它们是分析动态规划问题,建立动态规划模型,求解模型和解决实际问题的基础。 4. 动态规划问题的基本方程为:

0)(

,,2,1)())(,(max(min))(

11

)(

11

nn

sDu

kkkk

sf

nksfskukskdksf

kkk

Page 35: 4  动 态 规 划

给一个实际问题建立动态规划模型时,必须做到: ( 1)将问题的过程划分成恰当的阶段; ( 2)正确选择状态变量 sk,使它既能描述过程的演变,又要满足无后效性; ( 3)确定决策变量 uk(sk) 及每阶段的允许决策集合 Dk(sk) ; ( 4)正确写出状态转移方程; ( 5)正确写出指标函数 Vkn 的关系式。 5. 动态规划问题的求解方法主要有逆序解法和顺序解法,两者无本质的区别。一般将问题分成几个阶段,从最后一段开始,用由后向前逐步递推的方法来求解问题,我们称为逆序解法;反之从起点到终点则为顺序解法。当初始状态给定时,用逆序解法;当终止状态给定时,用顺序解法。若既给定了初始状态又给定了终止状态,则两种方法均可使用。

返回

Page 36: 4  动 态 规 划

习题与思考题 4.1 某公司拟将 5台叉车设备发给 3个物流中心,各部门用这种设备后产生的盈利如表 4.22 所示,问如何分配这五台设备才能使得盈利最大?

中心 盈利设备台数

甲 乙 丙

0

1

2

3

4

5

0

3

7

9

12

13

0

5

10

11

11

11

0

4

6

11

12

12

表 4.22

Page 37: 4  动 态 规 划

4.2 某工厂要对一种产品制订今后四个月的生产计划,据估计在今后四个月内,市场对于该产品的需求量如表 4.23 所示。假定该厂生产某批产品的固定成本为 2千元,若不生产就为 0;每万件产品的成本为 1千元;每个月生产能力所允许的最大生产批量不超过 5万件;每个月末未售出的产品,每万件每月需付存储费 0.2千元,每月的最大存贮量为 4万件。还假定在第一月的初始库存量为 0,第四个月末的库存量也为 0。试问该厂应如何安排每个月的生产与库存,才能在满足市场需要的前提下,使总成本最小?

月份 1 2 3 4

需求量(万件 )

3 2 3 2

表 4.23

4.3 有一辆最大货运量为 13t、最大容量为 10 件的卡车,用以装载 3 种货物,每种货物的单位重量及相应单位价值如表 4.24 所示。应如何装载可使总价值最大?

货物编号 I 1 2 3

单位重量( t )

1 3 6

单位价值 ci(万元 )

4 5 8

表 4.24

Page 38: 4  动 态 规 划

4.4 设有 6 万元资金用于 4个仓库的扩建,已知每个仓库的利润增长额同投资额的大小有关,见表 4.25 。问应如何确定对这 4个仓库的投资额,使总利润增长额最大? (表内数据是利润额 gi(xj))

投资额 (j)

仓库 (i)

0 100 200 300 400 500 600

1 0 20 42 60 75 85 90

2 0 15 45 57 65 70 73

3 0 18 39 61 78 90 95

4 0 28 47 65 74 80 85

Page 39: 4  动 态 规 划

4.5 某港口新设备的年效益及年均维修费、更新费用如表 4.26所示。试确定今后 5年内的更新策略,使总收益最大。

役龄( 年)

项目

0 1 2 3 4 5

效益 rk(t) 5 4.5 4 3.75 3 2.5

维修费 uk(t) 0.5 1 1.5 2 2.5 3

更新费 ck(t) 0.5

表 4.26 单位:万元

返回