带有权重函数学习因子的粒子群算法

摘 要:粒子群算法(PSO)中惯性权重和学习因子的独自调整策略削弱了算法进化过程的统一性和粒子群的智能特性,很难适应复杂的非线性优化,为此提出一种利用惯性权重来控制学习因子的PSO算法。该算法将学习因子视作惯性权重的线性、非线性以及三角函数,在惯性权重随时间线性或非线性递减的过程中,学习因子发生相应的递减或递增变化,进而通过增强两者之间的相互作用来平衡算法的全局探索和局部开发能力,更好地引导粒子进行优化搜索。同时为了分析惯性权重和学习因子的融合性能,采用线性和非线性权重法进行比较,测试函数的优化结果表明了采用非线性递减权重的优越性。最后通过对多个基准测试函数的优化分析,并与带有异步线性变化和三角函数学习因子调整方法的PSO进行比较发现,该策略利用惯性权重调整学习因子,能达到平衡粒子个体学习能力和向群体学习能力的作用,提高了算法的优化精度。

关键词:粒子群算法;学习因子;惯性权重;统一性;基准函数

中图分类号: TP18

文献标志码:A

0 引言

粒子群算法(Particle Swarm Optimization,PSO)是1995年由Eberhart和Kennedy[1]提出的一种模拟鸟类觅食行为过程的随机智能优化算法,该算法结构简单,运行速度快且所需调整的参数少,被广泛应用于函数优化和工程实践等诸多领域[2],已经成为一种重要的优化工具。

由于PSO算法易早熟收敛和易陷入局部最优,相继出现了很多改进的PSO算法[3-5],其中一个比较简单方便的改进策略就是调整算法参数。PSO中比较重要的可调参数包括惯性权重和学习因子,合理调整和搭配这两个参数能够有效引导粒子群进行优化搜索,提高算法的求解精度。在Shi等[6]首次将惯性权重概念引入PSO算法之后相继出现了很多对惯性权重和学习因子的调整策略,其中对前者有线性递减法[6]、非线性递减法[7]和S型函数调整法[8]等;对后者也有多种类似的取值策略[9-11]。但是在这些取值中,惯性权重和学习因子各自独立变化,互不影响,一定程度上降低了PSO算法的智能效应,不利于粒子群进行全局搜索。基于上述问题,本文将学习因子视作惯性权重的函数,提出了一种学习因子随惯性权重而动态变化的PSO算法,并通过测试基准函数和比较相关PSO算法验证了本文算法的性能。

从表1和表2可以看出,利用本文学习因子取值策略的PSO算法求解出的各函数最优值总体上优于其他学习因子法,并且取值策略二效果最佳,策略三次之,策略一最差,而这正是参数非线性变化和PSO算法智能特性的有效利用。同时还可发现,采用指数递减权重与学习因子融合的效果总体上优于线性递减权重与学习因子的融合。实验结果表明,采用非线性惯性权重和学习因子相互作用的PSO算法能够有效改善算法的全局和局部搜索能力,并求解出更优解。

观察图2至图5可以发现,采用本文提出的学习因子取值策略的PSO在收敛速度上的效果并不明显,但是能够有效改善算法的优化精度。在粒子飞行过程中,本文提出的算法增加了粒子之间的相互作用,从而增强了搜索最优解的能力。此外,从图中还可发现,策略二在4个函数中均表现了良好的优化性能,其适用范围较广;策略三在单峰函数中的优化性能较好,而在多峰函数中却与其他学习因子法相差无几;策略一性能一般,并且在Rosenbrock函数中的效果较异步线性变化学习因子法差,其适用性较弱。

4 结语

学习因子的多种改进策略一定程度上能够改善PSO算法的搜索性能,但是它和惯性权重的变化相互脱离,削弱了PSO进化过程的统一性而不利于粒子进行全局搜索,故本文在分析PSO算法学习因子各种取值策略的基础上提出了一

种新的学习因子调整策略,即认知学习因子随惯性权重逐渐

减小,社会学习因子随惯性权重逐渐增大。针对不同的优化

问题采用了三种函数对应关系,从对测试函数和多种相关

PSO的比较分析不仅验证了该算法是一种有效的新型全局

PSO算法,也为通过控制惯性权重和学习因子之间的相互关系来改善算法性能提供了一种新的研究思路。

参考文献:

[1]KENNEDY J, EBERHART R. Particle swarm optimization [C]// Proceedings of the 1995 IEEE International Conference on Neural Networks. Piscataway: IEEE, 1995,4: 1942-1948.

[2]纪震,廖惠连.粒子群算法及应用[M].北京:科学出版社,2009.

[3]KENNEDY J. Stereotyping: improving particle swarm performance with cluster analysis [C]// Proceedings of the 2000 Congress on Evolutionary Computation. Piscataway: IEEE, 2000, 2:1507-1512.

[4]LIU B, WANG L, JIN YH, et al. Improved particle swarm optimization combined with chaos [J]. Chaos, Solitons and Fractals, 2005, 25(5):1261-1267.

[5]SHI Y, EBERHART R C. Fuzzy adaptive particle swarm optimization [C]// Proceedings of the 2001 IEEE Congress on Evolutionary Computation. Piscataway: IEEE, 2001: 101-106.

[6]SHI Y, EBERHART R C. A modified particle swarm optimizer [C]// IEEE World Congress on Computational Intelligence: The 1998 IEEE International Conference on Evolutionary Computation Proceedings. Piscataway: IEEE, 1998:69-73.

[7]CHATTERJEE A, SIARRY P. Nonlinear inertia variation for dynamic adaption in particle swarm optimization [J]. Computers & Operation Research, 2006, 33(3): 859-971.

[8]田东平, 赵天绪.基于Sigmoid惯性权重的自适应粒子群优化算法[J].计算机应用,2008,28(12):3058-3061.

[9]SUGANTHAN P N. Particle swarm optimiser with neighbourhood operator [C]// CEC 99: Proceedings of the 1999 Congress on Evolutionary Computation. Piscataway: IEEE,1999, 3:1958-1962.

[10]RATNAWEERA A, HALGAMUGE S. Selforganization hierarchical particle swarm optimizer with varying acceleration coefficients [J]. Evolutionary Computation, 2004, 8(3): 240-255.

[11]毛开富,包广清.基于非对称学习因子调节的粒子群优化算法[J].计算机工程,2010,36(19):182-184.

[12]谢晓峰, 张文俊.微粒群算法综述[J].控制与决策,2003, 18(2):130-134.

[13]徐生兵.一个改进学习因子的粒子群算法[J].信息安全与技术,2012,7(19):17-19.

[14]李宁, 孙德宝.基于差分方程的PSO算法粒子运动轨迹分析[J].计算机学报,2006,29(11):2052-2061.

推荐访问:权重 粒子 因子 算法 函数