matlab实现动态规划,基于Matlab的动态规划顺序算法的实现-Read.PDF

基于Matlab的动态规划顺序算法的实现-Read

维普资讯

烟台师范学院学报(自然科学版)

YantaiNormalUniversityJournal(NaturalScience) 2004,20(4):272—274

基于 Matlab的动态规划顺序算法的实现

黄 勇 ,曲长文 ,苏 峰 ,周鲁苹

(1.海军航空工程学院信息融合研究所 ,山东 烟台 264001;2.烟台师范学院交通学院,山东 烟台 264025)

摘要:运用Matlab编程实现动态规划顺序算法,以实例说明了该实现方法的正确性 以及实时性的特点,通过

对不同问题编制不同的子函数,表明该实现方法具有一定的通用性.

关键词:Matlab;动态规划;顺序算法

中图分类号:TP312 文献标识码:A 文章编号:1004—4930{2004}04—0272—03

动态规划是运筹学的重要分支之一 ,它是解 f (z)=min{L[T一(z,U一1),U一1]+

决多阶段决策过程最优化的一种方法.该方法是 _{ 一1(T-1(z,Uk一1))l“一1∈ 一1},

由美国数学家贝尔曼(R.Bellman)等人在 20世纪 z【 = T(z一1,“一1),k= 1,2,…,7"/.

50年代首先提出来的.他们根据多阶段决策问题

设 z0=C,则若 z0=C,那么 厂0(z0)=0,否则 ,

的特性 ,提出了解决这类问题的 “最优化原理”,即

f0(z0)=∞.该递归方程为动态规划顺序算法的

一 个最优策略具有这样的性质:不论初始状态和

基本方程 .

初始决策如何,相对于第一个决策所形成的状态

求 目标函数最小值的顺序(或前向)算法递归

来说,余下的决策必定构成一个最优策略”.自从

计算程序如下:function[OptPol,OptObjva1]=

1957年贝尔曼出版 了经典专著 DynamicPro—

MinForeDynprog(x,DecisFun,StageObjFun,State-

gramming以来 ,动态规划已在多个领域得到广泛

TransFun,ObjFun).其 中x是状态变量,一列代

应用.实现动态规划的递推方式有顺序算法和逆

表一个阶段状态 ;M一函数 DeciFun(k,x)表示由阶

序算法,即前向动态规划法和后 向动态规划法 .文

段k的状态变量Xk求出相应的允许决策变量;

[1]给出了动态规划逆序算法的Matlab实现方法

M一函数StageObjFun(k,x,u)是阶段 目标函数 ;M一

和具有一定通用性的函数.但是,由于逆序算法是

函数StateTransFun(k,x。u)是状态转移函数,其

从问题的最后阶段开始向初始阶段逆向递推 ,因

中x是阶段k的某状态变量,u是相应的决策变

此当处理的数据量较大、阶段数较多时,逆序算法

量,对于顺序算法而言,在使用状态转移函数时,

难以满足实时性要求.而顺序算法则是从初始阶

一 般采用其逆函数的形式:M一函数Ob

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值