改进的人工蜂群算法及其收敛性分析与应用张鑫,陈国初,公维翔(上海电机学院电气学院,上海200240)摘要:针对人工蜂群算法容易陷入局部最优的缺陷,本文提出一种自适应柯西变异人工蜂群算法。该算法引入自适应因子来扩大蜂群的搜索范围,并利用柯西分布的特点对全局进行搜索,提高了蜂群搜索的普遍性。然后利用随机过程理论,对自适应柯西变异人工蜂群算法进行了理论分析,论证了该算法的收敛性。最后将改进的人工蜂群算法应用到风电功率短期预测模型参数的优化中,与常规方法比较,表明该方法拟合精度更高。关键词:人工蜂群算法;自适应;柯西变异;收敛性分析;风功率预测;ArtificialbeecolonyalgorithmBasedonAdaptiveCauchyMutationandItsconvergenceanalysisanditsapplicationZhangXin,ChenGuochu,GongWeixiang(SchoolofElectricEngineering,ShanghaiDianJiUniversity,Shanghai200240,China)Abstract:Astotheproblemoffallingintothelocaloptimuminstandardartificialbeecolony,itisproposedtointroduceanadaptivefactorwhichcanexpandthesearchoftheswarmandusestheCauchydistributiontoimprovetheuniversalityofcolonysearch.ThisimprovedalgorithmnamedadaptiveCauchymutationartificialbeecolony(ACMABC).ThentheACMABCisanalyzedintheorybyusingthetheoryofrandomprocesstoprovetheconvergenceofthealgorithm.Finally,thismodifiedmethodisappliedtotheoptimizationoftheparametersofwindpowershort-termpredictionmodel,comparedwithstandardstatisticstrategy,anillustrationwithhigherprecisionisgiven.Keywords:artificialbeecolonyalgorithm;adaptive;Cauchymutation;convergenceanalysis;Windpowershort-termprediction1引言人工蜂群算法(ArtificialBeeColony,ABC)是由D.Karaboga于2005年提出的一种群体智能寻优搜索方法[1],相对于其他优化算法,其具有原理简单、参数少、易实现、全局搜索能力强的优点,被广泛应用到各种问题优化中[2-3]。尽管ABC具有简单、高效的特点,但在接近全局最优势,易陷入极值点,降低了优化效果,在高维多峰优化函数中尤为突出[4]。为此,近年来出现了不少对其改进的文章。比如,邻域搜索中引入惯性递减权重,性能参数分段搜索[5],邻域搜索方程中增加调节扰动[6],邻域搜索采用量子位Bloch坐标编码变换[7]等。虽然这些方法一定程度上提高了算法的精度和收敛速度,但是没有从根本上增加种群的多样性,邻域搜索虽引入衰减权重,但同一代种群采用统一权重,这样无法有效开发不同蜜蜂邻域搜索的能力。基于此,本文引入自适应调节函数确定邻域搜索权重,增加了种群的多样性,有效开发了种群邻域搜索能力,理论上避免种群陷入局部最优。在搜索后期,种群最优值若连续几代没有变化,则引入柯西变异算子,及时使种群跳出局部极值,把该方法称为自适应柯西变异人工蜂群算法(AdaptiveCauchymutationartificialbeecolony,ACMABC);对其进行收敛性分析并将其应用到支持向量机的短期风电功率预测模型参数优化中,对实测风电功率数据进行建模仿真,通过与常规SVR预测模型进行性能对比,验证该方法的有效性。2人工蜂群算法2.1标准人工蜂群算法在ABC算法中,人工蜂群有引领蜂(leaders)、跟随蜂(followers)和侦察蜂(scouts)三种角色。引领蜂在搜索空间开采花蜜,即寻找最优解,同时引领蜂会记录食物源的相关信息。跟随蜂按轮盘赌选择策略选择引领蜂进行跟随,并在其附近进行采蜜;当引领蜂放弃食物源时,便会变成侦察蜂重新寻找食物。实际优化问题中,蜜源的位置代表优化问题的可行解,蜜源的丰富程度代表解的质量[8]。在蜂群搜索的过程中,首先在搜索空间会生产初始解),,2,1(SNiXiSN为蜜源个数,每个初始解iX是一个d维的向量。然后,引领蜂根据下式进行搜索:)(kjijijijijxxRxV(1)ijV是新的食物源的位置,ijR是一个[-1,1]范围内的随机数,SNk,,2,1,并且djik,,2,1;。搜索之后,比较最优解和搜索解,当搜索解比最优解更优时则替换掉最优解。反之,则保持最优解不变。跟随蜂根据轮盘赌选择策略[9]来选择食物源采蜜,选择概率由下式确定:SNiiiifitfitP1(2)其中,ifit是第i个解的适应度函数值,SN是解的个数。选择引领蜂之后并在其附近进行领域搜索。当引领蜂iX连续limit次迭代都没有改变,则此引领蜂转变成侦察蜂,由侦察蜂通过下式随机生成一个新解来代替iX。))(1,0(minmaxminjjjjixxrandxx(3)其中,dj,,2,1,jxmax和jmxin表示所有蜂群中第j维的最大值和最小值。2,2自适应柯西变异人工蜂群算法2.2.1搜索步长的自适应调整ABC算法在初始搜索阶段不一定可以保证蜂群的全局性,且在随后的搜索中也可能陷入局部搜索,不能保证算法的整体性能。因此本文引入一种自适应因子w,使其在初始阶段搜索范围扩大,在最优解附近区域缩小搜索范围。在蜂群迭代寻优过程中,初始阶段搜索进程快,步长较大可以扩大蜂群搜索范围,此时要求自适应因子w较大,同时各引领蜂平均适应值和最小适应值之差比较小;当引领蜂接近最优解区域时,引领蜂要精细搜索,此时要求自适应因子w较小,同时平均适应值和蜂群最小值之差较大。鉴于此,自适应因子w可以随搜索的进行自身进行调整,本文约定自适应因子w的调整公式如下:)/()())((minminmaxminminffwwfjfvwwvag(4)式中:maxw,inmw分别为最大,最小惯性权值;)(jfv,vagf,minf分别为引领蜂当前适应度值、平均适应度值、群体最小适应度值。引入自适应因子w后,引领蜂和跟随蜂进行位置更新的公式如式(5)所示:)(kjijijijijxxRwxV(5)由公式(4)可以看出,在初始阶段,平均适应值和群体最小适应值之差较小,而)/())((minminfffjfvvag的值较大,所以自适应因子较大,算法容易从局部极值跳出,从而扩大搜索范围。同理,在后期蜂群搜索阶段,平均值和群体最小适应值较大,)/())((minminfffjfvvag的值较小,所以自适应因子较小,加强引领蜂局部搜索。这样能够提高引领蜂动态搜索性能。2.2.2侦察蜂根据柯西分布搜索新解当引领蜂iX连续迭代Limit次后适应值仍不变,则该引领蜂变成侦察蜂。本文在侦察蜂搜索公式中引入柯西分布,以便提高算法的扰动能力,使人工蜂群更容易跳出局部极值,充分利用当前搜索到的信息,提高搜索效率。柯西分布[9]是概率论与数理统计中的一类常见分布,一维柯西分布概率密度函数为xxttxf,1)(2当t=1时,称为标准柯西分布。图1是标准柯西和标准高斯分布概率密度函数曲线。由图1可见柯西分布原点处的峰值比高斯分布小以便提高扰动能力,并且两端长扁形状趋于零的速度比高斯分布慢,这样可以使算法更易避免早熟现象。本文中采用的柯西分布随机变量生成函数为])5.0tan[(,其中是[0,1]上的随机变量。鉴于此,侦察蜂搜索的公式改进为:)()1,0(minmaxminjjjjixxCauchyxx(6)式中,Cauchy(0.1)为标准柯西分布。图1标准柯西、高斯分布概率密度函数曲线Fig.1ProbabilitydensityfunctioncurveofstandardCauchyandGaussian2.2.3自适应柯西变异人工蜂群算法自适应柯西变异人工蜂群算法(adaptiveCauchymutationartificialbeecolony,ACMABC)的基本思想是在人工蜂群搜索初期运用式(5)进行搜索,增加蜂群的多样性,有利于跳出局部极值进行全局搜索。在算法迭代过程中,蜂群迭代后见种群中最优解与历史最优值进行比较,如果优于历史最优值,则将其取代。当历史最优值在连续两次迭代过程中都没有改变,则利用式(6)产生新解。算法步骤如下所示:①算法初始化。包括初始化种群规模,控制参数“limit”,最大迭代次数;随机产生初始解SNixi,,2,1,,并计算每个解的适应度函数值。②引领蜂根据公式(5)在搜索空间搜索蜜源iV并计算其适应值;如果iV的适应值优于初始解ix,则替代ix。否则,保持初始解不变。③计算所有ix的适应度值,运用公式(2)计算与ix相关的概率值iP。④跟随蜂采用轮盘赌选择策略选择引领蜂进行跟随,并根据公式(5)在其附近搜索新解iV,然后计算其适应值并将其与历史最优值比较,更新历史最优值。⑤若蜜源开采到一定程度后适应度仍没有得到改善,则该引领蜂变成侦察蜂,侦察蜂运用柯西分布特点根据式(6)搜索新解ix⑥一次迭代完成之后,记录到目前为止最好的解。⑦若迭代次数满足终止条件,则输出最优解,否则返回②。2.3测试函数优化与结果讨论2.3.1测试函数(1)Sphere函数-5-4-3-2-101234500.050.10.150.20.250.30.350.4Gauss(0,1)Cauchy(0,1)niixxf12)(min,1010ix该函数只有一个全局最小点:(0,…,0),最小值为0。(2)Ackley函数71282.2220)(min112)2cos(112.0njjnjjxnxneexf,55jx此函数有一个(0,0)为全局最小,最小值为0。这个函数的搜索十分困难。求解Ackley函数的最小值是优化算法应用的一个有力的例证。(可取n=2)。(函数最后的常数最好为:22.718281828459043)。(3)Rastrigin函数niiixxxf12)10)2cos(10()(,12.512.5ix当2n时,该函数有4个全局最大值点,全局最大值为80.7066。2.3.2优化结果与讨论在ACMABC算法的测试实验过程中,为了实验结果更具有说服力,将它与标准的ABC算法进行比较。其参数设置如下:两种优化算法的蜜蜂种群数目为50,迭代次数为2000,误差极限为1E-20,开采次数为50,ACMABC最小权重系数为0.08,最大权重系数为1.8。对每一个测试函数都进行2维,10维和20维的测试,每组实验都独立进行20次,并比较运行结果中的最优值、平均值及20次独立实验中接近最优值的概率,本文中接近最优值的概率是以最优值的±5%为标准进行计算的。优化的结果如表1所示,曲线收敛图如图2,3,4。表1函数测试结果对比Table1.Functiontestresults优化函数ABCACMABC维数最优值平均值达优概率维数最优值平均值达优概率Sphere20.27881.474740%20.14890.869165%100.14271.112255%100.08880.516280%30