当前位置:文档之家› 环境系统分析第六次作业

环境系统分析第六次作业

环境系统分析
上机实验报告
上机主题优化工具箱的使用(II)
有条件极值的求解
上机时间
班级
学号
姓名
评分
市政环境学院
环境科学与工程系 指导教师
一.上机实验目的
1.学会使用Matlab 优化工具箱求解规划问题。

2.学会将待求函数线性化后再进行求解。

二.上机实验题目
已知费用函数形式为:5.278
.078
.01000200i i
i
i Q Q C η+=
河流水质约束为:602≤L
试用Matlab 优化工具箱求解题目5所给数据的排放口最优规划问题 (提示:1. 不考虑溶解氧的约束;
2. )(02
1
m L U L -≤-, 式中L 为各河段在满足水质约束情况下的BOD 排 放浓度,则00i i i i L L L -=
η,如:150
1501i
L -=η; 3.可以直接将目标函数代入优化工具箱进行计算,也可以将目标函数分段线性化之后,再代入优化工具箱进行计算(但要注意目标函数中的决策变量要和约束方程中的变量匹配);最好是两种方法都试一下,比较一下结果有何不同?
三.上机程序要点
0.048540000.034830.03125000.024770.022230.040000.017380.015600.028070.05263U ⎡⎤⎢⎥⎢
⎥=⎢⎥⎢⎥⎣⎦和 1.63781.17530.83590.5867m ⎡⎤
⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
给定的河流水质约束为60
2≤L
费用函数的形式为:5.278
.078
.01000200i i
i
i Q Q C η+=
0()U L L m →


≤-
1
1212312
3
4
0.04854 3.5903
0.034830.03125 3.9883
0.024770.022230.0400 4.28050.017380.015600.028070.05263 4.4950
L L L L L L L L L L ≤⎧⎪+≤⎪∴⎨
++≤⎪⎪+++≤⎩
分别将0.5Q =、0.3Q =、0.4Q =、0.5Q =代入可得
2.5 2.5
1122
2.5 2.53344
116.5582.478.239197.9489.3116.5582.4C C C C ηηηη=+=+=+=+
函数直接代入优化工具箱
其程序为
得到的解为
即排入口排入的BOD含量分别为94.5599、54.2078、43.3222、33.9916/
mg L mg
此时有最费用1335.3万元。

②将函数线性化后再代入优化工具箱
分三段对费用函数线性化,效率区间为12300.30.30.850.851i i i ηηη≤≤≤≤≤≤ 程序如下:
计算各段线性函数的斜率如下:
即为下表:
代入目标函数可得
4
1
111213
212223313233414243
409.10.319 2.8219.20850.214 1.894 6.1820.268 2.377.73650.319 2.8219.2085i
i Min Z C L L L L L L L L L L L L ===+⋅+⋅+⋅+⋅+⋅+⋅+⋅+⋅+⋅+⋅+⋅+⋅∑ 0()U L L m →


≤-
1
12
12312
3
4
0.0485 4.5903
0.03480.0312 4.9883
.0.02480.02220.0400 5.28050.01740.015600.02810.0526 5.4950L L L S t L L L L L L L ≤⎧⎪+≤⎪∴⎨
++≤⎪⎪+++≤⎩
即1
1212312
3
4
0.010610.00700.00631
.0.00470.00420.007610.00320.00280.00510.00961
L L L S t L L L L L L L ≤⎧⎪+≤⎪⎨
++≤⎪⎪+++≤⎩
又因为123200200()i ir i i i L L L L L =-=-++
111213111213
212223111213212223313233111213
212223313233414243105.4401
0.897()
236.2161
.0.897() 1.6144()489.1625
0.897() 1.6144() 3.0268()991.6286
L L L L L L L L L S t L L L L L L L L L L L L L L L L L L L L L ++≥+++++≥++++++++≥+++++++++++≥⎧⎪⎪
⎨⎪⎪⎩
将以上条件带入优化工具箱 程序为
最后可得解
即最低费用为1270.7万元。

显然可得,将其线性化后再带入优化工具箱,其最优费用明显下降。

四.上机实验心得
优化工具箱使用得当可以简便地算出有条件极值的问题,若与Lingo进行对照,Lingo编写程序更为简捷,但是局限性较大,只能用于求解优化问题,而Matlab 求解问题面较广。

但在求解优化问题方面,个人感觉Lingo使用起来比Matlab 更简单。

同时Matlab在help函数的时候,显示的全是英文,对于英文不好的人还说新函数的使用比较吃力,甚至会出现一些自己都不知道是什么情况的错误,而且自己还意识不到。

同时在做题目时,题目一定要看清楚再回答,之前个人做了半天才发现自己题目看错了,浪费了很多的时间。

相关主题