准,考虑和忽略的因素,每种因素和目标变量间所满足的假设或者近似的函数关系都会是不相同的,从而解决这个问题所采用的方法以及最后所给出的结果也会是不同的。所以,我们必须看到这个模型的适应性,现实性和局限性在哪里,这对于我们在今后自己独立建模解决问题是十分必要的。
16
问题扩展一
现在,我们给出一个更加合乎实际的机组调度问题模型供大家参考。 ㈠新增加的影响成本的因素
1 由于发电机组排放环境污染气体造成的发电成本变化
环境问题是任何一个发电厂都必须考虑的问题,现今,全球环境污染问题越来越严重,党中央更是将建设资源节约型,环境友好型社会作为一个重要目标,而生态文明更是在18大中被提了出来,所以,环境污染问题越来越被重视。同时,许多环境污染严重的企业理所当然的会受到许多政策上的限制,包括限制产量,缴纳罚金等等。所以,发电机组在发电过程中由于排放污染气体而产生的对发电成本的影响必须要加以考虑。
2 由于发电机组自身老化或者损耗而引起的维修费用
众所周知,每一台设备都会在使用过程中不断损耗和老化,因此,相应的维修费用就是必不可少的,维修设备所产生的人力及物力的花费与消耗,肯定会对总计的发电成本产生影响。所以,这一部分的影响也是必须要考虑的。
3 由于机组启停而引起的额外的成本损耗
每台发电机组在由停止工作到开始工作或者由开始工作到停止工作的时候,都会产生额外的消耗或者浪费,许多情况下,这种额外的消耗量可能是相当巨大的。所以,当我们没有硬性规定发电机启停间隔的时候,启停成本就成了我们在评估发电总成本时必须要考虑的因素。
4固定成本
我们认为,发电机本身的成本消耗由两部分组成,一部分是上面所说的维修成本,另一部分即是最初购买发电机所需要的成本,我们在这里把它作为固定成本来考虑。
㈡假设
正如同其他数学模型一样我们在用数字评估一个决策时,总会事先对各个因素之间的函数关系做一个基本符合事实的但同时又是简化了的假设,在此,我们的假设如下:
1 我们考虑发电机排放的三种污染气体,二氧化碳,二氧化硫,氮的氧化物。我们假定,某一时刻第i台发电机组排放的每种污染气体的排放量都与某一时刻该发电机组的功率成正比,但各自的比例系数不同,为K1i,K2i,K3i,同时,由于污染气体而造成的成本损耗又与污染气体的排放量成正比,系数分别为g1,g2,g3.
2 我们假定,每台发电机组的维修成本只与时间成正比例关系,而与发电机是否工作无关,并且设比例系数为ri,并认为发电总时间为t0.
3 每台发电机组由于启停原因而引起的额外成本消耗用ci进行表示,即每发生一次起停,都会消耗ci的成本。
4 每台发电机的固定成本用mi来进行表述。
5 同时,我们假定,根据国家的强制限制,整个发电机组对二氧化硫在某一时刻的总排放量要小于等于一个上限,这是完全符合现实情况的,同时,我们将这个上限用Emax来进行表示。
17
2.4问题四:进行改善后的机组组合问题
在某一段时间中,任一发电机组可以开启或者关闭,并且开启与关闭间没有任何时间长度的限制,但有启停损耗,同时,考虑到环境污染成本,机组维修成本,以及购买机组的固定成本,找到此段时间中各个发电机组功率在各个时间点中最优取值,实现对所有发电机组的一个动态规划。
1.明确问题 ⑴限制条件
每台发电机可以根据实际需要开启或者关闭,中间不需要有间隔条件,但有启停损耗 每时刻发出总功率=负载消耗功率
每一台机组满足功率最大值与最小值限制 发电机功率变化的爬坡限制 满足国家的最大污染排放量限制 ⑵目标
根据一天的负载量变化实现一天对发电机功率的动态调度,使一天内发电的总成本最小
⑶决策变量
某一时刻某台发电机发出的功率Pi,t(t为时刻,i为发电机编号)
Si,t (机组i在t时刻关闭,其值为0,否则,其值为1)
数学模型
minY??Zt??mi?t0?riP'i,t?Pi,t?Si,tZt??(aiPi,t?g1k1,iPi,t?g2k2,iPi,t?g3k3,iPi,t?Si,t-Si,t?1ci)对于任意一个t的取值?P'?ki,t?U(负载总量)t
Pimin?P'i,t?Pimax或P'i,t?0P'i,t?P'i(?P'i,t?P'i((P'i,t?P'i(),t?1),t?1)?Pwi?,t?1)2,ii,tP?Emax(若初始时刻为1,则令Si,0?0)p1=sdpvar (1,3);
p2=sdpvar (1,3);
p3=sdpvar (1,3);%定义每台机组每小时功率p PA=sdpvar (1,3); PB=sdpvar (1,3); PC=sdpvar (1,3); A=p1; B=p2;
C=p3;%将功率赋予数组
18
s1=binvar (1,3); s2=binvar (1,3);
s3=binvar (1,3);%定义0-1变量 S1=s1; S2=s2;
S3=s3;%将0-1变量赋予数组 PA(1)=A(1)*S1(1); PA(2)=A(2)*S1(2); PA(3)=A(3)*S1(3); PB(1)=B(1)*S2(1); PB(2)=B(2)*S2(2); PB(3)=B(3)*S2(3); PC(1)=C(1)*S3(1); PC(2)=C(2)*S3(2); PC(3)=C(3)*S3(3); pw1=20; pw2=70;
pw3=70;%定义每台机组每小时功率最大改变量pw
f=0.03*A*S1'+0.02*B*S2'+0.025*C*S3';%机组所需耗能成本
f=f+0.01438*A*S1'+0.01778*B*S2'+0.01188*C*S3';%机组所需环境成本 f=f+6*(100+368+389);%机组所需固定成本
f=f+1.2*(S1(1)+S1(2)+S1(3));%#1机组检修成本 f=f+1*(S2(1)+S2(2)+S2(3));%#2机组检修成本 f=f+1.4*(S3(1)+S3(2)+S3(3));%#3机组检修成本
f=f+30*(abs(S1(2)-S1(1))+abs(S1(3)-S1(2)));%#1机组启停成本 f=f+35*(abs(S2(2)-S2(1))+abs(S2(3)-S2(2)));%#2机组启停成本 f=f+40*(abs(S3(2)-S3(1))+abs(S3(3)-S3(2)));%#3机组启停成本
F=set(20<=A)+set(A<=100)+set(50<=B)+set(B<=368)+set(75<=C)+set(C<=389);%p约束
F=F+set(PA(1)+PB(1)+PC(1)==87)+set(PA(2)+PB(2)+PC(2)==157)+set(PA(3)+PB(3)+PC(3)==267);
%任意小时功率p之和约束
F=F+set(S1(1)*S1(2)*abs(PA(1)-PA(2))<=pw1); F=F+set(S1(2)*S1(3)*abs(PA(2)-PA(3))<=pw1); %pw1爬坡约束
F=F+set(S2(1)*S2(2)*abs(PB(1)-PB(2))<=pw2); F=F+set(S2(2)*S2(3)*abs(PB(2)-PB(3))<=pw2); %pw2爬坡约束
F=F+set(S3(1)*S3(2)*abs(PC(1)-PC(2))<=pw3); F=F+set(S3(2)*S3(3)*abs(PC(2)-PC(3))<=pw3);
%pw3爬坡约束
F=F+set(26*PA<=2300)+set(26*PB<=9360)+set(26*PC<=10374);%SO2排放限制约束 solvesdp(F,f);%进行非线性规划 D=[PA,PB,PC];
19
E=reshape(D,3,3)'; double(f);
double(E);%输出结果
P1' 0 0 40.00000002 P2' 86.99999992 156.9999999 226.9999999 P3' 0 0 0
MIN Z=5195.7696
问题扩展二
但是,在实际中,如果仅仅考虑成本最小化,那么就会出现两个情况,即边际成本的的最小化和总投入成本的最小化,上一个问题实现的是总投入成本的最小化,但是,我们仅仅关心每多发一度电所增加的成本,并且仅仅想让这个成本最小,那么,我们就可以忽略最开始时用于购买发电机所用的固定成本,而仅需要考虑由于发电而投入的新的另外的成本,我们不妨将其设定为发电所需要的动态成本,因此,我们追求发电边际成本的最小化,也就可以表示为追求总成本中固定成本以外部分的动态成本的最小化,同时,我们可以利用这个模型给出案例的边际成本。
2.5问题五:进行改善后只考虑边际成本的机组组合问题
在某一段时间中,任一发电机组可以开启或者关闭,并且开启与关闭间没有任何时间长度的限制,但有启停损耗,同时,考虑到环境污染成本,机组维修成本,但是忽略购买机组的固定成本,用整个机组发一度电时所耗费的边际成本作为评判标准,找到此段时间中各个发电机组功率在各个时间点中最优取值,实现对所有发电机组的一个动态规划。 1.明确问题 ⑴限制条件
每台发电机可以根据实际需要开启或者关闭,中间不需要有间隔条件,但有启停损耗 每时刻发出总功率=负载消耗功率
每一台机组满足功率最大值与最小值限制 发电机功率变化的爬坡限制 满足国家的最大污染排放量限制 ⑵目标
根据一天的负载量变化实现一天对发电机功率的动态调度,使一天内整个机组发一度
20