多阶段决策问题
- 格式:ppt
- 大小:3.50 MB
- 文档页数:25
动态规划_多阶段决策问题的求解方法1.构造状态网络; :一:解决多阶段决策最优化的过程为动态规划方法在程序设计中,有一类活动的过程,由于它的特殊性,可将过程2.根据状态转移关系和状态转移方程建立最优值的分成若干个互相联系的阶段,在它的每一阶段都需要做出决策,从而3.按阶段的先后次序计算每个状态的最优值。
使整个过程达到最好的活动效果。
因此各个阶段决策的选取不能任逆向思维法是指从问题目标状态出发倒推回初始意确定,它依赖于当前面临的状态,又影响以后的发展。
当各个阶段态的思维方法。
动态规划的逆向思维法的要点可归纳为以决策确定后,就组成一个决策序列,因而也就确定了整个过程的一条 1.分析最优值的结构,刻画其结构特征; 活动路线。
这种把一个问题看作是一个前后关联具有链状结构的多 2.递归地定义最优值; 阶段过程就称为多阶段决策过程,这种问题称为多阶段决策问题。
3.按自底向上或自顶向下记忆化的方式计算最优在多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状态的转移,一个决策序列如果原问题可以分解成几个本质相同、规模较小的就是在变化的状态中产生出来的,故有"动态"的含义,我们称这种就会联想到从逆向思维的角度寻求问题的解决。
一般解决多阶段决策最优化的过程为动态规划方法。
策问题多采用动态规划逆向思维方法解决。
二、举:二:动态规划最优化原理 pascal 语例说明本文以信息学奥赛用语言——最优化原理是动态规划的基础。
任何一个问题,如果失去了这言为编程个最优化原理的支持,就不可能用动态规划方法计算。
这个“最优化说明,其他编程语言编写方法相同,语句类似。
原理”如果用数学化一点的语言来描述的话,就是:假设为了解决某 :一:问题描述一优化问题,需要依次作出 n 个决策 D1,D2,,Dn,如若这个决策设有 N 个不相同的整数组成的数列,记为: 序列是最优的,对于任何一个整数 k,1 < k < n,不论前面 k 个决策是怎样的,以后的最优决策只取决于由前面决策所确定的当前状态,即 ()且 ?? a1 a2 an aiajij以后的决策 Dk+1,Dk+2,,Dn 也是最优的。
动态规划和⼏个经典问题动态规划 (本⽂适合⼊门理解思想,后期多刷题) 动态规划是运筹学的⼀个分⽀,是求解多阶段决策过程最优化问题的数学⽅法,在经济管理、⼯程技术、⼯农业⽣产及军事部门中都有着⼴泛的应⽤,并且获得了显著的效果。
学习动态规划,我们⾸先要了解多阶段决策问题。
多阶段决策问题例⼦: ⽣产决策问题:企业在⽣产过程中,由于需求是随时间变化的,因此企业为了获得全年的最佳⽣产效益,就要在整个⽣产过程中逐⽉或逐季度地根据库存和需求决定⽣产计划。
机器负荷分配问题:某种机器可以在⾼低两种不同的负荷下进⾏⽣产。
要求制定⼀个五年计划,在每年开始时,决定如何重新分配完好的机器在两种不同的负荷下⽣产的数量,使在五年内产品的总产量达到最⾼。
航天飞机飞⾏控制问题:由于航天飞机的运动的环境是不断变化的,因此就要根据航天飞机飞⾏在不同环境中的情况,不断地决定航天飞机的飞⾏⽅向和速度(状态),使之能最省燃料和完成飞⾏任务(如软着陆)。
多阶段决策过程的特点: 根据过程的特性可以将过程按空间、时间等标志分为若⼲个互相联系⼜互相区别的阶段。
在每⼀个阶段都需要做出决策,从⽽使整个过程达到最好的效果。
各个阶段决策的选取不是任意确定的,它依赖于当前⾯临的状态,⼜影响以后的发展。
当各个阶段的决策确定后,就组成了⼀个决策序列,因⽽也就决定了整个过程的⼀条活动路线,这样的⼀个前后关联具有链状结构的多阶段过程就称为多阶段决策问题。
针对多阶段决策过程的最优化问题,美国数学家Bellman等⼈在20世纪50年代初提出了著名的最优化原理,把多阶段决策问题转化为⼀系列单阶段最优化问题,从⽽逐个求解,创⽴了解决这类过程优化问题的新⽅法:动态规划。
对最佳路径(最佳决策过程)所经过的各个阶段,其中每个阶段始点到全过程终点的路径,必定是该阶段始点到全过程终点的⼀切可能路径中的最佳路径(最优决策),这就是Bellman提出的著名的最优化原理。
动态规划多阶段决策过程(multistep decision process )是指这样一类特殊的活动过程,过程可以按时间顺序分解成若干个相互联系的阶段,在每一个阶段都需要做出决策,全部过程的决策是一个决策序列。
动态规划(dynamic programming )算法是解决多阶段决策过程最优化问题的一种常用方法,难度比较大,技巧性也很强。
利用动态规划算法,可以优雅而高效地解决很多贪婪算法或分治算法不能解决的问题。
动态规划算法的基本思想是:将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解;对于重复出现的子问题,只在第一次遇到的时候对它进行求解,并把答案保存起来,让以后再次遇到时直接引用答案,不必重新求解。
动态规划算法将问题的解决方案视为一系列决策的结果,与贪婪算法不同的是,在贪婪算法中,每采用一次贪婪准则,便做出一个不可撤回的决策;而在动态规划算法中,还要考察每个最优决策序列中是否包含一个最优决策子序列,即问题是否具有最优子结构性质。
动态规划算法的有效性依赖于待求解问题本身具有的两个重要性质:最优子结构性质和子问题重叠性质。
1 、最优子结构性质。
如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满足最优化原理)。
最优子结构性质为动态规划算法解决问题提供了重要线索。
2 、子问题重叠性质。
子问题重叠性质是指在用递归算法自顶向下对问题进行求解时,每次产生的子问题并不总是新问题,有些子问题会被重复计算多次。
动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次,然后将其计算结果保存在一个表格中,当再次需要计算已经计算过的子问题时,只是在表格中简单地查看一下结果,从而获得较高的解题效率。
当我们已经确定待解决的问题需要用动态规划算法求解时,通常可以按照以下步骤设计动态规划算法:1 、分析问题的最优解,找出最优解的性质,并刻画其结构特征;2 、递归地定义最优值;3 、采用自底向上的方式计算问题的最优值;4 、根据计算最优值时得到的信息,构造最优解。