下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 动态规划法的应用分析 李小莲摘 要: 阐述动态规划法的基本原理及其求解方法、求解步骤,分析动态规划法在生产生活中的应用,列举了用动态规划法求解多段图的最短路径问题、资源分配问题和0-1背包问题。通过对不同实例的求解,分析动态规划法的不同计算思路,从而总结出动态规划法的优点。关键词: 动态规划; 最短路径; 资源分配; 0-1背包:tp301.6 文献标志码:a :1006-8228(2019)06-53-03abstract
2、: this paper describes the basic principle of dynamic programming method, the method and procedure for solving, and analyses the application of dynamic programming method in production and life. how to use the dynamic programming method to solve the problems of shortest path,resource allocation and
3、0-1 knapsack are enumerated. by solving different examples, the different calculation ideas of dynamic programming method are analyses, and the advantages are summarized.key words: dynamic programming; shortest path; resource allocation; 0-1 knapsack0 引言动态规划法是运筹学的一个重要分支,也是计算机学里的一种重要的计算方法。动态规划法将一个复杂的
4、多阶段决策问题转换为一系列的单个阶段的问题,利用各阶段之间的关系逐个求解。动态规划法通常基于一个递推公式及一个或多个初始状态,当前子问题的解由上次子问题的解推出,它是以牺牲存储空间换取计算时间的一种计算方法。1 基本原理动态规划法的基本思想是将问题分解成若干互相关联的阶段,将各阶段按一定的顺序排列。构造状态转移方程分别求出每个阶段的子问题的解,然后从子问题的解中采取自顶向下或自底向上的方式推出原问题的解。解决第一阶段的问题,依赖于解决第二阶段的子问题,解决第二阶段问题又依赖于解决第三阶段的子问题,如此类推下去直到得到原问题的解为止1。2 解动态规划法的基本方法动态规划有线性的、树型的、背包类的
5、,不同的问题类型采用的算法并不一致,但解决问题的思路都是一样的,都需要把问题分为多个阶段来处理。2.1 解題思路动态规划所处理的问题是一个多阶段决策问题,一般由初始状态开始,通过对中间阶段决策的选择,达到结束状态。这些决策形成了一个决策序列,同时确定了完成整个过程的一条活动路线,如图1所示2。2.2 解题步骤用动态规划法解决问题可以分为以下几个步骤。 按照问题的时间或空间特征把问题分为若干个阶段。划分后的阶段是有序的或可排序。 将问题发展到各个阶段时所处的各种客观情况用不同的状态表示出来,状态的选择需要满足无后效性。 根据相邻两个阶段的状态关系来确定决策方法和状态转移方程。给出的状态方程需是一
6、个递推式的方程,且给状态方程设置一个终止条件或边界条件3。 根据状态方程计算出各阶段的最优解。 根据计算的各阶段的最优值信息构造出原问题的最优解。3 动态规划法的应用动态规划法的应用比较广泛,常用的有多段图的最短路径、资源分配问题、会议安排问题、背包问题、设备更新、最长公共子序列等,下面将分析几个应用方面的问题。3.1 多段图的最短路径问题多段图的最短路径问题是求从源点到终点的最短路径或者最小费用的通路,设置数组元素c:存储边的长度,pre表示最短路径上当前顶点的前驱顶点,设置对应的状态方程:f(s)=minf(t)+c(t,s)4。如图2,a处是一电力站,现在需要从a地架电线到e地,其中途径
7、b、c、d三地。边上的数字表示与其相连的两地间所需架设的电线的长度。求从a地到e地所需电线的长度的最小值。采用顺序解法,从源点出发,求到达当前状态的最短路径,然后再加入下一阶段计算,直到终点。这里分为a、b、c、d、e五个阶段,详细计算如下。3.2 资源分配问题资源分配问题是对一定数目的资源进行合理分配后能够得到最大价值的问题。假设某公司共有5个新增资源,欲分配给其下属的三家子公司,各子公司得到新资源后每年的盈利情况如表1所示。表1显示的是:分配给各子公司的资源数目是多少才能使整个公司盈利最大。采用动态规划方法,用字母i表示子公司的编号,子公司a、b、c对应编号分别为1、2、3,资源总数为n=
8、5,子公司总数m=3。设置二位动态规划数组d,dis表示子公司im共分配s个资源后能获得的最大盈利,例如:d24表示子公司23共分配4个资源后能获得的最大盈利,即公司b和c一起共分配4个资源后得到的最大盈利。再设置二位数组pis,表示求出dis对应子公司分配到的资源数。例如:p24表示求出d24时对应子公司2(子公司b)得到的资源数目。确实好状态和状态变量,设置边界条件dpm+1j=0写出对应的状态转移方程如下:根据状态方程计算最优解,计算过程如下:显然,d4*=0(边界条件),接下来,通过p反推各个子公司的分配资源数。p15=2,子公司a分配资源数为2,余下资源为3;p23=2,子公司b分配
9、资源数为2,余下资源为1;p31=1,子公司c分配资源数为1,余下资源为0。最大盈利为6+8+6=20。3.3 0-1背包问题设背包的总重量为w,物品的重量为wi,价值为vi,且w、wi、vi都为整数,即讨论关于整数的背包问题。设置二位数组dp用来保存物品的最优解,dpir表示背包剩余容量为r时,已考虑物品1i时背包的最大价值。xi表示物品的选取与否,按i=1,2,3,n的次序来确定xi的值。xi分为两种状态:xi=0 表示物品i不装入背包中,xi=1 表示物品i装入背包中。0-1背包问题的状态转移方程如下5:其中r=0,表示背包还能装入0个物品;i=0,表示没有任何物
10、品可装入背包;i>0,r>0且r0,r>0且wi?r时,在放入与不放之间选价值最优值。请看下面实例分析:有一个背包可容纳w=10,现有4个物品,重量记为wi=2,2,5,3,价值为vi=3,4,3,2,每个物品都不能拆分,只能选择放入或不放入,請用动态规划法求解如何选择装入背包的物品,使背包中物品总价值最大。根据状态方程求得的dp数组以及求解过程如表2所示,其中数字右边中括号里面0表示不选取该行所对应物品,1表示选取该行所对应物品。4 总结动态规划,是求解问题的一种方法,它不是一种确定的算法,有多种类型的问题都可以用动态规划的思路来解,只要满足最优性原理、无后效性、有重叠子问题这三个性质,就可以用动态规划法求解。本文详细分析了动态规划方法在最短路径问题、资源分配问题、0-1背包问题等方面的应用,通过不同的应用实例,分析动态规划的解题思路,高效率地得到更完整的解信息。所有动态规划法对不同问题的解题算法也不尽相同。主要是先要确定好阶段,每个阶段的选择都很重要,先对子问题求出最优解,从而得出原问题的最优解。后续将更深入研究动态规划法在其他方面的应用。参考文献(references):1 张爱华,郭喜跃,陈前军.动态规划算法分析与研究j.软件导刊,2014.12:68-692
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精细运营活动方案
- 红色堡垒户活动方案
- 素质拓展餐饮活动方案
- 百亿公司活动策划方案
- 类似电信诈骗活动方案
- 无锡市人民医院病理完全缓解评估考核
- 纹眉宣传活动方案
- 绥化市中医院特殊体位碎石考核
- 纸尿裤促销活动方案
- 泰州市人民医院质量改进项目考核
- 测绘设备基础知识培训课件
- 2025内蒙古国贸集团招聘11人考试模拟试题及答案解析
- 海南中考试卷历史及答案
- 2025至2030全球及中国麦芽糖醇粉行业项目调研及市场前景预测评估报告
- 蜀道集团笔试试题及答案
- 浙江精诚联盟2025-2026学年高二上学期10月联考数学(含答案)
- 2026年中考英语复习必背人教版初中单词默写
- 教育行业职业规划指南
- 医院物价员培训知识课件
- 2025年贵州省遵义市辅警考试真题及答案
- 电动葫芦安全操作培训
评论
0/150
提交评论