基于改进差分进化鲸鱼算法的经济负荷分配

2022-04-02 05:27李海明
计算机技术与发展 2022年3期
关键词:差分鲸鱼交叉

马 健,李海明,李 鑫

(上海电力大学,上海 201306)

1 概 述

电力经济负荷分配(economic load dispatch,ELD)指的是对某一区域配电网中的所有机组进行负荷的经济型分配,使得在成本最小的情况下利用现有资源可靠地满足用户的需求,以获得最大经济效益。

由于发电机组的阀点效应、配电网输送性能差异的限制以及功率平衡的和机组运行条件的约束,在分配机组负荷时往往使得最优解的求解区域无法拓宽。早期通常选择拉格朗日法、动态规划法等数学常规优化方法处理该类负荷分配问题[1]。除此之外,当配网系统中出现较多机组时,发电机组两端表现出的高维特性是基本数学优化方法所无法快速求解的。

近些年来,许多学者提出使用群智能算法来应对ELD问题中的难点。群智能算法对计算中目标函数的种类、计算数据的不确定性和搜索空间的结构具有很强的适应性,能够处理电网损耗、阀点效应、燃料差异等因素带来的影响,使得求解结果更加符合工程实际。目前,粒子群算法(particle swarm optimization,PSO)[2]、遗传算法(genetic algorithm,GA)[3]、簇类进化算法(cluster evolutionary algorithm,CEA)[4]、差分进化算法(differential evolution,DE)[5]等在最优化领域均取得了不错的成果。

陈皓等在文章中提出了一种基于簇类搜索驱动的群体进化算法,该算法提出通过聚类对进化个体构建具有相互关联的簇类化组织,实现了对计算过程进行有目标的调整和优化[6]。Rahmat N等提出利用差分进化免疫蚁群优化算法解决具有阀点效应的ELD问题。该算法将原始蚁群优化算法通过差分进化和人工免疫算法的突变、交叉、选择和克隆过程来改善原始算法的计算速度和防止计算进入停滞[4]。Sen T等提出了三种元启发式算法的混合,蚁群优化(ant colony optimization,ACO)、人工蜂群算法(artificial bee colony,ABC)和谐波搜索(harmony search,HS)。寻找初始解集的任务由ACO算法处理。ABC算法检查并增强了由ACO算法生成的解,而HS算法从解集中删除了平庸的解,并用更高质量的解替换了它们[7]。Chen X提出了一种通过双种群自适应DE算法(dual-population adaptive differential evolution,DPADE)处理考虑阀点效应的大规模复合燃料ELD问题的方案[8]。

鲸鱼优化算法(whale optimization algorithm,WOA)[9]在近些年已成功应用于水库群供水[10]、断路器的生产优化[11]、鲁棒多用户检测[12]、微网复合储能系统容量优化配置[13]、电网无功优化调度[14]等方面。WOA算法虽然结构简单,寻优方式新颖独特,但同其他传统的优化算法一样,在搜寻速度、搜寻最优解的精度方面仍不理想,也难以摆脱局部最优的困境,且在寻优的后期易出现搜索疲软的特征。DE算法是一种全局收敛性良好,运算操作步骤简洁的典型算法,但该算法初始种群的选取具有不稳定性,参数的选择不当将使算法在初期就陷入局部最优。

为此,考虑将鲸鱼优化和差分进化算法分别改进,然后选取两种算法各自的优点,合并成一种改进的差分进化鲸鱼优化算法(improved differential evolution whale optimization algorithm,IDEWOA)。首先使用WOA算法中的捕食和气泡网策略来代替DE中的变异步骤,更新种群信息。然后将算法中的收敛因子调整为特殊的非线性更新策略以增强算法的探索能力。最后引入差分进化算法的交叉和选择环节增强种群的多样性,防止在求最优解的过程中收敛精度的过早下降。同时在交叉环节采用淘汰机制,提高了算法的寻优效率,从而证明了该算法在求解ELD问题中的优越性。

