基于全序排列帝国主义算法的多目标无功优化仿真研究
2019-08-16陈功贵郭艳艳
陈功贵,曹 佳,刘 耀,郭艳艳
(1.重庆邮电大学 重庆市复杂系统与仿真控制实验室,重庆 400065;2.四川外国语大学 教育学院,重庆 400031;3.武汉铁路职业技术学院 机械与电子学院,湖北 武汉 430205)
0 引 言
电力系统无功优化(Optimal Reactive Power Dispatch,ORPD)是多目标,多变量,多约束的非线性规划问题[1-4],其中网络损耗[5](Ploss)是无功优化主要考虑的目标,但仅考虑单个目标并不一定能满足实际需求,因此多目标无功优化[6-7](Multi-Objective ORPD,MOORPD)的提出对解决实际工程问题具有重要意义。针对MOORPD问题,确立了两个双目标无功优化案例:最小化网络损耗和电压偏移量以及最小化网络损耗和电压稳定性指标。
帝国主义算法(Imperialist Competition Algorithm,ICA)是一种受帝国竞争行为启发的智能优化算法[8-9],在优化问题上具有一定优势。ICA在处理单目标问题时,算法中国家位置更新以及国家优劣判断主要依赖国家权力值(目标函数值)大小,但在多目标问题中,由于存在多个相互影响的目标函数,故无法直接通过目标函数值判断国家权力。因此,本文结合非劣排序和拥挤距离计算提出了全序排列帝国主义算法(Total Rank Imperialist Competition Algorithm,TRICA)用于度量多目标问题中国家权力,将国家排序顺序作为国家权力大小的判断法则。
为了将该算法应用到MOORPD问题中,提出了多目标全序排列帝国主义算法(Multi-objective TRICA,MOTRICA)。在Matlab[10]基础上,以IEEE30节点为例针对所建立的两个双目标无功优化模型进行仿真实验。通过与多目标粒子群算法(Multi-objective Particle Swarm Optimization,MOPSO)的仿真结果进行对比研究,结果表明,MOTRICA算法具有更好的实验表现。通过对算法的改进运用可以提高学生对智能算法的理解,通过Matlab仿真图形有利于学生分析实验结果,加深学生对多目标问题的认识,进一步提高学生利用仿真平台解决实际问题的能力。
1 多目标无功优化数学模型
一般情况下,MOORPD问题中目标函数的数学模型为:
minF(x,y)
(1)
式中:F为目标函数;g和h为约束条件;x为状态变量或非独立变量;y为控制变量。
1.1 目标函数
(1)网络损耗最小。网络损耗(Ploss)是电力系统ORPD中经济运行最常见的目标之一,其表达式为:
minf1=minPloss=
(2)
式中:f1表示第1个目标;NE为总支路数;gk(i,j)为节点i、j之间k的电导;Ui和Uj分别为节点i和j的电压值;δij节点i、j之间的电压相角差。
(2)电压稳定性指标最小。局部电压稳定性指标[11-12]Lj表达式如下:
(3)
系统全局的局部电压稳定指标为:
minf2=min(Lindex)=max{Lj},j∈NPQ
(4)
式中:f2表示第2个目标,Lindex表示电压稳定性指标,其中,Lindex的数值大小和电压稳定性关系定义为如下:
(5)
(3)电压偏移最小。电压偏移是衡量电能质量的指标,也是无功优化的安全性指标,其表达式如下:
(6)
式中:f3表示第3个目标;Vd为所有PQ节点电位和理想电位的电偏移的总和;Ui为第i个PQ节点的电压;UREF表示标幺值(per unit,p.u.)为1的理想电压。
1.2 约束条件
等式约束:
0,i∈N
(7)
0,i∈NPQ
(8)
式中:PGi和PDi分别为PV节点i和PQ节点i的有功功率;QGi和QDi分别为PV节点i和PQ节点i的无功功率;Gij和Bij分别为节点i和j间输电线路的电导和电纳;Ni为节点i相连接的节点数;N为平衡节点外的节点总数。
不等式约束。不等式约束根据变量的类型可分为两类:
(1)状态变量不等式约束
PQ节点的电压ULi
ULi,min≤ULi≤ULi,max,i∈NPQ
(9)
PV节点的无功功率QGi
QGi,min≤QGi≤QGi,max,i∈NPV
(10)
视在功率Sij
Sij≤Sij,max,i∈NE
(11)
(2)控制变量不等式约束
发电机端电压UGi
UGi,min≤UGi≤UGi,max,i∈NPV
(12)
变压器抽头变比Ti
Ti,min≤Ti≤Ti,max,i∈NT
(13)
无功补偿装置约束QCi
QCi,min≤QCi≤QCi,max,i∈NC
(14)
式中:NT为变压器台数;NC为无功补偿装置的投切数;min和max分别为相应变量约束值的最小和最大值。
2 多目标帝国主义算法
2.1 原始帝国主义算法
ICA初始化Npop个个体被称为国家,根据国家权力不同又将初始个体分为帝国主义国家以及殖民地两种,其中有Nimp个较强的帝国主义国家和Ncol个较弱的殖民地国家。帝国主义国家通过占有殖民地形成帝国,随着殖民地的革命以及帝国之间竞争和侵占,最后只剩下一个帝国主义国家,而其他国家都是其殖民地。
(1)帝国初始化。对于Nvar维控制变量的优化问题,每个国家都可以表示为:
country=[p1,p2,p3,…,pNvar]
(15)
式中:pi为影响国家权力的社会属性如文化、宗教、语言等;Nvar为控制变量的维度。国家的目标函数cn如下:
cn=f(country)=f(p1,p2,p3,…,pNvar)
(16)
标准化处理帝国主义国家的目标函数Cn如下:
(17)
则帝国主义国家标准化处理后的权力pn表示为:
(18)
初始化后分配给帝国主义国家的殖民地数量NCn为:
NCn=round{pnNcol}
(19)
(2)同化过程。为了更好的掌控其占有的殖民地,帝国主义国家会将本国的思维模型和文化习俗推行到殖民地国家[13]。在此期间,殖民地会受到所属帝国主义国家的影响更新自己的位置,如图1所示。图中,更新距离s为:
s~R(0,β×d)
(20)
式中:R为s到β×d内均匀分布,β>1;d为两者的直线距离。偏离角度θ定义如下:
θ~R(-γ,+γ)
(21)
式中:0<γ<π为偏移角度的变化范围。
图1 同化过程
(3)革命过程。殖民地除了同化过程有机会改变自己的社会属性,ICA算法也允许殖民地通过突变来改变自己的社会属性,这一过程称为殖民地的革命过程。殖民地社会属性发生改变后,如果其cn低于帝国主义国家,则互换两者的位置。
(4)竞争过程。竞争过程用于模拟现实社会中帝国主义国家之间相互竞争以提高自己权力的过程。帝国的权力大小是衡量帝国在竞争过程中胜利或失败的决定性因素,其总目标函数值表示如下:
TCn=Cost(imperialistn)+ζmean{Cost(colonies of empiren)}
(22)
式中,ζ是殖民地对帝国主义国家的影响因子。
根据帝国总目标函数值可以计算标准化后的目标函数:
(23)
然后由此可以计算出帝国主义国家的侵占概率:
(24)
对于Nimp个帝国,可以将侵占概率生成一个1×Nimp的矩阵P,定义为如下:
P=[pp1,pp2,pp3,…,ppNimp]
(25)
再生成一个与P同型矩阵R,定义为如下:
R=[r1,r2,r3,…,rNimp],r1,r2,r3,…,rNimp~
U(0,1)
(26)
由此可得矩阵D:
D=P-R=[D1,D2,D3,…,DNimp]=[pp1-r1,
pp2-r2,pp3-r3,…,ppNimp-rNimp]
(27)
在矩阵D中,元素最大值的索引为侵占该殖民地的帝国主义国家:
(5)帝国灭亡。随着帝国间的竞争,权力较小的国家会被权力更大的国家所侵占。最终只剩下一个帝国主义国家,而其他的国家成为其殖民地,该帝国主义国家的位置即为算法的最优解。
2.2 全序排列帝国主义算法
帝国主义算法的寻优过程主要根据国家权力大小进行。在单目标问题中,国家权力大小通过目标函数值大小就可以确定,但是在多目标问题中,由于存在多个相互冲突或互相影响的目标函数[14],因而无法直接通过目标函数值来确定国家权力的大小。针对ICA在多目标应用中存在的问题,提出了全序排列帝国主义算法优化国家权力的度量法则,该法则首先根据约束情况对国家进行非劣排序实现层级划分,然后对同一层级的国家根据拥挤距离计算进行排序,从而实现对所有国家的全序排列。
(1)国家权力层级划分。首先根据约束违反情况对所有国家划分非劣层级,其中约束违反总合计算如下:
(28)
式中:Svio为约束违反总合;M是状态变量的不等式约束总数。
对于任意两个国家y1和y2,其占优情况可以由如下法则进行判断:
若Svio(y1) 若Svio(y1)>Vio(y2),则y2优于y1; 若Svio(y1)= Vio(y2) 若fi(x,y1)≤fi(x,y2)∀i∈{1,2,…,Npop}且fj(x,y1) (2)国家权力全序排列。由非劣排序可以将国家进行初步的层级排序,即将所有国家划分在了不同的权力层,对于同一层级的国家i和国家j,国家权力大小比较通过拥挤距离的大小进行判断,若idistance大于jdistance表明在当前层级中国家i更强,则该国家在所在层级的排序更靠前,即权力更大。由此通过国家的两个属性:国家所在的非劣层级irank和国家的拥挤距离idistance可以确定所有国家的全序排列关系。其全序排列法则如下: 若irank 若irank=jrank且idistance>jdistance,则inj; (3)最优折衷解确定。改进算法应用到多目标问题中得到帕累托前沿[15]后,利用模糊群决策法[16]可以从帕累托前沿中找到最优折衷解,第k个目标的隶属度定义为: (29) (30) 式中:Nobj是目标函数个数,yfi最大的帕累托解为所求的最优折衷解。 全序排列思想不仅应用于国家权力大小的比较,还应用于多目标问题中外部储存空间中个体的更新。在算法迭代过程中,通过全序排列实现对所有国家权力的度量优化找到最优的国家个体集。外部储存空间则保留下每一代的优秀个体,并且通过全序排列再次对保留的所有个体进行二次筛选,保留住最优秀的N0个个体,维持外部储存空间的容量不变。改进算法处理MOORPD问题的流程图如图2所示。 图2 MOTICA无功优化流程图 为验证MOTRICA的有效性和性能,采用IEEE30节点测试系统为例证明MOTRICA在MOORPD问题上的有效性。3个控制变量的变化范围分别为:发电机端电压上、下限值为1.1p.u.和0.9p.u.;变压器抽头变比上、下限值为1.1和0.9;无功补偿容量的上限值为0.3p.u.;其中功率的基准值等于100 MVA。将MOTRICA分别应用到案例1(最小化网络损耗和电压稳定性指标)和案例2进行优化(最小化网络损耗和电压偏移量),每种算法分别运行30次,并将所得结果与MOPSO算法结果进行对比。参数设置如表1所示。 表1 算法参数设置 该案例对网络损耗和电压稳定性指标进行优化,并在IEEE30节点中进行电力系统MOORPD测试实验。图3为MOTRICA和MOPSO两种算法的帕累托前沿对比图。由图3可见,两种算法都能获得帕累托前沿,但MOTRICA算法收敛效果更优。图4标注了MOTRICA算法求出的最小网络损耗,最小电压稳定性指标以及利用模糊群决策法找到的最优折衷解。 表2给出了MOTRICA和MOPSO算法在IEEE30节点测试系统中各目标的最小目标值以及最优折衷解。由表2可见,采用MOTRICA算法获得的最小Ploss,最小Lindex以及最优折衷解都比MOPSO算法得到的结果好。在最优折衷解中,相比于MOPSO,Ploss和Lindex分别减少约1.14×10-4p.u.和1.39×10-3。MOTRICA获得的最小Ploss和最小Lindex比MOPSO所得结果减少约5.1×10-5p.u.和8.2×10-3。 图3 帕累托前沿对比图(案例1) 图4 MOTRICA帕累托前沿(案例1) 表2 优化结果对比(案例1) 该案例对网络损耗和电压偏移量两个目标函数进行同时优化,如图5所示为算法所获得的帕累托前沿对比图。可以看出采用MOTRICA算法找到的最小网络损耗和最小电压偏移量以及最优折衷解都比MOPSO算法所得到的结果更好,且MOTRICA能够得到分布更加均匀的帕累托前沿。图6标注了MOTRICA算法求出的最小网络损耗,最小电压偏移量和以及利用模糊群决策法找到的最优折衷解。 图5 帕累托前沿对比图(案例2) 图6 MOTRICA帕累托前沿(案例2) 采用模糊群决策方法获得的最优折衷解以及通过算法求得的最小Ploss和最小Vd结果对比如表3所示。从表3可以看出,采用MOTRICA所获得最优折衷解比MOPSO算法所获得的最优折衷解更优,且最小Ploss和最小Vd数值也更小。在最优折衷解中,相比于MOPSO,Ploss和Vd分别减少约7.3×10-5p.u.和1.711×10-2。MOTRICA获得的最小Ploss和最小Vd比MOPSO所得结果分别减少约6.3×10-5p.u.和3.81×10-3。 表3 优化结果比较(案例2) 为解决多目标无功优化问题并将帝国主义算法应用到多目标问题中,建立了两个双目标无功优化模型,引入了非劣排序和拥挤距离计算对国家进行层级排序和全序排列用于解决算法中国家权力的度量问题,基于此提出了全序排列帝国主义算法用于解决MOORPD问题。将从IEEE30节点系统得到的实验结果与MOPSO算法进行对比研究,结果表明MOTRICA在两个双目标模型中能找到使系统网络损耗更小且电能质量更高,网络损耗更小且电压稳定性更好的解,由此验证了MOTRICA的有效性和优越性。将算法改进和仿真实验应用到电力系统教学中,使学生能够更形象直接的掌握算法思想,更深入的理解MOORPD问题,进一步拓展了学生的综合实践能力。2.3 改进算法处理多目标无功优化问题
3 基于Matlab的无功优化仿真实验
3.1 案例1结果分析
3.2 案例2结果分析
4 结 语