一种自适应步长布谷鸟搜索算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种自适应步长布谷鸟搜索算法
郑洪清;周永权
【摘要】针对布谷鸟搜索算法(CS)后期收敛速度慢、计算精度不高等不足,提出了一种自适应步长调整布谷鸟搜索算法,加快布谷鸟搜索算法的搜索速度,提高其计算精度。
通过8个标准测试函数测试的结果表明,改进后的自适应步长布谷
鸟搜索算法具有较快的收敛速度和较高的寻优精度。
%Aiming at the faults that Cuckoo Search algorithm cannot acquire exactly and converge slowly in
the later period, this paper presents a self-adaptive step adjustment cuckoo search algorithm, which speeds up the cuckoo search algorithm speed and improves the calculation accuracy. The simulation results show the improved self-adaptive step cuckoo search algorithm can search for global optimization more quickly and precisely.
【期刊名称】《计算机工程与应用》
【年(卷),期】2013(000)010
【总页数】4页(P68-71)
【关键词】布谷鸟搜索算法;自适应步长;标准测试函数
【作者】郑洪清;周永权
【作者单位】广西民族大学信息科学与工程学院,南宁 530006;广西民族大学信息科学与工程学院,南宁530006; 广西混杂计算与集成电路设计分析重点实验室,南宁 530006
【正文语种】中文
【中图分类】TP186
20 世纪后期,各种启发式智能搜索算法脱颖而出,如遗传算法(GA)[1]、蚁群算法(AC)[2]、粒子群算法(PSO)[3]等,它们都是通过模拟生物的行为或自然界的现象来解决目标优化问题,是计算智能领域的研究热点方向之一。
随着计算智能技术的快速发展,各种群智能算法相继被研究者提出,如在2009年,剑桥大学学者YANG Xinshe和DEB Suash基于对布谷鸟寻窝产卵的行为的模拟,提出了一种新的全局搜索算法,即Cuckoo Search(CS)算法[4]。
由于这种算法简单、参数少、易于实现,并成功应用于工程优化等实际问题中[5-7],逐渐发展成为群智能算法领域的一个新亮点。
但CS算法同其他一些群智能算法一样,也存在后期搜索速度慢、精度不高等缺点。
针对这些不足,本文提出一种自适应步长布谷鸟搜索算法(Self-Adaptive Step Cuckoo Search algorithm,ASCS),利用布谷鸟鸟窝位置与最佳鸟窝位置之间的距离实现自适应调整。
最后,通过八个标准测试函数测试,测试结果表明,改进后的自适应步长布谷鸟搜索算法具有较快的收敛速度和较高的寻优精度。
在自然界中,布谷鸟寻找适合自己产卵的鸟窝位置是随机的或类似随机的方式,为了模拟布谷鸟寻窝的行为,首先,设定以下3个理想的状态[4]:
(1)布谷鸟一次只产一个卵,并随机选择鸟窝位置来孵化它。
(2)在随机选择的一组鸟窝中,最好的鸟窝将会被保留到下一代。
(3)可利用的鸟窝数量n是固定的,一个鸟窝的主人能发现一个外来鸟蛋的概率pa∈[0,1],在这三个理想状态的基础上,布谷鸟寻窝的路径和位置更新公式如下:
式中表示第i个鸟窝在第t代的鸟窝位置;⊕为点对点乘法;∂表示步长控制量;
L(λ)为Levy随机搜索路径,并且L~u=t-λ,(1<λ≥3)。
通过位置更新后,用随机数r∈[0,1]与pa对比,若r>pa,则对进行随机改变,反之不变。
最后保留测试值较好的一组鸟窝位置,此时仍记为。
在基本CS算法中,采用Levy flight产生随机步长,但这种步长时大时小,在搜
索过程中,步长越大,越容易搜索全局最优,但同时降低了搜索精度,甚至有时会出现震荡现象;步长越小,搜索速度降低,求解精度提高,因此,采用Levy
flight产生步长虽具有随机性,但缺乏自适应性。
针对这个问题,需要根据不同阶段的搜索结果,自适应动态调整步长的大小,处理好全局寻优能力和寻优精度之间的关系。
为此首先引入[8]:
式中,ni表示第i个鸟窝的位置,nbest表示此时鸟窝位置的最佳状态。
dmax表示最优位置与其余所有鸟窝位置距离的最大值。
在此公式的基础上,引入基于离最佳鸟窝位置的自适应调整步长策略:
式中,stepmax和stepmin分别表示步长的最大值和最小值。
根据式(2)、式(3)实现自适应动态调整步长。
当第i个鸟窝位置越接近最佳位置时,步长越小,当第i个鸟窝位置离最佳位置较远时,步长越大。
这样,根据上一代迭代的结果来动态更新本次迭代的移动步长,具有更好的自适应性。
因此,只有根据搜索的步长实现自适应动态调整,算法的搜索速度和寻优精度都有较大的提高。
根据第2章分析,ASCS算法的实施过程与步骤如下:
步骤1(初始化)随机生成n个鸟窝,搜索空间维数为m,最大迭代次数itermax,最大步长stepmax,最小步长stepmin,并找出当前最优鸟窝位置b∈{1,2,…,n}和最优解fmin。
步骤2(循环体)保留上代最优鸟窝的位置,t为正整数,并用式(2)和式(3)产生一步长对其他的鸟窝进行更新,得到一组新鸟窝位置;对这组鸟窝位置进行测
试,与上代产生的一组鸟窝位置:比,让测试较好的鸟窝位置替换测试值较差的鸟窝位置,从而得到一组较优的鸟窝位置
步骤3用服从均匀分布的随机数r∈[0,1]作为鸟窝主人发现外来鸟蛋的可能性并与pa比较,保留kt中被发现概率较小的鸟窝位置,同时随机改变发现概率较大
的鸟窝位置,得到一组鸟窝位置,将这组鸟窝位置进行测试,与kt中每个鸟窝位
置的测试值进行对比,用测试值较好的鸟窝位置替换测试值较差的鸟窝位置,得到一组新的较优鸟窝位置
步骤4找出步骤3最后得到的pt中最优的一个鸟窝位置,并判断它的测试值
fmin是否达到要求精度。
若达到,则输出全局最优值fmin和对应的全局最优位置。
反之,则返回步骤2循环体继续进行迭代更新,直到达到精度为止。
4.1 实验设计
本文求八个标准测试函数的最小值为例,进行仿真实验评估该算法的优化性能,测试平台为Matlab7.1和Windows7,机器主频1.90 GHz,内存2.00 GB。
实验中算法参数设置为:鸟窝规模为20,pa=0.25,步长按公式(2)、公式(3)动态调整,各函数优化的参数和目标精度见表1。
用基本CS算法和ASCS算法分别对上述八个测试函数的最小值寻优,最终测试结果采用独立运行20次后的平均值。
性能评价采用如下方法:(1)固定进化迭代次数,评估算法收敛速度和精度;固定收敛精度目标值,评估算法达到该精度所需的迭代次数。
(2)与参考文献中的优化性能比较。
4.2 实验结果及分析
4.2.1 固定进化迭代次数的收敛速度、精度及平均迭代次数
固定进化迭代次数为200和目标收敛精度,算法独立运行20次,实验结果如表2和图1~图8所示。
由表2可以可知,f1是简单的单峰函数,ASCS比CS的最小
适应值提高了7个数量级,平均适应值提高了6个数量级,平均迭代次数减少了283.75次。
f2是高维函数,ASCS比CS的最小适应值提高了7.9,平均适应值提高了12,平均迭代次数减少了1.610 9E+003次。
f3是单峰病态函数,ASCS比CS的最小适应值提高了1个数量级,平均适应值提高了2个数量级,平均迭代次数减少了152.6次。
f4是复杂的多峰函数,ASCS比CS的最小适应值提高了7.8,平均适应值提高了15,平均迭代次数减少了近100次。
f5是低维的多峰函数,ASCS比CS的最小适应值提高了1个数量级,平均适应值提高了0.001 8,平均
迭代次数减少了近122次。
而最为明显的是函数f6、f7,ASCS的最小适应值和
平均适应值都达到了理论最优值,而且迭代次数比CS分别减少了185、84次。
函数f8也是复杂的多峰函数,ASCS比CS的最小适应值提高了4.8,平均适应值提高了1个数量级,平均迭代次数减少了679.5次。
图1~图8是函数f1,f2,f3,f4,f5,f6,f7,f8,采用CS算法和ASCS算法
运行20次的平均适应度对数值(为了便于比较采用适应度的对数值)的进化曲线图。
从图中可以看出,ASCS优化精度较高,收敛速度加快。
综上所述,ASCS与CS相比,在收敛精度和收敛速度方面都有所提高。
4.2.2 与参考文献中的优化性能比较
表3中的函数f1,f2,f3,f4均为参考文献[6]中的函数,统计了三种算法在四个测试函数都达到相同精度10-7的前提下迭代次数的对比,可见改过后的算法迭代时间较短,进而说明ASCS收敛速度较快。
针对布谷鸟搜索算法(CS)后期收敛速度慢、计算精度不高等不足,本文提出了
一种自适应步长调整布谷鸟搜索算法,目的是为了加快布谷鸟搜索算法的搜索速度,提高其计算精度。
最后,通过八个标准测试函数测试,测试结果表明,改进后的自适应步长布谷鸟搜索算法具有较快的收敛速度和较高的寻优精度。
由于CS算法是近两年新提出的一种新型群智能搜索算法,其算法的数学理论基础、参数选取的方
法和理论依据等有待今后进一步研究。
【相关文献】
[1]Goldberg D E.Genetic algorithm in search,optimization and machine
learning[M].Boston:Addison-Wesley Longman Publishing Co.Inc,1989.
[2]Dorigo M,Bonabeau E,Theraulaz G.Ant algorithms and stigmergy[J].Future Generation Computer System,2000,16(8):851-871.
[3]Kennedy J,Eberhart R.Particle swarm optimization[C]//Proc IEEE Int Conf on Neural Networks.Perth,Australia:[s.n.],1995:1942-1948.
[4]Yang X S,Deb S.Cuckoo search via Levy flights[C]//Proceedings of World Congress on Nature&Biologically Inspired Computing.India:IEEE Publications,2009:210-214. [5]Yang X S,Deb S.Engineering optimization by cuckoo search[J]. Int J Math
Modeling&Num Optimization,2010(4):330-343.
[6]王凡,贺兴时,王燕.基于高斯扰动的布谷鸟搜索算法[J].西安工程大学学报,2011,25(4):566-569.
[7]Walton S,Hassan O,Morgan K,et al.Modified cuckoo search:a new gradient free optimization algorithm[J].Chaos,Solitons &Fractals,2011,44:710-718.
[8]欧阳喆,周永权.自适应步长萤火虫优化算法[J].计算机应用,2011,31(7):1804-1807.。