数学建模之电力的生产问题.docx
《数学建模之电力的生产问题.docx》由会员分享,可在线阅读,更多相关《数学建模之电力的生产问题.docx(26页珍藏版)》请在冰豆网上搜索。
数学建模之电力的生产问题
Preparedon22November2020
数学建模之电力的生产问题
电力生产最小成本
摘要
本文是需解决发电机厂每天在不同时间段用电需求量不同的情况下,根据给定不同型号不同数量的发电机,合理分配各台发电机在不同时间段的开启和关闭以及运行时的输出功率,既使得一天内总发电成本最小,又使发电机组在一天中各个时段的总输出功率达到用电需求的问题,为解决这个问题,采用了单目标非线性规划方法,建立了所求问题的最优化模型,借助Lingo软件对模型进行求解,得到每日最小发电总成本,以此制定发电机组的启停计划。
问题一:
为了使发电厂一天总的发电成本最低,同时还要考虑到不同时间段开机数量不同对启动成本的相互影响,将七个时间段的成本统一考虑,其中,启动成本与发电机开启数量有关,要让成本少,应在满足相应约束条件下尽量减少开机数量,尽量让上一阶段的发电机下一阶段依然工作,边际成本与开启发电机台数、输出功率、最小功率、时长有关,固定成本与开启发电机台数、时长有关,选取相应的约束条件对目标函数进行约束,从而给出优化模型,运用非线性规划的方法,利用Lingo编程求解,得到发电厂每天最小发电总成本为:
1427179
元。
具体的发电机使用方案见附录一中表一、表二。
问题二:
根据题目的要求,在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升,在建模时将每台发电机的实际输出功率降至80%,所以可以按照问题一建立的模型,将其约束条件中每个时间段的实际输出功率改为功率的80%但同时要满足用电量,同样利用Lingo编程求解,得到发电厂每天最小发电总成本为:
1444670元。
具体的发电机使用方案见附录一中表三、表四。
在得到上述两个问题的结果后,对结果的正确性性进行检验,并且对所得结果进行分析,给出自己的评价,并且对所建模型的合理性进行判断,以及对模型做了适当的推广。
关键词:
单目标非线性规划发电机的合理搭配电力生产最优解
1问题重述
问题背景
为了满足人们的用电需求,有四种类型的发电机可供发电厂选择,发电厂需将不同型号的发电机合理搭配,在使每天发电功率满足人们用电需求的同时,又使发电厂的发电成本最小。
在此将用户每日的用电情况主要分为7个阶段,每个阶段的用电需求各不相同,为了能够高效低成本完成每天发电计划,就必须使得每阶段的供需平衡,否则就会影响电力系统的安全运行。
为了能够实现这样的平衡状态,就需要电力部门对发电机组进行合理的启停计划,在满足每日用电需求的前提下,追求发电成本的最小化。
在不考虑其它成本因素的前提下,假定所有发电机组的发电成本都是由三部分组成:
固定成本和边际成本以及启动成本。
需要考虑的约束有:
发电机组使用数量范围约束和发电机组输出功率范围约束以及每日电力需求约束。
因此,在不同时段开启哪些型号发电机,使发电厂每天的发电总成本最小是一个有现实意义的问题。
已知条件
为满足每日电力需求(单位为兆瓦(MW)),可以选用四种不同类型的发电机。
每日电力需求如下表1。
表1:
每日用电需求(兆瓦)
时段(0-24)
0-6
6-9
9-12
12-14
14-18
18-22
22-24
需求
11000
33000
25000
36000
25000
30000
18000
每种发电机都有一个最大发电能力,当接入电网时,其输出功率不应低于某一最小输出功率。
所有发电机都存在一个启动成本,以及工作于最小功率状态时的固定的每小时成本,并且如果功率高于最小功率,则超出部分的功率每兆瓦每小时还存在一个成本,即边际成本。
这些数据均列于表2中。
表2:
发电机情况
可用数量
最小输出功率(MW)
最大输出功率(MW)
固定成本(元/小时)
每兆瓦边际成本(元/小时)
启动成本
型号1
10
800
1800
2200
5000
型号2
5
1000
1500
1800
1600
型号3
8
1200
2000
3800
2400
型号4
4
1800
3500
4800
1200
只有在每个时段开始时才允许启动或关闭发电机。
与启动发电机不同,关闭发电机不需要付出任何代价。
需要解决的问题
问题
(1)在每个时段应分别使用哪些发电机才能使每天的总成本最小,最小总成本为多少
问题
(2)如果在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。
那么每个时段又应分别使用哪些发电机才能使每天的总成本最小,此时最小总成本又为多少
2模型假设与符号说明
模型假设
假设1:
每台发电机在同一时间段内按照预订功率稳定运行,并且输出功率恒定不变。
假设2:
发电机在工作过程中不考虑其电能的损失,即实际输出电能全部转化为用户需求。
假设3:
在第一时间段开机前,所有的机组都处于关闭状态。
假设4:
发电机运行中不出现故障。
假设5:
发电机一经启动便开始正常运行,即,忽略启动延迟时间。
符号说明
符号
符号说明
第i种型号在第j个时间段的输出功率
第i种型号在第j个时间段运行的台数
第i种型号发电机每小时固定成本
第i种发电机每台启动成本
第i种发电机的每小时边际成本
第j个时间段的总时间
每天发电机组的总成本
第j时间段用户的电量需求
i
发电机的型号,取1、2、3、4
j
时间段,取1、2、3、4、5、6、7
3问题分析
多机组启停优化问题是在满足约束条件的前提下,优化确定每个阶段机组的启停,求出机组的最佳运行方案,实现每日发电总成本最小。
问题一的分析
为解决问题一,需建立每日发电成本的目标函数和约束条件的数学表达式。
因为总成本是由各个时间段的总固定成本、总边际成本和总启动成本构成,因此就可以根据已知的数据,求出相应的成本表达式。
其中最为复杂的是启动成本表达式的建立,因为启动机组需要相应的启动费用,而关闭机组则不需要费用,这样上一阶段的电机运行情况将直接影响下一阶段的启动成本,进而影响总成本,因此在考虑电机的启动成本时应该把下一阶段电机的运行状况和上一阶段的运行状况联系起来,故在此需要对全天的7个时间段的发电机的开启情况进行统一、合理的安排,不可只考虑某一个时间段。
问题二的分析
在第二问中总成本仍由三部分成本组成,不过此时的约束条件发生了改变,此时增加了如果在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升的约束条件。
在求解过程中,仍可以使用第一问所建立的模型,不过要将第一问的约束条件改变,因为要正在工作的机组要留出20%的发电余量,所以每台发电机的输出功率就应该将实际输出功率减少20%,即将每日的用电需求提高25%,然后再对模型进行求解。
总之,机组组合问题是一个多变量、多约束的混合非线性规划问题,因此在求解时需要对各个时段每一台用于发电的发电机所需要的各项成本进行求和计算,在此我们采用Lingo软件对其进行求解,得到发电厂每日最小发电总成本。
4模型建立与求解
问题一模型的建立及求解
确定目标函数
由题目给出的条件及模型的假设知:
发电厂每日发电总成本仅由发电机组的固定成本、边际成本和启动成本构成。
(1)每天四种型号发电机固定成本:
(2)每天四种型号发电机边际成本:
(3)每天四种型号发电机总启动成本:
目标函数为:
MinW=G+B+Q
确定约束条件
(1)因为
是第i种型号的发电机在第j时间段内运行的台数,所以
不大于本型号发电机的台数,即:
(2)由于
代表的是第i种型号在第j个时间段的输出功率,所以
介于最小输出功率与最大输出功率之间,即:
(3)发电机每小时的输出功率应大于或等于电力需求,即:
问题一的模型
综上所述,得到问题一的多变量最优化模型:
MinW=
+
+
模型一的求解
由上述分析可知,该问题为多变量非线性规划问题,应用LINGO程序进行编程计算,最终得出每时段各型号发电机的使用数量及其各自的功率。
由各型号发电机使用数量及各自功率可求出各时段内的最小成本及一天的最小总成本,得到发电厂每天最小发电总成本为:
1427179元。
具体的数据见表:
各个时间段不同型号发电机的开启台数
台数时间段
型号
0~6
6~9
9~12
12~14
14~18
18~22
22~24
1
0
7
7
9
9
1
6
2
0
5
4
4
0
4
5
3
0
0
2
0
0
0
0
4
4
4
1
4
9
2
0
各个时间段不同型号发动机的开启功率
发电
功率时间段
型号
0~6
6~9
9~12
12~14
14~18
18~22
22~24
1
—
1800
1800
1800
1800
1800
1750
2
—
1500
1500
1500
—
1500
1500
3
—
—
2000
—
—
—
—
4
2750
3220
2400
3450
2200
3000
—
(第j个时间段i型号的开启数目为0时,讨论其功率没有意义,故用“—”表示)
从表格可以看出,在该模型的运行下,发电供需可以保持平衡,且符合经济效益,既使得发电机能产生最低功率满足用户需求,也使得成本最低,并且一些次要因素所影响的概率很小,因此当每个时间段开启发电机台数和相应的功率如上表时,可以认为该模型所得方案是最优方案。
问题二模型的建立及求解
确定目标函数
由题目给出的条件及模型的假设知:
发电厂每日发电总成本仅由发电机组的固定成本、边际成本和启动成本构成。
(1)每天四种型号发电机固定成本:
(2)每天四种型号发电机边际成本:
(3)每天四种型号发电机总启动成本:
目标函数为:
MinW=G+B+Q
确定约束条件
(1)因为
是第i种型号的发电机在第j时间段内运行的台数,所以
不大于本型号发电机的台数,即:
(2)由于
代表的是第i种型号在第j个时间段的输出功率,但发电机组要留20%的发电余量,所以实际输出功率
应大于最小输出功率,功率
应介于最小输出功率与最大输出功率之间,即:
(3)因为正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。
所以发电厂发电功率的百分之八十应大于人们的用电需求本,即:
问题二的模型
综上所述,得到问题一的多变量最优化模型:
MinW=
+
+
模型二的求解
由上述分析可知,该问题为多变量非线性规划问题,应用LINGO程序进行编程计算,最终得出每时段各型号发电机的使用数量及其各自的功率。
由各型号发电机使用数量及各自功率可求出各时段内的最小成本及一天的最小总成本,得到发电厂每天最小发电总成本为:
1444670.元。
具体的数据见表:
表三:
各个时间段不同型号发电机的开启台数
台数时间段
型号
0~6
6~9
9~12
12~14
14~18
18~22
22~24
1
0
8
10
9
9
10
0
2
5
5
4
5
5
5
5
3
2
3
4
4
0
3
2
4
0
3
0
3
2
0
3
表四:
各个时间段不同型号发动机的开启功率
发电
功率时间段
型号
0~6
6~9
9~12
12~14
14~18
18~22
22~24
1
—
1762
1100
1677
1544
1650
—
2
1400
1500
1500
1500
1500
1500
1500
3
2000
2000
2000
2000
—
2000
2000
4
—
1800
—
1800
1800
—
2166
(第j个时间段i型号的开启数目为0时,讨论其功率没有意义,故用“—”表示)
从表格可以看出,在该模型的运行下,发电功率可以保持供需平衡,且符合经济效益,既使得发电机能产生最低功率满足用户需求,也使得成本最低,并且一些次要因素所影响的概率很小,因此当每个时间段开启发电机台数喝相应的功率如上表时,可以认为该模型所得方案是最优方案。
5结果分析
问题一的结果分析
将问题一机组启动计划最优化方案转化为图示1以便于直接观察:
图1
图2
对图1和图2进行观察可知:
型号1发电机虽然有10台数目最多,由于其启动成本高,并没有全部使用,并且开启数量不变,可以很好的节约总成本。
由于型号2发电机各成本都较低,故其使用频率相当高,全部投入使用,并且全为满功率工作。
型号3发电机边际成本、启动成本较低,故投入使用数较多且为满功率工作。
而型号4发电机虽然固定成本与边际成本都最高,其启动成本最低,故使用数量在不同时段有明显波动,且输出高功率。
所以增配型号2和3发电机数量,适当减少型号4发电机的数量,可以降低固定成本。
问题二的结果分析
将问题二机组启动计划最优化方案转化为图示3以便于直接观察:
图3
图4
由图3可清晰看出各型号电机在不同时段的使用情况。
其中,型号1的发电机组在除第一、七时不使用,其余时段的使用数量在8台左右,以减少开启成本;型号2的发电机组在每天的各个时段的使用数量均维持在5台;型号3的发电机组在每天的各个时段的使用数量均维持在4台及以下;型号4的发电机组在每天的各个时段的使用数量处于0—4台之间。
6模型的评价与改进
模型的优点
(1)将一天所有时段作为整体,考虑到各个时段间启动发电机对成本的影响,构建了不同时段发电机组的启动成本计算公式,该公式可以很好的计算不同时段发电机组的启动成本。
(2)建立该模型时,约束条件考虑较全面,所得的模较合理。
(3)提供了一种求解多变量,多约束整数非线性规划的组合优化问题的思路,此方法思路清晰明了,构思新颖,方便易行。
模型的缺点
根据题目的要求,以及其他条件的限制和约束,对模型进行了一些合理的假设,虽然求出的结果在所要求的误差范围之内,但是假设还是会对所求结果有一定的影响。
对于这些方面还需要做进一步的探讨和改进。
7模型的应用和推广
模型的应用
(1)由所得的结果可知发电厂对每种型号的发电机利用率是不同的,所以发电厂在选购不同型号的发电机时可以参考所得结果,合理选购,使得每台发电机都被使用,减少发电厂费用的支出。
(2)根据不同时段的用电需求,可以看出在0-6和22—24时间段是用电低谷,此时人们大多在休息,而在12-14时间段是用电高峰期,这也使符合人们的生活规律。
夏季中午温度较高,需要各种电器设备来降温消暑,所以用电增加,针对用电高峰期,给出以下建议,如:
尽量的使用功率小的空调,适当的提高空调温度,从而节约能源,减少用电压力。
模型推广
此模型不仅适用于电力生产问题,也可以应用于其他的行业,即在有限的资源条件下,合理的分配资源得到相应的要求,同时使得消耗最小。
此模型具有很好的应用价值,可以作进一步的推广和研究。
8参考文献
[1]宋来忠,王志明.数学建模与实验.北京:
科学出版社,2005.
[2]王正东.数学软件与数学实验.北京:
科学出版社,2010.
[3]赵静,但琦,数学建模与数学实验.北京:
高等教育出版社,2008.
[4]吴礼斌,李柏年.数学实验与建模.北京:
国防工业出版社,2007.
[5]谢金星.优化建模与LINDO/LINGO软件.北京:
清华大学出版社,2005.
附录一
问题一中发电机的使用方案:
表一:
各个时间段不同型号的发电机开启台数
台数时间段
型号
0~6
6~9
9~12
12~14
14~18
18~22
22~24
1
0
2
2
2
2
2
2
2
5
5
4
5
5
5
5
3
2
8
8
8
8
8
4
4
0
3
0
2
0
4
0
表二:
各个时间段不同型号发电机开启的功率
发电
功率时间段
型号
0~6
6~9
9~12
12~14
14~18
18~22
22~24
1
—
1800
800
1800
800
1451
1251
2
1400
1500
1480
1500
1480
1500
1500
3
2000
2000
2000
2000
2000
2000
2000
4
—
1967
—
2225
—
1800
—
问题二中发电机的使用方案:
表三:
各个时间段不同型号发电机的开启台数
台数时间段
型号
0~6
6~9
9~12
12~14
14~18
18~22
22~24
1
0
8
10
9
9
10
0
2
5
5
4
5
5
5
5
3
2
3
4
4
0
3
2
4
0
3
0
3
2
0
3
表四:
各个时间段不同型号发动机的开启功率
发电
功率时间段
型号
0~6
6~9
9~12
12~14
14~18
18~22
22~24
1
—
1762
1100
1677
1544
1650
—
2
1400
1500
1500
1500
1500
1500
1500
3
2000
2000
2000
2000
—
2000
2000
4
—
1800
—
1800
1800
—
2166
附录二
模型一求解程序:
sets:
shijianduan/1..7/:
n,t,d;
xinghao/1..4/:
m,w,k,a,b,z;
link(xinghao,shijianduan):
x,c;
endsets
min=@sum(xinghao(i):
x(i,1)*z(i))
+@sum(xinghao(i):
@sum(shijianduan(j):
x(i,j)*(a(i)+b(i)*(c(i,j)-w(i)))*t(j)))
+@sum(xinghao(i):
@sum(shijianduan(j)|j#le#6:
@if(x(i,j+1)#gt#x(i,j),((x(i,j+1)-x(i,j))*z(i)),0)));
@for(link(i,j):
@gin(x(i,j)));
@for(link(i,j):
x(i,j)<=m(i));
@for(link(i,j):
c(i,j)>=w(i));
@for(link(i,j):
c(i,j)<=k(i));
@for(shijianduan(j):
d(j)=@sum(xinghao(i):
x(i,j)*c(i,j)));
@for(shijianduan(j):
d(j)>=n(j));
data:
n=11000,33000,25000,36000,25000,30000,18000;
t=6,3,3,2,4,4,2;
m=10,5,8,4;
w=800,1000,1200,1800;
k=1800,1500,2000,3500;
a=2200,1800,3800,4800;
b=,,,;
z=5000,1600,2400,1200;
enddata
Localoptimalsolutionfound.
Objectivevalue:
1427179.
Objectivebound:
1427179.
Infeasibilities:
Extendedsolversteps:
2
Totalsolveriterations:
989
VariableValue
N
(1)
N
(2)
N(3)
N(4)
N(5)
N(6)
N(7)
T
(1)
T
(2)
T(3)
T(4)
T(5)
T(6)
T(7)
D
(1)
D
(2)
D(3)
D(4)
D(5)
D(6)
D(7)
M
(1)
M
(2)
M(3)
M(4)
W
(1)
W
(2)
W(3)
W(4)
K
(1)
K
(2)
K(3)
K(4)
A
(1)
A
(2)
A(3)
A(4)
B
(1)
B
(2)
B(3)
B(4)
Z
(1)
Z
(2)
Z(3)
Z(4)
X(1,1)
X(1,2)
X(1,3)
X(1,4)
X(1,5)
X(1,6)
X(1,7)
X(2,1)
X(2,2)
X(2,3)
X(2,4)
X(2,5)
X(2,6)
X(2,7)
X(3,1)
X(3,2)
X(3,3)
X(3,4)
X(3,5)
X(3,6)
X(3,7)
X(4,1)
X(4,2)
X(4,3)
X(4,4)
X(4,5)
X(4,6)
X(4,7)
C(1,1)
C(1,2)
C(1,3)
C(1,4)
C(1,5)
C(1,6)
C(1,7)
C(2,1)
C(2,2)
C(2,3)
C(2,4)
C(2,5)
C(2,6)
C(2,7)
C(3,1)
C(3,2)
C(3,3)
C(3,4)
C(3,5)
C(3,6)
C(3,7)
C(4,1)
C(4,2)
C(4,3)
C(4,4)
C(4,5)
C(4,6)
C(4,7)
附录三
模型二的求解程序:
sets:
shijianduan/1..7/:
n,t,d;
xinghao/1..4/:
m,w,k,a,b,z;
link(xinghao,shijianduan):
x,c;
endsets
min=@sum(xinghao(i):
x(i,1)*z(i))
+@sum(xinghao(i):
@sum(shijianduan(j):
x(i,j)*(a(i)+b(i)*(c(i,j)-w(i)))*t(j)))
+@sum(xinghao(i):
@sum(shijianduan