在上述研究的基础上,该文选取13机组和40机组的电力系统负荷,用改进的新算法对其进行优化分配的仿真测试,最后将该算法与标准鲸鱼优化算法、标准差分进化算法等进行对比分析,验证了该优化算法的优越性。

2 经济负荷分配模型

2.1 目标函数

电力系统经济负荷分配模型中,目标函数的解实际为整个电力系统机组发电费用的最小值:

(1)

式中,F为机组发电所需的耗费;Fi(Pi)为机组i的费用特征函数;Pi为机组i的运行功率;ai,bi,ci为耗量特征参数。

2.2 阀点效应

阀点效应将引起发电机组的耗量曲线上的不连续现象,其主要原因是机组气阀在运行过程中突然启动造成的拔丝现象。将阀点效应纳入计算中有利于提高负荷分配问题最优解的精度,故引入阀点效应之后的数学模型为:

(2)

(3)

2.3 约束条件

2.3.1 功率平衡约束

(4)

其中,m为系统中发电机组之和;PD为电力系统中的负荷目标值;PL为电网的损耗值。在一定配电网范围下,当系统内负荷集中分布且覆盖面较小时,其网络损失可忽略不计,故将式(4)调整为如下形式:

(5)

2.3.2 机组运行约束

(6)

综上所述,考虑了阀点效应、功率平衡约束和运行功率约束的ELD问题的数学模型为:

(8)

由上式可知,ELD问题的数学模型中含有非线性等式和不等式约束的限制,其函数变量不可微且不连续,所求的可行解范围非凸。为更有效地求解ELD问题,该文提出将原先的两种算法加以改进并组合成一种新型优化算法。

3 改进的差分进化鲸鱼优化算法

3.1 经典鲸鱼优化算法

WOA算法的灵感来源于座头鲸的捕猎行为。算法的主要步骤为包围猎物、气泡网捕食、搜寻新猎物三步,算法的寻优过程如下:

(1)包围猎物。

包围猎物阶段,当前种群的鲸鱼个体根据食物所在位置开展包围行动,以当前迭代中适应度最佳的鲸鱼坐标作为猎物所在的位置,而其他鲸鱼则通过不断更新自己坐标来包围猎物,其位置更新公式如下:

XG+1=X*-A·|XG-C·X*|

(9)

其中,X*为本次迭代最优解个体的坐标,XG为该鲸鱼种群的坐标,A为收敛因子,由式(10)得出:

A=2a·r-a

(10)

A采用线性递减策略从2变化至0。C为一个随机数,表示鲸鱼捕食的摆动行为,由式(11)得出:

C=2·r

(11)

在式(10)和式(11)中,r表示为(0,1)的常数。

(2)气泡网捕食。

WOA中的气泡网捕食阶段,主要由螺旋吐气泡与包围捕食两种策略构成,其中螺旋运动按照公式(12)进行移动:

XG+1=D·ebl·cos2πl+X*

(12)

式中,D=|X*-Xt|表示该个体与目标猎物之间的距离,b为螺旋线常量,一般取1,用于定义鲸鱼运动方式,l取值为[-1,1]。

在WOA中,鲸鱼螺旋线运动与包围捕食同时进行,故通常假设鲸鱼均有一半的可能性选择其中一种方式靠近猎物,其坐标迭代表达式如式(13)所示:

(13)

式中,p为[0,1]的随机数。

(3)搜寻新猎物。

当|A|<1时,鲸鱼继续进行包围性的搜寻,并依照式(9)改变其本身的坐标;当|A|≥1时,鲸鱼进行随机的全局搜寻,防止出现局部最优。其坐标迭代表达式如下:

D'=|XG-C·Xrand|

(14)

XG+1=Xrand-A·D'

(15)

其中,Xrand表示该种群中的任意一头鲸鱼,D'为此鲸鱼与其寻找到的更优猎物间的距离。

3.2 经典差分进化算法

(1)变异环节。

在当前种群G的所有个体Xi,G(i=1,2,…,N)中选取互异的三个作为变异个体:

