一个微积分中的Project问题
——小浪底水力发电站涡轮发电机的最优化
章栋恩
评注: 这个问题在我讲最优化一讲时作为习题留给大家,但一直没有学生回应,是否会解也不清楚。
这次我在中外微积分教材比较研究中,整理一些Project,我认为解这个问题很有意义。
它的解法体现了从一般的数学应用题到建模的转变、提升。
因为解这个问题,不仅仅是用一次拉格朗日乘子法,而是对一个参数(总水流量)在某区间上按一定步长全程用拉格朗日乘子法求解最优值。
而且配合作图才能更好地理解。
这样就必须用计算机求解。
这是数学建模的特点之一。
因为没有机会给这一届学生讲了,所以在这里简略地作一个解答。
为了方便,我使用了Mathematica 软件,理论上说,用Matlab 也是没有问题的(一般说,大家掌握Matlab就足够了。
)。
希望同学们(每组中负责计算机与数学模型的同学更应练练)按照下面题解的思路,试试Matlab 是否能解出来。
本课题来自Stewart 编《Calculus》(第5版)下册p.282的第十四章:多元函数的偏导数部分。
解 1. 设三个涡轮机都使用。
因为每个涡轮机的电力产量为
5262
111(18.980.1277 4.0810)(170 1.610)T KW Q Q Q --=-+-⋅-⋅ 5262222(24.510.1358 4.6910)(170 1.610)T KW Q Q Q --=-+-⋅-⋅ 5262333(27.020.1380 3.8410)(170 1.610)T KW Q Q Q --=-+-⋅-⋅
所以目标函数为
123f KW KW KW =++ 其约束条件有不等式约束
1232501110,2501110,2501225Q Q Q ≤≤≤≤≤≤
及等式约束
123T Q Q Q Q ++=
其中T Q 还是一个参数。
为了简化问题,先不考虑不等式约束,只考虑等式约束。
用拉格朗日乘子方法求极值。
引入辅助函数
123123
()T F KW KW KW Q Q Q Q λ=++-++- 对方程组 12
30000F
Q F
Q F Q F λ
∂⎧=⎪∂⎪∂⎪=⎪∂⎪⎨∂⎪=⎪∂⎪
∂⎪=⎪∂⎩
用数学软件Mathematica (其他软件也可以)虽然可以得到形式上的解,但是由于T Q 是参数以及表示式的复杂性,其结果没有实际意义。
因此考虑把方程组中总的水流量T Q 用一些数值代入,再求得使总的发电量最大时各台涡轮机的水流量(1,2,3)i Q i =. 下面的图就是当T Q 从850 3ft /s 到3500 3ft /s 时,
发电量最大时各台涡轮机的水流量(1,2,3)i Q i =的最优值(每个T Q 都要用拉格朗日乘子法计算)分配图(用Matlab 编程,试试)。
2. 经计算当9553230T Q ≤≤时上述结果是有效的。
3. 当总水流量2500T Q =时,三台涡轮机的水流分布为
123777.3,762.6,960.1Q Q Q ===
这时最大发电量为28411.7KW.
4. 当水流量为1000时,
如果使用三台涡轮机发电,最大发电量只有8397 KW (拉格朗日乘子法)。
而考虑只用一台涡轮机发电(第三台),则最大发电量为12222.5KW. 如果水流量为600,则只用第一台,最大发电量为7292KW 。
这是根据单台涡轮机发电量函数计算出来的。
它们的图形如下
5. 最大发电量只有16538.7(拉格朗日乘子法)。
考虑采用两台发电机,则使用第一和第三台发电机时,最大发电量为18208.3KW (也用拉格朗日乘子法,最优水流量分配为
13662.247,837.753Q Q ==)
;使用第二和第三台发电机时,最大发电量为17720.6KW ;使用第一和第二台发电机时,最大发电量为17454.8KW 。
显然应该采用第一和第三台发电
机发电,发电量最大。
6. 如果水流量是3400,它超出1的结果所适用的范围。
从三台发电机各自的发电函数与拉格朗日乘子法得到的最优水流分配图形看出,让涡轮机3和涡轮机1满负荷发电效果会比较好。
经计算,确实是这样。
最大发电量达33924.0KW 。