动态规划算法原理与的应用_.docx
《动态规划算法原理与的应用_.docx》由会员分享,可在线阅读,更多相关《动态规划算法原理与的应用_.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、动态规划算法原理与的应用_动态规划算法原理与的应用动态规划算法原理与的应用动态规划算法原理及其应用研究系别:xxx姓名:xxx指导教员:xxx2021年5月20日动态规划算法原理与的应用动态规划算法原理与的应用摘要:动态规划是解决最优化问题的基本方法,本文介绍了动态规划的基本思想和基本步骤,并通过几个实例的分析,研究了利用动态规划设计算法的详细途径。关键词:动态规划多阶段决策1.引言规划问题的最终目的就是确定各决策变量的取值,以使目的函数到达极大或极小。在线性规划和非线性规划中,决策变量都是以集合的形式被一次性处理的;然而,有时我们也会面对决策变量需分期、分批处理的多阶段决策问题。所谓多阶段决
2、策问题是指这样一类活动经过:它能够分解为若干个相互联络的阶段,在每一阶段分别对应着一组可供选取的决策集合;即构成经过的每个阶段都需要进行一次决策的决策问题。将各个阶段的决策综合起来构成一个决策序列,称为一个策略。显然,由于各个阶段选取的决策不同,对应整个经过能够有一系列不同的策略。当经过采取某个详细策略时,相应能够得到一个确定的效果,采取不同的策略,就会得到不同的效果。多阶段的决策问题,就是要在所有可能采取的策略中选取一个最优的策略,以便得到最佳的效果。动态规划是一种求解多阶段决策问题的系统技术,能够讲它横跨整个规划领域线性规划和非线性规划。在多阶段决策问题中,有些问题对阶段的划分具有明显的时
3、序性,动态规划的“动态二字也由此而得名。动态规划的主要创始人是美国数学家贝尔曼Bellman。20世纪40年代末50年代初,当时在兰德公司RandCorporation从事研究工作的贝尔曼首先提出了动态规划的概念。1957年贝尔曼发表了数篇研究论文,并出版了他的第一部著作(动态规划)。该著作成为了当时唯一的进一步研究和应用动态规划的理论源泉。在贝尔曼及其助手们致力于发展和推广这一技术的同时,其他一些学者也对动态规划的发展做出了重大的奉献,其中最值得一提的是爱尔思Aris和梅特顿Mitten。爱尔思先后于1961年和1964年出版了两部关于动态规划的著作,并于1964年同尼母霍思尔Nemhaus
4、er、威尔德Wild一道创立了处理分枝、循环性多阶段决策系统的一般性理论。梅特顿提出了很多对动态规划后来发展有着重要意义的基础性观点,并且对明晰动态规划途径的数学性质做出了宏大的奉献。动态规划问世以来,在工程技术、经济管理等社会各个领域都有着广泛的应用,并且获得了显著的效果。在经济管理方面,动态规划能够用来解决最优途径动态规划算法原理与的应用动态规划算法原理与的应用问题、资源分配问题、生产调度问题、库存管理问题、排序问题、设备更新问题以及生产经过最优控制问题等,是经济管理中一种重要的决策技术。很多规划问题用动态规划的方法来处理,常比线性规划或非线性规划更有效。十分是对于离散的问题,由于解析数学
5、无法发挥作用,动态规划便成为了一种非常有用的工具。动态规划能够根据决策经过的演变能否确定分为确定性动态规划和随机性动态规划;可以以根据决策变量的取值能否连续分为连续性动态规划和离散性动态规划。固然动态规划主要用于求解以时间划分阶段的动态经过的优化问题,但是一些与时间无关的静态规划(如线性规划、非线性规划),只要人为地引进时间因素,把它视为多阶段决策经过,可以以用动态规划方法方便地求解。2.动态规划的基本思想一般来讲,只要问题能够划分成规模更小的子问题,并且原问题的最优解中包含了子问题的最优解,则能够考虑用动态规划解决。动态规划的本质是分治思想和解决冗余,因而,动态规划是一种将问题实例分解为更小
6、的、类似的子问题,并存储子问题的解而避免计算重复的子问题,以解决最优化问题的算法策略。由此可知,动态规划法与分治法和贪心法类似,它们都是将问题实例归纳为更小的、类似的子问题,并通过求解子问题产生一个全局最优解。其中贪心法的当前选择可能要依靠已经作出的所有选择,但不依靠于有待于做出的选择和子问题。因而贪心法自顶向下,一步一步地作出贪心选择;而分治法中的各个子问题是独立的(即不包含公共的子子问题),因而一旦递归地求出各子问题的解后,便可自下而上地将子问题的解合并成问题的解。但缺乏的是,假如当前选择可能要依靠子问题的解时,则难以通过局部的贪心策略到达全局最优解;假如各子问题是不独立的,则分治法要做很
7、多不必要的工作,重复地解公共的子问题。解决上述问题的办法是利用动态规划。该方法主要应用于最优化问题,这类问题会有多种可能的解,每个解都有一个值,而动态规划找出其中最优(最大或最小)值的解。若存在若干个取最优值的解的话,它只取其中的一个。在求解经过中,该方法也是通过求解局部子问题的解到达全局最优解,但与分治法和贪心法不同的是,动态规划允许这些子问题不独立,也允许其通过本身子问题的解作出选择,该方法对每一个子问题只解一次,并将结果保存起来,避免每次碰到时都要重复计算。因而,动态规划法所针对的问题有一个显著的特征,即它所对应的子问题树动态规划算法原理与的应用动态规划算法原理与的应用中的子问题呈现大量
8、的重复。动态规划法的关键就在于,对于重复出现的子问题,只在第一次碰到时加以求解,并把答案保存起来,让以后再碰到时直接引用,不必重新求解。3.动态规划的基本概念动态规划的数学描绘离不开它的一些基本概念与符号,因而有必要在介绍多阶段决策经过的数学描绘的基础上,系统地介绍动态规划的一些基本概念。3.1多阶段决策问题假如一类活动经过能够分为若干个相互联络的阶段,在每一个阶段都需作出决策,一个阶段的决策确定以后,经常影响到下一个阶段的决策,进而就完全确定了一个经过的活动道路,则称它为多阶段决策问题。各个阶段的决策构成一个决策序列,称为一个策略。每一个阶段都有若干个决策可供选择,因此就有很多策略供我们选取
9、,对应于一个策略能够确定活动的效果,这个效果能够用数量来确定。策略不同,效果也不同,多阶段决策问题,就是要在能够选择的那些策略中间,选取一个最优策略,使在预定的标准下到达最好的效果.3.2动态规划问题中的术语阶段:把所给求解问题的经过恰当地分成若干个互相联络的阶段,以便于求解,经过不同,阶段数就可能不同描绘阶段的变量称为阶段变量。在多数情况下,阶段变量是离散的,用k表示。此外,也有阶段变量是连续的情形。假如经过能够在任何时刻作出决策,且在任意两个不同的时刻之间允许有无穷多个决策时,阶段变量就是连续的。状态:状态表示每个阶段开场面临的自然状况或客观条件,它不以人们的主观意志为转移,也称为不可控因
10、素。在上面的例子中状态就是某阶段的出发位置,它既是该阶段某路的起点,同时又是前一阶段某支路的终点。经过的状态通常能够用一个或一组数来描绘,称为状态变量。一般,状态是离散的,但有时为了方便也将状态取成连续的。当然,在现实生活中,由于变量形式的限制,所有的状态都是离散的,但从分析的观点,有时将状态作为连续的处理将会有很大的好处。此外,状态能够有多个分量(多维情形),因此用向量来代表;而且在每个阶段的状态维数能够不同。动态规划算法原理与的应用动态规划算法原理与的应用无后效性:我们要求状态具有下面的性质:假如给定某一阶段的状态,则在这一阶段以后经过的发展不受这阶段以前各段状态的影响,所有各阶段都确定时
11、,整个经过也就确定了。换句话讲,经过的每一次实现能够用一个状态序列表示,在前面的例子中每阶段的状态是该线路的始点,确定了这些点的序列,整个线路也就完全确定。从某一阶段以后的线路开场,当这段的始点给定时,不受以前线路所通过的点的影响。状态的这个性质意味着经过的历史只能通过当前的状态去影响它的将来的发展,这个性质称为无后效性。决策:一个阶段的状态给定以后,从该状态演变到下一阶段某个状态的一种选择行动称为决策。在最优控制中,也称为控制。在很多间题中,决策能够自然而然地表示为一个数或一组数。不同的决策对应着不同的数值。描绘决策的变量称决策变量,因状态知足无后效性,故在每个阶段选择决策时只需考虑当前的状
12、态而无须考虑经过的历史。决策变量的范围称为允许决策集合。策略:由每个阶段的决策组成的序列称为策略。对于每一个实际的多阶段决策经过,可供选取的策略有一定的范围限制,这个范围称为允许策略集合。允许策略集合中到达最优效果的策略称为最优策略。给定k阶段状态变量x(k)的值后,假如这一阶段的决策变量一经确定,第k+1阶段的状态变量x(k+1)也就完全确定,即x(k+1)的值随x(k)和第k阶段的决策u(k)的值变化而变化,那么能够把这一关系看成(x(k),u(k)与x(k+1)确定的对应关系,用x(k+1)=Tk(x(k),u(k)表示。这是从k阶段到k+1阶段的状态转移规律,称为状态转移方程。最优性原
13、理:作为整个经过的最优策略,它知足:相对前面决策所构成的状态而言,余下的子策略必然构成“最优子策略。4.动态规划求解的基本步骤动态规划所处理的问题是一个多阶段决策问题,一般由初始状态开场,通过对中间阶段决策的选择,到达结束状态。这些决策构成了一个决策序列,同时确定了完成整个经过的一条活动道路(通常是求最优的活动道路)。如下图。动态规划的设计都有着一定的形式,一般要经历下面几个步骤。初始状态决策决策决策结束状态动态规划算法原理与的应用动态规划算法原理与的应用动态规划决策经过示意图(1)划分阶段:,根据问题的时间或空间特征,把问题分为若干个阶段。在划分阶段时,注意划分后的阶段一定要是有序的或者是可
14、排序的,否则问题就无法求解。(2)确定状态和状态变量:将问题发展到各个阶段时所处于的各种客观情况用不同的状态表示出来。当然,状态的选择要知足无后效性。(3)确定决策并写出状态转移方程:由于决策和状态转移有着天然的联络,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以假如确定了决策,状态转移方程也就可写出。但事实上经常是反过来做,根据相邻两段各状态之间的关系来确定决策。(4)寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的终止条件或边界条件。(5)程序设计实现:动态规划的主要难点在于理论上的设计,一旦设计完成,实现部分就会非常简单。根据上述动态规划设计的步骤,可得到大体解
15、题框架如下图。动态规划设计的一般形式图上述提供了动态规划方法的一般形式,对于简单的动态规划问题,能够按部动态规划算法原理与的应用动态规划算法原理与的应用就班地进行动态规划的设计。下面,给出一个利用动态规划方法求解的典型例子。上图示出了一个数字三角形宝塔。数字三角形中的数字为不超过100的整数。现规定从最顶层走到最底层,每一步可沿左斜线向下或右斜线向下走。任务一:假设三角形行数10,键盘输入一个确定的整数值M,编程确定能否存在一条途径,使得沿着该途径所经过的数字的总和恰为M,若存在则给出所有途径,若不存在,则输出“NOAnswer!字样。任务二:假设三角形行数100,编程求解从最顶层走到最底层的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 规划 算法 原理 应用
限制150内