数学建模优秀论文设计电力生产Word格式.docx
《数学建模优秀论文设计电力生产Word格式.docx》由会员分享,可在线阅读,更多相关《数学建模优秀论文设计电力生产Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
8
型号4的发电机数量
1
各时段的总成本(元)
176620
270400
185280
196000
247040
302360
85480
最小总成本(元)
1463180
对于问题2:
问题2在问题1的基础上增加了发电机组必须留出20%的发电能力余量,以防用电量突然上升的条件。
所以在设定其约束条件时,要将其输出功率乘以80%,即按其80%的输出功率进行计算。
可得到以下结果:
9
6
各时段的最小成本
232710
363340
240360
241800
320480
390020
112720
最小总成本
1901430
关键词:
最优化模型整数非线性规划lingo软件
一、问题重述
每日的用电情况可分为7个阶段,每个阶段的用电需求(单位为兆瓦(MW))都不同。
且有四种类型的发电机以供选择。
每种发电机都有一个最大发电能力,当接入电网时,其输出功率不应低于某一最小输出功率。
所有发电机都存在一个启动成本,以及工作于最小功率状态时的固定的每小时成本,并且如果功率高于最小功率,则超出部分的功率每兆瓦每小时还存在一个成本,即边际成本。
只有在每个时段开始时才允许启动或关闭发电机,而且关闭发电机不需要付出任何代价。
一天中每个阶段的用电情况如表1所示,每种类型的发电机情况如表2所示。
表1:
每日用电需求(兆瓦)
时段(0-24)
需求
12000
32000
25000
36000
30000
18000
表2:
发电机情况
可用数量
最小输出功率(MW)
最大输出功率(MW)
固定成本(元/小时)
每兆瓦边际成本(元/小时)
启动成本
型号1
10
750
1750
2250
2.7
5000
型号2
1000
1500
1800
2.2
1600
型号3
1200
2000
3750
1.8
2400
型号4
3500
4800
3.8
问题
(1)在每个时段应分别使用哪些发电机才能使每天的总成本最小,最小总成本为多少?
问题
(2)如果在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。
那么每个时段又应分别使用哪些发电机才能使每天的总成本最小,此时最小总成本又为多少?
二、问题分析
(一)问题1的分析
每天的总成本包括启动成本,固定成本和边际成本。
求每天总成本的表达式,再求最小值。
其中先求每种发电机每个时段的成本,在对机型求级数,最后对时段求级数,求最小值。
(二)问题2的分析
考虑到实际情况,要预留20%的电力,在第一问的前提下,约束条件更紧促,其值也会变大。
由于用电量的变化,输出功率在按80%—100%的工作功率输出,其余约束条件与第一问相同。
一、模型假设
假设1:
假设题目所给的数据真实可靠。
假设2:
假设发电机工作期间不发生任何故障。
假设3:
假设发电机工作期间摩擦生热等因素不考虑即每个时段发电机的输出功率恒定。
假设4:
假设启动和关闭是功率不稳定不予考虑。
假设5:
假设同一时段同一型号的发电机输出功率相等。
二、定义与符号说明
i
时段编号(i=1,2,3,4,5,6,7)
j
发电机的型号(j=1,2,3,4)
第i时段的时间间隔
第i时段的j型号发电机的启动台数
第i时段的j型号发电机的输电功率
j型发电机的固定成本
j型发电机的边际成本
j型发电机的启动成本
第i时段的需求功率
第i时段的j型号的总的启动成本
J型发动机的最小输出功率
第i个时段的总成本
min
总成本
三、模型的建立与求解
问题1:
(1)模型的建立
1、确定目标函数
由于
表示的是第i时段的j型号的总的启动成本,则第一时段启动了多少发电机就要计算多少次启动成本,而启动成本与前时段的启动状态有关,即以后的每一时段只要在前一时段的基础上没有再启动发电机,该阶段就不需要启动成本。
如果有新启动的发电机,则该时段的启动成本就等于新启动的发电机数量。
所以
的表达式为:
由于总成本min为各个时段启动成本、固定成本、边际成本的总和,则min的表达式为:
2、确定约束条件
表示的是第i时段的j型号发电机的启动台数,则要满足实际情况中发电机的可用数量,所以
的取值范围为:
表示的是第i时段的j型号发电机的输电功率,则要大于最小输出功率、小于最大输出功率,所以
表示的是第i时段的需求功率,则第i时段时段的总输出功率应大于其值,所以
3、可得到问题1的最优化模型:
约束条件:
(2)模型的求解
采用lingo软件对模型进行求解可得:
台数
发电机1
功率
_
1300
发电机2
功率
1425
发电机3
发电机4
2167
各时段的最
小成本(元)
1463180
问题2:
(1)模型的建立
1、确定目标函数
由于Wij表示的是第i时段的j型号的总的启动成本,则第一时段启动了多少发电机就要计算多少次启动成本,而以后的每一时段只要在前一时段的基础上没有再启动发电机,该阶段就不需要启动成本。
所以Wij的表达式为:
表示的是第i时段的j型号发电机的输电功率,由于要预留20%的电力,则输出功率的80%大于最小输出功率、输出功率小于最大输出功率,所以
表示的是第i时段的需求功率,由于要预留20%的电力,则第i时段时段的总输出功率的80%应大于其值,所以
3、可得到问题2的最优化模型:
(3)模型的求解
1028
1656
2417
小成本
1901430
四、模型的评价与推广
模型的评价:
优点:
1、本题采用整数优化模型,在满足约束条件的前提下,求出每天的最小成本。
2、用for循环,计算每天成本的最小值,不必分时段计算相加,没那么冗杂,使程序更简洁明了。
3、在第二问中,考虑到用户用电量可能骤然升高的情况,需预留20%的电量,使问题更符合实际,虽增加了成本,但从长远角度看,是值得的,既保证了用电需求又保证了发电机安全,增加了综合效益。
4、根据用电情况的变化,只需改变几个参数就可以合理的安排发电方案。
从统计学角度看,此方案具有长效性,能循环使用,只是在后来的时间24:
00与00:
00的交替过程中,改变几台发电机的开关情况。
5、思路简单,通俗易懂。
缺点:
1.lingo求出结果为局部最优解,且每次运行结果不同,但在误差允许的情况下,结果值得信赖,但变动较大,发电机工作方案可能不同。
2.程序算法虽然简单,但运行时间相对较长。
模型的改进:
1.可以适当缩短时段间隔,在保证效率的情况下,既满足用电需求也减少了成本。
如果考虑这些因素,使时间变为连续参数再求解。
2.由于没有考虑发电机功率损耗及启动关机时功率不稳的问题,模型变的简单,理想化。
考虑到这些损失,我们可以适当增加功率和缩短工作时间。
3.工作期间,发电机可能会发生故障。
建议每种型号都备份几台,特别是使用频率高的型号2、型号3发电机。
模型的推广:
线性模型的最优化问题可应用于生活中的多个方面,比如企业管理、交通运输管理以及学术研究等方面。
七、参考文献
白其峥主编数学建模案例分析北京:
海洋出版社,2000年。
八、附件
问题1的程序:
model:
sets:
time/a1..a7/:
T,N,D,L;
machine/b1..b4/:
C,A,B,M,M1,M2,N1,N2;
link(time,machine):
X,P,W;
endsets
data:
T=6,3,3,2,4,4,2;
C=5000,1600,2400,1200;
A=2250,1800,3750,4800;
B=2.7,2.2,1.8,3.8;
N=12000,32000,25000,36000,25000,30000,18000;
M=750,1000,1200,1800;
M1=0000;
M2=10,483;
N1=750100012001800;
N2=1750150020003500;
enddata
min=@sum(link(I,J):
W(I,J)+A(J)*T(I)*X(I,J)+B(J)*T(I)*X(I,J)*(P(I,J)-M(J)));
@for(time(I):
L(I)=@sum(machine(J):
W(I,J)+A(J)*T(I)*X(I,J)+B(J)*T(I)*X(I,J)*(P(I,J)-M(J))));
@for(link(I,J):
@gin(X(I,J)));
X(I,J)>
=M1(J));
X(I,J)<
=M2(J));
P(I,J)>
=N1(J));
P(I,J)<
=N2(J));
@for(link(I,J)|I#eq#1:
W(I,J)=C(J)*X(I,J));
@for(link(I,J)|I#gt#1:
W(I,J)=@if(X(I,J)#gt#X(I-1,J),C(J)*(X(I,J)-X(I-1,J)),0));
@sum(machine(J):
X(I,J)*P(I,J))>
=N(I));
end
问题2的程序:
W(I,J)+A(J)*T(I)*X(I,J)+B(J)*T(I)*
X(I,J)*(P(I,J)-M(J)));
l(I)=@sum(machine(J):
W(I,J)+A(J)*T(I)*
X(I,J)+B(J)*T(I)*X(I,J)*(P(I,J)-M(J))));
P(I,J)*0.8>
=M(J));
W(I,J)=@if(X(I,J)#gt#X(I-1,J),
C(J)*(X(I,J)-X(I-1,J)),0));
0.8*X(I,J)*P(I,J))>