摘要:介绍了动态规划的基本原理,针对水资源分配问题进行了动态规划方法分析。针对具体问题采用逆序解法的表格法进行了计算,然后用MATLAB编制了相应的计算程序进行计算,避免了繁琐的人工计算。结果表明该方法可行、便于应用。

关键词:动态规划 水资源分配问题 MATLAB解法

动态规划是1951年美国数学家贝尔曼根据一类多阶段决策过程的特点,提出了解决这类问题的最优性原理,进而发展出的一种新的最优化方法。动态规划的适用范围比较广泛,对目标函数和约束条件没有严格的要求,特别是对于离散问题,线性规划和非线性规划等解析方法无法应用,而动态规划是解决离散系统最优化的一种有效工具。[1]

1 动态规划的基本解法

1)将多阶段决策过程划分阶段,恰当地选择状态变量、决策变量以及定义最优指标函数,从而把问题化成一类同类型的子问题,然后逐个求解。

2)求解时从边界条件开始,逆序过程行进,逐段递推寻优。在每一个子问题求解时,都要使用它前面已求出的子问题的最优结果。最后一个问题的最优解,就是整个问题的最优解。

动态规划逆序法求解的基本方程如下:

2 水资源优化分配问题的动态规划模型描述

2.1 水资源优化分配问题的提出

某供水系统可供水量为 ,用户数为 ,当给第 个用户供水 时所产生的效益为 ,如何合理分配水量才能使总效益最大?

2.2水资源优化分配问题的动态规划模型描述

模型描述如下:

(1)阶段变量 表示第 个用户。

(2)决策变量 第 个用户的供水量 。

(3)状态变量 可用于分配给当前以及以后阶段各用户的水量,即

(4)状态转移方程 根据状态变量可得到状态转移方程为: (5)指标函数 第 阶段的指标函数为第 个用户的效益 。

建立以上模型后,即可采用逆序法进行递推求解。其基本方程为:

3实例分析

3.1 实例概况

有一引水渠系,设计最大流量为6 ,供给四个地区用水,每个地区的用水量与增产效益的关系见表1(效益单位为万元)。求总效益最大的配水方案。(本实例取自文献[2])

表1:引用流量与增产效益的关系

123456

甲3.05.57.59.010.010.0

乙3.06.08.09.510.511.0

丙4.06.58.59.09.09.0

丁3.56.07.58.59.09.0

3.2 逆序法的表格计算

利用逆序法的表格计算可知最优分配方案有3个:(1,2,1,2),(1,2,2,1),(2,2,1,1),总效益均为19万元(具体计算略)。

3.3 MATLAB编程及计算

运用MATLAB语言编程,程序如下:

m=1;

A=[0 3 5.5 7.5 9 10 10];

B=[0 3 6 8 9.5 10.5 11];

C=[0 4 6.5 8.5 9 9 9];

D=[0 3.5 6 7.5 8.5 9 9];

for i=1:6

for j=1:6

for k=1:6

for l=1:6

if i+j+k+l==10

d(m)=A(i)+B(j)+C(k)+D(l);

E(m,1)=i-1;

E(m,2)=j-1;

E(m,3)=k-1;

E(m,4)=l-1;

m=m+1;

else

continue;

end

end

end

end

end

MAXNum=d(1);

for n=1:size(d,2)

if d(n)>MAXNum

MAXNum=d(n);

p=n;

else

continue;

end

end

for n=1:size(d,2)

if d(n)==MAXNum

E(n,:)

else

continue;

end

end

MAXNum

运行以上程序的结果如下:

ans =

1 2 1 2

ans =

1 2 2 1

ans =

2 2 1 1

MAXNum =

19

4结语

本文介绍了动态规划的基本解法,针对水资源分配问题进行了动态规划方法分析。针对具体问题用MATLAB编制了相应的计算程序进行计算,同逆序法的表格计算对比可知,运用MATLAB编程进行计算可避免繁琐的人工计算,该方法是切实可行的。

参考文献:

[1] 徐渝. 贾涛 运筹学(上册). 北京: 清华大学出版社,2005

[2] 左兼金. 水利水电工程施工组织管理与系统分析. 北京:水利水电出版社,1993

[3] 尚松浩. 水资源系统分析方法及应用. 北京:清华大学出版社,2006

[4] 张志涌 徐彦琴. MATLAB教程:基于6.x版本. 北京:北京航空航天大学出版社,2001

转载请注明来自:http://www.uuqikan.com/shuililw/4904.html