Vi,G+1=Xr1,G+F*(Xr2,G-Xr3,G)

(16)

式中,r1,r2,r3表示[1,N]中的随机自然数,同时满足r1≠r2≠r3≠i,F为缩放因子,文中取F=0.5。

(2)交叉环节。

交叉环节为使交叉后的种群Ui,G+1(i=1,2,…,N)中能至少包含一个变异个体,采用以下策略保证变异个体Vi,G的贡献率:

(17)

式中,rand(j)的取值范围为[0,1];rnb(i)表示[1,N]中的随机整数;CR为交叉概率因子,用以控制交叉的程度,文中取CR=0.5。

(3)选择环节。

交叉环节后得到的个体Ui,G+1与当前个体Xi,G进行优劣对比,选择适应度更佳的个体放入下一代种群。

(18)

3.3 改进的差分进化鲸鱼优化算法

文中将具有较强探索能力的DE整合到WOA中,来完善WOA开发算法空间的能力。每轮迭代的初始阶段,WOA利用气泡网和猎物搜寻机制对种群个体的位置进行预处理变异,生成初始化种群,再由DE对鲸鱼算法处理过的种群进行交叉和选择,来进行种群的更新迭代。具体改进方法如下:

3.3.1 约束条件处理

考虑到功率平衡约束在高维情况下复杂度过高的情况,文中提出一种将运行约束和功率平衡约束同时考虑在内的策略,具体步骤如下:

Step1:设置种群序号为i(i=1,2,…,N),N为种群数量。

Step2:计算当前种群i中所有机组的功率之和Psum与系统需求的总负荷值PD,并计算其差值。若差值不为0,则继续下一步;若为0,则跳转至Step5。

Step3:随机生成一个序号r(r为[1,m]内的任意整数),将该序号下r机组的有功功率Pi设置为Pi=Pi-(Psum-PD)。

Step4:检查Pi的机组运行约束,若超出上下限,则将其设置为上下限。跳转至Step2。重新验证是否满足差值为0。

Step5:i=i+1依次对所有种群的机组进行约束调整,直到所有种群的Psum与系统需求的总负荷值PD的差值均为0。

3.3.2 鲸鱼优化算法取代差分进化算法的变异部分

Wi,G+1=

(19)

其中,Wi,G+1为新一代变异种群。即用Wi,G+1代替Vi,G+1进行下一步的交叉操作。

同时改进鲸鱼优化算法的变异操作:WOA的探索和开发能力的相互协调引导着整个算法的走向。其中,探索能力指的是搜索更广的区域范围,跳出局部最优的能力;开发能力指的是对已知解附近的区域进行局部搜索的能力,有利于加快收敛速度。

3.3.3 收敛因子的改进

通过文献[11,15]可知,WOA算法中的收敛因子a对该算法的探索和开发能力有着至关重要的影响:收敛因子a越大,算法的全局搜索性能越强;若收敛因子a越小,则算法的局部寻优性能越强,收敛速率越高。而在标准WOA算法中,随着迭代的进行,收敛因子a这种线性递减的方式虽然让算法在前期拥有较好的全局搜索能力,但收敛速度过慢;而当算法即将达到最大迭代次数时,收敛因子a才逼近零点,其收敛速度才有所加快,但已经无法摆脱局部最优的困境,没有做到探索和开发的良好协调。因此原始的WOA算法中的收敛因子并不能有效利用算法的优越性。

现有的研究中,已有多种非线性更新策略。文献[12]中提出用三角函数代替原收敛因子,公式如下:

(20)

式中,t和T分别表示当前迭代次数和最大迭代次数,下同。

文献[16]则提出采用分段的收敛因子更新策略,公式如下:

(21)

文献[17]提出一种以e为底的正指数形式的收敛因子更新策略,公式如下:

(22)

文中提出一种以常数为底的负指数形式的自适应收敛因子更新策略:

(23)

其中,μ表示一常数,其取值根据算例的自身情况而调整,经过实验测试,取μ=1 000为最佳。

