动态规划法学习心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
研究生专业课程考试答题册
得分:
阅卷人签字:
学号2017021076
姓名周爱琴
考试课程高级运筹学
考试日期2017.01.06
西安工程大学研究生部
动态规划法学习心得
通过薛老师关于动态规划法的讲解和课后的研读,我了解到动态规划法是系统分析中一种常用的方法,是用来解决多阶段决策过程问题的一种最优化方法。例如在水资源规划中,往往涉及到地表水库调度、水资源量的合理分配、优化调度等问题,而这些问题又可概化为多阶段决策过程问题。动态规划法就是解决此类问题的有效方法。所谓多阶段决策过程,就是把研究问题分成若干个相互联系的阶段,由每个阶段都作出决策,从而使整个过程达到最优化。许多实际问题利用动态规划法处理,常比线性规划法更为有效,特别是对于那些离散型问题。实际上,动态规划法就是分多阶段进行决策,其基本思路是:按时空特点将复杂问题划分为相互联系的若干个阶段,在选定系统行进方向之后,逆着这个行进方向,从终点向始点计算,逐次对每个阶段寻找某种决策,使整个过程达到最优,故又称为逆序决策过程。下面是我经过动态规划的学习和了解总结的几个比较常见的关于动态规划问题的点:
第一、动态规划的基本思想
一般我们把具有明显的阶段划分和状态转移方程的动态规划称为标准动态规划,这种标准动态规划是在研究多阶段决策问题时推导出来的,适合用于理论上的分析。在实际应用中,许多问题的阶段划分并不明显,这时如果刻意地划分阶段反而麻烦。一般来说,只要该问题可以划分成规模更小的子问题,并且原问题的最优解中包含了子问题的最优解(即满足最优子化原理),则可以考虑用动态规划解决。
动态规划的实质是分治思想和解决冗余,因此,动态规划是一种将问题实例分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题,以解决最优化问题的算法策略。通过学习我发现,动态规划法与分治法和贪心法类似,它们都是将问题实例归纳为更小的、相似的子问题,并通过求解子问题产生一个全局最优解。其中贪心法的当前选择可能要依赖已经作出的所有选择,但不依赖于有待于做出的选择和子问题。因此贪心法自顶向下,一步一步地作出贪心选择;而分治法中的各个子问题是独立的(即不包含公共的子子问题),因此一旦递归地求出各子问题的解后,便可自下而上地将子问题的解合并成问题的解。但不足的是,如果当前选择可能要依赖子问题的解时,则难以通过局部的贪心策略达到
全局最优解;如果各子问题是不独立的,则分治法要做许多不必要的工作,重复地解公共的子问题。而动态规划主要应用于最优化问题,这类问题会有多种可能的解,每个解都有一个值,而动态规划找出其中最优(最大或最小)值的解。若存在若干个取最优值的解的话,它只取其中的一个。但是首先要保证该问题的无后效性,即无论当前取哪个解,对后面的子问题都没有影响.在求解过程中,该方法也是通过求解局部子问题的解达到全局最优解,但与分治法和贪心法不同的是,动态规划允许这些子问题不独立,(亦即各子问题可包含公共的子子问题)也允许其通过自身子问题的解作出选择,该方法对每一个子问题只解一次,并将结果保存起来,避免每次碰到时都要重复计算。
总而言之,动态规划法所针对的问题有一个显著的特征,即它所对应的子问题树中的子问题呈现大量的重复。动态规划法的关键就在于,对于重复出现的子问题,只在第一次遇到时加以求解,并把答案保存起来,让以后再遇到时直接引用,不必重新求解。
第二、动态规划算法的基本步骤
设计一个标准的动态规划算法,通常可按以下几个步骤进行:
(1)划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。注意这若干个阶段一定要是有序的或者是可排序的(即无后向性),否则问题就无法用动态规划求解。
(2)选择状态:将问题发展到各个阶段时所处于的各种客观情况用不同的状态表示出来。当然,状态的选择要满足无后效性。
(3)确定决策并写出状态转移方程:之所以把这两步放在一起,是因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以,如果我们确定了决策,状态转移方程也就写出来了。但事实上,我们常常是反过来做,根据相邻两段的各状态之间的关系来确定决策。
(4)写出规划方程(包括边界条件):动态规划基本的方程是规划方程的通用形式化表达式。一般说来,只要阶段、状态、决策和状态转移确定了,这一步还是比较简单的。
第三、动态规划的应用
动态规划最大的优点在于把问题分解成简单易算的小阶段,处理问题的方法
简便,思路清晰,理论可靠,在提高效率方面,解决多阶段决策等方面的问题有很大好处和便利.像动态规划在物流配送最短路径问题中的应用;0-1背包问题是一种经典的NP-hard组合优化问题,现实生活中的很多问题都可以以它为模型。首先对0-1背包问题进行了描述,根据其具有最优子结构性质和子问题重叠性质,进而提出了基于动态规划法的策略来求解该问题。另外,为了降低算法的复杂性,又提出了算法的改进策略。实例的运行结果表明了算法的有效性,同时也证实了改进策略的优越性;动态规划法对于投资分配决策具有独特的功效。投资分配决策,就是对一笔资金如何合理地分配给所需投资的单位,使这些单位接受投资后,可以使总投资获取最大利润的决策方法。当前,对于股份制企业来说,在募集到资金后,如何使资金发挥最大的效用,对于任何一个决策者都是至关重要的问题。一般来说,股份制企业或公司可供投资的项目并不是单一的,各投资项目的经济效益不同,而且一个项目在得到不同数量的资金后,所能提供的利润不一定都呈线性关系。故而,可以采用动态规划法进行投资分配决策。
总之,非常感谢薛老师的这门运筹学课程,通过本课程的学习我学到了很多以前从未接触过的解决问题的方法,这些方法在解决问题时不仅更科学有效,而且过程更简洁。此外,对于薛老师的授课方式和风格我也非常喜欢,研究生的课堂就应该是这种能够充分调动学生的自主性和积极性,老师更多地鼓励学生自己动手用心去研究所学的每一种方法,而老师则要在关键处做点拨和指导,并对学生理解过程中的偏差加以纠正。学生在课堂上通过与同学的互动讨论和老师的反复指导才能彻底的了解和掌握所学的知识。薛老师的幽默和风趣也为我们的课堂增添了不少的欢声笑语,让我们在学习中得到乐趣,很感谢薛老师的良苦用心。