当前位置:文档之家› 动态规划习题

动态规划习题

第七章动态规划规划问题的最终目的就是确定各决策变量的取值,以使目标函数达到极大或极小。

在线性规划和非线性规划中,决策变量都是以集合的形式被一次性处理的;然而,有时我们也会面对决策变量需分期、分批处理的多阶段决策问题。

所谓多阶段决策问题是指这样一类活动过程:它可以分解为若干个互相联系的阶段,在每一阶段分别对应着一组可供选取的决策集合;即构成过程的每个阶段都需要进行一次决策的决策问题。

将各个阶段的决策综合起来构成一个决策序列,称为一个策略。

显然,由于各个阶段选取的决策不同,对应整个过程可以有一系列不同的策略。

当过程采取某个具体策略时,相应可以得到一个确定的效果,采取不同的策略,就会得到不同的效果。

多阶段的决策问题,就是要在所有可能采取的策略中选取一个最优的策略,以便得到最佳的效果。

动态规划(dynamic programming)同前面介绍过的各种优化方法不同,它不是一种算法,而是考察问题的一种途径。

动态规划是一种求解多阶段决策问题的系统技术,可以说它横跨整个规划领域(线性规划和非线性规划)。

当然,由于动态规划不是一种特定的算法,因而它不象线性规划那样有一个标准的数学表达式和明确定义的一组规则,动态规划必须对具体问题进行具体的分析处理。

在多阶段决策问题中,有些问题对阶段的划分具有明显的时序性,动态规划的“动态”二字也由此而得名。

动态规划的主要创始人是美国数学家贝尔曼(Bellman)。

20世纪40年代末50年代初,当时在兰德公司(Rand Corporation)从事研究工作的贝尔曼首先提出了动态规划的概念。

1957年贝尔曼发表了数篇研究论文,并出版了他的第一部著作《动态规划》。

该著作成为了当时唯一的进一步研究和应用动态规划的理论源泉。

1961年贝尔曼出版了他的第二部著作,并于1962年同杜瑞佛思(Dreyfus)合作出版了第三部著作。

在贝尔曼及其助手们致力于发展和推广这一技术的同时,其他一些学者也对动态规划的发展做出了重大的贡献,其中最值得一提的是爱尔思(Aris)和梅特顿(Mitten)。

爱尔思先后于1961年和1964年出版了两部关于动态规划的著作,并于1964年同尼母霍思尔(Nemhauser)、威尔德(Wild)一道创建了处理分枝、循环性多阶段决策系统的一般性理论。

梅特顿提出了许多对动态规划后来发展有着重要意义的基础性观点,并且对明晰动态规划路径的数学性质做出了巨大的贡献。

动态规划在工程技术、经济管理等社会各个领域都有着广泛的应用,并且获得了显著的效果。

在经济管理方面,动态规划可以用来解决最优路径问题、资源分配问题、生产调度问题、库存管理问题、排序问题、设备更新问题以及生产过程最优控制问题等,是经济管理中一种重要的决策技术。

许多规划问题用动态规划的方法来处理,常比线性规划或非线性规划更有效。

特别是对于离散的问题,由于解析数学无法发挥作用,动态规划便成为了一种非常有用的工具。

动态规划可以按照决策过程的演变是否确定分为确定性动态规划和随机性动态规划;也可以按照决策变量的取值是否连续分为连续性动态规划和离散性动态规划。

本教材主要介绍动态规划的基本概念、理论和方法,并通过典型的案例说明这些理论和方法的应用。

§7.1 动态规划的基本理论1.1多阶段决策过程的数学描述有这样一类活动过程,其整个过程可分为若干相互联系的阶段,每一阶段都要作出相应的决策,以使整个过程达到最佳的活动效果。

任何一个阶段(stage,即决策点)都是由输入(input)、决策(decision)、状态转移律(transformation function)和输出(output)构成的,如图7-1(a)所示。

其中输入和输出也称为状态(state),输入称为输入状态,输出称为输出状态。

图7-1由于每一阶段都有一个决策,所以每一阶段都应存在一个衡量决策效益大小的指标函数,这一指标函数称为阶段指标函数,用g n 表示。

显然g n 是状态变量S n 和决策变量d n 的函数,即g n = r (S n ,d n ),如图7-1(b )所示。

