一种基于选择策略的差分混合蛙跳算法-王林.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《一种基于选择策略的差分混合蛙跳算法-王林.pdf》由会员分享,可在线阅读,更多相关《一种基于选择策略的差分混合蛙跳算法-王林.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、CN 431258TPISSN 1007130X计算机工程与科学Computer EngineeringScience第40卷第1期2018年1月V0140,No1,Jan。2018文章编号:1007130X(2018)01012107一种基于选择策略的差分混合蛙跳算法王 林1,万小雨1,万建超2(1华中科技大学管理学院,湖北武汉430074;2普天信息技术有限公司,北京100080)摘 要:设计了一种选择差分混合蛙跳算法SDSFLA,该算法通过增加组内个体更新个数提高了种群更新效率;通过引入差分进化算法的交叉算子和变异算子,加强了个体之间的信息交流;使用多种更新策略,提高了实验个体产生的成功
2、率;随机选择控制参数,增加了种群的多样性。基于16个基准测试函数,将SDSFLA与一种改进的蛙跳算法、两种改进的差分进化算法进行对比,实验结果证实了SDSFLA算法的有效性和稳定性。关键词:混合蛙跳算法;差分进化;实验个体选择;资源池中图分类号:TPl8 文献标志码:Adoi:103969jissn1007一130X201801018A hybrid differential shuffled frog leapingalgorithm based on selection strateWANG Linl,WAN Xiaoyul,WAN J iancha02(1School of Manage
3、ment,Huazhong University of Science and Technology,Wuhan 430074;2Potevio Information Technology CoLtd。,Beijing 100080,China)Abstract:A Selected Differential Shuffled Frog Leaping Algorithm(SDSFLA)is proposedCornpared with the classic Shuffled Frog Leaping Algorithm(SFLA),SDSFLA improves the efficien
4、cy ofpopulationupdatingby increasingthe number of updated vectors,uses thecrossover operator and mutationoperator of Differential Evolution(DE)to strengthen information exchanges between vectors,uses multiple updating strategies to improve the success rate of the trial vectors,and increases the dive
5、rsity of thepopulation viarandomlyselected control parametersBased on 16 benchmark functions,SDSFLA is compared with an improved frog leaping algorithm and two improved differential evolution algorithmsThetest results confirm the validity and stability of the SDSFLA algorithmKey words:shuffled frog
6、leaping algorithm;differential evolution;trial vector selection;resource pool引言蛙跳算法SFLA(Shuffled Frog Leaping A1一gorithm)是由Muzaffar和Kevin在2003年提出的,他们通过模拟青蛙种群的自然觅食过程设计出的一种群智能优化算法,并将其成功运用于地下水资源管理问题1。混合蛙跳算法是一种基于群体协同搜索的算法,它融合了模因算法MA(Memetic Algorithm)和微粒群算法PSO(Partical SwarmOptimization)的优点,将基因进化和种群进化有效
7、集成在一起。蛙跳算法的原理简单、控制参数少,具有柔性的结构框架和较强的全局信息共享能力等优点,已被成功运用于多种自然科学以及工程领域的复杂优化问题24。蛙跳算法自提出以后,众多学者对其进行理论改进和应用推广。如许方等人51提出一种SFLA与K均值相结合的聚类算法,抑制了*收稿日期:2016-0817;修回日期:2016-1114基金项目:国家自然科学基金(7160201 5,71531009);教育部人文社科规划项目(15YJA630095)通信地址:430074湖北省武汉市华中科技大学管理学院Address:School of Management,Huazhong University o
8、f Science and Technology,Wuhan 430074,Hubei,PRChina万方数据122 Computer Engineering&Science计算机工程与科学2018,40(1)早熟收敛问题;赵鹏军等人1在SFLA产生初始种群时采用对立学习策略提高了解的质量,并结合差分进化算法提高了种群的多样性;Roy等人7 3将遗传算法的交叉算子运用到最差青蛙个体向最好青蛙个体跳动的过程中,产生两个实验个体,提高了种群迭代效率;Zhu等人口一让所有青蛙个体在每一次更迭中进行跳动,并利用三因素方差分析方法对SFIA的控制参数进行分析,设计出一种自适应的SFLA,实验结果说明改进
9、后的SFLA收敛精度有所提高,但是收敛时间增长;Luo等人91采用多种策略产生新个体,并加入一种改进的克隆选择过程,提高了产生的新个体的质量,以及增加了种群的多样性;肖文显等人叩将蛙跳算法的组内寻优思想嵌入和声算法中,设计了一种和声蛙跳算法,实现了两种算法的耦合动态搜索。但是,标准蛙跳算法和现有的改进蛙跳算法的搜索时间长,存在个体之间信息交流不足、容易陷入局部最优等问题。针对这些问题,本文提出一种改进的蛙跳算法,加入实验个体选择机制,增加局部搜索中青蛙个体改进个数,并将差分进化算法的交叉算子和变异算子运用到青蛙个体跳动策略中,增加个体之间的交流。实验结果表明本文所设计的选择差分混合蛙跳算法提高
10、了蛙跳算法的性能,该算法与其它三种改进的群智能优化算法相比,具有更好的有效性和稳定性。2标准蛙跳算法与缺点分析21蛙跳算法基本原理SFLA的基本思想是:在一个水池中有一群青蛙寻找食物,每一只青蛙都有自己寻找食物的路径信息,青蛙通过不断跳动改变自己与食物之间的距离;青蛙个体按照适应度大小分为m组,每个青蛙个体携带自己的路径信息,组内进行信息交换,最优青蛙个体指导组内局部搜索方向,按式(1)式(3)更新组内当代最差个体,重复这个过程直到满足组内搜索终止条件,具体操作如下:Step 1设置算法参数,包括组内进化代数Ne、种群总进化代数maxgen、子种群数量m、组内个体数n、种群规模popsize=
11、n、最大跳动步长S。Step 2随机生产初始种群pop,种群中第i个个体表示为x。=(X“,XX。,X。),其中d是求解问题的维度,X:f6,“6。计算初始种群中每个个体的适应度,并按升序排列,找出初始种群最优个体gx。Step 3将种群分为m组,每组村只青蛙。分组规则是,排序后的个体,将第1、第1+m、第1+2m、第pops如Pm+1个个体放入第一组,将第2、第2+m、第2+2m、第popsize-m+2个个体放入第二组,以此类推。分组后找出组内最优个体户6和最差个体pw。Step 4组内进行局部搜索操作。按照式(1)式(3)对pw进行更新,具体操作如下。采取组内最优更新策略。组内最差个体p
12、w向组内最优个体加方向跳动更新。通过式(1)计算跳动步长S,如果s,S。,则S,=S。然后通过式(2)对pW进行更新操作,如果temPiub,则temp,=ub。计算temp的适应度值,如果temp的适应度小于pw,则pw=temp进入Step 5,否则继续进行操作。Srando,11(加pw),S一S一,S(1)temppw+S,temp,为,汤 (2)采取全局最优更新策略。组内最差个体pw向全局最优个体gx方向跳动更新。通过式(3)计算跳动步长S,如果S,S,则Si=S。然后通过式(2)对pw进行更新操作,如果temp,ub,则temp,一ub。计算temp的适应度值,如果temp的适应度
13、小于pw,则pw=temp进人Step 5,否则继续进行操作。SrandO,13(gxj咖),SS,Smx(3)随机生成新个体更新策略。随机生产一个新个体替代pw,进入Step 5。Step 5对组内个体重新计算适应度,并找出更新后的和pw。判断是否满足组内更新终止条件,若满足,则进行Step 6,否则进行Step 4。Step 6混合洗牌,将完成局部搜索的各组个体重新混合,计算个体适应度,并按照适应度大小重新排序,找出此时的gx。判断是否满足全局搜索终止条件,若满足,则进行Step 7,否则进行Step 3。Step 7输出最佳个体gx和对应的适应度值,则为找出的最优解。标准蛙跳算法的流程如
14、图1所示。22标准蛙跳算法的局限性(1)标准SFLA和其它智能优化算法一样,没有参数设置的最优组合,而是根据不同的具体问题产生差异,并没有指导性的原则,仅能通过大量的实验得到。参数设置没有通用性,算法的稳定性不高。(2)标准SFLA的跳动步长始终保持固定值。进化最初最大步长太小,降低收敛速度;进化进入尾声时,最大步长又太大,减弱局部搜索能力。(3)标准SFLA在局部搜索的时候,采用三种更新策略,除了随机更新策略,另两种策略都是通过最差值向最优值方向进行跳动,更新方式过于单调,造成组内个体过分单一,种群多样性不强,容易万方数据王 林等:一种基于选择策略的差分混合蛙跳算法 123开始设置参数,产生
15、初始种群,计算个体适应度值按个体适应度排序分组找出种群最优个体萨每一组进行局部搜索混合洗牌Y算法结束,输出最佳值Y找出组内最隹跏,最差胛。按照式(1)和式(2)更新即。适应步N对删按照式(3)和式(2)更新裂拶迫廷少N纛函新的个体更新pll生成的新个体替代P1】,计算适应度值,组内排序判断是否满足 NY退出局部搜索Figure 1 Flowchart of SFLA图1 标准蛙跳算法流程图陷人局部最优。并且在个体更新的过程中,忽略了同组内其它个体,以及种群中其它个体的信息交流,可能会错过很多优秀的基因组合。针对以上问题,本文提出一种选择差分混合蛙跳算法,通过与差分进化算法混合,并加入选择机制和
16、资源池操作,提高蛙跳算法的性能。3选择差分混合蛙跳算法(SDSFLA)31 SDSFLA改进思路SDSFLA(Selected Differential Shuffled FrogLeaping Algorithm)主要是对组内局部搜索进行改进:增加一种选择机制提高实验个体的质量;利用差分进化算法的交叉算子、变异算子,增加个体与个体之间的信息交流;引入资源池操作,增加种群多样性。SDSFLA的改进思路如下:(1)标准蛙跳算法中,每一次组内更新只对最差个体进行一次更新操作之后,就重新排序,效率很低。在SDSFLA中,我们对组内第,z一2、咒一1、7个组内最差的三个个体进行更新操作,提高更新效率。
17、(2)组内三种更新策略产生新个体,策略维持标准蛙跳算法更新策略不变,策略和策略分别引入差分进化算法的两种变异算子。三种策略中,对于跳动更新后的实验个体,引入差分进化算法中的交叉操作,产生本次更新最终的实验个体。(3)SDSFLA的三种策略分别产生三种实验个体,选择最优的实验个体与原个体比较,这种操作有利于算法自适应地选择更好的个体进入下一代。采用多种策略产生多个实验个体,选择最优的,这种选择机制有助于增强算法的通用性。(4)建立变异算子F和交叉算子CR的资源池,SDSFLA三种策略对个体进行更新时,随机选择F和CR的组合,增加种群多样性。本文根据Lu等人111提到的F、CR组合,选择了五组F、
18、CR值,分别是1,01,1,09,1,01,o8,02,O5,09J,L05,03j。32 SDSFLA局部搜索的执行流程Step I找出组内最差的三个个体分别执行Step 2到Step 4。Step 2对要进行更新的个体local(i,:),根据以下三个策略分别进行更新操作,产生相对应的三个实验个体templ、temp2、temp3,策略中F和CR的值是随机从F,cR资源池中选取出来的。策略:组内个体local(i,:)向组内最优个体加方向跳动更新。组内个体local(i,:)通过式(4)计算跳动步长S,如果sJS,则St=S。然后通过式(5)对local(i,:)进行更新操作,如果temp
19、l Jub,则templ,一“6。对templ,进行交叉操作,如果rands,则S,一S。然后通过式(7)对local(i,:)进行更新操作,如果temp2,ub,则temp2Jub。对temp2,进行交叉操作,如果randS,则S,=S。然后通过式(9)对local(i,:)进行更新操作,如果temp3Jub,则temp3J一“6。对temp3。进行交叉操作,如果randCR,temp3,一temp3,否则temp3Jlocal。SF(10cal(Jrl,:)一local(X2,:),S一S,S (8)temp3=(10cal(x3,:)+S,temp3,16,拍 (9)万方数据124 Co
20、mputer EngineeringScience计算机工程与科学2018,40(1)Step 3将得出的三个实验个体tempi、temp2、temp3的适应度值进行比较,选择出适应度最优的个体作为最终的实验个体temp。Step 4将最终实验个体temp的适应度值与local(i,:)的适应度值进行比较,如果最终实验个体temp的适应度值优于local(i,:)的,则local(i,:)一temp,否则local(i,:)一local(i,:)。Step 5对组内个体重新计算适应度值,并且排序。判断是否满足组内更新终止条件,若满足,则退出组内局部搜索,否则转Step 1。4 SDSFLA性能
21、测试41测试函数介绍为检验SDSFLA的性能,本文选取了16个被广泛运用的标准测试函数m1 3【,包括8个单峰函数和8个复杂多峰函数。所选取的测试函数具备不同的特征,如对称、多极值、非线性、可分离或不可分离等。16个测试函数的具体描述如表1所示。Table 1 Test functions表1测试函数F7:,(z)一;。,37。1+II:一,l X:I,z。一10,10F8:,(z)一I谊+rand(O,1),z:一128,128no:,(z)一20exp(-02i二。-r;)一exp(eos(2,xx。)一-20+e,T。32,32川批-o s+著张焉Expand tO,(z)一fl(jl,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 选择 策略 混合 蛙跳 算法 王林
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内