动态规划应用.docx
- 文档编号:22791418
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:31
- 大小:258.66KB
动态规划应用.docx
《动态规划应用.docx》由会员分享,可在线阅读,更多相关《动态规划应用.docx(31页珍藏版)》请在冰豆网上搜索。
动态规划应用
天津工业大学
毕业设计(论文)
题目:
动态规划在学生选课中的应用
姓名
学院
专业
指导教师
职称
2011年5月28日
摘要
本文主要介绍了动态规划(DynamicProgramming)的基本内容,详细介绍了动态规划过程中的阶段、状态变量、决策变量的定义及其选取与详细应用。
本文建立了大学生选修课选课的动态规划模型,并且研究了动态规划在求解选课过程最优解的过程中的应用。
本论文在阐述了多阶段动态规划模型的详细求解过程的基础上,主要解决了运用最优化方法中多阶段动态规划模型求解多阶段选课的问题。
第二章是动态规划内容的详细介绍,第三章是多阶段选修课选课动态规划模型的建立与最优选课安排的得出过程。
本论文对于过程最优解与全局最优解的关系做出了直观的描述。
这有助于系统化人性化的选课系统的建立。
关键词:
动态规划;最优解;阶段;决策变量;状态变量。
ABSTRACT
ThisarticlemainlyintroducedtheDynamicProgrammingandintroducedtheprocessofdynamicplanningstageorstatevariables,thedefinitionandselectiondecisionvariableswithdetailedapplications.Thispaperestablishedthecourseofcollegestudents'electivedynamicprogrammingmodel.,andstudiedthedynamicprogramminginsolvingtheoptimalsolutionofcourseselectionprocessintheprocessofapplication.
Thispaperexpoundedthedynamicprogrammingmodelinmulti-stagedetailedsolvingprocess,mainlysolvedthebasisfortheuseoftheoptimizationmethodsofdynamicprogrammingmodeltosolvemultiplestageofcourse.Thesecondchapterisdynamicprogrammingcontentdetailedintroduction,andthethirdchapterismulti-stageelectivecoursesofdynamicprogrammingmodelisestablishedandarrangetheoptimalselectionisobtained.
Thispaperdescribesprocessoptimalsolutionandtheglobaloptimalsolutionrelationshipintuitively.Ithelpstoestablishsystematichumanisticelectivecoursesystem.
Keywords:
Dynamicplanning;Theoptimalsolution;Stage;Thedecisionvariables;Stagevariables.
目录
第一章前言……………………………………………………………1
第二章动态规划的基本概念和基本原理……………………………2
2.1动态规划的基本概念……………………………………………………2
2.1.1阶段………………………………………………………………2
2.1.2状态………………………………………………………………2
2.1.3决策和策略………………………………………………………3
2.1.4状态转移方程……………………………………………………3
2.1.5指标函数…………………………………………………………4
2.2动态规划的基本思想与基本原理………………………………………4
2.2.1动态规划方法的基本思想………………………………………4
2.2.2动态规划算法的基本步骤………………………………………5
2.2.3动态规划的基本方程与基本原理………………………………6
2.2.4动态规划的适用条件……………………………………………6
第三章动态规划模型的建立与求解…………………………………8
3.1动态规划模型的建立……………………………………………………8
3.2状态变量、决策变量的选择………………………………………………9
3.3求解动态规划的最优解…………………………………………………9
3.4得出最优解………………………………………………………………14
第四章问题与展望…………………………………………………15
参考文献………………………………………………………………17
附录1……………………………………………………………………18
附录2……………………………………………………………………27
谢辞……………………………………………………………………30
第一章前言
动态规划(dynamicprogramming)是运筹学的一个分支,是求解决策过程(decisionprocess)最优化的数学方法。
20世纪50年代初美国数学家Bellman等人在研究多阶段决策过程(multistepdecisionprocess)的优化问题时,提出了著名的最优化原理(principleofoptimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。
1957年出版了他的名著DynamicProgramming,这是该领域的第一本著作。
动态规划问世以来,在经济管理、生产调度、工程技术和最优控制等方面得到了广泛的应用。
例如最短路线、库存管理、资源分配、设备更新、排序、装载等问题,用动态规划方法比用其他方法求解更为方便。
虽然动态规划主要用于求解以时间划分阶段的动态规划过程的优化问题,但是一些与时间无关的静态规划(如线性规划、非线性规划)只要认为的引入时间因素,把它视为多阶段决策过程,也可以用动态规划方法方便地求解。
动态规划模型的分类:
离散确定型;离散随机型;连续确定型;连续随机型。
本文仅运用离散确定型动态规划模型,初步解决动态规划在学生选修课选课过程中的应用,并运用数学软件进行模拟分析。
第二章动态规划的基本概念和基本原理
2.1动态规划的基本概念
是用动态规划方法解决多阶段决策问题,首先要将实际问题写成动态规划模型,此时我们要用到以下概念:
1.阶段;2状态;3决策和策略;4状态转移;5指标函数;
2.1.1阶段
将所给问题的过程,按照时间或空间特征分解成若干相互联系的阶段,以便按照次序去求每个阶段的解,常用字母k表示阶段变量。
图2.1
图2.1中,从A到F可以分成从A到B(B有两种选择B1,B2),从B到C(C有四种选择C1,C2,C3,C4),从C到D(D有三种选择D1,D2,D3),从D到E(E有两种选择E1,E2),再从E到F五个阶段。
k=1,2,3,4,5。
2.1.2状态
各阶段开始时的客观条件叫做状态。
描述各阶段状态的变量成为状态变量,常用表示第k阶段的状态变量,状态变量sk的取值集合成为状态集合,用Sk表示。
动态规划中的状态应居于如下性质:
当某阶段状态给定以后,在这阶段以后过程的发展不受这段以前各段状态的影响。
也就是说,当前的状态是过去历史的一个完整总结,过程的过去历史只能通过当前状态去影响它未来的发展,这称为无后效性。
如果所选定的变量不具备无后效性,就不能作为状态变量来构造动态规划模型。
在例1中第一阶段状态为A,第二阶段则有两个状态:
B1,B2。
状态变量st的集合S1={A},后面各段的状态集合分别是:
S2={B1,B2}
S3={C1,C2,C3,C4}
S4={D1,D2,D3}
S5={E1,E2}
当某段的初始状态已选定某个点时,从这个点以后的路径选择只与该点有关,不受以前的路径的影响,所以满足状态的无后效性。
2.1.3决策和策略
当各段的状态去顶以后,就可以做出不同的决策(或选择),从而确定下一阶段的状态,这种决定称为决策。
表示决策的变量,称为决策变量,产用uk(sk)表示第k阶段当状态为sk时的决策变量。
在实际问题中,决策变量的取值往往限制在一定范围内,我们称此范围为允许决策集合,常用Dk(sk)表示第k阶段从状态sk出发的允许决策集合,显然有uk(sk)∈Dk(sk)。
在例1中,从第二阶段的状态B1出发,可选择下一段的C1,C2,C3,即其允许决策集合为:
D2(B1)={C1,C2,C3}
如我们选择C3,则可表为:
U2(B1)=C3
各段决策确定后,整个问题的决策序列就构成一个策略,用
p1,n{u1(s1),u2(s2),……un(sn)}表示。
对每个实际问题,可供选择的策略有一定范围,称为允许策略集合,记作P1,n,使整个问题达到最优效果的策略就是最优策略。
2.1.4状态转移方程
动态规划中本阶段的状态往往是上一阶段状态和上一阶段的决策结果。
如果给定了第k段的状态sk,本阶段决策为uk(sk),则第k+1段的状态sk+1也就完全确定,它们的关系可用下式表示:
sk+1=Tk(sk,uk)
由于它表示了由k段到k+1段的状态转移规律,所以称为状态转移方程。
例1中,状态转移方程为:
Sk+1=uk(sk)
2.1.5指标函数
用于衡量所选定策略优劣的淑玲指标称为指标函数。
它分为阶段指标函数和过程指标函数两种。
阶段指标函数是指第k段,从状态sk出发;采取决策uk时的效益,用d(sk,uk)表示。
而一个n段决策过程,从1到n叫做问题的原过程,对于任意一个给定的k(1≤k≤n),从第k段到第n段的过程称为原过程的一个后部子过程。
V1,n(s1,p1,n)表示初始状态为s1采用策略p1,n时原过程的指标函数值,而Vk,n(sk,pk,n)表示在第k段,状态为sk采用策略pk,n时,后部子过程的指标函数值。
最优指标函数记为fk(sk),它表示从第k段状态sk,采用最优策略p*k,n到过程中止是的最佳效益值。
fk(sk)与Vk,n(sk,pk,n)间的关系为:
上式中opt表示最优化,根据具体问题分别表示为max或min。
在例1中,指标函数是距离。
如第二阶段,状态为B1是d(B1,C2)表示由B1出发。
采用决策到下一段C2点的两点间距离,V2,5(B1)表示从B1到F的距离,而f2(B1)则表示从B1到F的最短距离。
本问题的总目标是求f1(A),即从A到终点F的最短距离。
2.2动态规划的基本思想与基本原理
2.2.1动态规划方法的基本思想
一般来说,只要问题可以划分成规模更小的子问题,并且原问题的最优解中包含了子问题的最优解(即满足最优子化原理),则可以考虑用动态规划解决【1】。
动态规划的实质是分治思想和解决冗余,因此,动态规划是一种将问题实例分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题,以解决最优化问题的算法策略。
由此可知,动态规划法与分治法和贪心法类似,它们都是将问题实例归纳为更小的、相似的子问题,并通过求解子问题产生一个全局最优解。
其中贪心法的当前选择可能要依赖已经作出的所有选择,但不依赖于有待于做出的选择和子问题。
因此贪心法自顶向下,一步一步地作出贪心选择;而分治法中的各个子问题是独立的(即不包含公共的子问题),因此一旦递归地求出各子问题的解后,便可自下而上地将子问题的解合并成问题的解。
但不足的是,如果当前选择可能要依赖子问题的解时,则难以通过局部的贪心策略达到全局最优解;如果各子问题是不独立的,则分治法要做许多不必要的工作,重复地解公共的子问题。
解决上述问题的办法是利用动态规划。
该方法主要应用于最优化问题,这类问题会有多种可能的解,每个解都有一个值,而动态规划找出其中最优(最大或最小)值的解。
若存在若干个取最优值的解的话,它只取其中的一个。
在求解过程中,该方法也是通过求解局部子问题的解达到全局最优解,但与分治法和贪心法不同的是,动态规划允许这些子问题不独立,(亦即各子问题可包含公共的子子问题)也允许其通过自身子问题的解作出选择,该方法对每一个子问题只解一次,并将结果保存起来,避免每次碰到时都要重复计算。
因此,动态规划法所针对的问题有一个显著的特征,即它所对应的子问题树中的子问题呈现大量的重复。
动态规划法的关键就在于,对于重复出现的子问题,只在第一次遇到时加以求解,并把答案保存起来,让以后再遇到时直接引用,不必重新求解。
2.2.2动态规划算法的基本步骤
设计一个标准的动态规划算法,通常可按以下几个步骤进行:
1)将多阶段决策过程划分阶段,恰当地选取状态变量、决策变量以及定义最优指标函数,从而把问题化成一族同类型的子问题,然后逐个求解。
2)求解时从边界条件开始,逆(或顺)过程行进方向,逐段递推寻优。
在每一个子问题求解时,都要使用它前面已求出的子问题的最优结果,最后一个子问题的最优解,就是整个问题的最优解。
3)动态规划方法是既把当前一段与未来各段分开,又把当前效益和未来效益结合起来考虑的一种最优化方法,因此每段的最优策略选取是从全局考虑的,与该段的最优选择一般是不同的。
【4】
动态规划的主要难点在于理论上的设计,一旦设计完成,实现部分就会非常简单。
2.2.3动态规划的基本方程与基本原理
动态规划的基本方程为:
动态规划方法基于贝尔曼等人提出的最优化原理,它可表述为:
一个过程的最优策略具有这样的性质:
即无论初始状态及初始决策如何,对于先前决策所形成的状态而言,其以后的所有决策应构成最优策略【3】。
2.2.4动态规划的适用条件
任何思想方法都有一定的局限性,超出了特定条件,它就失去了作用。
同样,动态规划也并不是万能的。
适用动态规划的问题必须满足最优化原理和无后效性。
1.最优化原理(最优子结构性质)
最优化原理可这样阐述:
一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。
简而言之,一个最优化策略的子策略总是最优的。
一个问题满足最优化原理又称其具有最优子结构性质。
最优化原理是动态规划的基础,任何问题,如果失去了最优化原理的支持,就不可能用动态规划方法计算。
动态规划的最优化理在其指标函数的可分离性和单调性中得到体现。
根据最优化原理导出的动态规划基本方程是解决一切动态规划问题的基本方法。
2.无后向性
将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。
换句话说,每个状态都是过去历史的一个完整总结。
这就是无后向性,又称为无后效性。
有些问题乍一看好像有后向性,但如果按照某种合理的方式重新划分阶段,就可以发现其本质上是无后向性的,所以关键是阶段的合理划分,这一点将在动态规划的技巧中详细阐述。
3.子问题的重叠性
动态规划可以将原来具有指数级复杂度的搜索算法改进成具有多项式时间的算法。
其中的关键在于解决冗余,这是动态规划算法的根本目的。
动态规划实质上是一种以空间换时间的技术,它在实现的过程中,不得不存储产生过程中的各种状态,所以它的空间复杂度要大于其它的算法。
以Bitonic旅行路线问题为例,这个问题也可以用搜索算法来解决。
动态规划的时间复杂度为O(n^2),搜索算法的时间复杂度为O(n!
),但从空间复杂度来看,动态规划算法为O(n^2),而搜索算法为O(n),搜索算法反而优于动态规划算法。
选择动态规划算法是因为动态规划算法在空间上可以承受,而搜索算法在时间上却无法承受,所以我们舍空间而取时间。
设原问题的规模为n,容易看出,当子问题树中的子问题总数是n的超多项式函数,而不同的子问题数只是n的多项式函数时,动态规划法显得特别有意义,此时动态规划法具有线性时间复杂性。
所以,能够用动态规划解决的问题还有一个显著特征:
子问题的重叠性。
这个性质并不是动态规划适用的必要条件,但是如果该性质无法满足,动态规划算法同其他算法相比就不具备优势。
第三章动态规划模型的建立与求解
3.1动态规划模型的建立
建立动态规划的模型,就是分析问题并建立问题的动态规划基本方程。
成功地应用动态规划方法的关键,在于识别问题的多阶段特征,将问题分解成为可用递推关系式联系起来的若干子问题,而正确建立基本递推关系方程的关键又在于正确选择状态变量,保证各阶段的状态变量具有递推的状态转移关系。
本论文主要选取了某学生在大学四年期间所感兴趣的选修课,要求其每学期只能选择一门选修课,并且使其对所有选修课的满意程度达到最大。
图3.1
表3.1平均喜好程度
非常喜欢
1
喜欢
0.7
一般
0.5
不喜欢
0.3
完全不喜欢
0.1
且要求每一学年所修学分数达到8个学分
图3.2
图3.2为图3.1的关系图,其中Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi(i=1,2,3,4……)分别代表对应学期所选择的对应的选修课程,在课程名下方的红色数字代表所选修课程的对应学分数;在课程之后的数字为对下一门课程的平局喜好程度(见表3.1),数字顺序对应下一学期可选修课程的顺序,*代表在选择本门课程时,不可选修*位置所指示的课程。
本文主要运用动态规划算法解决该选课问题的最优解,即最大喜好程度。
3.2状态变量、决策变量的选择
阶段k:
在这里,k取1,2,3,4,5,6,7,8
状态变量第k阶段可以选择的选修课
决策变量第k阶段可选的选修课的满意度
3.3求解动态规划的最优解
这是一个八阶段的动态规划模型,在求解这个模型的最优解时,采用逆序递推方法求解,逐步求出各段各点到终点H的最短路线,最后求得O点到H点的最短路线。
1.第一步,从k=8开始,状态变量可取两种状态G1,G2,它们到H点的平均喜好程度分别为0.3,0.7,即:
由于G()+G(H)=7<8,则只保留。
2.第二步,k=7,状态变量可取三种状态F1,F2,F3,它们到H点的平均喜好程度分别为:
3.第三步,k=6,状态变量可取四个值E1,E2,E3,E4。
从E1到H有两条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由E1到H的最大满意度为1.5,其路径为E1→F2→G1→H,相应决策为。
从E2到H有两条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+G()=7<8,不符合第三学年的学分要求,则舍去此解。
从而有f6(E2)=0.7。
这说明由E2到H的最大满意度为0.7,其路径为E2→F1→G1→H,相应决策为。
从E3到H有三条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+G()=7<8,不符合第三学年的学分要求,则舍去此解。
从而有f6(E3)=1.5。
这说明由E3到H的最大满意度为1.5,其路径为E3→F3→G1→H,相应决策为。
从E4到H有两条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+G()=7<8,不符合第三学年的学分要求,则舍去此解。
由于G()+G()=6<8,不符合第三学年的学分要求,则舍去此解。
从而舍去此决策。
4.第四步,k=5,状态变量可取五个值D1,D2,D3,D4,D5。
从D1到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由D1到H的最大满意度为2.5,其路径为D1→E3→F3→G1→H,相应决策为。
从D2到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由D2到H的最大满意度为2.5,其路径为D2→E3→F3→G1→H,相应决策为。
从D3到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由D3到H的最大满意度为2.5,其路径为D3→E3→F3→G1→H,相应决策为。
从D4到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由D4到H的最大满意度为2.8,其路径为D4→E3→F3→G1→H,相应决策为。
从D5到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由D5到H的最大满意度为2.8,其路径为D5→E3→F3→G1→H,相应决策为。
5.第五步,k=4,状态变量可取四个值C1,C2,C3,C4。
从C1到H有五条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+G()=7<8,不符合第二学年的学分要求,则舍去此解。
从而有f4()=3.5。
这说明由C1到H的最大满意度为3.5,其路径为C1→D4→E3→F3→G1→H,相应决策为。
从C2到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+G()=7<8,不符合第二学年的学分要求,则舍去此解。
这说明由C2到H的最大满意度为3.0,其路径为C2→D4→E3→F3→G1→H,相应决策为。
从C3到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由C3到H的最大满意度为3.5,其路径为C3→D5→E3→F3→G1→H,相应决策为。
从C4到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+G()=6<8,不符合第二学年的学分要求,则舍去此解。
由于G()+G()=7<8,不符合第二学年的学分要求,则舍去此解。
由于G()+G()=6<8,不符合第二学年的学分要求,则舍去此解。
这说明由C4到H的最大满意度为3.5,其路径为C4→D3→E3→F3→G1→H,相应决策为。
6.第六步,k=3,状态变量可取三个值B1,B2,B3。
从B1到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由B1到H的最大满意度为4.2,其路径为B1→C4→D3→E3→F3→G1→H,相应决策为。
从B2到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由B2到H的最大满意度为4.5,其路径为B2→C4→D3→E3→F3→G1→H,相应决策为。
从B3到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
这说明由B3到H的最大满意度为4.5,其路径为B3→C4→D3→E3→F3→G1→H,相应决策为。
7.第七步,k=2,状态变量可取三个值A1,A2,A3。
从A1到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+G()=7<8,不符合第二学年的学分要求,则舍去此解。
这说明由A1到H的最大满意度为4.7,其路径为A1→B2→C4→D3→E3→F3→G1→H,相应决策为。
从A2到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+G()=6<8,不符合第二学年的学分要求,则舍去此解。
由于G()+G()=7<8,不符合第二学年的学分要求,则舍去此解。
这说明由A2到H的最大满意度为5.2,其路径为A2→B1→C4→D3→E3→F3→G1→H,相应决策为。
从A3到H有四条路线,需加以比较,取其中平均喜好程度最大的,即:
由于G()+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 规划 应用