显然,输出是输入和决策的函数,即:),(1n n n d S f S =+ (7-1)式(7-1)即为状态转移律。

在由N 个阶段构成的过程里,前一个阶段的输出即为后一个阶段的输入。

1.2 动态规划的基本概念动态规划的数学描述离不开它的一些基本概念与符号,因此有必要在介绍多阶段决策过程的数学描述的基础上,系统地介绍动态规划的一些基本概念。

1. 阶段(stage )阶段是过程中需要做出决策的决策点。

描述阶段的变量称为阶段变量,常用k 来表示。

阶段的划分一般是根据时间和空间的自然特征来进行的,但要便于将问题的过程转化为多阶段决策的过程。

对于具有N 个阶段的决策过程,其阶段变量k =1,2,…,N 。

2. 状态(state )状态表示每个阶段开始所处的自然状况或客观条件,它描述了研究问题过程的状况。

状态既反映前面各阶段系列决策的结局,又是本阶段决策的一个出发点和依据;它是各阶段信息的传递点和结合点。

各阶段的状态通常用状态变量S k 来加以描述。

作为状态应具有这样的性质:如果某阶段状态给定后,则该阶段以后过程的发展不受此阶段以前各阶段状态的影响。

换句话说,过程的历史只能通过当前的状态来影响未来,当前的状态是以往历史的一个总结。

这个性质称为无后效性(the future is independent of the past )或健忘性(the process is forgetful )。

3. 决策(decision )决策是指决策者在所面临的若干个方案中做出的选择。

决策变量d k 表示第k 阶段的决策。

决策变量d k 的取值会受到状态S k 的某种限制,用D k (S k )表示第k 阶段状态为S k 时决策变量允许的取值范围,称为允许决策集合,因而有d k (S k )D k (S k )。

4. 状态转移律(transformation function )状态转移律是确定由一个状态到另一状态演变过程的方程,这种演变的对应关系记为S k+1 = T k (S k , d k )。

输 出输 入 决 策阶 段状态转移 (a )S n+1S nd nStage ng n = r (S n ,d n ) (b )5. 策略(policy )与子策略(sub-policy )由所有阶段决策所组成的一个决策序列称为一个策略,具有N 个阶段的动态规划问题的策略可表示为:)}(,),(),({2211N N S d S d S d从某一阶段开始到过程终点为止的一个决策子序列,称为过程子策略或子策略。

从第k 个阶段起的一个子策略可表示为:)}(,),(),({11N N k k k k S d S d S d ++6. 指标函数指标函数有阶段指标函数和过程指标函数之分。

阶段指标函数是对应某一阶段决策的效率度量,用g k = r (S k ,d k )来表示;过程指标函数是用来衡量所实现过程优劣的数量指标,是定义在全过程(策略)或后续子过程(子策略)上的一个数量函数,从第k 个阶段起的一个子策略所对应的过程指标函数常用G k,N 来表示,即:),,,,,,(11,N N k k k k N k d S d S d S R G ++=构成动态规划的过程指标函数,应具有可分性并满足递推关系;即:N k k N k G g G ,1,+⊕=这里的⊕表示某种运算,最常见的运算关系有如下二种:(1) 过程指标函数是其所包含的各阶段指标函数的“和”,即:∑==Nkj j N k g G ,于是N k k N k G g G ,1,++=(2) 过程指标函数是其所包含的各阶段指标函数的“积”,即:∏==Nkj j N k g G ,于是N k k N k G g G ,1,+⨯=7. 最优指标函数从第k 个阶段起的最优子策略所对应的过程指标函数称为最优指标函数,可以用式(7-2)加以表示:}{)(1~N k k d k k g g g opt S f Nk ⊕⊕⊕=+ (7-2)其中“opt ”是最优化“optimization ”的缩写,可根据题意取最大“max ”或最小“min ”。

在不同的问题中,指标函数的含义可能是不同的,它可能是距离、利润、成本、产量或资源量等。

1.3 动态规划的数学模型动态规划的数学模型除包括式(7-2)外,还包括阶段的划分、各阶段的状态变量和决策变量的选取、允许决策集合和状态转移律的确定等。

如何获得最优指标函数呢?一个N 阶段的决策过程,具有如下一些特性: (1) 刚好有N 个决策点;(2) 对阶段k 而言,除了其所处的状态k S 和所选择的决策k d 外,再没有任何其它因素影响决策的最优性了;(3) 阶段k 仅影响阶段1+k 的决策,这一影响是通过1+k S 来实现的;(4) 贝尔曼(Bellman )最优化原理:在最优策略的任意一阶段上,无论过去的状态和决策如何,对过去决策所形成的当前状态而言,余下的诸决策必须构成最优子策略。

根据贝尔曼(Bellman )最优化原理,可以将式(7-2)表示为递推最优指标函数关系式(7-3)或式(7-4):)}({}{)(111~++++=⊕⊕⊕=k k k d N k k d k k S f g opt g g g opt S f kNk (7-3))}({}{)(111~+++⨯=⊕⊕⊕=k k k d N k k d k k S f g opt g g g opt S f kNk (7-4)利用式(7-3)和式(7-4)可表示出最后一个阶段(第N 个阶段,即k=N )的最优指标函数:)}({)(11+++=N N N d N N S f g opt S f N(7-5))}({)(11++⨯=N N N d N N S f g opt S f N(7-6)其中)(11++N N S f 称为边界条件。

一般情况下,第N 阶段的输出状态1+N S 已经不再影响本过程的策略,即式(7-5)中的边界条件0)(11=++N N S f ,式(7-6)中的边界条件1)(11=++N N S f ;但当问题第N 阶段的输出状态1+N S 对本过程的策略产生某种影响时,边界条件)(11++N N S f 就要根据问题的具体情况取适当的值,这一情况将在后续例题中加以反映。

已知边界条件)(11++N N S f ,利用式(7-3)或式(7-4)即可求得最后一个阶段的最优指标函数)(N N S f ;有了)(N N S f ,继续利用式(7-3)或式(7-4)即可求得最后两个阶段的最优指标函数)(11--N N S f ;有了)(11--N N S f ,进一步又可以求得最后三个阶段的最优指标函数)(22--N N S f ;反复递推下去,最终即可求得全过程N 个阶段的最优指标函数)(11S f ,从而使问题得到解决。

相关主题