最优化电力生产问题研究Word文档下载推荐.docx
《最优化电力生产问题研究Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《最优化电力生产问题研究Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
22-24
需求
12000
32000
25000
36000
30000
18000
每种发电机都有一个最大发电能力,当接入电网时,其输出功率不应低于某一最小输出功率。
所有发电机都存在一个启动成本,以及工作于最小功率状态时的固定的每小时成本,并且如果功率高于最小功率,则超出部分的功率每兆瓦每小时还存在一个成本,即边际成本。
这些数据均列于表2中。
表2:
发电机情况
可用数量
最小输出功率(MW)
最大输出功率(MW)
固定成本(元/小时)
每兆瓦边际成本(元/小时)
启动成本
型号1
10
750
1750
2250
2.7
5000
型号2
4
1000
1500
1800
2.2
1600
型号3
8
1200
2000
3750
1.8
2400
型号4
3
3500
4800
3.8
只有在每个时段开始时才允许启动或关闭发电机。
与启动发电机不同,关闭发电机不需要付出任何代价。
问题
(1)在每个时段应分别使用哪些发电机才能使每天的总成本最小,最小总成本为多少?
问题
(2)如果在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。
那么每个时段又应分别使用哪些发电机才能使每天的总成本最小,此时最小总成本又为多少?
2.模型假设及符号说明
2.1模型假设
假设1:
题目中是给的数据真实可靠,具有普遍性
假设2:
不同型号发电机之间独立运行互不影响
假设3:
电动机的启动与关闭所需时间可以忽略不计
假设4:
对于问题
(1),模型I假设每一时段开始时,上一时段的电动机已经全部关闭
假设5:
对于改进的模型II,假设上一时段的电动机在不关闭的情况下可以用于下一时段
2.2符号说明
第j型号发电机的启动成本
第j型号发电机的边际成本
i时间段j型号发电机的实际输出功率
第i时间段所需j型号的发电机的台数
第j型号发电机的固定成本
i时间段的工作时长
j型号发电机的最小功率
第j型号发电机的最大功率
第i时间段所需的输出功率
第j型号发电机的台数
模型2中两相邻时段之间需要额外开启第j型号发电机的台数
总成本
总启动成本
总固定成本
总边际成本
3.问题分析
对所要求解的问题作如下分析:
问题
(1):
在满足约束条件的情况下要求成本最小,总成本=总启动成本+总固定成本+总边际成本,
.其中每种型号的启动成本、固定成本和每兆的边际成本是已知的常数(题目以表格形式呈现)。
本题的变量为:
各个时间段的不同型号的发电机台数
以及发电机的实际输出功率
要求总启动成本和总固定成本必需知道7个时间段内不同型号发电机台数,而求解总边际成本必需知道各个时间段内不同型号发电机输出功率及台数。
本题约束条件主要有3个:
7个时间段的所需的输出功率;
不同发电机的台数数量限制;
不同发电机的功率有一个范围限制。
我们假设每一个时间段开始以后才可以开启或关闭发电机,与启动发电机不同关闭发电机不需要任何代价。
由此,我们建立一个简单的多变量最优化模型I。
我们在后面将运用LINGO求解。
问题
(2):
发电机组必须留出20%的发电能力余量情况下,求解成本最小值即要求每个时段总输出功率的80%就能满足需求,在此基础上求解。
和
(1)类似我们可以建立最优化模型求解
4.模型的建立及求解
4.1模型预处理
线性规划模型的一般形式
也可表示为矩阵形式
向量形式
其中
称其为目标函数的系数向量;
称其为决策向量;
称其为约束方程组的常数向量;
称其为约束方程组的系数矩阵;
称其为约束方程组的系数向量。
4.2模型的建立
在基于以上几条假设情况下,我们建立一个合理的发电机使用方案,力求每个时间段内的费用最小化,适宜用最优化模型。
根据题目的实际意义,我们由分析易知:
总成本=总启动成本+总固定成本+总边际成本
发电机的启动成本
取值有4个5000、1600、2400、1200
发电机的每小时固定成本
取值2250、1800、3750、4800
发电机的每兆瓦边际成本
取值2.7、2.2、1.8、3.8
发电机的最小输出功率
取值750、1000、1200、1800
发电机的实际输出功率
为变量
工作时段
取值6、3、3、2、4、4、2
第i时段j型号发电机工作台数
4.3.1规划模型
综上所述问题
(1)
目标函数
备注:
约束条件
(1)为每个时段的实际输出功率必需大于或等于需求功率
约束条件
(2)在每个时段每种型号发电机工作的台数必需小于或等于
库存的该型号发电机数量
约束条件(3)为发电机的实际输出功率必需在其允许功率范围之间
4.3.2模型求解
由所建模型及其约束条件,运用LINGO编程求解,得结果如下:
表
(1)
时间段
型号1台数(台)
型号2台数(台)
型号3台数(台)
型号4台数(台)
0—6
6—9
9—12
7
12—14
2
14—18
18—22
1
22—24
总费用(元)
1624175
4.4.1问题
(2)的求解
问题
(2)与问题
(1)类似建立最优化模型求解。
目标函数不变,约束条件
(2)、(3)不变。
由于正在工作的发电机组必须留出20%的发电能力余量,及要求每个时间段输出功率80%就能满足需求。
约束条件
(1)改为:
综上所述问题
(2)
目标函数:
4.4.2问题
(2)模型求解
据此求解结果如下表:
表
(2)
型号1台数
型号2台数
型号3台数
型号4台数
6
5
2120970
5.模型的改进与优化
5.1改进模型的指标
指标1:
上一时段可能用于下一时段的发电机不关闭继续使用。
围绕指标1,我们对模型I进行改进得到模型II,允许上一时段的发电机不关闭直接用于下一时段。
5.2改进模型的求解
改进后问题
(1)求解得1489775元,比较可知改进后的模型II更能节约成本。
下面两个表格从第二个时段(时间段6-9)开始,不同型号台数表示意义是:
在前一时段基础上还要额外开启的对应型号发电机的数量
,不再是每一时段所需发电机数量
表(3)
1489775
6.结果分析
6.1问题
(1)中模型改进前后成本饼形比较:
结果分析:
由饼状图可得,对于问题
(1),模型I改进为模型II后,各个时间段成本所占总成本的比例基本不变,即对整个成本的结构基本无影响,只对成本本身大小产生影响。
6.2对于问题
(2)模型改进前后各时段比较
改进后的模型II求得问题
(2)成本为1927370元与改进前相比成本也减小了。
表(4)
1927370
对于问题
(2),模型改进前后各时段条形图成本比较:
由条形图可得,对于问题
(2),将模型I改为模型II后,各个时间段的成本均有明显下降(除第一时段外)。
因此模型II从图中看出较模型I更优。
6.3问题
(1)、
(2)模型改进前后相邻两天各时段成本的变化
对于模型I,由于没有考虑假设“上一时段的电动机在不关闭的情况下可以用于下一时段”,因此相邻两天的的时段成本呈现周期性变化。
对于模型II,由于考虑了该假设,因此第二天的第1时段(图中的8时段),比第一天的第1时段的成本要小。
所以模型II比模型I更优。
6.4问题
(1)、
(2)模型改进前后总成本的比较
利用MATLAB程序将改进前后模型的结果绘制成图表如下:
从图表比较可知:
改进后的模型II在成本上明显比改进前节省了很多,经济效益更明显。
7.模型的评价与分析
7.1模型的评价
我们根据实际条件建立有约束条件的最优化模型,该模型具有简单、明了、容易求解的优点。
在改进后的模型中,更是弥补了改进前模型的不科学之处,使得模型更好地用于实际,节省更多的成本。
7.2模型的分析
我们基于所有发电机在上一时段结束后必须关闭这一假设来求解。
实际上,这条假设在一定程度有其不合理的地方。
改进模型充分考虑到了这一点,允许上一时间段的发电机在不关闭的情况下用于下一时间段,贴近实际。
从求解的结果来看,改进模型成本更小,也就是说改进模型更合理、更优化。
8.参考文献
【1】数学建模简明教材张兴永编著中国矿业大学出版社
【2】数学分析(第三版)华东师大数学系编高等教育出版社
【3】数学建模方法及其应用韩中庚编著高等教育出版社
【4】数学建模案例精选朱道元等编著北京:
科学出版社,2003
【5】数学建模的理论与实践吴翊,成礼智编著长沙:
国防科技大学出版社,1999
【6】数学建模案例分析白其峥主编北京:
海洋出版社,2000
附录:
表一
问题
(1)模型改进前后各时段成本:
模型改进前成本/元
179680
286040
211150
232800
272600
337000
104900
模型改进后成本/元
276040
184350
206000
245800
310200
87700
表二
问题
(2)模型改进前后各时段成本:
227800
374710
259260
310800
354170
443740
134270
359910
220060
271600
314970
404540
112270
问题
(1)中模型求解程序
!
分别定义时段、型号以及又该表联合所得的费用三个集合;
model:
sets:
sd/1..7/:
t,k;
xh/1..4/:
a,b,d,pmin,pmax,m;
fy(sd,xh):
p,x;
endsets
题目数据;
data:
t=6,3,3,2,4,4,2;
k=12000,32000,25000,36000,25000,30000,18000;
a=5000,1600,2400,1200;
b=2.7,2.2,1.8,3.8;
d=2250,1800,3750,4800;
pmin=750,1000,1200,1800;
pmax=1750,1500,2000,3500;
m=10,4,8,3;
enddata
min=@sum(fy(i,j):
(a(j)+d(j)*t(i)+(p(i,j)-pmin(j))*b(j)*t(i))*x(i,j));
@for(fy(i,j):
p(i,j)>
=pmin(j));
p(i,j)<
=pmax(j));
@for(sd(i):
@sum(xh(j):
p(i,j)*x(i,j))=k(i));
@bnd(0,x(i,j),m(j)));
@gin(x));
End
问题
(2)中模型求解程序
shiduan/1..7/:
xinhao/1..4/:
feiyong(shiduan,xinhao):
t=6,3,3,2,4,4,2;
k=12000,32000,25000,36000,25000,30000,18000;
a=5000,1600,2400,1200;
b=2.7,2.2,1.8,3.8;
d=2250,1800,3750,4800;
pmin=750,1000,1200,1800;
pmax=1750,1500,2000,3500;
m=10,4,8,3;
min=@sum(feiyong(i,j):
@for(feiyong(i,j):
@for(shiduan(i):
@sum(xinhao(j):
0.8*p(i,j)*x(i,j))=k(i));
@for(feiyong:
5.3图形的绘制程序
clearall
x=[16241751489775;
21209701927370];
bar(x)
ylabel(‘成本/元’)
bar_handles=bar(x);
legend(bar_handles,'
改进前模型所得成本'
'
改进后模型所得成本'
)
title('
模型改进前后成本比较'
模型I中每个时段成本饼形图程序
x=[179680028604002111500232800027260003370000104900];
y=[17968027604018435020600024580031020087700];
subplot(1,2,1);
pie(x);
legend(pie(x),'
0-6时段'
'
6-9时段'
9-12时段'
12-14时段'
14-18时段'
18-22时段'
22-24时段'
);
title(‘模型改进前各时段成本比较’);
holdon
subplot(1,2,2);
pie(y)
title(‘模型改进后各时段成本比较’);
模型II中每个时段成本条形图程序
m=[227800227800;
374710359910;
259260220060;
310800271600;
354170314970;
443740404540;
134270112270];
bar(m)
legend(bar(m),'
模型改进前各时段成本'
模型改进后各时段成本'
holdon
title('
模型改进前后各时段成本比较'