资源描述:
《动态规划方法matlab实现应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.动态规划方法的matlab实现及其应用(龙京鹏,张华庆,罗明良,刘水林)(南昌航空大学,数学与信息科学学院,江西,南昌)摘要:本文运用matlab语言实现了动态规划的逆序算法,根据状态变量的维数,编写了指标函数最小值的逆序算法递归计算程序。两个实例的应用检验了该程序的有效性,同时也表明了该算法程序对众多类典型的动态规划应用问题尤其是确定离散型的应用问题的通用性,提供了求解各种动态规划问题的有效工具。关键词:动态规划基本方程的逆序算法MATLAB实现MATLABAchieveForDynamicProg
2、rammingandItsApplication(JingpengLong,HuaqingZhang,MingliangLuo,ShuilinLiu)(SchoolofMathematicsandInformationScience,NanchangHangkongUniversity,Nanchang,China)Abstract:Thisarticleachievesthereversealgorithmofdynamicprogrammingbyusingthematlablanguage,and
3、preparestherecursivecalculationprogramofreversealgorithmwhichthetargetfunctionvalueisthesmallest.Theapplicationoftwoexamplesshowthattheprogramiseffective,andthisalgorithmprogramisgeneraltomanytypicalapplicationofdynamicprogramming,especiallytheapplicatio
4、nofdeterministicdiscrete.Thisalgorithmprogramprovidesaeffectivetooltothesolutionofavarietyofdynamicprogrammingproblems.Keywords:dynamicprogramming;reversealgorithm;Matlabachievement...动态规划是一类解决多阶段决策问题的数学方法,在工程技术、科学管理、工农业生产及军事等领域都有广泛的应用。在理论上,动态规划是求解这类问题全局
5、最优解的一种有效方法,特别是对于实际中某些非线性规划问题可能是最优解的唯一方法。然而,动态规划仅仅决多阶段决策问题的一种方法,或者说是考查问题的一种途径,而不是一种具体的算法。就目前而言,动态规划没有统一的标准模型,其解法也没有标准算法,在实际应用中,需要具体问题具体分析。动态规划模型的求解问题是影响动态规划理论和方法应用的关键所在,而子问题的求解和大量结果的存储、调用更是一个难点所在。然而,随着计算机技术的快速发展,特别是内存容量和计算速度的增加,使求解较小规模的动态规划问题成为可能,从而使得动态规划
6、的理论和方法在实际中的应用范围迅速增加。目前,在计算机上实现动态规划的一般求解方法并不多见,尤其是用来解决较复杂的具体问题的成果甚少。本文从实际出发,利用数学工具软件matlab的强大功能,对动态规划模型的求解方法做了尝试,编写出了动态规划逆序算法的matlab程序,并结合“生产与存储问题”[1]和“背包问题”[1]进行了应用与检验,实际证明结果是令人满意的。1动态规划的基本模型实际中,要构造一个标准的动态规划模型,通常需要采用以下几个步骤:①划分阶段按照问题的时间或空间特征,把问题分为若干个阶段。这些
7、阶段必须是有序的或者是可排序的(即无后向性),否则,应用无效。②选择状态将问题发展到各个阶段时所处的各种客观情况用不同的状态表示,即称为状态。状态的选择要满足无后效性和可知性,即状态不仅依赖于状态的转移规律,还依赖于允许决策集合和指标函数结构。③确定决策变量与状态转移方程当过程处于某一阶段的某个状态时,可以做出不同的决策,描述决策的变量称为决策变量。在决策过程中,由一个状态到另一个状态的演变过程称为状态转移。状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。④写出动态规划的基本方程动态规划的基本方
8、程一般根据实际问题可分为两种形式,逆序形式和顺序形式。这里只考虑逆序形式。动态规划基本方程的逆序形式为fskk()=optgvsx{(kkk(,)+fsk+1(k+1))}xDsk∈kk()knn=,−1,⋯,1边界条件fsn+1(n+1)=0或fsvsxnn()=nnn(,)其中第k阶段的状态为sk,其决策变量xk表示状sk的决策,状态转移方程为sk+1=Tsxkkk(,),态处于k阶段的允许决策集合记为Dskk(),vsxkkk(,)为