基于MATLAB的水资源优化分配问题动态规划解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的水资源优化分配问题动态规划解法
摘要:介绍了动态规划的基本原理,针对水资源分配问题进行了动态规划方法分析。
针对具体问题采用逆序解法的表格法进行了计算,然后用matlab编制了相应的计算程序进行计算,避免了繁琐的人工计算。
结果表明该方法可行、便于应用。
关键词:动态规划水资源分配问题matlab解法
动态规划是1951年美国数学家贝尔曼根据一类多阶段决策过程的特点,提出了解决这类问题的最优性原理,进而发展出的一种新的最优化方法。
动态规划的适用范围比较广泛,对目标函数和约束条件没有严格的要求,特别是对于离散问题,线性规划和非线性规划等解析方法无法应用,而动态规划是解决离散系统最优化的一种有效工具。
[1]
1 动态规划的基本解法
1)将多阶段决策过程划分阶段,恰当地选择状态变量、决策变量以及定义最优指标函数,从而把问题化成一类同类型的子问题,然后逐个求解。
2)求解时从边界条件开始,逆序过程行进,逐段递推寻优。
在每一个子问题求解时,都要使用它前面已求出的子问题的最优结果。
最后一个问题的最优解,就是整个问题的最优解。
动态规划逆序法求解的基本方程如下:
2 水资源优化分配问题的动态规划模型描述
2.1水资源优化分配问题的提出
某供水系统可供水量为,用户数为,当给第个用户供水时所产生的效益为,如何合理分配水量才能使总效益最大?
2.2水资源优化分配问题的动态规划模型描述
模型描述如下:
(1)阶段变量表示第个用户。
(2)决策变量第个用户的供水量。
(3)状态变量可用于分配给当前以及以后阶段各用户的水量,即
(4)状态转移方程根据状态变量可得到状态转移方程为:
(5)指标函数第阶段的指标函数为第个用户的效益。
建立以上模型后,即可采用逆序法进行递推求解。
其基本方程为:3实例分析
3.1 实例概况
有一引水渠系,设计最大流量为6,供给四个地区用水,每个地区的用水量与增产效益的关系见表1(效益单位为万元)。
求总效益最大的配水方案。
(本实例取自文献[2])
表1:引用流量与增产效益的关系
1 2 3 4 5 6
甲 3.0 5.5 7.5 9.0 10.0 10.0
乙 3.0 6.0 8.0 9.5 10.5 11.0
丙 4.0 6.5 8.5 9.0 9.0 9.0
丁 3.5 6.0 7.5 8.5 9.0 9.0
3.2 逆序法的表格计算
利用逆序法的表格计算可知最优分配方案有3个:(1,2,1,2),(1,2,2,1),(2,2,1,1),总效益均为19万元(具体计算略)。
3.3 matlab编程及计算
运用matlab语言编程,程序如下:
4结语
本文介绍了动态规划的基本解法,针对水资源分配问题进行了动态规划方法分析。
针对具体问题用matlab编制了相应的计算程序进行计算,同逆序法的表格计算对比可知,运用matlab编程进行计算可避免繁琐的人工计算,该方法是切实可行的。
参考文献:
[1] 徐渝. 贾涛运筹学(上册). 北京:清华大学出版社,2005
[2] 左兼金.水利水电工程施工组织管理与系统分析.北京:水利水电出版社,1993
[3] 尚松浩.水资源系统分析方法及应用.北京:清华大学出版社,2006
[4] 张志涌徐彦琴.matlab教程:基于6.x版本. 北京:北京航空航天大学出版社,2001
注:文章内所有公式及图表请以pdf形式查看。