摘要:人工蜂群算法(ABC,Artificial bee olony algorithm)是一种新的基于蜜蜂群智能行为的优化算法,存在许多有待改进的方面。针对ABC算法中早熟问题,对比几个选择方法如boltzmann选择法,分裂选择法,锦标赛选择法等,并进行实验,结果表明改进后的方法优于原方法。 中国论文网 http://www.xzbu.com/8/view-1701399.htm 关键词:人工蜂群算法 优化算法 早熟 boltzmann选择 0. 引言 近年来,人工蜂群算法(ABC,Artificial Bee Colony)越来越多地受到人们的关注。Seeley[1]建立了蜜蜂的自组织模型。在此基础上,Karaboga于2005年提出了人工蜂群算法[2]。该算法是基于蜜蜂群智能行为的优化算法,通过模拟蜜蜂按照分工采蜜交换蜜源信息来找到最优蜜源。在算法中,采蜜蜂通过轮盘赌方式选择蜜源,导致算法容易陷入早熟。 本文针对此问题,对比了Boltzmann选择法,分裂选择法以及锦标赛选择法等,通过实验表明,改进后的方法优于原方法。 1. 人工蜂群算法[3] ABC算法步骤: 步骤1 设置主要初始参数:种群数、最大循环次数、参数维数、阈值等,其中采蜜蜂和观察蜂各占50%,侦察蜂1个; 步骤2 随机产生m个初始解,并初始化适宜度最高蜜源(最优解)为第0个蜜源; 步骤3 采蜜蜂搜索蜜源,并计算蜜源适宜度值,进入循环; 步骤4 观察蜂分享蜜源信息,以轮盘赌方式选择其中一个蜜源,然后搜索邻近新蜜源; 步骤5 计算新蜜源适宜度值,根据贪婪机制(适宜度小的被淘汰)选择更优蜜源; 步骤6 经过限定次数(limit)循环后,蜜源适宜度值扔不达标则放弃,采蜜蜂变成侦察蜂继续搜索, 步骤7 存储最优解(适宜度最高蜜源),循环次数加1; 步骤8 满足终止条件,算法结束。 在算法中,采用轮盘赌方式选择蜜源,可能导致算法的早熟,针对此,对比了以下的改进方法,并进行实验,结果表明改进方法优于轮盘赌选择方式。 2. 改进的选择方法 2.1 Boltmann Selection Boltzmann选择公式: 式中: 为第i个个体的适宜度值,T为温度,T0为初始温度,c为循环次数序号。 2.2 Disruptive Selection 此选择方法类似于轮盘赌方法,只是适宜度值的计算定义不同,概率选择方式不变: 此方法使较优的和较差的蜜源有更多的机会被选择,来保留种群多样性。 2.3 Tournament Selection 此方法思想:为每一个蜜源另设一参数ai(ai表示适宜度值的排名),选择任意两个蜜源进行适宜度值的比较,使较好的蜜源的ai加一,以此类推,直至所有蜜源全部比完,此时适宜度值最大的蜜源排名第一,且ai值最大;再按照ai来计算选择概率。 概率选择方式: 3. 实验结果与分析 为了评价改进后的方法,选择两个测试函数来进行测试:Sphere,Rosenbrock。 1)Sphere function 2)Rosenbrock function 实验测试结果如下: 其中,BABC,DABC,TABC分别代表2.1、2.2以及2.3中的选择方法: Sphere function结果: Rosenbrock function结果: 由以上两表可以看出,改进后的三种方法基本上都优于标准ABC算法中的选择方法,这说明了改进后的方法是有效的。 4. 结束语 在本文中,在ABC算法中的选择机制基础上,对比与分析了三种改进的选择方法,并进行了实验,结果表明,增加了种群多样性以及避免了早熟。总的来说,三种改进的选择方法优于标准的ABC算法中的选择方法。 参考文献: [1]SEELEY T D.The wisdom of the hive:the social physiology of honey bee cology[M].Boston,Massachusetts:Harvard University Press,1995. [2]KARABOGA D.A idea based on bee swarm for numerical optimization,TRO6[R].[S.l.]:Erciyes University,Engineering Faculty,Computer Engineering Department,2005 [3]KARABOGA D,BASTURK B.On the performance of Artificial Bee Colony (ABC) algorithm[J].Applied Soft Computing,2008
|