将上述四种策略函数与线性递减的曲线绘制在同一幅图中,如图1所示(取迭代次数T=2 000)。

从图1中可知:负指数形式递减的更新策略相比于其他策略函数,其在算法的早期迭代阶段保持了较大的a值,使算法跳出局部极值的机会更多;在算法的中期,函数单调递减幅度高于其他四种策略,且能够将收敛因子a骤降到一个较小的值,从而有效保证收敛的高效性;而后期最优解的搜索范围基本确定,该策略中的收敛因子a又处于较小值且递减速度缓慢,算法的最终收敛精度得到了保障。

如图2所示,文中将仅采取非线性负指数形式递减策略的鲸鱼算法与经典鲸鱼算法进行检验(算例采用文章中的13台机组系统)对比。由图可知,采取非线性收敛因子的鲸鱼算法取得的全局最优极小值所需要的迭代次数更少,极值更小,且在早期阶段就实现收敛,可有效改善传统鲸鱼算法中线性递减所带来的收敛性能不佳等负面效应。

3.3.4 引入交叉操作和淘汰机制

改进差分进化的交叉操作:交叉因子CR的大小很大程度上决定了差分进化算法的收敛性能。从等式(17)可知,CR值越大,Vi对Ui的贡献率越高,这意味着交叉操作后种群中将包含更多的变异个体;CR的值越小,Xi对Ui的贡献率越低,算法开拓其他区域解的能力越差,收敛效率不佳,但有利于保留原始个体特征(维持物种的多样性),从而使得算法在局部求解期间具有更高的成功率。

因此,若要在早期阶段更稳定地保持种群的多样性,则应从一个较小的CR值出发,以维持初期的多样性和成功率,而后逐渐增加CR,提升后期的收敛速度,从而有效减少整个迭代中陷入局部最优的次数,这才是较为理想的CR变化规律。

此外,文中提出在交叉操作中提前筛选变异的个体,从而为种群中优秀的个体提供更多的机会;而劣势个体则被赋予较低的选择概率而被逐渐淘汰。因此,文中提出了一种基于个体适应度的淘汰机制(以求解最小值为例):

(24)

其中,CRmax和CRmin分别为CR的最大值和最小值。同时,每次迭代都会计算所有种群个体适应度的平均值fav并寻找最佳的适应度fmin。以寻找全局最小值为例,如果种群适应度的平均值fav低于个体当前的适应度fi,可以将此个体视为优势个体。单独个体的交叉率CR将根据接近最佳适应度的程度而自适应调整。如果适应度的平均值fav高于个体当前的适应度fi,则可以将此个体视为劣势个体。该个体的CR将被重新设置为CRmin。因此,优势个体将不断被保留至下一代,劣势个体由于被选择的概率较低而逐渐减少。

该方法下,适应度更好的个体将被保留,同时CR将逐步趋近于最大参数值CRmax,从而契合CR的最佳变化规律。

3.3.5 正常的选择环节

图3为IDEWOA算法求解电力系统经济负荷分配模型的流程图。

4 算例仿真与分析

为测试IDEWOA算法对电力系统经济负荷的优化分配能力,分别采用标准DE、标准WOA和IDEWOA算法对13台机组和40台机组的电力系统经济负荷进行最优化求解,引入阀点效应,暂不考虑电网损耗,系统的基本参数设置均来自文献[18]。

为避免算法随机性问题,分别对三种算法独立执行40次。图4和图5分别为三种算法对2个测试算例的收敛曲线图,表1和表3为多种算法对2个测试算例的统计结果。

4.1 13台机组的负荷分配

13台机组系统要求的负荷值为D=1 800 MW,维数为13,种群规模为65(一般设置为维数的5~10倍),CRmax和CRmin分别取1和0.5,迭代次数为2 000次。

表1 13台机组结果对比

