改进麻雀搜索算法在分布式电源配置中的应用
2021-10-28王海瑞鲜于建川
王海瑞,鲜于建川
上海电机学院 商学院,上海 201306
随着我国经济与社会的全面发展,电力需求不断增大,DG依靠其占地少、环保清洁、灵活调配的特点,在未来智能配电网中的应用越来越广泛。DG接入配电网的首要问题就是如何合理选择DG在配电网中的接入位置与接入容量,最大程度降低网络损耗,改善配电网的电压分布。该问题是一个典型的高维非线性问题,传统数学优化方法难以求解,因此,智能算法是目前解决DG优化配置问题的主要手段。
杨更宇[1]使用粒子群算法对DG优化配置模型进行了求解,分析了算法的参数对配置结果和算法性能的影响。粒子群算法具有较快的求解速度,但容易陷入局部极值,且受初始参数的影响较大。蒙璟等[2]构建了基于粒子适应度的权重更新函数,通过判断父辈粒子适应度与平均适应度的差别来确定下次位置更新时采用的权重值。Das等[3]以网络损耗最小、电压偏差最小、投资成本最小为优化目标,使用遗传算法对可调度分布式发电单元和并联电容器在配电网的位置与容量进行了优化求解。遗传算法的变异和交叉操作有利于保持群体的多样性,避免了在搜索初期陷入局部极值,全局搜索能力较强。唐雪晨等[4]利用人工鱼群算法对分布式光伏发电进行规划,以最小化网络损耗和电压偏差为目标函数,人工鱼群算法的聚群行为能够很好地跳出局部极值,具有全局搜索强的优点。Dinakara等[5]采用了鲸鱼算法,确定DG的最佳位置和容量,鲸鱼算法通过随机包围与螺旋策略,具有较强的全局搜索能力,在求解精度和收敛速度上均优于粒子群算法。曹申等[6]将人工免疫系统的多样性、免疫记忆特性与传统粒子群算法有机结合,提高了算法的全局搜索能力,避开了粒子群算法早熟的问题。李军等[7]提出了萤火虫优化算法和天牛须搜索优化算法的混合优化算法,混合算法将萤火虫算法前期计算得到的初步最优解作为天牛须算法的初值,舍弃了种群中的劣解,减少了计算量,加快了整体收敛速度。采用不同的算法,获得的DG配置效果不同。
近年来,许多学者通过对不同生物种群和物理现象的分析,相继提出了很多新型智能优化算法,例如,和声搜索算法[8]、萤火虫算法[9]、蝙蝠算法[10]、蝴蝶优化算法[11]、蝗虫优化算法[12],算法技术也在不断交替更新。麻雀搜索算法[13-14]由薛建凯于2020年提出,具有参数设置简单、收敛速度快、易于实现的优点。李雅丽等[15]的实验结果表明新提出的麻雀搜索算法相比于其他的智能算法具有更高的收敛精度与稳定性。但麻雀搜索算法同其他智能优化算法一样,在解决复杂工程问题时,仍存在当其搜索接近全局最优时种群多样性减少,易“早熟”陷入局部最优以及搜索结果不稳定的缺陷。
本文对SSA进行研究改进,通过引入Tent混沌序列、Levy飞行策略和柯西高斯扰动增强算法的收敛精度与稳定性,同时针对SSA在解决实际工程问题时的不足优化麻雀的位置更新公式,提高算法的工程实用性。以4个基准测试函数与其他智能算法作对比,验证改进麻雀搜索算法(Improved Sparrow Search Algorithm,ISSA)的优越性,同时将改进的SSA应用于DG优化配置问题的求解,验证其解决电力工程优化问题的实用性。
1 DG优化配置模型
DG接入配电网后,会引起配电网的潮流的变化,具体变化程度与DG在配电网的接入位置与接入容量密切相关。因此,DG优化配置的核心问题就是如何根据配电网的网络结构与各节点的负荷大小,合理地选择DG在配电网中的接入位置与接入容量,以减小网络有功损耗,改善电压分布,提升配电网的运行效益。
1.1 目标函数
本文以最小化配电网有功损耗与电压偏差为目标函数。
式中,λPL与λVD分别为有功损耗和电压偏差的变化系数,计算公式如下,αi为权重系数。
(1)配电网有功损耗变化系数
式中,PLoss为未接入DG时原配电网的总有功损耗;为接入DG后的配电网总有功损耗。配电网总有功损耗计算公式如下:
式中,PLoss为系统网络总有功损耗;L是配网中支路总数;R是支路l的电阻;I l是流过支路l的电流;Pl为支路l末端通过的有功功率;Q l为支路l末端通过的无功功率;U l为支路l末端节点的电压。
(2)电压偏差变化系数
式中,V d为未接入DG时原配电网的电压偏差值;V'd为接入DG后的配电网电压偏差值。电压偏差的计算公式如下:
式中,V D为电压偏差;Ui为节点i实际电压幅值;为节点i的额定电压幅值。
1.2 约束条件
DG优化配置需满足以下等式约束、不等式约束。
(1)潮流等式约束
式中,n为系统总节点数;P i、Q i分别为第i节点的负荷有功、无功功率;PDG-i、QDG-i分别为第i节点接入的DG有功功率、无功功率;U i为节点i的电压;U j为节点j的电压;G ij为节点i、j之间的电导;Bij为节点i、j之间的电纳;δij为节点i、j之间的相角差。
(2)节点电压U i与支路电流I ij不等式约束
式中,Umin、Umax分别为节点i的电压下限与电压上限;I ijmax为允许支路通过的最大电流值。
(3)DG容量约束
DG接入配电网,需要满足配电网的运行指标,若出现偏差,通常由配电网进行系统调节,维持电网的稳定运行,为保证配电网的运行安全,需要对DG的接入量施加一定的限制,一般情况下,DG的接入的总功率应限制在配电网总负荷量的10%~30%。
式中,PmaxiDG为单个节点允许接入的最大DG容量;μ为DG渗透率;PLoad为配电网总负荷。
2 改进麻雀搜索算法
2.1 基本麻雀搜索算法
基本SSA是模拟麻雀搜索食物过程的一种新型智能算法,通过比较适应度值,不断更新发现者、加入者、警戒者的位置,找到目标函数的最优解。
在SSA中,发现者具有较好的适应度值,负责为整个麻雀种群寻找食物并为所有加入者提供觅食方向,发现者的位置更新公式如下[14]:
式中,t代表当前迭代次数,j=1,2,…,d,其中d代表解的维度,itermax为最大迭代次数。X i,j表示第i只麻雀在第j维中的位置。α∈(0,1]是一个随机数。R2(R2∈[0,1])和ST(ST∈[0.5,1])分别表示预警值和安全值。Q为一个服从正态分布的随机数。L为一个1×d的矩阵,其中该矩阵内每个元素都为1。
麻雀种群中的加入者会时刻监视发现者,一旦察觉到发现者搜索到更好的食物位置,便会马上离开现在的位置去争夺食物,加入者的位置更新公式如下[14]:
式中,X p为目前发现者所占据的最优位置,Xworst表示当前全局最差位置。A为一个1×d的矩阵,其中每个元素随机赋值为1或-1,并且A+=AT(AAT)-1。m为麻雀总数,当i>m/2时,表明适应度值很低的第i个加入者没有获得食物,处于十分饥饿的状态,需要飞向其他地方进行觅食。
警戒者是在种群中随机产生的,其位置更新公式如下[14]:
式中,Xbest是当前的全局最优位置。β为步长控制参数,为服从均值为0,方差为1的正态分布的随机数。K∈[-1,1]是一个随机数,f i则是当前麻雀个体的适应度值。f g和f w分别是当前全局最优和最差的适应度值。ε为一个很小的数,避免分母为零。
2.2 改进策略
2.2.1 Tent混沌
利用Tent混沌映射替代SSA中随机生成的方式初始化麻雀种群。混沌是非线性确定系统中由于内在随机性而产生的外在复杂表现,是一种貌似无规则的非随机运动,具有随机性、遍历性及规律性等特点[16]。常见的Logistic映射便是一种典型的混沌系统,文献[17]通过对比实验指出,Tent映射比Logistic映射具有更好的遍历均匀性。Tent映射迭代公式如下:
式中,a∈(0,1),X n∈[0,1],n=1,2,…。
Tent映射涉及的参数较少,操作比较简单。设置系数a=0.3,随机初始值,将Tent映射迭代200次,得到的[0,1]区间范围内值的分布情况如图1所示。
图1 Tent混沌序列分布Fig.1 Tent chaotic sequence distribution
在SSA中,初始化麻雀种群位置时,通常直接随机生成初始种群,而采用Tent混沌映射生成的初始种群,更具遍历均匀性,进而利用Tent混沌映射能够提高初始解的质量与精度,有助于提升算法的全局搜索性能和搜索的稳定性。
2.2.2 Levy飞行
在加入者位置更新公式中引入Levy飞行的随机步长。根据式(10),SSA中大量的加入者在察觉到发现者搜索到了更好的食物位置时会涌入发现者周围的搜索区域,具有明显的趋同性,使得发现者周围搜索区域的种群密度过高,减小了种群位置的多样性,从而易陷入局部最优。本文将Levy飞行产生的随机步长s引入到加入者的位置更新策略中,利用Levy飞行方向与步长的不确定性特点来增强加入者搜索方向的多元性,进而提高种群位置的多样性,避免搜索陷入局部最优。Levy飞行的随机步长s可以由下式计算[18]:
由图2可以看出Levy飞行因短距离和长距离搜索相互穿梭,产生随机步长s没有确定的方向和大小,加入者在靠近发现者的过程中既可大范围地粗略搜索,又可小范围地精细搜索,有效避免了趋同性,增强了种群位置的多样性,进而提高了算法的搜索能力。加入者的位置更新公式在加入Levy飞行策略后由式(10)更改为:
图2 1 000次levy飞行步长分布Fig.2 Step size of 1 000 levy flights
2.2.3 发现者与加入者位置更新公式改进
改进SSA中发现者与加入者的位置更新公式。比较y1与y2的函数图(见图3)发现,式(9)中在R2 另外分析式(10)发现,加入者中适应度值较低的麻雀个体,按照原位置更新公式更新后,相当于将解重置为1附近的数,同样对于某些最优收敛解在1或0附近的目标函数较为有效,而在实际工程应用中,这些麻雀通常整体飞往了更低适应度值的地方,同时,适应度值适中的麻雀个体,直接用当前最佳个体取代,虽然提高了一定的收敛速度,但会浪费这部分麻雀的搜索区域,降低搜索精度。综合比较加入者个体适应度值的特点,适应度值适中的麻雀按当前的搜索区域向最佳麻雀个体方向进行搜索,而适应度值低的麻雀个体飞往发现者最佳位置附近搜索。加入者的位置更新公式在Levy飞行策略的基础上由式(14)更改为: 2.2.4 高斯与柯西扰动 高斯扰动来源于高斯分布,具体指在每次迭代寻优过程中,用一个高斯分布的随机数对搜索到的最优解进行扰动,扰动公式为: 式中,x为原来的解;N(0,1)表示期望为0、标准差为1的高斯分布随机数;x′为高斯扰动后的解。 柯西扰动来源于柯西分布,类似于高斯扰动,在每次迭代寻优过程中,用柯西分布的随机数对搜索到的最优解进行扰动,扰动公式为: 式中,C表示柯西分布的随机数。 根据高斯分布特性可知,高斯扰动的主要扰动区域为原个体附近的局部区域,有利于算法高效地找到当前搜索区域极小值点。柯西分布与高斯分布之间的差异主要表现在:柯西分布在垂直方向上略小于高斯分布,在水平方向上更接近水平轴,所以柯西分布具有较高的两翼概率特性,更易产生一个远离原点的随机数,有利于帮助算法跳出局部最优,防止“早熟”。因此,本文在算法寻优前期使用柯西扰动,尽可能大范围搜索,较好地避免“早熟”,在寻优后期使用高斯扰动进行更细致的小范围搜索加快收敛速度。 更新发现者位置,根据麻雀适应度值大小按式(16)更新加入者位置,按式(11)更新警戒者位置。 步骤5根据当前迭代次数t进行柯西高斯扰动。 步骤6更新麻雀种群个体适应度值f i,并重新排序确定最优与最差适应度值f g、f w及对应位置Xbest、Xworst。 步骤7判断算法是否到达最大迭代次数i termax,若是,则输出麻雀种群最优适应度值f g作为求得的最优目标值,最优适应度值对应的麻雀位置Xbest作为求得的最优目标解,即DG的配置结果;否则转入步骤4继续运行。 改进算法的复杂度分析: 时间复杂度取决于算法执行的次数,在基本SSA中,时间复杂度主要受麻雀种群规模m、搜索空间维度d、最大迭代次数itermax的影响,复杂度为O(itermax×m×d)。ISSA是由基本SSA改进而来,引入的Levy飞行策略增加了O(i termax×m×d)的运算量;为避免陷入局部最优而引入的柯西高斯扰动增加了O(itermax×m)的运算量,因此ISSA的时间复杂度为O(2itermax×m×d+itermax×m),高于SSA的时间复杂度,当优化问题的空间维度较高时,ISSA的时间复杂度近似为O(itermax×m×d),与基本SSA一致。此外,空间复杂度主要受麻雀种群规模m和搜索空间维度d的影响,两者算法的空间复杂度均为O(m×d)。 根据前文改进策略得到的ISSA求解DG优化配置问题的流程如图4所示,步骤如下: 图4 ISSA求解流程图Fig.4 Flow chart of ISSA 步骤1输入配电网节点、支路数据以及ISSA参数包括麻雀种群规模m、发现者比例PD、警戒者比例SD、安全值ST、目标解的维度d、解的上下限ub、lb、最大迭代次数itermax。 步骤2应用Tent混沌映射初始化麻雀种群,生成m只d维麻雀个体Xi,即生成DG初始化容量。 步骤3根据目标函数计算每只麻雀的个体适应度值f i,并排序确定当前最优适应度值f g和最差适应度值f w以及对应的位置Xbest和Xworst。 步骤4根据随机值R2与安全值ST的大小按式(15) 为了验证ISSA的先进性,分别采用近几年提出的较新的BOA[19]、WOA[20]与基本SSA、ISSA算法对4个基准测试函数进行对比实验。基准测试函数如表1所示,其中F1、F2为单峰测试函数,F3、F4为多峰测试函数。 表1 测试函数Table 1 Test functions 四种算法的种群规模m统一设为30,最大迭代次数itermax设为200。为避免搜索结果的偶然性,以及证明ISSA的稳定性,每种算法分别对各个测试函数进行60次独立实验,统计60次独立实验得到的每种算法对各测试函数求解的最优解、平均值、标准差作为评价指标,实验结果如表2所示。 表2 测试结果Table 2 Test result 由表2可知,对比单峰测试函数搜索的最优解和平均值可以看出,ISSA具有更好的收敛精度,其中对F1函数的测试精度相比于SSA提高了100多个数量级,且ISSA的标准差为0,表明搜索性能更稳定。多峰测试函数的测试结果与单峰测试结论一致,ISSA的收敛精度与收敛稳定性更强,验证了ISSA的有效性。 本文采用IEEE 33节点配电系统进行DG优化配置仿真分析,配电网结构如图5所示。 图5 IEEE33节点系统拓扑结构Fig.5 Topology structure of IEEE33-node system 该系统有33个负荷节点、32条支路,首端基准电压U为12.66 kV,总负荷为3 715+j 2 547 kVA,功率基准值为10 MVA,IEEE 33节点配电网数据详见文献[21]。系统允许电压上下限分别为额定电压的1.05和0.9倍,DG渗透率取30%。 运用ISSA求解DG优化配置问题即是用ISSA对最小化配电网有功损耗与电压偏差的目标函数进行求解寻优。每一只麻雀代表一项配置方案,每只麻雀的维数代表配电系统节点的编号,每只麻雀的各维的取值即为接入DG的容量大小,麻雀个体适应度即为目标函数值。通过对发现者、加入者、警戒者位置的更新,来得到麻雀种群的最优位置,进行若干次迭代寻优后,返回最优适应度值对应的最优位置即为所求DG配置方案。 ISSA的参数设置参考文献[14],麻雀总数设为100,发现者数量与意识到危险的麻雀数量占麻雀总数的20%,安全阈值为0.8,最大迭代次数为300。 分别使用BOA、WOA、SSA以及ISSA对DG优化配置问题进行求解,进行15次独立仿真实验,得到的优化目标函数平均值与标准差如表3所示。 表3 DG优化配置目标函数结果对比Table 3 Comparison of objective function results for optimal allocation of DG 由目标函数可知,配电网接入DG以减小有功损耗与电压偏差,因此求解得到的目标函数值F越小,对应的DG优化配置方案更优。仿真结果表明SSA、ISSA的收敛结果优于BOA和WOA,体现了SSA作为一种新型智能算法自身的先进性,ISSA求得的平均值与标准差相比于SSA更低,体现了较好的改进效果。 BOA、WOA、SSA以及ISSA所求得的DG优化配置方案如表4所示。原配电网与按各算法接入DG后的配电网各支路有功损耗和各节点电压分布如图6、图7所示。结果表明接入DG后都能有效降低配电网有功损耗与电压偏差,改善配电网的运行效益,但使用不同的算法的所获得的改善效果存在一定的差异,使用BOA、WOA、SSA、ISSA求得的DG配置方案分别降低了原配电网61.76%、62.15%、63.69%、64.15%的有功损耗与49.29%、50.88%、52.07%、52.96%的电压偏差,ISSA的改善效果最佳。 表4 DG优化配置方案结果Table 4 Results of DG optimal configuration scheme 图6 配电网支路有功损耗Fig.6 Power loss of distribution network branch 图7 配电网节点电压分布Fig.7 Distribution network node voltage distribution BOA、WOA、SSA以及ISSA寻优的收敛曲线如图8所示。通过收敛特性曲线可以看出,WOA陷入了局部最优,BOA还未搜索到最优解,ISSA相比于SSA在50次迭代后跳出了局部最优,获得的收敛精度更优,说明改进后的SSA具有更强的跳出局部最优的能力。以上算法在解决DG优化配置问题上的结果对比,也验证了ISSA更具工程实用性,体现了改进效果。 图8 收敛特性曲线Fig.8 Convergence characteristic curve 本文提出了一种解决DG优化配置问题的新型改进麻雀搜索算法,将Tent混沌序列、levy飞行策略、柯西高斯扰动引入SSA中,有效改善了初始解的质量,增强了种群的多样性,提升了算法跳出局部最优解的能力,进而提高了算法的整体寻优性能,另外对SSA的位置更新公式进行了优化调整,提升了算法的工程实用性。基准测试函数结果表明ISSA在求解精度与求解稳定性上有了极大提高,验证了改进算法的有效性。运用ISSA对DG优化配置问题进行求解,相比于现有的BOA、WOA算法找到了更优的DG配置方案,有效降低了原配电网64.15%的有功损耗与52.96%的电压偏差,提高了配电网运行效益。SSA提出时间较短,后续可继续融合其他智能算法的优点对SSA进行改进提升,并运用到复杂的优化问题中,拓展算法的应用范围。2.3 ISSA求解流程
3 仿真与测试
3.1 算法测试
3.2 DG优化配置仿真
4 结束语