文档介绍:
人工蜂群算法的吸附式叶型设计
《航空动力学报》2014年第九期
1优化策略:人工蜂群(ABC)算法
在工程优化领域,遗传算法(GA)[8]已被广泛采用,但遗传算法存在着收敛速度慢,求解高维问题时易早熟陷入局部最优等固有缺陷,且算法的操作较为繁琐,参数不易选取.近年来,基于群智能的算法,如蚁群算法[9]、粒子群算法[10]等逐渐成为研究热点,其在神经网络训练、函数优化、工程优化等领域表现出了优于遗传算法的性能.人工蜂群算法[11]是一种新型的群智能算法,由Karaboga于2005年提出,文献[12]中明确指出其与差分进化算法、粒子群算法等相比可获取更佳的性能测试结果,是一种优秀的函数优化方法之一,且具有设置参数少,计算简单等优点,具有广阔的工程应用前景.
1.1人工蜂群算法的基本原理在人工蜂群算法中,蜂群由采蜜蜂、待工蜂和侦察蜂组成[13].采蜜蜂所采蜜源对应着优化问题的可行解.初期,蜂群被等分为采蜜蜂和待工蜂.采蜜蜂外出采蜜,归来后通过摇摆舞将蜜源的位置、数量等信息传递给待工蜂,待工蜂根据获得的信息以一概率选择自己将要开采的蜜源.为了提高算法的全局收敛性,若采蜜蜂寻找到的蜜源的质量在一定循环次数后仍然没有提高,则放弃当前蜜源,采蜜蜂转变为侦察蜂,继续寻找新的蜜源.人工蜂群算法包括以下基本步骤:1)初始化蜜蜂种群.在初始时刻,随机生成生成N个可行解2)按照种群适应度大小,将蜜蜂分为采蜜蜂和待工蜂两种.在该步中,计算由步骤1)生成的各解向量的适应度值,并按由大到小的顺序进行排列,选择前N/2个蜜蜂作为采蜜蜂.3)对于每只采蜜蜂,继续在原蜜源附近采蜜,搜索其他蜜源,并计算其适应度值,若其适应度值更高,则取代原蜜源.搜索蜜源的公式为采用贪婪选择算子在采蜜蜂搜索到的新位置向量V和X中选取具有更优适应度的保留给下一代的种群.其概率分布4)对于每只待工蜂,按照与蜜源适应度值成比例的概率,选择一个蜜源,并在其附近进行采蜜,寻找其他蜜源,若新产生的蜜源适应度值更高,则待工蜂变为采蜜蜂,并取代原蜜源位置.待工蜂选择蜜源的选择概率为式中Ne为采蜜蜂的个数.5)若搜寻次数超过一定限制,仍没有找到具有更高适应度值的蜜源,则放弃该蜜源,并重新初始化生成一个新的蜜源.6)记录下至今为止的最优蜜源,并跳至步骤2),直至算法收敛.
1.2算法测试选用了3个典型的经常用于算法测试的函数对人工蜂群算法进行测试,并与当前主流的遗传算法进行了对比.测试函数分别为Sphere,Rastr-igin,Griewank函数.Sphere函数的方程为与Sphere函数相比,Rastrigin函数增加了余弦函数的调制,其图形如图2所示,在Sphere函数的图形的表面,由余弦函数调制出多个极值点,更难求解.在函数测试中,人工蜂群算法种群规模设置为40,搜索限制次数为100,最大迭代次数为200.遗传算法种群规模为50,交叉概率为0.6,变异概率为0.01,进化代数为200.各优化函数的维数为5,定义域为-100,[]100各算法均独立运行20次,然后取平均值,以减小随机误差.测试结果如表1所示.对于Sphere函数和Rastrigin函数,人工蜂群算法均