一种基于非线性共轭梯度的人工蜂群算法

2014-10-21 14:22李志武奉中华李志刚
数字化用户 2014年20期

李志武 奉中华 李志刚

【摘 要】針对人工蜂群算法在寻优过程中,易陷于局部最优且收敛速度较慢,利用非线性共轭梯度算法的稳定性能好、收敛速度快的特性,引入到人工蜂群算法当中。实验结果表明,基于非线性共轭梯度的人工蜂群算法有效提高了算法的稳定性、收敛精度。

【关键词】人工蜂群算法;非线性共轭梯度算法;函数优化

1 人工蜂群算法及其改进

人工蜂群算法是一种群智能优化算法,该算法是通过模拟蜜蜂采蜜而设计一种优化算法,其算法机理是将蜂群分3类:引领群、跟随群及侦查群,前两个群主要是开采蜜源,侦查群是为了避免蜜源的数量和数量过少[1]。在实际的优化求解中可以将相应的函数模型抽象成花儿蜜糖的数量和蜜源所处的位置,随机生成个处所,选择较好的个作为蜜源的处所,引领群起发现和记忆蜜源的作用,在蜜源周边按下式寻找新的蜜源,

(1)

是新蜜源的处所,是蜜源的第维所在位置,是随机选择的且不同于蜜源的第维的处所,是随机数取值在之间。依照前后蜜源的花蜜的多少即函数的适应度值,来选取较优的蜜源作为初始蜜源;引领群放出信息正比于标识蜜源的质量,此信息招募跟随群体。跟随群根据轮盘赌方式选择合适标记的蜜源并在其周围依照(1)寻找新的蜜源,并与初始标记蜜源比对,选择较优蜜源取代本次初始标记的蜜源。如果在采蜜过程中,蜜源经很多次搜索不变,则对应的引领群,随机寻找新蜜源取代初始标识蜜源中的对应文中,确定最终蜜源。反复执行上述迭代方式,直到达到最大的迭代次数。

本文将非线性共轭梯度法在附近超高倍搜索。非线性共轭梯度法[2]具有稳定性能好、收敛速度较快并且占用空间也小的特点。该算法首先根据已知点处的梯度来得到一组共轭方向,再沿着这组方向进行寻优即可找到目标函数的极小值点。

基于非线性共轭梯度的人工蜂群优化算法(NCGACO)算法步骤:

Step1 人工蜂群算法参数初始化,对非线性共轭梯度法的允许误差和迭代次数N1赋值;

Step2 计算蜜蜂个体的适应度值,依照式(1)更新蚂蚁的位置,以找到全局最优值;

Step3 在点附近按以下方法运行非线性共轭梯度法,

Step4 判断算法是否达到算法的总迭代次数,是则停止搜索,否则转Step2。

2 仿真实验

本文采用基准测试函数均来自文献[3],其中为单模态函数,为多模态函数.进行仿真:

Mean与Std.Dev分别表示适应度的均值与标准差,GSA与DE-GSA分别参照文献[4]。

3 结论

在人工蜂群算法寻优后期蜂群陷入局部最优,优化能力减弱。再利用非线性共轭梯度法的高效的寻优能力在人工蜂群算法基础上进行搜索,从而使得算法跳出陷入局部最优,提高了搜索精度。

参考文献:

[1]胡中华,赵敏.基于人工蜂群算法的TSP仿真[J].北京理工大学学报,2009,29(11):978-982.

[2]孙清滢,桑兆阳,田凤婷等.求解无约束非线性规化问题的一个新的重开始三项共轭梯度算法的收敛性[J].数学季刊(英文版),2011,26(1):69-76.DOI:10.3969/j.issn.1002-0462.2011.01.013.

[3]Qin A K, Huang V L, Suganthan P N. Differential evolution algorithm with strategy adaptation for global numerical optimization[J]. IEEE Trans on Evolutionary Computation, 2009, 13(2): 398–417

[4]Rashedi E, Nezamabadi-Pour H, Saryazdi S. GSA: a gravitational search algorithm[J]. Information Sciences, 2009, 179(13): 2232-2248.