matlab如何处理动态分配,基于MATLAB的水资源优化分配问题动态规划解法相关推荐

  1. matlab多种分配方案_基于MATLAB的水资源优化分配问题动态规划解法

    基于 MATLAB 的水资源优化分配问题动态规划解法 摘要:介绍了动态规划的基本原理,针对水资源分配问题进行了 动态规划方法分析.针对具体问题采用逆序解法的表格法进行了计 算,然后用 matlab 编 ...

  2. 机器学习之MATLAB代码--IWOA_BILSTM(基于改进鲸鱼算法优化的BiLSTM预测算法)(十六)

    机器学习之MATLAB代码--IWOA_BILSTM基于改进鲸鱼算法优化的BiLSTM预测算法(十六) 代码 数据 结果 代码 1. %% 基于改进鲸鱼算法优化的BiLSTM预测算法 clear;cl ...

  3. MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型

    MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺度 滚动优化 微网双层模型 调度 主要内容:代码主要是一个多能源微网的优化调度问题,首先对于下层多能源微网 ...

  4. matlab设计译码器,基于MATLAB的循环码编译码器设计与仿真.doc

    扳昂旨螺冈唉陨裤外狸尿恨铸伸隧刽搅必勒诚天腑皖漂豌鲁靳碑缆键兽峙棘陶宽槐撒层僧袁廖颤渐魄货鼎躬薛扬衍逮西兰迫依煤鲁虐渠惫平合啥昭并屿己笆坍痞庐披吏去凄嘛兄察突徊溅今箩直藩潦咙锨谓崇若制匹扮复淌颐糖嗅你 ...

  5. 「电子万年历matlab仿真」——基于Matlab的电子万年历仿真实现

    「电子万年历matlab仿真」--基于Matlab的电子万年历仿真实现 作为一种具有时间显示.日期查询.闹钟提醒等功能的电子产品,电子万年历已经成为了人们日常生活中不可或缺的一部分.而在现代科技的发展 ...

  6. 【Matlab代码】基于遗传算法和蚂蚁优化算法的路径优化问题

    目录 1 概述 2 Matlab代码 3 运行结果 1 概述 在1959年,Dantzing 和 Ramser在经过实验和思考后,首次提出配送车辆路径优化问题.在物流运输中配送是重要的环节,准确选择配 ...

  7. matlab流量预测模型,基于MATLAB工具箱的BP神经网络年径流量预测模型研究——以塔城地区乌拉斯台河为例...

    水 文 JOURNAL OF CHINA HYDROLOGY 第28卷第1期 2008年2月 Vol.28 No.1 Feb., 2008 塔城地区位于新疆维吾尔自治区西北边陲, 地处中纬, 虽属内陆 ...

  8. FLAC3D可视化后处理matlab,一种基于Matlab的由Midas导入Flac3D的模型识别方法与流程...

    本发明涉及岩土工程的仿真模拟研究领域,具体涉及一种基于Matlab的由Midas导入Flac3D的模型识别方法. 背景技术: 随着我国近几年经济的快速发展和基础设施等的大力投资,涉及复杂地质环境下的岩 ...

  9. matlab光顺拐点,基于MATLAB的最大误差双圆弧逼近曲线的算法及实现.pdf

    基于MATLAB的最大误差双圆弧逼近曲线的算法及实现.pdf 第31卷第6期 基于MⅢB的最大误差双圆弧逼近曲线的算法及实现 文章编号:1004-2539120町]06一唧一∞ 基于MAⅡ.AB的最大 ...

最新文章

  1. 清朝人如何变戏法?带你来看AI修复的1904年老电影(滑稽慎入)
  2. 中国数学界,无论怎样感谢哈代都不为过
  3. 文件怎么上传远程服务器,怎么上传文件到远程服务器
  4. ZLComboBox自定义控件开发详解
  5. python真的超过java了吗-JAVA会被Python超越成为世界上第一大编程语言吗?
  6. 利用向量叉积求三角形的面积(+STL:nth_element求第K大的数)
  7. Python函数参数值传递
  8. 计算机网络体系结构最有影响的标准,浅谈计算机网络中的体系结构
  9. 基于Hadoop 2.6.0运行数字排序的计算
  10. eclipse或Myeclipse中web项目没有run on server时怎么办?
  11. 基于网络的 Red Hat 无人值守安装
  12. OpenJDK8编码代码三合一:x86/Arm/Mips
  13. 【材料力学】基于Matlab APP Designer 开发的绘制静定梁剪力、弯矩与挠曲线的软件
  14. monk_notebook (交际德语教程 第二版 学生用书)
  15. Linux文字游戏制作软件,小精灵美化app
  16. 职称计算机为啥要现场拍照,网上确认/现场确认的照片还没拍?你需要这份拍照攻略!...
  17. mysql创建表插入随机数_插入随机数到MySQL数据库
  18. 代码坏的味道17:狎昵关系 (Inappropriate Intimacy)
  19. Vue验证手机号的同时验证座机号
  20. 绝命毒师观后感(r6笔记第48天)

热门文章

  1. 2020 软件测试 Postman高级使用——Tests 断言校验返回结果
  2. Python+Pyqt5开发日志关键字检索工具
  3. Matrix Derivative
  4. 微信小程序-自定义NavBar组件
  5. 从通信展上的手机看看现在研发手机的难易。
  6. 【JY】提升有限元分析核心能力,这三类概念思维不可或缺
  7. 微信小程序 java网上宠物用品商城系统springboot
  8. java培训学习之Java桌面软件开发
  9. springboot结合druid使用多数据源,动态切换
  10. 仿写微博 按照时间顺序发表内容