- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态规划是解决多阶段决策过程最优化问题的一种方法.doc
动态规划是解决多阶段决策过程最优化问题的一种方法.该方法是由美国数学家贝尔曼(R.Bellman)等人在2O世纪50年代初提出的.他们针对多阶段决策问题的特点,提出了解决这类问题的最优化原理,并成功地解决了生产管理、资源分配等方面的许多实际题,从而建立了运筹学的一个新分支——动态规划.动态规划是现代企业管理中的一种重要决策方法,可用于解决最优路径、资源分配、生产计划与库存、投资、装载、排序等问题,还可用于生产过程的最优控制等.由于它有独特的解题思路,因而在处理某些优化问题时,比线性规划或非线性规划方法更有效.而Matlab是一个功能强大的用于基于矩阵运算的强大数值计算软件,将Matlab语言应用到动态规划中去,对实际问题进行程序设计和计算,可以达到计算简便的目的.
一、动态规划基本概念
使用动态规划方法解决多阶段决策问题,首先要将实际问题写成动态规划模型,此时要用到以下概念:1)阶段将所给问题的过程,按时间或空间特征分解成若干互相联系的阶段,以便按次序去求解每阶段的解,每个阶段就是一个子问题,常用字母k表示阶段变量.2)状态各阶段开始时的客观条件叫做状态.描述各阶段状态的变量称为状态变量,常用sk表示第k阶段的状态变量.状态变量sk的取值集合称为状态集合,用sk表示.3)决策当各段的状态取定以后,就可以作出不同的决策(或选择),从而确定下一阶段的状态,这种决定称为决策.表示决策的变量称为决策变量,常用uk(sk)表示第k阶段当状态为sk时的决策变量.在实际问题中,决策变量的取值往往限制在一定范围内,称此范围为允许决策集合,常用Dk(sk)表示第k阶段从状态sk出发的允许决策集合,显然有“uk∈Dk(sk).4)策略一个由每个阶段的决策按顺序组成的集合称为策略,用p表示,即p(s1)={u1(s1),u2(s2),.......,un(sn),}。一个n阶段决策过程,从1到n叫作问题的原过程.对于任意给定的k(1≤k≤n),从第k阶段状态sk到第n阶段状态sn的过程称为原过程的一个后部子过程.后部子过程的策略记为pk(sk)={uk(sk),uk+1(sk+1),......,un(sn)},在实际问题中,可供选择的策略有一定的范围,此范围成为允许策略集合。允许策略集合中达到最优效果的策略成为最优策略5)状态转移动态规划中本阶段往往是上一阶段状态和上一阶段的决策进行综合的结果.如果给定了第k段的状态sk,且该阶段决策为uk(sk),则第k+1段的状态sk+1也就完全确定.它们的关系可表示为:sk+1=Tk(sk,uk)由于上式表示了由k阶段到k+1阶段的状态转移规律,所以称该式为状态转移方程.6)指标函数用于衡量所选定策略优劣的数量指标称为指标函数.一个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采用最优策略pk,n到过程终止时的最佳效益值.fk(sk)与Vk,n(sk,pk,n)间的关系为:fk(sk)=Vk,n(sk,pk,n)=optimize Vk,n(sk,pk,n)当k=1时,f1(s1)就是从初始状态s1到全过程结束的整体最优函数.
二、动态规划基本思路
1)将多阶段决策过程划分阶段,恰当地选择状态变量、决策变量以定义最优指标函数,从而把问题化成一族同类型的子问题,然后逐个求解.2)求解时从边界条件开始,逆序过程行进,逐段递推寻优.在每一个子问题求解时,都要使用它前面已求出的子问题的最优结果.最后一个子问题的最优解,就是整个问题的最优解.3)动态规划方法是既将当前一段与未来各段分开,又把当前效益和未来效益结合起来考虑的一种最优化方法,因此每段的最优决策选取是从全局考虑的,与该段的最优选择一般是不同的.
三、动态规划函数使用说明
由于我们的目的是使用动态规划解题,而不是要我们直接编写动态规划的 HYPERLINK / \t _blank MATLAB程序,那我们下面直接给出一个现成的动态规划的MATLAB源代码,这里不讨论它到底是是如何运行的,我们只是说明下该函数如何使用
function [p_opt,fval]=dynprog(x,DecisFun,ObjFun,TransFun)
% 自由始端和终端的动态规划,求指标函数最小值的逆序算法递归计算程序
%输入参数
% x各阶段状态变量的可能取值,第k列代表第k阶段状态
文档评论(0)