王隔霞, 王军平
(上海电力大学 数理学院, 上海 200090)
经济调度是电力系统中的基本问题之一。它是将所需的发电量分配给多个发电机组,在满足发电机出力等约束条件下实现供需平衡[1-2]。经济调度算法主要有集中式和分布式两类。传统电力系统经济调度问题主要采用集中式经济调度算法求解[1],调度中心要承受巨大的计算负担和通信压力,且可靠性和鲁棒性不高;而分布式经济调度算法克服了集中式的不足,越来越受到业内关注。分布式算法强调参与调度的各发电单元的自主决策和个体智能,通过各单元的协同配合实现经济调度目标。文献[3]基于多智能体的一致性原理,将微增成本视为一致性变量,提出了领导跟随模式的分布式经济调度策略。该模式受到了广泛关注和应用,现在仍有很多工作延续使用[4-10]。但其依赖于领导者能够获取功率差额这一假设,对网络连接的要求较高,适应性较差。
学者们针对全局功率缺额获取困难展开了研究,如文献[11]提出了一种无领导的分布式经济调度算法,将发电-负荷功率平衡约束分解至各发电单元的个体经济调度优化模型中,但该算法对发电单元的初值有要求,难以适应系统负荷的变化;文献[12]为了获取全局信息,提出了利用局部负荷信息估计全局负荷的算法,但该算法需在母线之外配备新的通信线路,不易实现。文献[13]提出了一种基于一致性原理和梯度下降法的完全分布式优化调度策略。
值得指出的是,文献[14]提出了一种自组织的分布式经济调度方案,仍将微增成本视为一致性变量,但不再引入领导者角色。该方案利用机器人系统的工作模式,在每个节点只保留通过网路传输得到的其余节点的最新功率缺额信息,进而整合得到该节点处的局部功率缺额。同时,该算法不需要设置发电单元的出力初值之和与负荷相等,可以灵活应对系统负荷变动的情况。文献[13-14]仅考虑了发电成本最小单目标问题,并没有考虑微电网参与节能减排的问题。由于节能减排是当今能源发展中的重要问题,因此在设计分布式经济调度方案时有必要考虑如何减小环境污染[15-20]。
本文将研究微电网多目标经济调度,不但考虑经济最优,同时考虑减少污染气体排放量。首先,综合考虑传统发电机发电成本、污染气体排放及储能成本,构建微电网多目标优化模型;其次,通过线性加权将多目标优化问题转化为单目标优化问题;再次,利用多智能体的一致性原理设计一种分布式经济调度方案;最后,基于IEEE14节点系统,通过数值仿真验证方案的有效性。其中,为了获得局部功率缺额,本文采用了文献[14]中的机器人系统工作模式,从而解决了全局信息获取困难的问题。
本文同时考虑经济和环境两个方面,通过优化发电机、储能单元等可控电力元件的有功功率,使得电网的运行成本和污染气体排放综合目标最小化。
经济成本的优化目标是使全系统总发电成本最小。本文中微电网包含发电单元、储能单元、负荷单元3种,分别用集合SG、SB、SD表示。发电单元和储能单元的成本函数可近似用二元函数表示为[15]
(1)
(2)
式中:FGi(PGi) ——第i个发电单元的成本函数;
PGi——第i个发电单元的输出功率;
ai、bi、ci——第i个发电单元的成本参数;
FBj(PBj)——第j个储能单元的成本函数;
PBj——第j个储能单元的输出功率,其值为正时放电,值为负时充电;
等式约束条件为
(3)
式中:PD——电网总负荷;
PLOSS——电网网损。
不等式约束条件为
(4)
环境成本的优化目标是使系统中传统燃料发电机的污染气体排放量最小。目标函数为
(5)
式中:Ei(PGi)——第i个发电单元的污染气体排放量,可以按一定规则换算成费用[18];
αi、βi、γi——第i个发电单元的污染气体排放系数。
使用线性加权法将多目标问题转化为单目标问题,同时满足式(3)和式(4),具体可表示为
(6)
式中:w1>0,w2>0,且w1+w2=1。
利用拉格朗日等式将式(6)转化成无约束问题,具体为
(7)
(8)
式中:λ——拉格朗日乘子;
ΔP——系统功率缺额。
对式(7)中的λ、PGi、PBj分别求偏导,并求解其方程,可得
(9)
对应发电单元和储能单元的拉格朗日乘子λGi和λBj分别为
(10)
其中,
(11)
由式(3)可得最优解λ*为
(12)
采用图G=(V,E,A)表示电力元件以及电力元件间通信交互的路径,其中V表示图G的顶点(即电网中各节点),E表示图G的边集,A表示加权的非负链接矩阵。A中的元素aij是顶点i和j之间边的权重。用Ni代表顶点i的邻居,约定顶点i与其自身相连。同理可得ais、ajs、ats,以及Nj、Nt的含义。
给微电网中每个节点配备一个智能体,并相应地配置发电单元、储能单元和负荷单元的微增成本变量λi(k)、λj(k)、λt(k)(k为迭代次数,k=0,1,2,…),其更新方式为
(13)
ΔPGi(k)——第i个发电单元处的局部功率缺额;
ΔPBj(k)——第j个储能单元处的局部功率缺额。
由式(13)可知,纯负荷节点的微增成本变量的更新规则与其他节点不同。
按照各发电单元的出力约束条件式(4)选取合适的初值PGi(0)和PBj(0),不妨取为出力约束的下限。其中,PGi(0)和PBj(0)的选取没有利用全局系统总负荷,故算法是完全分布式的。再根据式(13)计算出相应的发电单元和储能单元的微增成本变量λi(0)和λj(0)。约定纯负荷节点的微增成本变量λt(0)为零。
发电单元和储能单元的功率更新公式为
(14)
(15)
定义微电网各个节点处的局部功率负荷变量为
式中:Δpi(k)——第i个节点处的局部功率负荷变量;
pDi——母线i上的负荷需求。
利用机器人系统的工作模式来获取局部功率缺额。为了叙述简单,将不再区分ΔPGi(k)或ΔPBj(k),统一用ΔPi(k)表示。记xi为节点i处的向量,si为其时间标签,xij和sij为xi和si的第j个分量,并约定xii为节点i处局部功率缺额,xij表示节点i处通过网络获得的第j个节点最新的功率缺额(i≠j),xij通过时间标签的分量sij从邻居母线获得。具体公式为[14]
(18)
由式(18)可知,向量xi(k)存储的是母线i与其他母线j的信息交互中所获得的功率缺额。因此,母线i处的局部功率缺额可定义为
(19)
为了简化问题,本文不考虑电网的网损。本文提出的分布式算法步骤如下。
步骤1 确定各节点的初始功率,并利用式(13)得到发电单元和储能单元的微增成本变量λi(0)和λj(0),约定λt(0)=0。
步骤2 按照式(16)~式(19)计算各节点处的局部功率缺额ΔPi(k)。
步骤3 按照式(13)更新各节点的微增成本变量λi(k+1)、λj(k+1)、λt(k+1)。
步骤4 根据上述更新后的λi(k+1)、λj(k+1)、λt(k+1),按照式(14)、式(15)更新PGi(k+1)和PBj(k+1)。
步骤5 按照式(16)~式(19)计算各节点处的局部功率缺额ΔPi(k+1);然后判断|ΔPi(k+1)|≤δ(δ为功率偏差允许最大值,一般取较小的数)是否成立。若成立,则算法结束;否则,跳转至步骤3,继续进行迭代和功率调整。
IEEE14节点的测试系统及其通信网络拓扑如图1所示。在节点1、2、3、6处分别接入发电单元(记为SG1,SG2,SG3,SG6),节点7接入由BESS构成的储能单元,节点8接入1个风力发电机(记为WG8)。
图1 IEEE14节点的测试系统及其通信网络拓扑
发电单元的成本参数[19]、发电约束和污染气体排放系数[19]如表1所示。储能单元成本系数取自文献[12]。
表1 发电单元的成本参数、发电约束和污染气体排放系数
该微电网系统正常运行时,各节点负荷需求pDi如表2所示。
表2 各节点的负荷需求 单位:MW
由表2中参数可计算出,此时系统的总负荷为PD=850 MW。风力发电机的出力为10 MW。根据近期煤炭行业行情,煤炭单价取145 $/t,将表1中的煤耗特性系数乘以此单价,可得到发电单元成本函数式(1)中的成本参数。依据各地《排污费征收标准管理办法》中的规定,废气排污费暂且取为294 $/t,将表1中的污染气体排放特性系数乘以此数,可将污染气体排放量转化为费用。取多目标函数式(6)中的参数w1=0.5。依据文献[14]中的说明,式(13)中的调整系数可取为εi(k)=ai/ni(k),其中ni(k)表示节点i在k次迭代后接受到的所有节点的个数。例如,对于图1中的节点1,n1(1)=1,n1(2)=n1(1)+2,n1(3)=n1(2)+3+3,n1(4)=n1(3)+2+2,n1(5)=n1(4)+1=14;在第6步之后,n1(k)=14(k≥6),其余节点亦是如此。
在MATLAB平台上对本文中的微电网分布式经济调度算法进行测试。本文提供了3种典型情景的仿真计算分析:情景 1 和情景2分别验证在不考虑出力约束和考虑出力约束下,分布式经济调度算法是否与集中式经济调度算法一样,能够在满足供需平衡的条件下,收敛到最优解;情景3验证算法应对负荷变动的能力。
采用集中式经济调度算法时,若不考虑出力约束,由式(12)可知该系统经济调度最优解为λ*=122.8181 $/MW。
3.2.1 情景1
在不考虑出力约束的条件下,测试系统非领导跟随模型一致性算法的微增成本变量、各发电单元和储能单元的输出功率以及各节点的局部功率缺额,结果如图2、图3和图4所示。其中,取功率偏差δ=0.001。
图2 系统非领导跟随模型一致性算法下的微增成本变量
图3 各发电单元和储能单元的输出功率
图4 系统各节点的局部功率缺额
根据仿真计算结果可知,经过411次迭代之后,各单元的微增成本变量均收敛于最优值122.818 1 $/MW。此时,各发电单元和储能单元的输出功率分别为PG1=46.601 2 MW,PG2=329.614 4 MW,PG3=227.297 7 MW,PG6=220.297 7 MW,PB7=20 MW。各节点局部功率缺额在411次迭代之后非常接近于零,说明情景1下本文所提算法达到了供需平衡。以上仿真结果显示,分布式经济调度取得了与集中式经济调度相同的结果。
3.2.2 情景2
考虑各个发电单元的出力约束,并取δ=0.000 5。由于之前发电单元SG1的输出功率已超出下限,相应地,其他发电单元的微增成本变量将减小。经过715次迭代之后,微增成本变量再次收敛于最优值122.253 2 $/MW,该数值也与集中式经济调度的数值相同。此时,PG1=50.000 0 MW,PG2=326.936 7 MW,PG3=225.017 3 MW,PG6=218.046 4 MW,PB7=20 MW。各节点局部功率缺额在715次迭代之后再次收敛于零,再次说明本文所提算法达到了供需平衡。
3.2.3 情景3
将系统中各节点的负荷需求较正常运行时增加10%,即总负荷变为PD=935 MW,风机的输出功率提高为25 MW。因系统总需求增加,所有节点的微增成本变量再次增加,经过1 057次迭代之后,再次收敛于127.766 6 $/MW。此时,PG1=55.062 7 MW,PG2=353.074 5 MW,PG3=240.000 0 MW,PG6=241.860 2 MW,PB7=20 MW。各节点局部功率缺额在1 057次迭代之后再次收敛于零,同样说明本文所提算法达到了供需平衡。
选取节点6作为领导者,将领导跟随模型一致性算法[7]中的小参数设置为式(13)中各节点小参数的平均值0.009,通过仿真计算得到微增成本变量如图5所示。
图5 系统领导跟随模型算法微增成本变量
对比前文数据可以得出:情景1下,算法的微增成本变量在1 524次迭代后收敛于122.818 0 $/MW,本文所提算法在411次迭代后收敛,收敛速度提高了约2.7倍。情景2下,算法在2 700次迭代后收敛于122.253 2 $/MW,而本文算法在715次迭代后收敛;情景3下,算法在4 275次迭代后收敛于127.766 9 $/MW,而本文算法在1 057次迭代后收敛。
从仿真结果可看出,与已有领导跟随模型的分布式经济调度策略相比,本文算法不但可以收敛于相同的最优解,同时收敛速度明显较快。
基于一致性理论,本文提出了一种微电网分布式多目标经济调度算法。该算法有如下3个特征:利用机器人系统的工作模式获取局部功率缺额,解决了全局信息获取困难这一问题;算法中的反馈小参数由分布式算法提供,可以动态更新,不需要提前给定;不需要设置发电单元的输出功率初值之和与负荷相等,可以灵活应对系统负荷变动的情况,实现了真正的完全分布式。算例分析结果表明,该算法对发电单元出力约束和系统负荷变动等问题具有良好的鲁棒性。