混洗蛙跳算法[1](shuffled frog leaping algorithm, SFLA),以其模型简单,寻优速度快等优点得到学者的广泛关注。Elbeltagi等[2]通过实验表明SFLA在求解某些连续和离散优化问题时的成功率和寻优速度优于遗传算法、模因算法和蚁群算法;Babak等[3]利用SFLA改进K均值聚类方法,实验结果表明其优于遗传算法、模拟退火算法、蚁群算法等聚类算法。目前SFLA已应用到经济负荷分配[4]、多目标优化[5]、优化调度[6]、信号重构[7]和故障诊断[8]等问题。同时,针对SFLA的不足,许多学者在种群多样化[9-10]、进化方式改进[11-14]和算法融合[15-17]等方面提出了一些改进算法。进化策略的本质是通过均衡全局寻优和局部探索来改进个体进化方式,但通过分析发现在整个进化过程中,个体进化策略的不变性也是造成算法寻优效果不高的重要原因,如在整个进化过程中个体均要受到当前最优个体的影响。对于多峰函数优化问题,如果当前最优个体陷入局部最优,则整个种群陷入局部最优解的概率就会增大,虽然现在一些改进算法通过变异[18-19]的方式来增加跳出局部最优解的几率,但从本质上来说也是个体进化行为策略的改变,即个体从采用一种进化策略转变到采用另一种进化策略来寻优,这也说明在寻优过程中个体采用不同的进化策略有利于提高寻优性能。本文提出进化策略自主选择的改进混洗蛙跳算法(an improved shuffled frog leaping algorithm for autonomous selection of evolutionary strategies, ASES_SFLA),将个体赋予一定的智能自主性,在进化的过程中根据所获得的知识自主选择进化策略,以求在每次进化过程中都能使个体适应值得到更好的改进。
1 进化策略自主选择的改进混洗蛙跳算法整个群体的当前最优解仅是算法迭代过程中某个个体自身所能找到的最优位置,只能代表所有个体的目前最好水平,而不能代表目前的整体进化水平。特别是在求解高维复杂的优化问题时,当前最优解很可能是一个局部极值,仅利用这一个局部极值来指导整个群体的学习,易陷入局部最优,较难达到所要的求解效果。进化论研究表明:生物对环境有巨大的适应能力,环境的变化会引起生物的变化,生物会由此改进其行为,环境的多样化是生物多样化的根本原因,而混洗蛙跳算法个体更新所面临的环境就是其他个体传递给它的知识,个体参照的知识不同则进化行为也应有所不同,即个体的进化策略在整个进化过程中不应该是一成不变的。分析青蛙个体在整个进化过程中,能够获得知识的来源主要分为4部分:1)分组内最优个体的知识;2)当前种群最优个体的知识;3)进化过程中的群体知识;4)进化过程中其他个体的知识。本文针对这4类知识提出4种策略行为来完成个体进化。
1.1 最差个体的4种进化策略1) 基于分组内和种群内最优个体学习的进化策略。
经典SFLA的最差个体先是参照组内最优个体进行更新,如果新个体的适应值没有提高再参照种群最优个体,这种进化方式在迭代初期具有寻优缓慢的缺点,不利于种群间的信息共享。本文提出基于分组内和种群内最优个体学习的进化策略:
$ \left\{\begin{array}{l}{S_{i, t+1}=\operatorname{rand}( ) \times\left(x_{\mathrm{b}, t}-x_{\mathrm{w}, t}\right)+\mathrm{rand}( ) \times\left(x_{\mathrm{g}, t}-x_{\mathrm{w}, t}\right)} \\ {x_{\mathrm{w}, t}=\omega x_{\mathrm{w}, t}+S_{i, t+1}}\end{array}\right. $ | (1) |
2) 基于进化过程中的群体知识学习的进化策略。
社会中的个体通常具有趋同性,即个体的行为容易受到群体共知所影响,即群体知识。群体知识可以用“群体位置质心”来代替,为方便计算采用所有个体位置的均值作为质心:
$ \left\{\begin{array}{l}{S_{i, t+1}=\operatorname{rand}( ) \times\left(\frac{\sum\limits_{i=1}^{N} x_{i, t}}{N}-x_{w, t}\right)} \\ {x_{\mathrm{w}, t}=\omega x_{\mathrm{w}, t}+S_{i, t+1}}\end{array}\right. $ | (2) |
式中N为种群的个数,式(1)和(2)引入权重ω,用来描述父代个体对子代个体的影响。ω值较大全局寻优能力强,反之则局部寻优能力强。当求解问题空间较大时,为了在搜索速度和搜索精度之间达到平衡,常用的做法是使算法在前期具有较高的全局搜索能力,而在后期具有较高的局部搜索能力以提高收敛精度,文中按照递减方式进行赋值:
$ \omega=\omega_{\max }-\sin \left(\frac{t}{T} \times \frac{{\rm{ \mathsf{ π} }}}{2}\right) \times\left(\omega_{\max }-\omega_{\min }\right) $ | (3) |
式中:t为当前迭代次数;T为最大迭代次数;ωmin和ωmax分别为ω的最小值和最大值,文中取ωmin=0.2,ωmax=0.9。
3) 基于种群内最优个体和其他个体知识学习的进化策略。
当一个分组内的个体适应值相差不大的时候,再采用分组内的最优个体来指导更新最差个体对提升寻优性能的效果并不明显(可能已陷入分组内最优),此时需要引入其他分组的个体来帮助该分组提升寻优效果。同时为提升寻优速度,要参照种群内最优个体的知识。更新的最差个体为:
$ \left\{\begin{array}{l}{S_{i, t+1}=\operatorname{rand}( ) \times\left(x_{r 1, t}-x_{r 2, t}\right)} \\ {x_{w, t}=x_{g, t}+S_{i, t+1}}\end{array}\right. $ | (4) |
式中r1和r2是来自于其他分组的个体,且互不相同。
4) 基于其他个体知识学习的进化策略。
当种群内的个体适应度相差不大的时候,此时或已寻找到最优解或是陷入局部最优解,此时需要随机参考不同的个体来指导进化。这种随机选取个体进行进化的方式等价于个体变异,并且这种变异方式与一些基于混沌理论进行变异方式相比较,更具有目的性和方向性。
$ \left\{\begin{array}{l}{S_{i, t+1}=\operatorname{rand}( ) \times\left(x_{r 2, t}-x_{r 3, t}\right)} \\ {x_{w, t}=x_{r 1, t}+S_{i, t+1}}\end{array}\right. $ | (5) |
立即价值是指采用某种策略行为后,所产生的适应值f(xi, new, t+1)较上一次迭代计算的适应度f(xi, t)的提高程度:
$ v_{i}(t)=\frac{f\left(x_{i}, t\right)-\min \left(f\left(x_{i}, t\right), f\left(x_{i, \text { new }}, t+1\right)\right)}{f\left(x_{i}, t\right)} $ | (6) |
若某一策略收益计算如果为零,说明该策略本次迭代没有取得很好的寻优效果,但这只是瞬时效益,不能代表此种进化策略不好,故还需计算其未来价值。
1.3 计算进化策略未来价值个体在没有任何先验知识的前提下,在每次确定所要采取何种策略的行为时,可通过对已获得知识的利用和对新知识的探索间进行协调来确定,以便更快捷的做出最优决策。信心上界(upper confidence bound, UCB)算法[20-21]的上限置信区间由2部分构成:一部分是当前己有回报值;另一部分是和回报值在单侧置信区间的大小有关,以保证所期望的回报能以极大的可能性落在回报范围之内。该算法已被应用到计算机围棋程序中并取得了很好的效果,主要利用UCB算法根据棋盘当前的局面的立即价值和可选落子点的未来价值来计算上限置信区间最大的落子点作为当前局面的落子点,因此个体的进化策略选择可以类比于围棋的落子点决策:
$ s_{i}(t)=\alpha\left(\frac{N_{i, \mathrm{p}}(t)}{M_{i, \mathrm{p}}(t)}+\sqrt{\frac{C_{0} \times \lg (t)}{N_{i, \mathrm{p}}(t)}}\right)+\\ \qquad (1-\alpha)\left(\frac{N_{i, {\rm g}}(t)}{M_{i, {\rm g}}(t)}+\sqrt{\frac{C_{0} \times \lg (N \times t)}{\sum\limits_{i=1}^{N} N_{i, {\rm p}}} )}\right. $ | (7) |
式中:si(t)为进化策略未来价值;t是当前迭代的次数;α和C0是一个常数,α的作用是平衡个体未来价值与全局未来价值在进化策略预测的重要性;C0的作用是平衡个体所获得知识的利用和探索需求。文中按照UCB算法的取值C0=2。令Ni, p(t)为个体在第t次迭代之前采用第i种策略的成功次数;Mi, p(t)为个体在第t次迭代之前采用第i种策略总的执行次数;Ni, g(t)为所有个体在第t次迭代之前采用第i种策略的成功个数;Mi, g(t)为所有个体在第t次迭代之前采用第i种策略总的执行次数,分2种情况按照UCB公式来计算未来价值,一种是单个个体执行某一策略的成功率,另一种是该策略在整个种群的成功率;N是种群规模。
1.4 计算进化策略综合奖励在考察一种策略是否有效,需考虑实施该策略的立即价值、估算的未来价值,同时还要考虑之前的历史经验Pi(t),即上一次迭代采用该策略的概率,故计算个体采用某种策略所能获得的综合奖励。
$ v_{s i}(t)=v_{i}(t)+s_{i}(t)+P_{i}(t), 1 \leqslant i < M $ | (8) |
式中M为多策略行为的个数。
1.5 更新进化策略选择概率每个个体在分别计算完采用M种策略行为的综合奖励后,更新在第t+1次进化过程中采用某种进化策略的概率用以指示将要采用何种进化策略:
$ P_{i}(t+1)=P_{\min }+\frac{v_{\mathrm{si}}(t)}{\sum\limits_{i=1}^{N} v_{\mathrm{s} i}(t)}\left(1-M P_{\min }\right) $ | (9) |
为保证某种策略都会存在概率不为0的情况,需要设置一个最小概率Pmin < 1/M。
1.6 个体进化策略概率变异算法在算法的进化过程中会存在个体一直采取某种策略行为,虽然每次进化都会对个体适应值有所提升,但提升幅度不大,有可能造成个体寻优速度缓慢或造成陷入局部最优的情况,所以需要对这种情况进行判断来降低当前所采取策略行为的选择概率。适应度方差可以反映粒子的收敛程度,方差越小说明已陷入局部最优或已发现全局最优解,故算法采用个体适应值的方差来判断:
$ \sigma^{2}=\frac{\sum\limits_{i=t-t_{n}}^{t}\left(f_{i}-\overline{f}\right)^{2}}{t_{n}} $ | (10) |
式中:t代表当前的迭代次数;tn为第t次迭代前的适应值个数(本文取10);fi为每次迭代的适应值;f为tn个适应值的均值,如果σ2小于某一阈值则将该策略行为的概率置为Pmin。
2 数值实验及分析选取与文中ESAS_SFLA算法4种策略相关且具有代表性的算法进行比较。将其与基本混洗蛙跳算法[1](SFLA)、差分进化算法(DE/best/1、DE/rand/1)[22]、基本粒子群算法(PSO)[23]、(MSFLA)[10]、(MSFLA1)[12]、(ISFLA)[13]和(MSFLA2)[14]进行寻优性能对比。这里选用PSO和DE进行对比,是由于其进化方式与本文的某种进化策略相似。实验环境为:Windows7操作系统,Intel酷睿i5处理器,主频2.5 Hz,4G内存,开发工具为Matlab R2014a。针对10个函数极值求解问题,各算法的参数设置如下:种群个数均设置为N=100;各自迭代500次,每个算法独立运行10次;PSO的ω=0.729 8, c1=1.496 2, c2=1.496 2;DE/rand/1、DE/best/1的F=0.5, CR=0.3;ESAS_SFLA、SFLA、MSFLA、MSFLA1、MSFLA2和ISFLA的分组个数为10,子群内个体数为10,且ESAS_SFLA的参数α=0.5,MSFLA、MSFLA1、MSFLA2和ISFLA的其他参数参照相应文献。测试函数如表 1所示,分别对每种算法的不同维数(10,30,60,100)进行优化对比。
从最优结果、最差结果、平均结果和方差可以看出,ESAE_SFLA寻优结果最好。从不同维数的实验结果可知本文算法具有很好的稳定性,即在增加维数的情况下寻优效果变化不大,都可以获得较为理想的解。虽然在函数f8的f10的测试结果中可知ESAE_SFLA和MSFLA2的最优结果相似,但从收敛曲线对比结果可知ESAE_SFLA所需的迭代次数更少。本文算法的性能随维数的增加没有明显的改变。主要因为ESAE_SFLA每个分组的最差个体都会在进化过程中不断吸取各类知识,并将其转换为指导自己采用不同寻优行为的进化策略,算法可以充分利用每步迭代获得的立即价值、估算的未来价值和历史经验来判断如何从其他个体汲取有用的知识,可以让算法在自身感知的情况下选用较优的进化策略,同时个体进化策略概率变异算法可以根据历史最优值的方差来调整进化策略,进而解决了算法在求解某些复杂函数时收敛速度慢、容易陷入局部最优的缺点,有利于获得全局最优解。
为对比本文算法在高维函数寻优的性能,选取100维函数测试平均最优适应值收敛曲线如图 1所示。从收敛曲线可以看出,ESAE_SFLA的寻优效果都优于其他算法,分析其原因是:ESAE_SFLA的进化策略综合奖励可以较好的指引每个分组里最差个体选择较优的进化策略更新寻优位置,从图 1的f1~f4的迭代曲线可以看出,其他算法由于采用固定的进化策略和单一的知识来源,使得寻优能力在达到一定精度后再难跳出局部最优,而在ESAE_SFLA的f1~f4的迭代曲线可以看出即使维数达到100,算法仍能较快的迭代方式不断更新最优解;而从f7~f9的迭代曲线可以看出ESAE_SFLA和MSFLA2的寻优效果差不多,但也可以看出文中算法可用较少的迭代次数获取较优结果;同时由f5、f6和f10的收敛曲线可知,ESAE_SFLA在迭代后期寻优性能不如函数f1~f4明显,这也从侧面说明了“没有免费午餐定理”,但从实验结果来看,文中算法相对于其他比较算法而言还是具有很好的优化性能。从对比数据和收敛曲线可知,ESAE_SFLA在处理高维函数过程中具有较好的适应性。同时从图中可以看出,虽然文中实例的迭代次数都是500次,但ESAE_SFLA在迭代次数300次以内就以获得较好的寻优结果,这表明计算的综合奖励可以有效的增强个体寻优性能,避免了一些局部震荡计算,这种寻优特性尤其适合适应度计算量复杂的优化问题,即以更少的迭代次数获取更优的结果,换言之就是当计算适应度函数值的时间复杂度越大于ESAE_SFLA计算综合奖励的复杂度时,就越能体现ESAE_SFLA算法计算能力的优越性。
Download:
|
|
1) 算法中所提的个体进化策略自主选择方法,有利于最差个体在进化过程中选择不同的知识来指导进化行为,并采用贪心算法的方式使得个体在每次迭代都可以获得较好的寻优结果。算法具有较好地平衡全局探索能力和局部挖掘能力,从而增加了算法的求解速度和精度。
2) 个体在迭代过程中可以利用所获得的知识采用不同的进化策略,将个体赋予一定的智能自主性,减小了由于单一进化策略造成陷入局部最优解的几率。
3) 基于高维测试函数的测试结果表明,所提算法在整体上具有较好的全局寻优能力且收敛速度较快,可以在较少的迭代次数内获得较为满意的寻优结果,适合于求解一些适应度计算复杂和耗时的优化问题。
本文所提的算法对于其他进化算法的改进具有一定的借鉴意义,同时个体进化策略的选择还有一定的研究空间。
[1] |
EUSUFF M M, LANSEY K E. Optimization of water distribution network design using the shuffled frog leaping algorithm[J]. Journal of water resources planning and management, 2003, 129(3): 210-225. DOI:10.1061/(ASCE)0733-9496(2003)129:3(210) (0)
|
[2] |
ELBELTAGI E, HEGAZY T, GRIERSON D. Comparison among five evolutionary-based optimization algorithms[J]. Advanced engineering informatics, 2005, 19(1): 43-53. (0)
|
[3] |
AMIRI B, FATHIAN M, MAROOSI A. Application of shuffled frog-leaping algorithm on clustering[J]. The international journal of advanced manufacturing technology, 2009, 45(1/2): 199-209. (0)
|
[4] |
ROY P, ROY P, CHAKRABARTI A. Modified shuffled frog leaping algorithm with genetic algorithm crossover for solving economic load dispatch problem with valve-point effect[J]. Applied soft computing, 2013, 13(11): 4244-4252. DOI:10.1016/j.asoc.2013.07.006 (0)
|
[5] |
LI Junqing, PAN Quanke, XIE Shengxian. An effective shuffled frog-leaping algorithm for multi-objective flexible job shop scheduling problems[J]. Applied mathematics and computation, 2012, 218(18): 9353-9371. DOI:10.1016/j.amc.2012.03.018 (0)
|
[6] |
王丽萍, 孙平, 蒋志强, 等. 基于并行云变异蛙跳算法的梯级水库优化调度研究[J]. 系统工程理论与实践, 2015, 35(3): 790-798. WANG Liping, SUN Ping, JIANG Zhiqiang, et al. Study on cascade reservoirs optimal operation based on parallel normal cloud mutation shuffled frog leaping algorithm[J]. Systems engineering-theory & practice, 2015, 35(3): 790-798. (0) |
[7] |
刘洲洲, 王福豹. 改进的离散混合蛙跳算法压缩感知信号重构及应用[J]. 吉林大学学报(工学版), 2016, 46(4): 1261-1268. LIU Zhouzhou, WANG Fubao. Improvement of discrete shuffled frog-leaping algorithm and application in compressed sensing reconstruction[J]. Journal of Jilin University (engineering and technology edition), 2016, 46(4): 1261-1268. (0) |
[8] |
马洪斌, 佟庆彬, 张亚男. 优化参数的变分模态分解在滚动轴承故障诊断中的应用[J]. 中国机械工程, 2018, 29(4): 390-397. MA Hongbin, TONG Qingbin, ZHANG Ya'nan. Applications of optimization parameters VMD to fault diagnosis of rolling bearings[J]. China mechanical engineering, 2018, 29(4): 390-397. DOI:10.3969/j.issn.1004-132X.2018.04.003 (0) |
[9] |
LIU Chao, NIU Peifeng, LI Guoqiang, et al. Enhanced shuffled frog-leaping algorithm for solving numerical function optimization problems[J]. Journal of intelligent manufacturing, 2018, 29(5): 1133-1153. DOI:10.1007/s10845-015-1164-z (0)
|
[10] |
AHANDANI M A, ALAVI-RAD H. Opposition-based learning in shuffled frog leaping:an application for parameter identification[J]. Information sciences, 2015, 291: 19-42. DOI:10.1016/j.ins.2014.08.031 (0)
|
[11] |
ELBELTAGI E, HEGAZY T, GRIERSON D. A modified shuffled frog-leaping optimization algorithm:applications to project management[J]. Structure and infrastructure engineering, 2007, 3(1): 53-60. DOI:10.1080/15732470500254535 (0)
|
[12] |
AGHABABA M P, AKBARI M E, SHOTORANI A M, et al. Application of modified shuffled frog leaping algorithm for robot optimal controller design[J]. International journal of scientific & engineering research, 2011, 2(11): 1-6. (0)
|
[13] |
JABALLAH S, ROUIS K, ABDALLAH F B, et al. An improved shuffled frog leaping algorithm with a fast search strategy for optimization problems[C]//Proceedings of the 2014 IEEE 10th International Conference on Intelligent Computer Communication and Processing. Cluj Napoca, Romania, 2014: 23-27.
(0)
|
[14] |
肖莹莹, 林廷宇, 李伯虎, 等. 混合蛙跳算法自适应参数调整改进策略[J]. 系统工程与电子技术, 2016, 38(8): 1939-1950. XIAO Yingying, LIN Tingyu, LI Bohu, et al. Improvement strategy of adaptive parameter adjustment for shuffled frog leaping algorithm[J]. Systems engineering and electronics, 2016, 38(8): 1939-1950. (0) |
[15] |
SAMUEL G G, RAJAN C C A. Hybrid:particle swarm optimization-genetic algorithm and particle swarm optimization-shuffled frog leaping algorithm for long-term generator maintenance scheduling[J]. International journal of electrical power & energy systems, 2015, 65: 432-442. (0)
|
[16] |
SHARMA T K, PANT M. Shuffled artificial bee colony algorithm[J]. Soft computing, 2017, 21(20): 6085-6104. DOI:10.1007/s00500-016-2166-2 (0)
|
[17] |
黄柳玉, 高淑萍, 王军宁, 等. 基于差分进化的混合蛙跳算法[J]. 系统工程与电子技术, 2017, 39(10): 2382-2392. HUANG Liuyu, GAO Shuping, WANG Junning, et al. Hybrid frog leaping algorithm based on differential evolution[J]. Systems engineering and electronics, 2017, 39(10): 2382-2392. (0) |
[18] |
SUN Ping, JIANG Zhiqiang, WANG Tingting, et al. Research and application of parallel normal cloud mutation shuffled frog leaping algorithm in cascade reservoirs optimal operation[J]. Water resources management, 2016, 30(3): 1019-1035. DOI:10.1007/s11269-015-1208-3 (0)
|
[19] |
ZHAO Zhuanzhe, XU Qingsong, JIA Minping. Improved shuffled frog leaping algorithm-based BP neural network and its application in bearing early fault diagnosis[J]. Neural computing and applications, 2016, 27(2): 375-385. DOI:10.1007/s00521-015-1850-y (0)
|
[20] |
AUER P, CESA-BIANCHI N, FISCHER P. Finite-time analysis of the multiarmed bandit problem[J]. Machine learning, 2002, 47(2/3): 235-256. DOI:10.1023/A:1013689704352 (0)
|
[21] |
STURTEVANT N R. An analysis of UCT in multi-player games[C]//Proceedings of the 6th International Conference on Computers and Games. Beijing, China, 2008: 37-49.
(0)
|
[22] |
PRICE K, STORN R, LAMPINEN J. Differential Evolution:a practical approach to global optimization[M]. Heidelberg: Springer, 2005.
(0)
|
[23] |
SHI Y, EBERHART R C. Empirical study of particle swarm optimization[C]//Proceeding of 1999 Congress on Evolutionary Computation-CEC99. Washington, 1999: 1945-1950. https://www.researchgate.net/publication/3810335_Empirical_Study_of_Particle_Swarm_Optimization
(0)
|