IDEWOA与其他算法仿真结果比较见表1。其中,DE、WOA和IDEWOA算法在Python 3.7上分别运行40次,统计并分析所得运算结果,PSO、SA和CS的仿真结果参考自文献[19]。13台机组的IDEWOA算法与基本DE、基本WOA算法的运行结果对比如图4所示。图中所选取为IDEWOA算法中较优的一次运行结果。

从图4中的曲线和表1中的数据可知,IDEWOA算法相比于其他标准的DE、WOA以及其他类似的群智能算法,能够取得更好的效果,收敛速度提升显著,搜索精度较高。表1数据显示:IDEWOA算法运行平均值为17 972.88,明显优于其他算法的最优解,且实验的标准差仅为0.04,证明该算法所求解比较稳定,鲁棒性较强。从图4中可以看出,WOA和DE算法在早期容易陷入早熟的特点较为明显,而IDEWOA经过改进后能够在短时间内多次跳出局部最优解区域,并在算法中期之前就取得了精确度较高的解。综上所述,IDEWOA在13台机组的负荷分配问题上能够有效降低能耗,减少经济成本。

表2为IDEWOA算法求解得到的仿真实验结果。该条件下求得的最优解即为17 972.81。

表2 13机组功率分配情况

4.2 40台机组的负荷分配

为了测试IDEWOA算法在更高维环境中的稳定性,文中选择IEEE 40台机组300节点作为实验对象,该算例中机组数(维数)较多,增大了求解的难度,极其考验算法高维度的求解能力。其系统所需负荷值为D=10 500 MW,维数为40,种群规模取维数的五倍,即200,CRmax和CRmin分别取1和0.5,最大迭代次数tmax=2 000。

IDEWOA与其他5种算法仿真结果对比见表3。其中同样对DE、WOA和IDEWOA算法分别在Python 3.7上独立随机地运行40次,PSO、SA和CS的仿真结果参考自文献[19]。40台机组的IDEWOA算法与基本DE、基本WOA算法的运行结果对比如图5所示。图中选取的为IDEWOA算法较优的一次运行结果。

表3 40台机组结果对比

从图5中的曲线和表3中的数据可知,在高维度算例中,IDEWOA算法相比于其他算法,优化配置能力明显更强。仿真实验的运行结果显示:IDEWOA算法所得最优值的平均值、最大值和最小值均为所列算法中最低,其收敛性能优秀,其标准差为6.45也比其他算法低,说明在高维度下,IDEWOA算法仍能保持较好的鲁棒性。

表4 40机组功率分配情况

表4为IDEWOA算法求解得到的仿真实验结果。该条件下求得的最优解即为120 645.74。

通过上述算例可以发现,IDEWOA算法相比其他算法,具有较好的全局收敛能力,在寻优速度和收敛精度方面都有所提升,且在高维条件下仍保持了良好的稳定性,优越性明显。

5 结束语

文中提出一种改进的差分进化鲸鱼优化(IDEWOA)算法应用于电力系统经济负荷的寻优分配,利用该算法可以解决非凸、非线性约束、高维度的优化问题。首先在鲸鱼算法中的搜寻包围猎物时期,调整了原有的线性收敛因子,使其更适应整个算法的寻优同时兼顾全局探索和局部开发能力。然后结合差分进化算法的交叉选择策略,同时引入自适应淘汰机制,加快整个算法的收敛,推进了搜寻最优解的进程。最后将该算法应用于电力系统13机组和40机组负荷分配的优化测试,测试结果验证了利用IDEWOA求解负荷分配问题的优越性和有效性。

下一步的研究是如何将IDEWOA算法应用于多目标优化领域以及如何改进算法中的控制参数。

猜你喜欢
差分鲸鱼交叉
一种基于局部平均有限差分的黑盒对抗攻击方法
符合差分隐私的流数据统计直方图发布
菌类蔬菜交叉种植一地双收
迷途鲸鱼
一个求非线性差分方程所有多项式解的算法(英)
鲸鱼
“六法”巧解分式方程
基于差分隐私的数据匿名化隐私保护方法
连数
鲸鱼会得潜水病吗?