人工蜂群算法研究综述

2016-10-31 20:22包丽梅
电脑知识与技术 2016年22期

包丽梅

摘要:人工蜂群算法是由Karaboga在2005年提出的一类新型群体智能优化算法,对于解决连续函数的求解问题具有较强的适应性,目前,已被应用在航空航天、化工生产等诸多领域。为进一步提高人工蜂群算法的精度,使其更好地服务于社会相关领域。该文对蜂群算法的基本原理与计算步骤进行阐述和分析,介绍了蜂群算法的相关优化改进方法,并指出了蜂群算法未来的改进与研究方向。

关键词:人工蜂群算法;觅食行为;群体智能

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)22-0159-02

Abstract: the artificial colony algorithm is established in 2005 by Karaboga put forward a new type of swarm intelligence optimization algorithm, to solve the continuous function to solve the problem with strong adaptability, at present, has been used in many fields such as aerospace, chemical production. In order to further improve the accuracy of artificial colony algorithm, to make it better service to the society in related fields. This paper elaborates the basic principle and calculation steps of swarm algorithm and analysis, this paper introduces the colony algorithm related optimization improvement method, and points out that the swarm algorithm improvement and research direction in the future.

Key words: artificial colony algorithm; foraging behavior; swarm intelligence

对人工蜂群算法进行分析可知,其自然界原理为蜜蜂的觅食行为,由于蜜蜂的觅食行为恰好是一类较为典型的群体智能行为,故而为人工蜂群算法的产生和应用提供了重要的信息来源,而人工蜂群算法也是对蜜蜂觅食这一智能行为的模拟,具有算法简单和鲁棒性强等特点,不仅能够较好地解决模糊聚类和数值函数优化等问题,而且还能够实现对流水线的科学调度。鉴于人工蜂群算法的诸多优势,加强对其研究的力度无疑对于促进该算法在社会各领域中的应用具有重要的作用和意义。

为保持人工蜂群算法的一般性,其解的适应度评价应以下式为依据进行计算:

上式中,fi为解的函数值。至此,可将人工蜂群算法的核心确定为以下三部分:引领蜂对蜜源进行搜索;引领蜂对蜜源信息进行分享,同时,跟随蜂以相应概率对蜜源进行搜索;引领蜂在转变为侦查蜂后在相应的蜜源搜索空间内进行随机搜索。

1.2 算法步骤

人工蜂群算法的步骤如下:首先,对蜜源Xi进行初始化,对参数NP以及limit和迭代次数的上限进行设定,而后,为初始化后的蜜源Xi分配一引领蜂,并使其根据公式(2)展开新蜜源Vi的搜索工作;其次,根据公式(5)对新搜索到的蜜源Vi的适应度进行评价,并以贪婪选择法确定出应该保留的蜜源;再次,根据公式(3)对引领蜂所寻蜜源被跟随蜂跟随的概率进行计算,跟随蜂的蜜源搜索方式同与其共享信息的引领蜂搜索方式相同,并仍以贪婪选择的方式确定应保留的蜜源;最后,对蜜源Xi是否满足被遗弃的条件进行判定,若满足遗弃条件,则引领蜂转变为侦查蜂,侦查蜂则以公式(4)为依据随机生成新蜜源;若不满足,则令t=t+1,直接判断算是否满足终止条件,若满足,则终止;若不满足,则亟须为蜜源Xi分配引领蜂,重复上述步骤。

2 人工蜂群算法的优化改进

2.1 参数调整

为进一步提高人工蜂群算法的精度,Akay等人通过开展多组实验对人工蜂群算法受参数影响的情况进行了深入研究,相关实验结果表明:人工蜂群算法并不会对问题的维数过于敏感,故对于高维问题的求解具有较强的适应性;群体规模并不会对人工蜂群算法性能产生显著的影响,故即使利用算法求解较小群体规模的解仍然可以达到所需效果。人工蜂群算法受limit值的影响较大,若limit值过小,则会对蜂群的协作搜索产生不利影响;若limit值过大,则会导致算法的探索能力大幅下降,故对于相对复杂的函数,人工蜂群算法的limit应设置为CZ*D,其中,CZ表示群体规模,D为问题维数[2]。此外,为进一步提高算法对搜索扰动维数的控制效果,Akay与Karaboga等人将MR,即修改率这一参数引入人工蜂群算法中,通过给出以Rechenberg1/5为依托的变异规则所对应的自适应调整扰动辅助算法,有效提高算法的求解精度[3]。

2.2 新的学习策略

由蜜源搜索的计算公式可知,人工蜂群算法的搜索主要是基于个体之间的交互学习予以实现的,虽然此种学习策略可以使群体保持较高的探索能力,但对新蜜源的开发能力却有所缺失,从而影响该算法的精度和收敛速度。由此发现并设计新的学习策略则成为了提高人工蜂群算法性能的关键。Banharnsakun等人以跟随蜂对蜜源的搜索公式为基础,将最佳个体的适应度值纳入其中使得算法的搜索半径随迭代次数的递减而增加,有效加快了算法对高质量解的寻找速度[4]。银建霞,孟红云等人将惯性权重与加速细数等纳入到基本人工蜂群算法的蜜源搜索公式当中,并以适应度值来对二者的取值予以确定,从整体上提高了算法的求解精度[5]。

3 结论

本文通过对人工蜂群算法的原理和步骤进行说明,进而对前任关于该算法的改进优化方法展开了详细的论述分析。具体研究结果如下:人工蜂群算法具有较强的系统性,通过引入群体概念对空间中的个体集合予以表示,在个体与个体间高效的信息共享的基础上完成迭代繁衍与最优解的搜索任务,具有较强的自组织性。同时,由于人工蜂群算法仍然处于初级研究阶段,在参数设置和算法优化方面仍然有待改进,加之既有的研究成果相对分散,故并未被广泛应用到相关领域。未来,还需进一步加强对人工蜂群算法的研究,积极探究提高算法精度和性能的方法,为实现该算法的普及和应用奠定良好基础。

参考文献:

[1] 张超群,郑建国,王翔.蜂群算法研究综述[J].计算机应用研究,2011,9(14):3201-3205.

[2] 林小军,叶东毅.一种带规范知识引导的改进人工蜂群算法[J].模式识别与人工智能,2013,3(12):307-314.

[3] 梁小晓,韦崇岗.基于人工蜂群算法的物联网数据融合技术研究[J].组合机床与自动化加工技术,2013,5(9):5-8.

[4] 孟妍,吴小瑛.人工蜂群算法综述[J].信息技术与信息化,2013,4(24):46-48.

[5] 银建霞,孟红云.具有混沌差分进化搜索的人工蜂群算法[J].计算机工程与应用,2013,9(20):27-30.