布谷鸟算法
布谷鸟算法详细介绍
g, j , g,k:表示g代的两个随机数
改进的CS算法—自适应步长的CS算法
在标准的布谷鸟优化算法中,利用莱维飞行随机产生步长,不利于计算。当 步长较小时,会降低搜索速度,但步长较大时,会降低搜索精度,因此提出 了自适应步长的布谷鸟搜索算法,该算法根据不同阶段的搜索结果,自适应 的调整步长的大小。引入公式:
CS算法—国内外研究进展
分类
学者
观点
步长
自适应
与其他算 法结合
Walton 等人
针对 Levy flights 随机游动中的 Levy 随机步长大小提出 一种改进版本以加强局部搜索
Tuba 等 人
针对偏好随机游动中的步长提出一种基于种群排序的改进版 本
Valian 等 提出了一种自适应步长和自适应发现概率的 CS 算法 人
3 与遗传算法和粒子群算法相比,参数更少,本质上只有 一个P。
布谷鸟位置更新公式:
xg1,i xg,i L( ) (i 1, 2, n)
(1)
பைடு நூலகம்
xg ,i : 表示第i个鸟巢在第g代的鸟巢位置 : 表示点对点乘法 : 表示步长控制量,通常取1
L( ) : 表示莱维随机搜索路径
CS算法—基本流程
步长公式:
0 (x g,i xbest )
(2)
人工萤火虫优 萤火虫通过通过荧光进行信息交流 化算法
布谷鸟算法 布谷鸟孵育行为
背景起源—布谷鸟的孵育寄生行为
某些种属的布谷鸟将自己的卵偷偷产入宿主巢穴,由于布谷鸟后代 的孵化时间比宿主的幼雏早,孵化的幼雏会本能地破坏同一巢穴中其他 的卵(推出巢穴),并发出比宿主幼雏更响亮的叫声。很多宿主通过后代 的叫声大小判断其健康程度, 而健康后代获得的食物较多, 进而拥有更 高的存活率。在某些情况下, 宿主也会发现巢穴中的陌生卵。这时, 宿 主将遗弃该巢穴, 并选择其他地方重新筑巢。在与宿主不断的生存竞争 中, 布谷鸟的卵和幼雏叫声均朝着模拟宿主的方向发展, 以对抗宿主不 断进化的分辨能力。
基于种群信息的布谷鸟算法
第36卷㊀第1期沈㊀阳㊀化㊀工㊀大㊀学㊀学㊀报Vol.36㊀No.12022.02JOURNALOFSHENYANGUNIVERSITYOFCHEMICALTECHNOLOGYFeb.2022收稿日期:㊀2019-09-18基金项目:㊀辽宁省自然科学基金项目(20170540725)ꎻ辽宁省高端人才建设项目 辽宁省特聘教授{[2018]3533}作者简介:㊀高淑芝(1968 )ꎬ女ꎬ辽宁沈阳人ꎬ教授ꎬ博士ꎬ主要从事复杂工业过程智能控制优化技术的研究.文章编号:㊀2095-2198(2022)01-0069-05基于种群信息的布谷鸟算法高淑芝1ꎬ㊀高㊀越2(1.沈阳化工大学装备可靠性研究所ꎬ辽宁沈阳110142ꎻ㊀2.沈阳化工大学信息工程学院ꎬ辽宁沈阳110142)摘㊀要:㊀布谷鸟算法(CS)是一种优秀的元启发式算法ꎬ其控制参数少的优点使它可以很容易确定控制参数和结果的关系ꎬ在许多实际问题的处理中都发挥了良好的作用.但是单一的Levy飞行策略使每个个体很难凭借自身的随机游动跳出局部极值ꎬ长时间陷入局部极小值限制了算法的收敛速度.为此ꎬ提出一种基于种群信息的布谷鸟算法(PBCS).整个种群的平均位置信息将作为个体迭代时的参考方向ꎬ使个体可以成功地跳出局部极值.将种群最优位置作为生成新个体方向ꎬ可以增加整个算法的收敛速度ꎬ便于在寻找到最优值所在的区域后迅速收敛.在6种常见的基准函数上与其他两种算法的对比ꎬ证明该算法具有更好的全局探索和局部搜索能力.关键词:㊀元启发式算法ꎻ㊀布谷鸟算法ꎻ㊀种群信息doi:10.3969/j.issn.2095-2198.2022.01.012中图分类号:㊀TP18㊀㊀㊀文献标识码:㊀A㊀㊀元启发式算法是复杂函数最优值问题的一个重要解决方法.它们的灵感来自自然界中某种生物的某种行为ꎬ如启发自鸟群觅食行为的粒子群算法(PSO)[1]㊁启发自萤火虫闪光行为的萤火虫算法(FA)[2]㊁启发自蜂群群体行为的人工蜂群算法(ABC)[3]等ꎬ这些算法已经在实际问题中被证明了具有良好的性能[4-6].最近ꎬ出现了一种布谷鸟算法[7-8]ꎬ该算法模拟自然界中布谷鸟的产卵行为进行寻优ꎬ并使用模拟果蝇飞行过程的Levy飞行策略进行搜索.该策略采用一系列具有突变序列特征的随机游走ꎬ以较高概率在小范围内搜索的同时以较小概率作大步长的随机游动.其优势在于ꎬ只要经过迭代的次数足够多ꎬLevy飞行总能找到搜索域内每一个点ꎬ即总能找到最优解.布谷鸟算法的优势在于ꎬ其控制参数只有2个ꎬ即搜索步长α和个体被发现的概率Pa.只要控制其中一个保持不变ꎬ就可以很容易观察到另一个参数的值对结果的影响.但是ꎬCS算法在处理多模态函数时的效果还略有不足ꎬ虽然已经有许多布谷鸟算法的变种被提出[9-11]ꎬ但是仍然存在很多问题.在某个个体陷入局部最优时ꎬ它可能无法根据它的近邻跳出局部极值ꎬ因为这些个体很可能也具有相似的属性.但是ꎬ如果依靠群体中最优个体的位置以及整个种群位置的均值ꎬ就可以跳出该极值区域ꎬ并进一步找到全局最优.为了证明所提出方法具备以上特点ꎬ使用几个常见的目标函数用于测试ꎬ通过与其他算法的比较来证明这一方法的有效性.1 布谷鸟算法在自然界中ꎬ布谷鸟寻找适合自己产卵巢穴的方式是一种随机的方式ꎬ为了模拟其产卵的过程ꎬ引入以下3条理想化的规则:(1)每个布谷鸟的蛋代表一个解ꎬ布谷鸟每次只产一个蛋ꎬ并随机选择某个鸟巢将蛋放入其中.(2)布谷鸟们每一代都会寻找到许多鸟巢产卵ꎬ其中一部分鸟巢中放着优质的蛋ꎬ这些蛋代表㊀70㊀沈㊀阳㊀化㊀工㊀大㊀学㊀学㊀报㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀2022年位置较好的解ꎬ这些鸟巢将被保存到下一代.(3)寄主巢的数量不变ꎬ且寄主有一定的概率paɪ(0ꎬ1)发现布谷鸟放的蛋.被发现的蛋将被宿主舍弃.在布谷鸟算法中ꎬ鸟巢中的每个蛋都代表一个解ꎬ布谷鸟所产的蛋代表新解ꎬ采用更好的解或者新解来取代鸟巢中的劣解.该算法可以拓展得更加复杂ꎬ一个巢可以有多个卵的情况ꎬ即一群解.但是ꎬ本文仅考虑最简单的情况ꎬ即一个巢中仅包含一个解.这样ꎬ不论是蛋㊁巢还是布谷鸟ꎬ都表示为算法中的解.根据以上假设的布谷鸟产卵行为ꎬ得出以下布谷鸟算法的解的更新公式:㊀㊀xt+1i=xti+α L(β).(1)其中:xt+1i是第t+1代的第i个个体ꎻα>0ꎬ是Levy飞行的步长缩放因子ꎬ它的值一般为0 01㊁0 1或1ꎬ具体大小与所选取的问题相关[5]ꎻ运算符 代表点对点乘积.Levy飞行的公式为㊀㊀L(β)=φ u/v1β.(2)其中:u~N(0ꎬ1)ꎻv~N(0ꎬ1)ꎻφ=[Γ(1+β) sin(π β/2)/㊀㊀Γ(1+β)2ˑβˑ2β-12æèçöø÷]1βꎻ(3)β是一个常数ꎬ它的值在区间[1ꎬ2]上ꎬ一般取1.5ꎻΓ(•)是Gamma函数.2 基于种群信息的布谷鸟算法布谷鸟算法单一地使用Levy飞行策略导致整个搜索过程过于依赖随机游走ꎬ搜索效率不佳ꎬ难以在期望的时间内寻找到最优值ꎬ浪费了大量的计算成本ꎬ在处理一些有许多局部极小值的多模态函数时ꎬ需要很多次迭代才能收敛.Levy飞行策略步长的选择也极为重要ꎬ选择的步长较大会导致个体徘徊在最优值附近ꎬ难以找到其精确的位置ꎬ达到预想的精度就会变得较为困难ꎻ选择的步长较小可能会导致难以找到最优解ꎬ收敛于局部极小值.这就意味着需要大量的先验性试验确定步长的大小.整个种群信息的引入给布谷鸟算法提供了跳出局部最优的能力以及局部搜索的能力.引入整个种群个体的平均位置帮助个体跳出局部极值ꎬ该搜索策略的个体位置更新公式为㊀㊀xt+1i=xtmean+ζ xtmean-xti() log(1/σ).(4)其中:ζ代表步长因子ꎬ控制学习种群平均位置的程度ꎬ在本文中取1.6ꎻσ是一个在[0ꎬ1]上的随机数ꎻxtmean是整个种群在第t代时的平均位置ꎬ它的计算方式为xtmean=ðpi=1xti/p.(5)其中p代表种群大小.种群中的个体将根据整个种群和自身的位置生成新个体ꎬ从自身与平均位置连线上的另一端跳出局部极值ꎬ保证算法的全局探索能力.拥有足够的全局探索能力能够保证算法成功找到全局最优值所在的区域ꎬ但是找到的解并不一定能够找到具有足够精度的值ꎬ这可能会导致最终的解不满足需要的精度要求.所以还应该有一种搜索策略保证算法的局部搜索能力.一种依靠种群最优位置的搜索策略如等式(6)所示.㊀㊀xt+1i=xti+ζ xtbest-xti().(6)其中xtbest是截至第t代最优的个体的位置.这里最优的个体指的是在目标函数下具有最好适应度值的个体.在迭代过程中ꎬ这两种策略和Levy飞行策略将具有相同的概率被选择ꎬ个体选择搜索策略的方式为xt+1i=xti+α L(β)ꎬ㊀0ɤθ<1/3ꎬxt+1i=xtmean+ζ xtmean-xti() log1/σ()ꎬ1/3ɤθ<2/3ꎬxt+1i=xti+ζ xtbest-xti()ꎬ㊀2/3ɤθ<1.ìîíïïïïï(7)其中θ是一个[0ꎬ1]上服从均匀分布的随机数.每个个体在每一代都将随机选择一种搜索策略ꎬ生成新的个体.算法的过程如下:步骤1:算法初始化ꎬ设置种群大小popsize㊁迭代总次数Gmax㊁Levy飞行的步长以及布谷鸟被发现的概率.步骤2:初始化种群ꎬ计算每个个体的适应度值ꎬ并比较出最优个体.步骤3:每个个体根据式(7)随机选择策略并生成新一代个体.步骤4:计算每个个体的适应度值.步骤5:根据布谷鸟被发现的概率随机舍弃㊀第1期高淑芝ꎬ等:基于种群信息的布谷鸟算法71㊀部分个体.步骤6:计算每个个体的适应度值ꎬ并更新最优个体.步骤7:判断迭代终止条件是否满足ꎬ若终止条件未满足ꎬ则转步骤3ꎬ否则转步骤8.步骤8:终止循环ꎬ输出最优值.3㊀实验与分析3 1㊀实验函数与参数设置为了证明基于种群信息的布谷鸟算法具有更强的全局探索能力和局部搜索能力ꎬ将其与基本布谷鸟算法和粒子群算法在6种常见的基准函数上进行仿真ꎬ这6种函数以及他们的参数和搜索域如下:㊀㊀Ackley函数:f(X)=-20exp(-0.2ðni=1x2i/n)-exp(ðni=1cos(2πxi)/n)+20+eꎬ|xi|ɤ32ꎻ㊀㊀Bohachevsky函数:f(X)=x21+2x22-0 3cos(3πx1)-0.4cos(4πx2)+0.7ꎬ-100ɤxɤ100ꎻ㊀㊀Schewefel函数:f(X)=ðni=1(ðij=1xj)2ꎬ|xi|ɤ100ꎻ㊀㊀Griewank函数:f(X)=14000ðni=1x2i-ᵑni=1cosxiiæèçöø÷+1ꎬ|xi|ɤ600ꎻ㊀㊀Rastrigin函数:f(X)=ðdi=1[u2i-10cos(2πui)+10]ꎬ㊀㊀ui=xiꎬ㊀xi<0.5ꎬround(2xi)/2ꎬ㊀|xi|ȡ0.5ꎬ{㊀㊀xiɪ[-5.12ꎬ5.12]ꎻ㊀㊀Weierstrass函数:f(X)=ðDi=1{ðkmaxk=0[akcos(2πbk(xi+0 5))]}-Dðkmaxk=0[akcos(2πbk 0 5)]+20ꎬa=0.5ꎬb=3ꎬkmax=20ꎬxɪ[-0.5ꎬ0.5]D.在这些函数中ꎬBohachevsky函数是二维的ꎬ其他函数都在十维上进行仿真ꎬ所有函数的真实最小值都是0.布谷鸟被发现的概率被设置为0 25ꎬ粒子群算法的权重设置为0 7ꎬ学习因子c1和c2的值都是1 4.这些参数来源于原始布谷鸟算法和粒子群算法作者们的仿真实验ꎬ仿真过程见文献[1-2].在每个函数上的仿真都将进行30次ꎬ结果取平均值.3 2㊀实验结果与分析㊀㊀基于种群信息的布谷鸟算法和CS算法及PSO算法的比较结果如图1所示.㊀72㊀沈㊀阳㊀化㊀工㊀大㊀学㊀学㊀报㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀2022年图1㊀基于种群信息的布谷鸟算法与其他两种算法在6种基准函数上的比较Fig.1㊀Comparisonbetweenpopulation-basedcuckooalgorithmandothertwoalgorithmson6benchmarkfunctions㊀㊀从图1中可以看出:PBCS在6种测试函数中都体现出了绝对优势.横坐标迭代次数反映了算法的运行时间.他们具有相同的迭代次数ꎬ每一次迭代中各个函数的评估次数决定3种算法的总评估次数.虽然每个算法的个体更新公式不同ꎬ但是每一代的每一个个体在使用复杂的适应度函数进行评估所占用的计算量远远超过个体更新时的计算量ꎬ所以ꎬ因算法个体更新公式不同而产生的时间差可以忽略不计.纵坐标代表适应度值ꎬ对数坐标轴可以很清晰地比较算法的性能.㊀㊀Ackley函数在全局最优值附近有许多局部极小值ꎬ这使得算法不容易寻找到真正的全局最小值.从图1中可以看出:PSO和CS算法在搜索时困于1附近ꎬ难以找到真正的全局最小值所在的位置ꎬ而PBCS则成功地找到了全局最小值ꎻ此外ꎬ在Weierstrass函数上ꎬ它们也面临着相似的情况ꎬ而PBCS成功地找到了全局最优解.在这种情况下ꎬ即使增加迭代次数也不能使PSO和CS找到理想的值ꎬ因为它们并没有发现全局最优值所在的区域.㊀㊀在Schwefel函数上ꎬ3种算法都成功地找到了全局最优值所在区域ꎬ但在相同的时间内ꎬPBCS找到的解更加精确.Rastrigin函数在整个搜索域内都具有许多局部极小值ꎬ是一个非常 崎岖 的函数ꎬ非常考验算法的全局搜索能力.PSO和CS算法的搜索陷于局部极小值中ꎬPBCS虽然可以找到最优值所在区域ꎬ但是精确度并不高ꎬ这种情况可以用增加迭代次数的方式解决.㊀㊀在Bohachevsky函数㊁Griewank函数上ꎬPSO和PBCS算法的曲线在迭代到一定次数时 消失 了.这是因为图像的纵坐标轴是对数坐标轴ꎬ它们在算法迭代结束前找到了真正的最小值0ꎬ而对数坐标轴不能显示出0.虽然它们都能找到真正的最小值ꎬ但是PBCS的速度显然更快一些.㊀㊀通过以上6个测试函数的对比ꎬPBCS算法的全局探索能力和局部寻优能力都明显强于其他两种算法.4㊀结㊀论基于种群信息的布谷鸟算法中ꎬ每个个体参考整个种群的均值和最优值生成下一代个体ꎬ能成功地跳出局部极值ꎬ也可以寻找到具有足够精度的值ꎬ性能超越了未改进前的布谷鸟算法和粒子群算法.在6种常见的基准函数上ꎬ实验证明了PBCS算法的全局探索性能和局部搜索性能.实验结果表明:PBCS的性能明显优于CS算法和PSO算法.本文提出的种群信息策略以及依㊀第1期高淑芝ꎬ等:基于种群信息的布谷鸟算法73㊀赖全局最优位置的局部搜索策略在一定程度上弥补了原有Levy飞行策略收敛速度慢和容易陷入局部极值的不足.参考文献:[1]㊀KENNEDYJ.ParticleSwarmOptimization[M]//SAMMUTCꎬWEBBGI.EncyclopediaofMachineLearning.Boston:Springerꎬ2011:760-766. [2]㊀YANGXS.FireflyAlgorithmsforMultimodalOp ̄timization[M]//WATANABEOꎬZEUGMANNT.StochasticAlgorithms:FoundationsandApplica ̄tions.Berlin:Springerꎬ2009:169-178. [3]㊀KARABOGAD.ArtificialBeeColonyAlgorithm[J].Scholarpediaꎬ2010ꎬ5(3):6915. [4]㊀杨佳霖.基于粒子群算法的分布式能源系统容量优化配置[J].分布式能源ꎬ2017ꎬ2(6):46-51. [5]㊀王东云ꎬ徐艳平ꎬ瞿博阳.基于改进蜂群算法的机器人路径规划[J].计算机系统应用ꎬ2017ꎬ26(2):145-150.[6]㊀方国华ꎬ林泽昕ꎬ付晓敏ꎬ等.梯级水库生态调度多目标混合蛙跳差分算法研究[J].水资源与水工程学报ꎬ2017ꎬ28(1):69-73ꎬ80.[7]㊀YANGXSꎬDEBS.CuckooSearchviaLevyFlights[C]//2009WorldCongressonNature&BiologicallyInspiredComputing(NaBIC).Coim ̄batore:IEEEꎬ2009:210-214.[8]㊀YANGXSꎬDEBS.MultiobjectiveCuckooSearchforDesignOptimization[J].Computers&Opera ̄tionsResearchꎬ2013ꎬ40(6):1616-1624. [9]㊀LIXTꎬYINMH.ModifiedCuckooSearchAlgo ̄rithmwithSelfAdaptiveParameterMethod[J].In ̄formationSciencesꎬ2015ꎬ298:80-97.[10]LIXTꎬYINMH.AParticleSwarmInspiredCuck ̄ooSearchAlgorithmforRealParameterOptimiza ̄tion[J].SoftComputingꎬ2016ꎬ20(4):1389-1413.[11]郑巧燕ꎬ莫愿斌ꎬ刘付永ꎬ等.一种小规模多种群布谷鸟算法[J].计算机应用与软件ꎬ2014ꎬ31(10):278-280ꎬ317.PopulationBasedCuckooSearchAlgorithmGAOShu-zhi1ꎬ㊀GAOYue2(1.InstituteofEquipmentReliabilityꎬShenyangUniversityofChemicalTechnologyꎬShenyang110142ꎬChinaꎻ2 CollegeofInformationEngineeringꎬShenyangUniversityofChemicalTechnologyꎬShenyang110142ꎬChina)Abstract:㊀Cuckooalgorithm(CS)isagoodmetaheuristicalgorithmꎬwhichcaneasilydeterminetherela ̄tionshipbetweencontrolparametersandresultsduetothefewcontrolparametersꎬandhasplayedagoodroleinthetreatmentofmanypracticalproblems.HoweverꎬthesingleLevyflightstrategymakesitdifficultforeachindividualtojumpoutofthelocalextremabyvirtueoftheirownrandomwalkꎬandfallintothelocalminimumforalongtimeꎬwhichlimitstheconvergencespeedofthealgorithm.Tothisendꎬacuckooalgorithmbasedonpopulationinformation(PBCS)isproposed.Themeanpositionofthewholepopula ̄tionwillbeusedasthereferencedirectionforindividualineachgenerationꎬsothatindividualscansuc ̄cessfullyjumpoutofthelocalextremeꎬwhiletakingtheoptimalpositionofthepopulationastheindividu ̄aldirectioncanincreasetheconvergencerateofthewholealgorithmꎬsoastofacilitatetherapidconver ̄genceafterfindingtheregionwheretheoptimalvalueislocated.Comparingwithtwootheralogrithmson6commonbenchmarkfunctionsꎬitisprovedthatthealgorithmhasbetterglobalexplorationandlocalex ̄ploitationability.Keywords:㊀metaheuristicalgorithmꎻ㊀cuckoosearchalgorithmꎻ㊀populationinformation。
改进的布谷鸟算法,布谷鸟算法和粒子群算法
改进的布谷鸟算法,布谷鸟算法和粒子群算法改进的布谷鸟算法(Improved Cuckoo Search Algorithm)、布谷鸟算法(Cuckoo Search Algorithm)和粒子群算法(Particle Swarm Optimization)是现代优化算法中常用的三种启发式算法。
本文将逐步回答关于它们的定义、原理、应用和优化效果等问题。
一、布谷鸟算法的定义和原理1. 布谷鸟算法的定义布谷鸟算法是一种基于生物学启发的优化算法,模拟了鸟巢寄生行为。
它首先随机初始化一组“布谷鸟”个体,每个鸟个体对应一个解,之后它们根据适应度函数评估各自解的好坏程度。
较好的解将以概率性地替换较差的解,从而通过迭代搜索过程逐渐改进。
2. 布谷鸟算法的原理布谷鸟算法的原理主要包括布谷鸟的寄生行为、布谷鸟的拾取和布谷鸟的放置。
(1)布谷鸟的寄生行为:布谷鸟在随机选择巢穴进行寄生时,采用了Levy飞行策略,在搜索空间中执行长距离跳跃,以避免陷入局部最优解。
(2)布谷鸟的拾取:布谷鸟在拾取巢穴时,通过“拟合度”来表示适应度,较好的拟合度对应着较好的解。
拾取行为是布谷鸟算法的核心步骤,根据随机概率选择是否拾取巢穴。
(3)布谷鸟的放置:布谷鸟在放置巢穴时,采用了随机遗忘策略,即通过一定的概率丢弃部分已有解,从而引入新的解以增加搜索空间的多样性。
二、粒子群算法的定义和原理1. 粒子群算法的定义粒子群算法是一种模拟鸟群行为的启发式优化算法,模拟了鸟群中个体间的信息共享和合作搜索过程。
每个粒子代表一个解,群体中所有粒子共同协作寻找最优解。
2. 粒子群算法的原理粒子群算法的原理主要包括粒子的更新和群体中最优解的更新两个主要步骤。
(1)粒子的更新:每个粒子通过学习自身的历史最优解和群体全局最优解,以确定自身下一步的移动方向和速度。
这一过程利用了惯性、个体认知和社会认知三个因素。
(2)群体中最优解的更新:每个粒子将自身的历史最优解与群体中当前的最优解进行比较,并更新全局最优解。
布谷鸟算法
今天我要讲的内容是布谷鸟算法,英文叫做Cuckoo search (CS algorithm)。
首先还是同样,介绍一下这个算法的英文含义,Cuckoo是布谷鸟的意思,啥是布谷鸟呢,是一种叫做布谷的鸟,o(∩_∩)o ,这种鸟她妈很懒,自己生蛋自己不养,一般把它的宝宝扔到别的种类鸟的鸟巢去。
但是呢,当孵化后,遇到聪明的鸟妈妈,一看就知道不是亲生的,直接就被鸟妈妈给杀了。
于是这群布谷鸟宝宝为了保命,它们就模仿别的种类的鸟叫,让智商或者情商极低的鸟妈妈误认为是自己的亲宝宝,这样它就活下来了。
Search指的是搜索,这搜索可不是谷歌一下,你就知道。
而是搜索最优值,举个简单的例子,y=(x-0.5)^2+1,它的最小值是1,位置是(0.5,1),我们要搜索的就是这个位置。
现在我们应该清楚它是干嘛的了吧,它就是为了寻找最小值而产生的一种算法,有些好装X的人会说,你傻X啊,最小值不是-2a/b吗,用你找啊? 说的不错,确实是,但是要是我们的函数变成y=sin(x^3+x^2)+e^cos(x^3)+log(tan(x) +10,你怎么办吶?你解不了,就算你求导数,但是你知道怎么解导数等于0吗?所以我们就得引入先进的东西来求最小值。
为了使大家容易理解,我还是用y=(x-0.5)^2+1来举例子,例如我们有4个布谷鸟蛋(也就是4个x坐标),鸟妈妈发现不是自己的宝宝的概率是0.25,我们x的取值范围是[0,1]之间,于是我们就可以开始计算了。
目标:求x在[0,1]之内的函数y=(x-0.5)^2+1最小值(1)初始化x的位置,随机生成4个x坐标,x1=0.4,x2=0.6,x3=0.8,x4 =0.3 ——> X=[0.4, 0.6 ,0.8, 0.3](2)求出y1~y4,把x1~x4带入函数,求得Y=[1,31, 1.46, 1.69, 1.265],并选取当前最小值ymin= y4=1.265(3)开始定出一个y的最大值为Y_global=INF(无穷大),然后与ymin比较,把Y中最小的位置和值保留,例如Y_global=INF>ymin=1.265,所以令Y _global=1.265(4)记录Y_global的位置,(0.3,1.265)。
基于改进布谷鸟算法的永磁同步电机参数辨识
第4期2024年2月无线互联科技Wireless Internet Science and TechnologyNo.4February,2024作者简介:高雄(2000 ),男,硕士研究生;研究方向:电机参数辨识㊂基于改进布谷鸟算法的永磁同步电机参数辨识高㊀雄,郭凯凯(安徽理工大学电气与信息工程学院,安徽淮南232001)摘要:针对永磁同步电机中参数辨识精度不足以及速度较慢的问题,文章提出一种改进的布谷鸟算法实现对永磁同步电机的参数辨识㊂首先,采用Tent 映射初始化种群;其次,采用动态发现概率调整布谷鸟蛋被发现的概率;最后,引入逐维反向学习策略,增强了算法的局部和全局寻优能力,同时加快了收敛速度㊂仿真分析表明,改进的布谷鸟算法相比于原算法,能更加有效地辨识永磁同步电机的电机参数㊂关键词:永磁同步电机;Tent 映射;逐维反向学习;参数辨识;布谷鸟算法中图分类号:TM351㊀㊀文献标志码:A 0㊀引言㊀㊀永磁同步电机(Permanent Magnet SynchronousMotor,PMSM)具有许多优点,如体积小㊁结构简单以及效率高等,被广泛应用于机床等工业领域[1]㊂在PMSM 控制系统中,PID 控制器的参数与电机参数相关,而电机参数与各种因素紧密相连,如温度变化和定子电流等㊂这些因素可能对PID 控制器的调控效能产生负面影响,从而降低电机系统的稳定性[2]㊂因此,精确的电机参数对提高PMSM 系统性能具有重要意义㊂1㊀永磁同步电机数学模型㊀㊀为简化分析,假设永磁同步电机的磁场不饱和,忽略涡流损耗等因素的影响,在dq 坐标系下建立PMSM 数学模型㊂PMSM 的电压方程为:u d =R s i d +dψd dt -ωe ψqu q =R s i q+dψq dt +ωe ψd ìîíïïïï(1)磁链方程为:ψd =L d i d +ψf ψq =L q i q{(2)式中,ψd ㊁ψq 为dq 轴转子磁链;u d ㊁u q ㊁i d ㊁i q 是dq轴的定子电压电流;ωe 是转子电角度;R s 为定子电阻;ψf 为永磁体磁链;L d ㊁L q 为dq 轴电感㊂本文对表贴式PMSM 进行参数辨识,因此dq 轴电感相等,即:L d =L q =L(3)为了方便对PMSM 进行参数辨识,根据式(1)㊁式(2)和式(3),采用i d =0控制策略,将电压方程离散化,电压离散方程如式:u d 0=-Lωe 0(k )i q 0(k )u q 0=R s i q 0(k )+ωe 0(k )ψf{(4)式(4)是一个秩为2的欠秩方程,本文需要辨识3个参数,仅依靠式(4)很难精确辨识出准确的电机参数㊂为构建完整的电机方程组,在PMSM 系统稳定运行时施加一个非零电流i d ,产生另一个二阶电压方程组,进而得到满秩方程组㊂PMSM 的辨识模型为:u ^d 0=-L ^ωe 0(k )i q 0(k )u ^q 0=R ^s i q 0(k )+ωe 0(k )ψ^f u ^d =R ^i d (k )-L ^ωe (k )i q (k )u^q =R ^s i q (k )+L ^ωe (k )i d (k )+ωe (k )ψ^fìîíïïïïïï(5)式中,顶部标记 ^ 表示辨识模型的辨识值,顶部没有标记的表示实际模型的测量值㊂2㊀布谷鸟算法㊀㊀布谷鸟算法(Cuckoo Search,CS)是由Deb S 和Yang X S 开创的一种模拟自然界布谷鸟寻找最佳鸟巢位置的优化智能算法㊂此算法结合了Levy 飞行策略以寻求全局最优解㊂CS 算法的实现过程可以分为4步㊂Step1.设置参数并初始化㊂设鸟巢规模为D,布谷鸟寄生蛋被鸟巢主发现的概率为P a ,目标函数为f(x),初始化设置问题维数和最大迭代次数㊂Step2.搜索㊂对鸟巢位置计算f(x),获得鸟巢位置的函数值,对所有鸟巢的适应度函数值进行比较,以确定具有最优函数值的鸟巢,并且采用Levy飞行更新鸟巢位置[3]㊂计算公式如式:x t+1,i=x t,i+α0 Levy(β)(6)Levy(β)=ϕ㊃u|v|1/β(7)ϕ=Γ(1+β)㊃sin(π㊃β2)Γ1+β2㊃β㊃2β-12éëêêêêêùûúúúúú1/β(8)式中,x t+1,i㊁x t,i表示第i个鸟巢的第t+1㊁t代位置向量;标准布谷鸟算法一般取步长因子α0=0.01;β是Levy飞行的控制因子一般情况下取值1.5㊂其中, u㊁υ均表示标准正态随机变量;Γ为Gamma函数㊂Step3.鸟巢更新选择㊂鸟巢更新后,比较鸟蛋被发现概率P a和随机数R,Rɪ(0,1)服从均匀分布,若R<P a则保留当前鸟巢位置;否则,舍弃不理想的鸟巢位置,然后根据公式(9)设定新的鸟巢位置㊂鸟巢位置更新公式如下:x t+1,i=x t,i+r(x m-x n)(9)式中,x m㊁x n表示t代的2个随机解;r是在区间(0,1)中均匀分布的随机数表示比例因子㊂Step4.算法结束㊂通过上述求解过程,若满足最大迭代次数条件,终止计算并输出最优解,否则将返回步骤Step2进行重新计算㊂3㊀改进布谷鸟算法3.1㊀Tent混沌映射初始化㊀㊀群智能优化算法,本质上是一种随机搜索优化算法㊂一般使用随机初始化产生初始种群,但这样产生的初始种群在空间中的个体分布不均匀,对算法的性能有着一定的限制㊂又因为混沌映射具有规律性㊁随机性与遍历性等特点,符合初始化种群的要求,经过分析与比较,本文选择采用Tent混沌映射对CS算法进行初始化鸟巢操作㊂Tent映射产生的序列的表达式如下:x t+1=x tγ,0ɤx tɤγ1-x t1-γ,γɤx tɤ1ìîíïïïï(10)Tent映射初始化鸟巢位置散点如图1所示㊂Tent映射产生的序列数值比普通随机数产生的序列数值在0~1的分布要更加均匀,把Tent映射引入CS 算法的初始化鸟巢操作,可以提高算法的鸟巢多样性,有利于提高算法的全局搜索能力㊂图1㊀Tent映射初始化鸟巢位置散点3.2㊀动态自适应发现概率P a㊀㊀布谷鸟算法中的发现概率对算法的搜索范围㊁搜索精度和收敛速度有着重要的意义,而标准的布谷鸟算法采用的是固定发现的概率,不利于全局搜索和局部搜索之间的平衡㊂本文采用动态发现概率P a替代标准算法的固定发现概率,改进后P a取值随着迭代次数的增加而递减,在算法搜索前期P a较大,有利于增强全局搜索能力;在算法搜索后期P a较小,有利于增强局部搜索能力,因此该策略能有效提高算法寻优效率和精度㊂动态发现概率如下所示:P a=P min+12㊃[1+cos(-π㊃t tmax )](P max-P min)(11)式中,P min为最小发现概率;P max为最大发现概率;t表示当前迭代次数;t max表示最大迭代次数㊂3.3㊀逐维反向学习策略㊀㊀在逐维反向学习策略中,设鸟巢规模为D,维度为N,每个维度的上限为Ub(i)㊁下限为Lb(i),迭代过程选择更新位置时的位置为Temp(i),则解的反向学习公式为:Tempᶄ(i)=Ub(i)+Lb(i)-Temp(i)(12)在每次更新解时,考虑逐个维度进行反向操作㊂这可以增加解的空间探索范围,提高算法的多样性㊂逐维反向策略是指在生成新解时,对每个维度进行随机反转㊂这样可以增加解的多样性,提高算法的探索性能㊂在逐维反向学习策略中,新解的产生取决于目标函数的适应度评估结果㊂若新解无法提高当前解的质量,则会放弃该维度的更新,保留反向学习前的维度信息;反之,将保留此维度并进行反向学习以更新结果,直到各维度更新完毕㊂3.4㊀算法性能测试㊀㊀为了验证ICS算法的收敛速度和寻优能力,将CS算法作为对比,引入4种标准测试函数进行验证, f1㊁f2为单峰函数,f3㊁f4为多峰函数,测试函数如表1所示㊂如图2所示是2个算法对4个函数的进化迭代曲线,种群数为50,最大迭代次数为1000,函数f1㊁f2㊁f3收敛至全局最优解,f4相比于CS有明显改善㊂从图2可以得出,ICS算法收敛速度和寻优精度与标准CS算法相比较有明显提高㊂表1㊀标准测试函数函数表达式定义域解f1=ðn i=1x2i[-100,100]0 f2=ðn i=1|x i|+ᵑn i=1|x i|[-10,10]0f3=14000ðn i=1x2i-ᵑn i=1cos(x i i)+1[-600,600]0f4=-20exp(-0.21nðn i=1x2i)-exp(1nðn i=1cosw(2πx i))+20+e [-32,32]0图2㊀4个标准函数的进化迭代曲线4㊀基于ICS算法的PMSM参数辨识㊀㊀在电机参数辨识过程中,先将计算得到的辨识模型值与实际测量值之间的差作为适应度函数的输入,接着运用ICS算法对辨识模型中的待识别参数进行调整,以使适应度函数的值最小并且获得最优的电机参数[4]㊂适应度函数是辨识模型辨识值与实际测量值差值的平方,函数定义为:f=ω1(u d0-u^d0)2+ω2(u q0-u^q0)2+ω3(u d-u^d)2+ω4 (u q-u^q)2(13)式中,w1㊁w2㊁w3㊁w4是适应度函数的加权因子,适应度函数值越小,则PMSM的参数辨识精度越高㊂ICS算法辨识PMSM参数具体步骤如下㊂Step1:设置算法相关参数,采用Tent混沌映射对布谷鸟巢位置进行初始化㊂Step2:评估鸟巢,通过式(13)来计算其适应度值,从而确定当前的最优解并且保留㊂Step3:更新鸟巢位置,利用式(6)更新鸟巢位置并与上代鸟巢位置对比,保留较好的鸟巢位置㊂Step4:产生随机数a,比较随机数a与P a,a服从均匀分布,对发现概率较大的鸟巢进行更新,从而获得新的鸟巢位置;反之,则保留当前鸟巢位置㊂Step5:根据式(12)逐维反向学习策略,更新保存最优鸟巢及适应度值㊂Step6:判断算法终止条件,输出最优的PMSM辨识参数㊂5㊀仿真实验5.1㊀实验设计㊀㊀本文在MATLAB/Simulink软件中建立基于ICS 算法的PMSM参数辨识仿真系统,如图3所示㊂仿真中的PMSM参数为:阻尼系数是0.008N㊃m㊃s,转动惯量是0.003kg㊃m2,磁链是0.175Wb,极对数是4,定子电阻是2.875Ω,dq轴电感是8.5mH㊂图3㊀PMSM参数辨识仿真框架5.2㊀仿真分析㊀㊀采用ICS㊁CS2种算法来辨识电机参数,具体结果如表2所示,PMSM的参数辨识曲线如图4所示㊂由表2和图4可知,ICS算法在参数识别方面的精度表现明显优于CS算法,而且该算法更迅速地收敛至稳定状态,这证明了ICS算法在参数识别精度和收敛速度方面具有显著优势㊂表2㊀辨识结果参数实际值辨识值误差/%ICS CS ICS CSR s/Ω 3.25 3.23 3.200.62 1.54L/mH8.508.558.610.59 1.29Ψf/Wb0.1750.1760.1720.57 1.71图4㊀参数辨识曲线6 结语㊀㊀在PMSM系统中精确的电机参数对系统稳定性有着极其重要的意义,因此本文提出了用ICS算法来辨识PMSM参数的方法㊂在CS算法上首先采用Tent 映射初始化种群,其次采用动态发现概率调整布谷鸟蛋被发现的概率;最后引入逐维反向学习策略㊂通过测试标准函数表明,ICS算法能够避免算法易陷入局部最优解和收敛速度慢的问题,在总体性能上明显优于标准的CS算法㊂仿真结果表明,与标准的CS算法相比,ICS算法可以更快更准确地辨识出PMSM参数,证明了ICS算法的稳定性和精度㊂参考文献[1]郭亮,王凡,梁状.高精度数控机床永磁同步电机复合滑模控制算法研究[J].大电机技术,2021(3): 17-23.[2]杜春奇.永磁同步电机参数辨识新方法研究[D].秦皇岛:燕山大学,2017.[3]胡安明,李伟.基于反向学习的布谷鸟算法优化搜索仿真[J].计算机仿真,2021(12):276-280. [4]李伟,杜昭平.基于改进灰狼优化算法的永磁同步电机参数辨识[J].组合机床与自动化加工技术, 2020(7):113-117.(编辑㊀沈㊀强)Parameter identification of PMSM based on improved cuckoo algorithmGao Xiong Guo KaikaiCollege of Electrical and Information Engineering Anhui University of Science and TechnologyHuainan232001 ChinaAbstract Aiming at the problems of insufficient accuracy and slow speed of parameter identification in permanent magnet synchronous motors PMSM an improved cuckoo algorithm is proposed to realize the parameter identification of PMSM.Firstly the Tent mapping is used to initialize the population secondly the dynamic discovery probability is used to adjust the probability that the cuckoo s egg is discovered finally the dimension-by-dimension inverse learning strategy is introduced to enhance the local and global optimization ability of the algorithm and at the same time the convergence speed is accelerated.Simulation analysis shows that the improved cuckoo algorithm can identify the motor parameters of the PMSM more effectively compared with the original algorithm.Key words permanent magnet synchronous motor Tent mapping dimension-by-dimension inverse learning parameter identification cuckoo algorithm。
布谷鸟算法
布谷鸟算法1、概述布谷鸟搜索算法[CuckooSearch(CS)],也叫杜鹃搜索,是由剑桥大学Xin-SheYang(杨新社)教授和S.Deb于2009年提出的一种新兴启发算法CS算法通过模拟某些种属布谷鸟(CuckooSpecies)的寄生育雏(BroodParasitism)来有效地求解最优化问题的算法.同时,CS也采用相关的Levy飞行搜索机制。
2、优点全局搜索能力强、选用参数少、搜索路径优、多目标问题求解能力强,以及很好的通用性、鲁棒性等特点,同时其特有的莱维特性能够有效地扩大搜索范围,是一种高效的全局随机搜索算法.并且实例测试结果证明了它比遗传算法、粒子群算法、萤火虫算法具有更高寻优性能。
布谷鸟搜索算法凭借参数少,算法简单,易于实现的特点被广泛应用在各个领域,是群体智能算法中的一个新亮点3、应用领域布谷鸟算法自提出之后引起了许多学者的关注,并在许多项目调度、工程优化问题、求解置换流水车间调度和计算智能方面得到了应用。
在工程设计领域,布谷鸟算法对于一系列连续优化问题如弹簧设计和焊接梁设计等问题有着优于其他算法的性能。
Vazquez利用布谷鸟算法训练脉冲神经网络模型,Chifu等人利用布谷鸟算法优化语义Web服务组合流程, Bhargava等人在求解复杂相平衡问题中,用布谷鸟算法获得了可靠的热力学计算。
在组合优化问题方面,Tein和Ramli针对护士调度问题提出了离散化的布谷鸟算法,布谷鸟算法还成功的应用于软件测试中数据生成程序问题独立路径的产生。
Speed修改了CS并成功应用于处理大规模问题。
Moravej和Akhlaghi用CS研究了分布式网络中的DG分配问题。
对于多目标问题的研究,Deb针对工程应用提出了多目标CS算法,Simon等人则利用CS算法针对多目标调度问题取得了很好的效果。
综上所述,虽然布谷鸟算法于2009年才刚刚提出,但己经被成功应用到各个领域的优化问题中,布谷鸟算法可以求解大部分优化问题,或者是可以转化为优化问题进行求解的问题。
布谷鸟算法基本原理
布谷鸟算法基本原理1. 前言布谷鸟算法是一种基于鸟类种群行为的启发式优化算法,它模拟了布谷鸟群体在寻找食物的行为过程。
该算法在解决优化问题方面表现出了很高的效果,因此受到了广泛关注。
本文将详细介绍布谷鸟算法的基本原理及其在优化问题中的应用。
2. 布谷鸟算法基本原理2.1 随机漫步布谷鸟群体中的每只个体都会进行随机漫步,以寻找食物。
这个过程中,每只个体都会根据当前位置和周围信息进行移动决策。
移动方向和距离都是随机生成的,以模拟现实中布谷鸟能够自由地在飞行中改变方向。
2.2 声音吸引当一只布谷鸟能够找到食物时,它会发出声音以吸引其他周围的个体。
这种声音可以被其他个体接收到,并据此调整自己的移动方向和距离。
这一过程模拟能够有效地传递信息,并将整个群体引导到更好的解决方案附近。
2.3 布谷鸟的巢穴选择布谷鸟群体中的个体会选择一个巢穴作为自己的家,用于存放食物和繁殖。
个体在选择巢穴时,会考虑到自身和周围个体的食物储备情况、竞争关系以及巢穴的位置等因素。
这样,群体中的布谷鸟会趋向于选择食物储备充足、竞争较小且位置合适的巢穴。
3. 布谷鸟算法在优化问题中的应用3.1 布谷鸟算法在函数优化中的应用布谷鸟算法可以用于求解函数优化问题,通过模拟布谷鸟能够自由地改变位置和移动方向这一特点,可以在搜索空间中寻找到全局最优解。
通过随机漫步和声音吸引等机制,布谷鸟能够快速收敛到最优解附近,并以较高概率找到全局最优解。
3.2 布谷鸟能量模型及其应用布谷鳥算法引入了能量概念,在搜索过程中通过能量模型来评估每个解决方案。
能量模型可以帮助算法更好地探索搜索空间,并避免陷入局部最优解。
通过调整能量模型的参数,可以平衡搜索的广度和深度,提高算法的搜索效率。
3.3 布谷鸟算法在组合优化中的应用布谷鸟算法也可以用于解决组合优化问题,如旅行商问题、背包问题等。
通过将问题转化为布谷鸟群体在搜索空间中寻找最优解的过程,可以有效地求解组合优化问题。
布谷鸟算法开题报告
xxx大学毕业论文开题报告题目布谷鸟算法的研究系部计算机科学学院专业计算机科学与技术学生姓名学号指导教师职称毕设地点xxx大学计算机科学学院计算机科学与技术专业本科毕业论文(设计)开题报告X i(t)表示第i个鸟窝在第t代的鸟窝位置,⊕为点对点乘法,α表示步长控制量,L(λ)为 Levy 随机搜索路径,并且 L ~ u = t-λ,(1 <λ ≤ 3)。
通过位置更新后,用随机数 r∈[0,1]与 p a 对比,若r > p a ,则对 Xi(t +1)进行随机改变,反之不变。
最后保留测试值较好的一组鸟窝位置Yi(t +1),此时仍把Yi(t +1)记为Xi(t +1)。
2.GCS 算法在CS算法的第t次迭代后得到了一组较优越的鸟窝位置(t)i2,GCS 算法是:不让 x (i t)直接进在 CS 算法的第 t 次迭代后得到了一组较优的鸟窝i2,入下一次迭代,而是继续进行高斯扰动, x i 得到进一步搜索.首先记 x i , = 1,…n 组成的矩阵为: p t使T= [ 1 t),2 t), x (n t)], x (i t)为 d 维向量, p t 为d × n 阶矩阵,x ( x (…,GCS 算法的具体操作是给 p t 加高斯扰动,设则即p' t = p t + a ε.1) a其中ε是与 p t 同阶的随机矩阵, ij ~ N( 0,,为常数,表示点对点乘法,ε由于ε的随机取值范围较大,容易带动鸟窝位置的活动范围偏离过大,所以,本文取 a = 1 /3 来控制ε的搜索范围,从而适度地增大鸟窝位置的变化活力,得到合理 p' t ,再与 p t 的中的每个鸟窝对比,保留测试值较好的鸟窝位置,从而得到x ( t) x ( t)…,( t) T此时为便于进入下一次迭代,仍将 p" t 记为 p t = [ 1 ,2 , x n ].更好的一组鸟窝位置 p" t ,2x5]例如,对给定的函数f(x)=x2,x∈[-5,5],随机取5个鸟窝进行搜索,为直观地看出轨迹图,维数取为1维,精度最优值达到10-7。
采用搜索趋化策略的布谷鸟全局优化算法
采用搜索趋化策略的布谷鸟全局优化算法马卫;孙正兴【摘要】布谷鸟搜索算法是一种基于莱维飞行搜索策略的新型智能优化算法.单一的莱维飞行随机搜索更新策略存在全局搜索性能不足和寻优精度不高等缺陷.为了解决这一问题,本文提出了一种改进的布谷鸟全局优化算法.该算法的主要特点在于以下三个方面:首先,采用全局探测和模式移动交替进行的模式搜索趋化策略,实现了布谷鸟莱维飞行的全局探测与模式搜索的局部优化的有机结合,从而避免盲目搜索,加强算法的局部开采能力;其次,采取自适应竞争机制动态选择最优解数量,实现了迭代过程搜索速度和解的多样性间的有效平衡;最后,采用优势集搜索机制,实现了最优解的有效合作分享,强化了优势经验的学习.对52个典型测试函数实验结果表明,本文算法不仅寻优精度和寻优率显著提高,鲁棒性强,且适合于多峰及复杂高维空间全局优化问题.本文算法与最新提出的改进的布谷鸟优化算法以及其它智能优化策略相比,其全局搜索性能与寻优精度更具优势,效果更好.【期刊名称】《电子学报》【年(卷),期】2015(043)012【总页数】11页(P2429-2439)【关键词】布谷鸟算法;趋化搜索;Hooke-Jeeves模式搜索;合作分享;自适应竞争;全局优化【作者】马卫;孙正兴【作者单位】南京大学计算机软件新技术国家重点实验室,江苏南京210093;南京旅游职业学院酒店管理学院,江苏南京211100;南京大学计算机软件新技术国家重点实验室,江苏南京210093【正文语种】中文【中图分类】TP18在日常生产生活中的诸多问题都可归结为全局最优化问题,采用传统的方法来解决此类问题效果不太理想,因此许多学者从模拟生物生活的习性角度出发解决此类问题,并受到了较好的效果.其中,布谷鸟搜索算法(Cuckoo Search,CS)则是近年来提出的一种新颖的元启发式全局优化方法[1].该方法模拟布谷鸟的寻窝产卵行为而设计出的一种基于莱维飞行(Lévy flights)机制的全空间的搜索策略.在求解全局优化问题中表现出较好地性能.该算法具有选用参数少,全局搜索能力强,计算速度快和易于实现等优点,与粒子群优化算法和差分演化算法相比具有一定的竞争力[2].并在工程设计[3,4]、神经网络训练[5]、结构优化[6]、多目标优化[7]以及全局最优化[8~17]等领域取得了应用.然而,CS算法作为一种新的全局优化方法,搜索性能还有待提高.为此一些学者对该算法的全局寻优性能进行了改进,如Valian等学者提出利用参数自适应机制改进搜索步长与发现概率的ICS(Improved Cuckoo Search algorithm)算法[8],从而提高了函数优化质量.此外,还有一些学者提出改进搜索机制中的步长[9,10]、动态自适应[11,12]、逐维改进机制[13]以及合作协同进化策略[14]等.这类改进算法在一定程度上提高了算法的搜索性能,取得了很好的寻优效果.然而单一的搜索策略在解决复杂的多维空间优化问题时,往往难以兼顾全局搜索与局部寻优的能力.另外,一些学者提出了与其他算法的杂交混合[15~18]的策略,如文献[16]提出了一种CSPSO(Cuckoo Search algorithm and Particle Swarm Optimizationalgorithm)算法,利用PSO算法与CS莱维飞行策略杂交混合,达到一定的搜索性能.文献[17,18]提出了OLCS(Orthogonal Learning Cuckoo Search algorithm)算法,在莱维飞行随机游动之后结合正交学习机制进行搜索从而增强了算法策略的寻优性能.这类算法加强了算法的搜索机制,可以取得更好的效果,但会增加算法的复杂性,并且在解决复杂问题及高维空间优化时,适应能力与鲁棒性不够,使得搜索效果不够理想等.其原因是目前的进化算法面对欺骗问题、多峰问题和孤立点等因素导致全局优化困难[19].因此,有必要继续探索新的改进方法与求解策略.虽然CS算法全局探测能力优异,但是其局部搜索性能相对不足,特别是多模复杂函数的全局寻优时存在收敛速度慢、求解精度不高等问题,为了克服CS算法的缺点,提高其搜索性能,本文提出了一种基于模式搜索策略的布谷鸟搜索算法(strategy-Pattern Search based Cuckoo Search,PSCS).该算法基于模式搜索具有高效的局部趋化能力这一特点,在CS算法的框架下,嵌入模式搜索机制加强局部求解能力,利用CS算法较强地莱维飞行全局搜索能力和模式搜索的局部寻优性能,两者互为补充,兼顾均衡,从而避免搜索过程陷入局部最优.标准CS算法是模拟布谷鸟寻窝产卵的特点形成理论,从而设计出基于莱维飞行搜索机制的随机优化算法,该算法及其参数见文献[1].在莱维飞行随机游动搜索策略中,布谷鸟i根据式(1)进行寻窝搜索路径和位置的更新,并通过新的搜索位置生成适应度值Fi:在偏好随机游动搜索策略中,算法以混合变异和交叉操作的方式重新生成若干个新解,如式(2)所示:在CS算法中,莱维飞行搜索机制利用随机游动进行全局探测,根据偏好随机游动搜索策略指导局部寻优.复杂的全局优化问题由于多极值且变量间相互独立等特点,需要算法尽可能搜索到全局较好解的分布范围,扩大精细搜索力度.而基本的CS算法全局优化却存在以下局限性:(1)在迭代过程中,布谷鸟在当前位置的基础上以随机游动方式产生新的位置,单一的随机游动策略的搜索方式在搜索过程中具有很强的盲目性,导致难以快速地搜索到全局最优值,开发性能不足,搜索精度不高;(2)搜索到的位置评价后算法总是以贪婪方式选择较好的解,保存全局最优位置,而全局优化问题多极值使得布谷鸟易陷入对先前环境的局部寻优,导致早熟收敛;(3)CS算法是以概率Pa放弃部分解而采用偏好随机游动方式重新生成新解来增加搜索位置的多样性,却忽视了学习与继承种群内优势群体的优良经验,增加了搜索空间的计算量与时间复杂度.基于莱维飞行的随机游动和偏好随机游动是CS算法中两个重要的搜索策略,由于莱维飞行其自身的特性使得搜索性能具有较好的随机性与全局探测能力,但是面对复杂的全局优化问题的求解时,其局限性就显露出来.针对上述3点不足,本文分别提出模式搜索趋化策略、自适应竞争排名机制与合作分享策略来弥补该算法在复杂的全局优化问题中的局限性.以期达到全局搜索和局部开发的平衡,使得算法的搜索性能更加优越.基于模式搜索局部趋化的布谷鸟算法的策略是以CS算法为基本框架,将模式搜索方法作为一种局部趋化搜索算子,嵌入到CS算法中,以加强求解精度.模式搜索(Pattern Search,PS)也叫Hooke-Jeeves算法[20],是由Hooke和Jeeves提出的一种基于坐标搜索法改进的搜索方法.该方法的原理是若要寻找搜索区域的最低点,可以先确定一条通往区域中心的山谷,然后沿着该山谷线方向前进搜索.探测移动(exploratory move)和模式移动(pattern move)是这种趋化策略的两个重要步骤,在迭代过程中交替进行,最终到达理想的求解精度.其中,探测移动的目的是探寻有利的趋化方向,而模式移动则沿着有利的方向快速搜索.其计算步骤如算法1所示.给定趋化策略的起始位置x1,步长δ,分别设置加速、减速因子α,β,步长计算精度ε,k和j为1;确定初始位置y1=xk;While (δ≤ε && j≤D)采用探测移动:从参考点出发,依次沿坐标轴方向dj(j=1,2,…,D)进行2个方向的探测;沿正轴方向:若目标函数值f(yj+δdj)<f(yj),设置yj+1=yj+δdj,否则沿负轴方向探测; 沿负轴方向:若目标函数值f(yj-δdj)<f(yj),设置yj+1=yj-δdj,否则沿正轴方向探测; 得到新的位置yj+1,设置xk+1=yj+1;进行模式移动:沿着理想的目标函数值下降方向进行加速搜索;若f(xk+1)<f(xk),设置y1=xk+1+α(xk+1-xk),k=k+1;否则,缩短轴向移动步长δ=δβ;保留最好解;End whilePS趋化策略的本质是通过不断地成功的迭代,实现搜索步长的模式改进,从而加速算法的收敛.通过对当前搜索位置的探测与模式移动,达到趋化于更优值的直接搜索.在迭代过程中若找到相对于当前位置的更优点,则步长递增,并从该点位置进行下一次迭代;否则步长递减,继续搜索于当前位置.以图1为例,若xk迭代成功,则下次迭代从待定位置x′=xk+α(xk-xk-1)开始探测,其中xk-xk-1为模式步长,沿着模式步长方向搜寻优于位置xk更好的解.无论是否存在f(x′)≤f(xk),都将以x′为基准位置进行坐标搜索.若x′坐标搜索成功,则令xk+1=x′,并从xk+1位置开始新的迭代搜索;否则,坐标搜索在xk展开.若在位置xk坐标搜索失败,则新一轮的坐标搜索步长减半在xk-1处展开.若在xk-1搜索仍然失败,回溯并重复上述过程.模式搜索趋化策略是在算法的迭代过程中,如果满足mod(gen,T)的整除条件,gen表示当前迭代次数,T=2*D为与维数相关的模式搜索参数.这样在搜索的过程中,先由CS算法执行全局搜索得到新的群体,采用自适应竞争排名构建优势巢穴集,如果满足模式搜索条件,根据合作分享策略利用优势巢穴集生成新的模式搜索起始位置.从而利用PS搜索策略对该位置进行局部趋化,并评价优化后的结果,加强求解精度.为了有效求解复杂多极值全局优化问题,避免算法陷入局部最优,本文提出了一种自适应竞争排名构建方法,该方法根据适应度值进行自适应竞争排名,排在前面的构成优势巢穴集.该方法可使迭代初期强化竞争,减少排名数量,加快搜索;而迭代后期放宽名次数量,优势巢穴集扩大,便于合作分享信息,避免早熟.构建优势巢穴集N的具体实施方法如下:根据排名机制保存多个优质巢穴,这些巢穴对应多个全局最好位置解,用这些解来指导模式搜索及位置更新,然后从更新后的n个巢穴中选取排名前R的优势巢穴进行保存.R的定义如式(3)所示:通过这种自适应竞争排名机制构建优势巢穴集,使得迭代初期优势巢穴集较小,有利于快速搜索到全局较优解并能增强模式搜索的局部趋化能力,加速算法收敛.迭代中后期,该策略利用自适应排名机制的巢穴集,扩大了搜索范围,抑制过快早熟,从而使得算法不易陷入局部最优,保持了种群的多样性.基本的CS算法中采用的是偏好随机游动搜索策略,该策略存在启发信息不足,搜索慢的问题,为此,本文提出了一种合作分享策略.该策略利用合作分享优势集搜索机制,代替混合变异和交叉操作方式生成若干新解,有利于强化优势经验的学习.具体实施方法为:布谷鸟在位置更新时,随机选择优势巢穴集中的一个优势巢穴位置供当前模式搜索信息分享,该优势巢穴作为新的局部搜索的起始位置,指导模式搜索趋化寻优,从而避免过早收敛,防止陷入局部最优.合作分享策略引入线性惯性权重,以加强全局指导能力.利用合作分享策略选择模式搜索的起始位置,其分享策略如式(4)所示:对于全局优化问题其目标函数值无限接近0时,对应的适应度值也非常小,当适应度值小于一定数量级时,很难区分适应度值的大小,为了解决这一问题,算法在实施过程中直接采用目标函数值来代替适应度值.PSCS算法步骤算法2所示.初始化n个布谷鸟巢穴Xi(i=1,2,…,n),迭代次数gen初始值设为1;计算各个巢穴位置Xi=(xi1,xi2,…,xiD)T的适应度值Fi=f(Xi);While (nFE<maxNFES)或(满足求解精度条件)(全局探测阶段)采用莱维飞行随机游动机制产生新的巢穴位置Xi;评价新的巢穴位置Xi的适应度值f(Xi);随机选择一个候选巢穴位置Xj;If(f(Xi)<f(Xj))用新的巢穴位置Xi替代候选巢穴Xj;End if按一定发现概率Pa丢弃差的巢穴;(局部开发阶段)自适应竞争排名构建机制:利用式(3)选取排名前R的优势巢穴进行保存为N;合作分享策略:利用式(4)产生新的巢穴位置Vk替代丢弃位置并保留最好解;If (mod(gen,T)==0)模式搜索趋化策略:将巢穴位置Vk作为模式搜索的起始位置进行局部趋化于;用新的巢穴位置替代候选巢穴Xi;End ifgen=gen+1并保存最好解;End ifEnd while (nFE==maxNFES)对这类优化算法的测评,有一些经典的测试函数.为了全面验证本文提出的PSCS 算法的有效性和先进性,共选用了52个具有代表性的且为不同类型的典型测试函数对算法进行全面测试.测试函数主要分为三类.第一类是典型常用的16个高维测试函数[21],Ackley(AC)、Griewank(GR)、Penalized1(P1)、Penalized2(P2)、Quartic Noise(QN)、Rastrigin(RA)、NC-Rastrigin(NR)、Rosenbrock(RO)、Schwefel1.2(S12)、Sphere Model(SM)、Step(ST)、Schwefel2.21(S21)、Schwefel2.22(S22)、Schwefel2.26(S26)、Weierstrass(WE)和Zakharov(ZA).所有函数的理论最优值都为0.其中,对S26函数进行修正为求解全局最小值.这些测试函数固定维度为30,求解困难,对于算法的全局优化性能要求较高.以全局优化复杂单模态的高维RO香蕉型函数问题为例,其内部是一个长而狭窄、形如抛物线的平坦山谷地带,变量间相互关联,很难收敛于全局最优.目前已有的算法迭代后期基本停止进化,求解精度不高.第二类选用了26个固定维数的测试函数[21],BOhachevsky1(BO1)、BOhachevsky2(BO2)、BRanin(BR)、EaSom(ES)、GoldsteinPrice(GP)、Shekel′s Foxholes(SF)、SixhumpcamelBack(SB)、SHubert(SH)、SChaffer(SC)、Hartman3(H3,4)、Helical Valley(HV)、COlville(CO)、KOwalik(KO)、PErm(PE)、Power Sum(PS)、Shekel5(S4,5)、Shekel7(S4,7)、Shekel10(S4,10)、Hartman6(H6,4)、MIchalewicz(MI)、WhItley(WI)、Fletcher Powell(FP)、Modified Langerman(ML)、Modified Shekel′s Foxholes(MS)、POwell(PO)、Expansion F10(EF).其维数为指定的固定值,从2维至25维不等,部分函数搜索难度极高,如FP,S4,10和ML等复杂多模态函数.这些函数表现为非对称,局部最优解随机分布,选择这些复杂的函数可以更好地测试本文算法的通用性.第三类为具有扰动的测试函数,以进一步验证PSCS算法求解连续全局优化问题的适应性与鲁棒性.选用了文献[12]中的前10个复杂变换后的测试函数F1~F10以便于与近年来新提出的CS改进算法进行比较.这些复杂的测试函数中包括变换和旋转的单峰和多峰函数,且变量间存在相互独立与相互关联的特征;所以,这些函数在算法的求解过程中难度较高.本文采用上述测试函数对PSCS算法进行了测试,并与传统的CS算法、近年来提出的改进的CS算法以及其他智能优化算法进行了实验比较.实验设备为一般笔记本电脑,CPU为Intel(R) Core(TM) 2 Duo CPU T6500 2.10GHz,4GB内存,实验仿真软件是Matlab 7.0.为了更好地评估算法的性能,本文采用如下评价准则.(1)适应度值误差Error.如式(6)所示:(2)函数成功运行评价次数NFEs.当算法在每次运行时,在当前函数评价次数没有达到最大评价次数且最优解的适应度值误差达到指定的求解精度(小于一定阈值)时的函数评价次数.实验中,本文算法将最大评价次数分别设置为100000和300000,根据式(7)定义的误差容许范围,测试结果是否成功.(3)函数寻优成功率SR.算法独立运行30次,达到误差阈值精度累计成功的实验次数与总实验运行30次的比值.(4)算法收敛加速率AR.为了测试算法的收敛速度,本文使用加速率来比较本文算法与CS算法的收敛速度,其公式定义如式(8)所示.其中NFECS和NFEPSCS分别表示算法CS和PSCS关于函数的成功评价次数.(5)算法的复杂性AC.为定量评价算法的复杂性,采用式(9)度量算法的复杂性[22] 本文算法中基本的参数设置与CS算法设置相同,为了便于算法的比较,种群规模数定为30,固定维数为30,发现概率Pa=0.25.实验数据是在指定最大评价次数独立运行30次的情况下,取平均值Mean,最好值Best,最坏值Worst,标准方差SD(Standard Deviation)以及平均成功评价次数NFEs.其中,平均成功评价次数是在30次独立运行下其收敛精度误差值小于指定阈值的平均成功评价次数.Rmax和Rmin分别取0.5和0.05.wmin和wmax分别设置为1和0.2.模式搜索中的δ=0.2,α=为了测试模式搜索最大迭代次数nPS值的不同选择对算法的影响,防止局部信息权重过高,可能会使算法搜索陷入局部最优解.本文选用了16个高维复杂测试函数来评测模式搜索次数对算法性能的影响,其中包括8个单模和8个多模复杂函数.16个测试函数全局最优值都为0,30维最大评价次数为100000情况下的测试结果如图2所示.测试方法是固定其余的参数的情况下,变化模式搜索nPS的范围取值为[20,400].从图2(a)的实验结果来看,除了单模函数QN外,nPS参数设置不同会对单模函数的收敛效果产生了明显的影响,随着nPS设置数值的增大,实验效果会趋于更优.而对于图2(c)关于8个多模函数的测试结果来看则不同,当nPS数值达到100次后,取得了较好的求解值,随后,收敛效果趋于稳定.另外,图2(b)、(d)实验的成功评价次数也进一步验证上述结论.所以,综上所述,为了达到PSCS算法全局搜索与局部趋化能力的平衡,nPS设置值控制在[100,200]之间为宜,在150附近取值对算法的整体性能相对较好.所以,实验中nPS取为150,有利于提高算法对不同类型函数优化的求解精度.表1和表2为本文PSCS算法与标准CS算法优化52个函数的适应值平均误差与标准差的实验结果.最大函数评价次数maxNFES=100000,其中,“≈”表示CS 算法与PSCS算法的平均误差在0.05水平下的双侧t-检验是不显著的;“☆”和“◎”表示标准CS算法与PSCS算法的平均误差在0.05水平下的双侧t-检验是显著的,“☆”表示CS算法求解质量比PSCS算法差,而“◎”则代表求解精度比PSCS算法好.表中最好的实验结果为加粗显示.Sy(Symbol)表示函数简称.从表1中可以看出,对于固定低维的函数而言,除了ES、H3,4、S4,5、S4,7和S4,10这5个函数虽然CS算法比PSCS算法评价次数略少,但是PSCS在保证求解精度的前提下,对于H3,4、S4,5、S4,7和S4,10这4个函数的求解标准偏差SD却更小,说明PSCS算法性能有较强的健壮性.然而,其他优化函数PSCS算法不仅表现出寻优精度显著提高,而且平均成功评价次数也明显减少,PSCS算法的成功率从CS算法的0.55提高到0.65,平均加速率AR为15.93.整体上,显示出PSCS算法较好的寻优性能与求解速度.对于高维复杂函数的全局寻优,PSCS算法比标准CS算法更加优越,从表2中明显看出,PSCS算法有6个函数(GR、SM、ST、S22、S26和F1)直接搜索到全局最优值,在相同条件下PSCS算法测试的平均误差都优于CS算法.根据平均误差在0.05水平下的双侧t-检验结果显示,在26个标准测试函数中PSCS算法有20个测试函数优于CS算法.显示出其优越的搜索性能.对于复杂变换旋转的F1~F10中的单峰函数而言,PSCS算法在F1~F5函数上的平均误差都明显优于CS算法,其中F1函数,本文算法在有限的评价次数内直接搜索到全局最优值,显示出其优越的性能;对于F1~F10中的多峰函数而言,除了在F8函数上,PSCS算法的平均误差近似且略优于CS算法,搜索精度优势不够明显外,但在F6~F7和F9~F10函数上的平均误差都明显优于CS算法.不管对于具有变换特点的函数、还是变换且旋转的函数而言,PSCS算法都显示出其优越的全局寻优能力,尤其对于F1、F2、F6和F7函数的测试,本文算法相比于CS 算法的求解精度大幅提高.表3和表4为本文进一步测试PSCS算法和CS算法在评价次数为300000的情况下,平均误差、平均成功评价次数等结果.从结果上来看,表4中的平均寻优率SR 从0.51提高到0.98,说明随着评价次数的提高,PSCS算法性能更具优势.进一步验证了PSCS算法不仅寻优率高,求解速度也相比CS算法显著提高的上述结论.另外,图3为CS和PSCS算法关于不同测试问题在最大评价次数为300000次的情况下函数评价次数百分比堆积柱形图,图中CS算法若评价次数达到最高评价次数仍未能成功评价,则以最高评价次数绘图.图中结果有效地说明本文PSCS算法相比传统CS算法寻优率高,评价次数少.为分析PSCS算法与其他改进CS算法的性能差异,表5列出本文PSCS算法与ICS算法[8]、CSPSO算法[16]和OLCS算法[17,18]在D=30维空间上的性能比较结果.分析表5可知,针对单峰函数,各算法的性能各异.在F1函数上,PSCS算法和ICS算法性能相当,都能收敛到全局最好解,但明显优于CSPSO算法和OLCS算法的全局搜索性能;在F2和F4函数实验上,CSPSO算法性能最优,其次是PSCS算法.而在F3和F5函数上,PSCS算法的性能最优.针对复杂多峰函数而言,除了F10函数上,本文算法性能弱于ICS算法,其余F6~F9函数PSCS算法的性能都是最优,尤其F7和F9函数,本文算法求解精度提高显著.根据表5中针对平均误差检验统计结果,10个复杂函数测试中PSCS算法有7个函数达到了最优,另外3个函数的测试结果也具有很好的竞争优势.另外,表6和图4为PSCS算法与其他改进的CS的平均函数成功评价次数的实验比对,进一步说明了本文策略的优越性.总体看来,PSCS算法明显优于其它改进的CS算法.在表7中,本文还将PSCS算法与近年来发表的其他智能优化算法[23](OEA,HPSO-TVAC,CLPSO,APSO)进行了比较,实验数据来自文献[23].表7中OEA 算法的评价次数为3.0*105,其他算法的评价次数均为2.0*105.从表7可以看出,本文算法对于SM,GR,S22以及ST函数都能搜索到全局最优值,与OEA,HPSO-TVAC,CLPSO和APSO算法相比求解精度更高,搜索能力更强.在表8中,本文算法LFABC与其他改进的差分进化算法[23](SaDE,jDE,JADE)进行了比较.算法中的实验参数同文献[23],实验比较的结果如表8所示.从表中的实验结果来看,对于大都数实验函数PSCS算法相比于改进的DE算法都有更好的搜索性能.在智能算法全局优化过程中,计算量主要集中在目标函数的评估阶段,其复杂性往往表现为对目标函数的评价次数.如果最大迭代次数为M,标准的CS算法和PSCS 算法的时间复杂度分别为O(M*N)和O(M*(N+nPS)).如果固定最大迭代次数进行评测,PSCS算法函数评价次数与CS算法的评价次数近似相等.如果设置相同的最大评价次数,PSCS算法与CS算法的复杂度O(maxNFES)即相同.所以,可以看出本文的实验结果是基于各算法相同的时间复杂度的前提下测得,与标准CS算法及改进的CS算法相比并未增加时间复杂度,体现出实验的公平性.为了更好地定量评价算法的复杂性,本文采用式(9)度量算法的复杂性.表9为CS 算法和PSCS算法在不同搜索空间上的计算复杂性.从表9可知,PSCS算法的计算复杂度并未提高,主要由于PSCS 算法利用自适应竞争排名构建机制与合作分享策略指导模式搜索的局部趋化,提高了算法的搜索性能.同时模式搜索的最大迭代次数150并未消耗太多的评价时间,由于竞争排名与合作机制对局部趋化的指导作用提高了求解精度反而使得总的评价次数减少.此外,我们进一步发现,随着维数增加,算法的时间消耗将逐步弱化,以致PSCS算法的复杂度与CS算法的复杂度差距缩小,并在维数增大到50的情况下PSCS的复杂度0.10优于CS算法的复杂度值0.27,这也再一次验证了本文算法有较强的高维收敛速度与全局搜索性能的结论.综合平均误差、平均函数评价次数、寻优率与加速率等的比较结果,PSCS算法整体性能优异.以复杂高维的香蕉型RO函数求解问题为例,目前已有的算法迭代后期基本停止进化,而本文算法表现出较好的全局搜索性能,其原因为算法在全局寻优中有效地结合了模式搜索的局部趋化提供了全局寻优的有效信息,使得算法能有效地辨识搜索方向,从而达到了很好的全局探测能力与较高的寻优精度.PSCS算法对于复杂变换的F1和F9函数的优化,都能搜索到全局最优值,取得了很好的搜索性能.虽然两个函数变量间相互独立,复杂多变,但PSCS算法结合优。
布谷鸟搜索算法简介
布谷鸟搜索算法维基百科,自由的百科全书布谷鸟搜索(Cuckoo Search,缩写 CS),也叫杜鹃搜索,是由剑桥大学杨新社(音译自:Xin-She Yang)教授和S.戴布(S.Deb)于2009年提出的一种新兴启发算法[1]。
CS算法是通过模拟某些种属布谷鸟的寄生育雏(Brood Parasitism),来有效地求解最优化问题的算法。
同时,CS也采用相关的Levy飞行搜索机制。
研究表明,布谷鸟搜索比其他群体优化算法更有效。
布谷鸟搜索布谷鸟搜索(CS)使用蛋巢代表解。
最简单情况是,每巢有一个蛋,布谷鸟的蛋代表了一种新的解。
其目的是使用新的和潜在的更好的解,以取代不那么好的解。
该算法基于三个理想化的规则:∙每个杜鹃下一个蛋,堆放在一个随机选择的巢中;∙最好的高品质蛋巢将转到下一代;∙巢的数量是固定的,布谷鸟的蛋被发现的概率为。
实际应用布谷鸟搜索到工程优化问题中的应用已经表现出其高优效率,经过几年的发展,为了进一步提高算法的性能,CS算法的很多变体与改进逐步涌现。
瓦尔顿(Walton)等提出了修正布谷鸟搜索(Modified Cuckoo Search,缩写 MCS);伐立安(Valian)等提出了一种可变参数的改进CS算法,提高了收敛速度,并将改进算法应用于前馈神经网络训练中;马里切尔凡姆(Marichelvam)将一种混合CS算法应用于流水车间调度问题求解中;钱德拉塞卡兰(Chandrasekaran)等将集成了模糊系统的混合CS算法应用于机组组合问题。
杨(Yang)和戴布(Deb)提出多目标布谷鸟搜索(Multiobjective Cuckoo Search,缩写 MOCS),应用到工程优化并取得很好的效果;詹(Zhang)等通过对种群分组,并根据搜索的不同阶段对搜索步长进行预先设置,提出了修正调适布谷鸟搜索(Modified Adaptive Cuckoo Search,缩写 MACS),提高了CS的性能。
布谷鸟算法基本原理
布谷鸟算法基本原理布谷鸟算法,又称鸟群算法、鸟群最优化算法,是一种模拟鸟群寻找食物或栖息地的生物群体智能算法。
它是由Iranian mathematician Mehrdad Khonsari和他的团队于2012年提出,主要用于解决多维非线性优化问题。
布谷鸟算法的基本原理是通过模拟鸟群寻找食物的过程,找到函数的全局最优解。
鸟群中的每只鸟都具有随机数值的位置和速度,每个位置代表一个解或一组解,速度代表解向全局最佳解的方向移动。
每只鸟都有自己的历史最佳位置和当前最佳位置。
算法的流程可以分为四个步骤:1. 初始化随机生成一群鸟的位置和速度,每个位置表示一个解,每个速度表示解向全局最优解的方向移动。
同时记录每只鸟的历史最佳位置和当前最佳位置。
2. 跟新速度和位置根据当前位置和历史最佳位置、当前最佳位置和全局最佳位置,计算出每只鸟的新速度和新位置,并记录新的历史最佳位置和当前最佳位置。
3. 更新全局最佳解比较当前最佳位置和全局最佳位置,更新全局最佳位置。
4. 收敛与迭代不断迭代更新,直到算法收敛到全局最优解或达到设定的迭代次数。
布谷鸟算法的优点是全局搜索能力强,不易陷入局部极值;同时具有优秀的收敛性能,能够在较短的时间内找到全局最优解。
在实际应用中,布谷鸟算法被广泛应用于多个领域,如图像识别、机器学习、通信信号处理等。
总而言之,布谷鸟算法是一种生物群体智能算法,模拟鸟群寻找食物的过程,通过不断更新速度和位置,寻找多维非线性函数的全局最优解。
其优秀的全局搜索能力和收敛性能使其在实际科学和工程领域展现出广泛的应用前景。
布谷鸟算法的应用案例
布谷鸟算法的应用案例
布谷鸟算法是一种模拟布谷鸟繁殖行为的优化算法,常用于解决各种优化问题。
以下是一些布谷鸟算法的应用案例:
1. 函数优化:布谷鸟算法可以用于优化各种函数,如多峰值函数、约束优化函数等。
通过模拟布谷鸟的巢穴选择和蛋孵化行为,可以找到函数的极值点或最优解。
2. 组合优化:布谷鸟算法可以应用于各种组合优化问题,如旅行商问题、背包问题、图着色问题等。
这些问题通常需要寻找一组最优解,布谷鸟算法可以通过模拟布谷鸟的繁殖行为来找到这些最优解。
3. 机器学习:布谷鸟算法可以应用于机器学习领域,如分类、聚类、特征选择等。
通过模拟布谷鸟的繁殖行为,可以训练出更好的模型或找到最优的特征组合。
4. 电力系统:布谷鸟算法可以应用于电力系统的优化问题,如电力网络的可靠性评估、负荷均衡、优化调度等。
通过模拟布谷鸟的繁殖行为,可以找到最优的解决方案。
5. 通信网络:布谷鸟算法可以应用于通信网络的优化问题,如路由选择、流量均衡、信道分配等。
通过模拟布谷鸟的繁殖行为,可以找到最优的解决方案。
总之,布谷鸟算法在许多领域都有广泛的应用,其优点包括简单易实现、全局搜索能力强、能够处理多峰值问题等。
求解车辆路径问题的改进布谷鸟算法
求解车辆路径问题的改进布谷鸟算法将一种新型的智能优化算法——布谷鸟算法(Cuckoo Search Algorithm,CS)用于车辆路径问题的求解。
针对基本CS算法种群多样性差、寻优精度低等不足,提出一种动态交叉算子来丰富种群多样性,避免种群个体陷入局部最优,增强算法的全局寻优能力。
通过对比试验验证了算法在求解VRP问题时具有寻优精度高、性能稳定等特点,是求解VRP问题的一种有效的算法。
标签:车辆路径问题;布谷鸟算法;动态交叉0 引言车辆路径问题(the vehicle routing problem,VRP)源于旅行商问题(TSP),最初由Dangzig等于1959年提出,用于解决运输车队在一个炼油厂和多个加油站之间最优路径问题,后来逐渐演化成经典的VRP问题,又叫基本VRP问题或有容量约束的VRP(CVRP)。
VRP问题可以简单描述为一定数量的客户,各自有不同数量的货物需求,由若干隶属于同一中心仓库的车辆进行配送,在车辆容量有约束的前提下,寻找一组最优行车路线,目标是使客户需求得到满足的同时,资源(路程、成本、时间等)消耗最小。
车辆路径问题是重要的组合优化问题,其成果可以直接应用于物流配送调度优化,也可为诸多实际问题如垃圾收集、街道清洁、公交路线等领域的优化提供了解决思路。
所以车辆路径问题一直以来都是组合优化领域的研究热点。
文献详细调查了近年来VRP问题的算法研究,结果显示求解VRP的算法主要可以归纳为三类:精确算法、啟发式算方法和元启发式算法,其中元启发式算法占比达65%-80%。
这与VRP问题性质有关,由于VRP问题是NP-hard问题,随着问题规模的增长,VRP问题的可行解会出现“组合爆炸”现象,精确算法和经典启发式算法在求解该类问题时,计算复杂度高,计算开销大,甚至无法获得可行解,而元启发式算法具有快速的寻优的性能,使其成为求解VRP问题的主要算法。
目前,求解VRP问题的元启发式算法可以大致归纳如下:(1)遗传算法(GA);(2)蚁群算法(ACO);(3)模拟退火算法(SA);(4)可变领域搜索(VNS);(5)禁忌搜索算法(TS);(6)局部搜索算法(LS);(7)人工蜂群算法(ABC);(8)粒子群算法(PSO);(9)其他新兴元启发式算法,如蛙跳算法、蝙蝠算法、萤火虫算法等以及各种改进版本,更多关于VRP问题的元启发式算法参见文献。
布谷鸟搜索寻优算法Cuckoo search Optimization Algorithm
Applied Soft Computing 11(2011)5508–5518Contents lists available at ScienceDirectApplied SoftComputingj o u r n a l h o m e p a g e :w w w.e l s e v i e r.c o m /l o c a t e /a s ocCuckoo Optimization AlgorithmRamin Rajabioun ∗Control and Intelligent Processing Centre of Excellence (CIPCE),School of Electrical and Computer Engineering,University of Tehran,Tehran,Irana r t i c l ei n f oArticle history:Received 17September 2009Received in revised form 28August 2010Accepted 1May 2011Available online 13May 2011Keywords:Cuckoo Optimization Algorithm (COA)Evolutionary algorithms Nonlinear optimizationa b s t r a c tIn this paper a novel evolutionary algorithm,suitable for continuous nonlinear optimization problems,is introduced.This optimization algorithm is inspired by the life of a bird family,called Cuckoo.Special lifestyle of these birds and their characteristics in egg laying and breeding has been the basic motivation for development of this new evolutionary optimization algorithm.Similar to other evolutionary methods,Cuckoo Optimization Algorithm (COA)starts with an initial population.The cuckoo population,in differ-ent societies,is in two types:mature cuckoos and eggs.The effort to survive among cuckoos constitutes the basis of Cuckoo Optimization Algorithm.During the survival competition some of the cuckoos or their eggs,demise.The survived cuckoo societies immigrate to a better environment and start reproducing and laying eggs.Cuckoos’survival effort hopefully converges to a state that there is only one cuckoo society,all with the same profit values.Application of the proposed algorithm to some benchmark functions and a real problem has proven its capability to deal with difficult optimization problems.©2011Elsevier B.V.All rights reserved.1.IntroductionOptimization is the process of making something better.In other words,optimization is the process of adjusting the inputs to or char-acteristics of a device,mathematical process,or experiment to find the minimum or maximum output or result.The input consists of variables:the process or function is known as the cost function,objective function,or fitness function;and the output is the cost or fitness [1].There are different methods for solving an optimiza-tion problem.Some of these methods are inspired from natural processes.These methods usually start with an initial set of vari-ables and then evolve to obtain the global minimum or maximum of the objective function.Genetic Algorithm (GA)has been the most popular technique in evolutionary computation research.Genetic Algorithm uses operators inspired by natural genetic variation and natural selection [2,3].Another example is Particle Swarm Opti-mization (PSO)which was developed by Eberhart and Kennedy in 1995.This stochastic optimization algorithm is inspired by social behavior of bird flocking or fish schooling [3–5].Ant Colony Opti-mization (ACO)is another evolutionary optimization algorithm which is inspired by the pheromone trail laying behavior of real ant colonies [3,6,7].On the other hand Simulated Annealing sim-ulates the annealing process in which a substance is heated above its melting temperature and then gradually cools to produce the crystalline lattice,which minimizes its energy probability distribu-∗Correspondence address:Faculty of Engineering,Campus #2,University of Tehran,Kargar Shomali St.,P.O.Box 14395-515,Tehran,Iran.Tel.:+989144045713.E-mail addresses:r.rajabioun@ece.ut.ac.ir ,ramin4251@tion [1,8,9].Besides these well known methods,the investigations on nature inspired optimization algorithms are still being done and new methods are being developed to continually solve some sort of nonlinear problems.In [10],making use of the ergodicity and internal randomness of chaos iterations,a novel immune evolu-tionary algorithm based on the chaos optimization algorithm and immune evolutionary algorithm is presented to improve the con-vergence performance of the immune evolutionary algorithm.The novel algorithm integrates advantages of the immune evolution-ary algorithm and chaos optimization algorithm.[11]introduces a new optimization technique called Grenade Explosion Method (GEM)and its underlying ideas,including the concept of Optimal Search Direction (OSD),are elaborated.In [12]a new particle swarm optimization method based on the clonal selection algorithm is pro-posed to avoid premature convergence and guarantee the diversity of the population.The main advantages of evolutionary algorithms are [3]:(1)Being robust to dynamic changes :Traditional methods of opti-mization are not robust to dynamic changes in the environment and they require a complete restart for providing a solution.In contrary,evolutionary computation can be used to adapt solutions to changing circumstances.(2)Broad applicability :Evolutionary algorithms can be applied toany problems that can be formulated as function optimization problems.(3)Hybridization with other methods :Evolutionary algorithms canbe combined with more traditional optimization techniques.(4)Solves problems that have no solutions :The advantage of evolu-tionary algorithms includes the ability to address problems for1568-4946/$–see front matter ©2011Elsevier B.V.All rights reserved.doi:10.1016/j.asoc.2011.05.008R.Rajabioun/Applied Soft Computing11(2011)5508–55185509Fig.1.Flowchart of Cuckoo Optimization Algorithm.which there is no human expertise.Even though human exper-tise should be used when it is needed and available;it often proves less adequate for automated problem-solving routines.Considering these features,evolutionary algorithms can be applied to various applications including:Power Systems oper-ations and control[13,19,20],NP-Hard combinatorial problems [14,15],Chemical Processes[16],Job Scheduling problems[17], Vehicle Routing Problems,Mobile Networking,Batch process scheduling,Multi-objective optimization problems[18],Modeling optimized parameters[21],Image processing and Pattern recogni-tion problems.In this paper we introduce a new evolutionary optimization algorithm which is inspired by lifestyle of a bird family called cuckoo.Specific egg laying and breeding of cuckoos is the basis of this novel optimization algorithm.Cuckoos used in this model-ing exist in two forms:mature cuckoos and eggs.Mature cuckoos lay eggs in some other birds’nest and if these eggs are not recog-nized and not killed by host birds,they grow and become a mature cuckoo.Environmental features and the immigration of societies (groups)of cuckoos hopefully lead them to converge andfind the best environment for breeding and reproduction.This best envi-ronment is the global maximum of objective functions.This paper illustrates how the life method of cuckoos is modeled and imple-mented.Section2investigates the birds called cuckoo and reviews their amazing life characteristics.In Section3,the Cuckoo Optimization Algorithm(COA)is proposed and its different parts are studied in details.The proposed algorithm is tested with some benchmark functions and also with a controller design of a Multi-Input Multi-Output(MIMO)process as a real case study in Section4.Finally the conclusions are presented in Section5.2.Cuckoos and their special lifestyle for reproductionAll9000species of birds have the same approach to mother-hood:every one lays eggs.No bird gives birth to live young.Birds quickly form and lay an egg covered in a protective shell that is then incubated outside the body.The large size of an egg makes it difficult for the female to retain more than a single one egg at a time–carrying eggs would makeflying harder and require more energy.And because the egg is such a protein-rich high-nutrition prize to all sorts of predators,birds mustfind a secure place to hatch their eggs.Finding a place to safely place and hatch their eggs,and raise their young to the point of independence,is a challenge birds have solved in many clever ways.They use artistry,intricate design and complex engineering.The diversity of nest architecture has no equal in the animal kingdom.Many birds build isolated,inconspic-uous nests,hidden away inside the vegetation to avoid detection by predators.Some of them are so successful at hiding their nests that even the all-seeing eyes of man has hardly ever looked on them.There are other birds that dispense with every convention of home making and parenthood,and resort to cunning to raise their families.These are the“brood parasites,”birds which never build their own nests and instead lay their eggs in the nest of another species,leaving those parents to care for its young.The cuckoo is the best known brood parasite,an expert in the art of cruel decep-tion.Its strategy involves stealth,surprise and speed.The mother removes one egg laid by the host mother,lays her own andflies off with the host egg in her bill.The whole process takes barely ten seconds.Cuckoos parasitize the nests of a large variety of bird species and carefully mimic the color and pattern of their own eggs to match that of their hosts.Each female cuckoo specializes on one particular host species.How the cuckoo manages to lay eggs to imi-tate each host’s eggs so accurately is one of nature’s main mysteries. Many bird species learn to recognize a cuckoo egg dumped in their own nest and either throw out the strange egg or desert the nest to start afresh.So the cuckoo constantly tries to improve its mimicry of its hosts’eggs,while the hosts try tofind ways of detecting the parasitic egg.The struggle between host and parasite is akin to an arms race,each trying to out-survive the other[22].For the cuckoos suitable habitat provides a source of food(prin-cipally insects and especially caterpillars)and a place to breed,for brood parasites the need is for suitable habitat for the host species. Cuckoos occur in a wide variety of habitats.The majority of species occur in forests and woodland,principally in the evergreen rain-forests of the tropics.In addition to forests some species of cuckoo occupy more open environments;this can include even arid areas like deserts.Temperate migratory species like the Common Cuckoo inhabit a wide range of habitats in order to make maximum use of the potential brood hosts,from reed beds to treeless moors.Most species of cuckoo are sedentary,but several species of cuckoo undertake regular seasonal migrations,and several more undertake partial migrations over part of their range.The migration may be Diurnal,as in the Channel-billed Cuckoo,or nocturnal,as in the Yellow-billed Cuckoo.For species breeding at higher latitudes food availability dictates that they migrate to warmer climates dur-ing the winter,and all do so.The Long-tailed Koel which breeds in New Zealandflies migrates to its wintering grounds in Poly-nesia,Micronesia and Melanesia,a feat described as“perhaps the most remarkable over water migration of any land bird”[23];and the Yellow-billed Cuckoo and Black-billed Cuckoo breed in North America andfly across the Caribbean Sea,a non-stopflight of 4000km.Other long migrationflights include the Lesser Cuckoo,5510R.Rajabioun/Applied Soft Computing11(2011)5508–5518whichflies from India to Kenya across the Indian Ocean(3000km) and the Common Cuckoos of Europe whichfly non-stop over the Mediterranean Sea and Sahara Desert on their voyage to south-ern Africa.Within Africa10species make regular intra-continental migrations that are described as polarized,that is they spend the non-breeding season in the tropical centre of the continent and move north and south to breed in the more arid and open savannah and deserts[24].About56of the Old World species and3of the New World species are brood parasites,laying their eggs in the nests of other birds[25].These species are obligate brood parasites,meaning that they only reproduce in this fashion.The cuckoo egg hatches earlier than the host’s,and the cuckoo chick grows faster;in most cases the chick evicts the eggs or young of the host species.The chick has no time to learn this behavior,so it must be an instinct passed on genetically.The chick encourages the host to keep pace with its high growth rate with its rapid begging call[26]and the chick’s open mouth which serves as a sign stimulus[27].Female para-sitic cuckoos specialize and lay eggs that closely resemble the eggs of their chosen host.This has been produced by natural selection, as some birds are able to distinguish cuckoo eggs from their own, leading to those eggs least like the host’s being thrown out of the nest[27].Host species may engage in more direct action to prevent cuckoos laying eggs in their nest in thefirst place–birds whose nests are at high risk of cuckoo-contamination are known to mob cuckoos to drive them out of the area[28].Parasitic cuckoos are grouped into gents,with each gent specializing in a particular host. There is some evidence that the gents are genetically different from one another.Host specificity is enhanced by the need to imitate the eggs of the host.3.The proposed Cuckoo Optimization Algorithm(COA)Fig.1shows aflowchart of the proposed algorithm.Like other evolutionary algorithms,the proposed algorithm starts with an ini-tial population of cuckoos.These initial cuckoos have some eggs to lay in some host birds’nests.Some of these eggs which are more similar to the host bird’s eggs have the opportunity to grow up and become a mature cuckoo.Other eggs are detected by host birds and are killed.The grown eggs reveal the suitability of the nests in that area.The more eggs survive in an area,the more profit is gained in that area.So the position in which more eggs survive will be the term that COA is going to optimize.Cuckoos search for the most suitable area to lay eggs in order to maximize their eggs survival rate.After remained eggs grow and turn into a mature cuckoo,they make some societies.Each soci-ety has its habitat region to live in.The best habitat of all societies will be the destination for the cuckoos in other societies.Then they immigrate toward this best habitat.They will inhabit somewhere near the best habitat.Considering the number of eggs each cuckoo has and also the cuckoo’s distance to the goal point(best habitat), some egg laying radii is dedicated to it.Then,cuckoo starts to lay eggs in some random nests inside her egg laying radius.This pro-cess continues until the best position with maximum profit value is obtained and most of the cuckoo population is gathered around the same position.3.1.Generating initial cuckoo habitatIn order to solve an optimization problem,it’s necessary that the values of problem variables be formed as an array.In GA and PSO terminologies this array is called“Chromosome”and“Particle Position”,respectively.But here in Cuckoo Optimization Algorithm (COA)it is called“habitat”.In a N var-dimensionaloptimization Fig.2.Random egg laying in ELR,central red star is the initial habitat of the cuckoo with5eggs;pink stars are the eggs’new nest.problem,a habitat is an array of1×N var,representing current living position of cuckoo.This array is defined as follows:habitat=[x1,x2,...,x Nvar](1)Each of the variable values(x1,x2,...,x Nvar)isfloating point num-ber.The profit of a habitat is obtained by evaluation of profitfunction f p at a habitat of(x1,x2,...,x Nvar).SoProfit=f p(habitat)=f p(x1,x2,...,x Nvar)(2) As it is seen COA is an algorithm that maximizes a profit function.To use COA in cost minimization problems,one can easily maximize the following profit function:Profit=−Cost(habitat)=−f c(x1,x2,...,x Nvar)(3) To start the optimization algorithm,a candidate habitat matrix of size N pop×N var is generated.Then some randomly produced num-ber of eggs is supposed for each of these initial cuckoo habitats.In nature,each cuckoo lays from5to20eggs.These values are used as the upper and lower limits of egg dedication to each cuckoo at different iterations.Another habit of real cuckoos is that they lay eggs within a maximum distance from their habitat.From now on, this maximum range will be called“Egg Laying Radius(ELR)”.In an optimization problem with upper limit of var hi and lower limit of var low for variables,each cuckoo has an egg laying radius(ELR) which is proportional to the total number of eggs,number of cur-rent cuckoo’s eggs and also variable limits of var hi and var low.So ELR is defined as:ELR=˛×Number of current cuckoo’s eggsTotal number of eggs×(var hi−var low)(4)where˛is an integer,supposed to handle the maximum value of ELR.3.2.Cuckoos’style for egg layingEach cuckoo starts laying eggs randomly in some other host birds’nests within her ELR.Fig.2gives a clear view of this concept.After all cuckoos’eggs are laid in host birds’nests,some of them that are less similar to host birds’own eggs,are detected by host birds and though are thrown out of the nest.So after egg laying process,p%of all eggs(usually10%),with less profit values,will beR.Rajabioun/Applied Soft Computing11(2011)5508–55185511Fig.3.Immigration of a sample cuckoo toward goal habitat.killed.These eggs have no chance to grow.Rest of the eggs grow in host nests,hatch and are fed by host birds.Another interesting point about laid cuckoo eggs is that only one egg in a nest has the chance to grow.This is because when cuckoo egg hatches and the chicks come out,she throws the host bird’s own eggs out of the nest. In case that host bird’s eggs hatch earlier and cuckoo egg hatches later,cuckoo’s chick eats most of the food host bird brings to the nest(because of her3times bigger body,she pushes other chicks and eats more).After couple of days the host bird’s own chicks die from hunger and only cuckoo chick remains in the nest.3.3.Immigration of cuckoosWhen young cuckoos grow and become mature,they live in their own area and society for sometime.But when the time for egg laying approaches they immigrate to new and better habitats with more similarity of eggs to host birds and also with more food for new youngsters.After the cuckoo groups are formed in differ-ent areas,the society with best profit value is selected as the goal point for other cuckoos to immigrate.When mature cuckoos live in all over the environment it’s difficult to recognize which cuckoo belongs to which group.To solve this problem,the grouping of cuckoos is done with K-means clustering method(a k of3–5seems to be sufficient in simulations).Now that the cuckoo groups are con-stituted their mean profit value is calculated.Then the maximum value of these mean profits determines the goal group and conse-quently that group’s best habitat is the new destination habitat for immigrant cuckoos.When moving toward goal point,the cuckoos do notfly all the way to the destination habitat.They onlyfly a part of the way and also have a deviation.This movement is clearly shown in Fig.3.As it is seen in Fig.3,each cuckoo onlyflies %of all distance toward goal habitat and also has a deviation ofϕradians.These two parameters, andϕ,help cuckoos search much more positions in all environment.For each cuckoo, andϕare defined as follows: ∼U(0,1)ϕ∼U(−ω,ω)(5)where ∼U(0,1)means that is a random number(uniformly dis-tributed)between0and1.ωis a parameter that constrains the deviation from goal habitat.Anωof /6(rad)seems to beenough Fig.4.Pseudo-code for Cuckoo Optimization Algorithm.5512R.Rajabioun/Applied Soft Computing11(2011)5508–5518 for good convergence of the cuckoo population to global maximumprofit.When all cuckoos immigrated toward goal point and new habi-tats were specified,each mature cuckoo is given some eggs.Thenconsidering the number of eggs dedicated to each bird,an ELRis calculated for each cuckoo.Afterward new egg laying processrestarts.3.4.Eliminating cuckoos in worst habitatsDue to the fact that there is always equilibrium in birds’pop-ulation so a number of N max controls and limits the maximumnumber of live cuckoos in the environment.This balance is becauseof food limitations,being killed by predators and also inability tofind proper nest for eggs.In the modeling proposed here in thispaper,only those N max number of cuckoos survive that have betterprofit values,others demise.3.5.ConvergenceAfter some iterations,all the cuckoo population moves to onebest habitat with maximum similarity of eggs to the host birds andalso with the maximum food resources.This habitat will producethe maximum profit ever.There will be least egg losses in this besthabitat.Convergence of more than95%of all cuckoos to the samehabitat puts an end to Cuckoo Optimization Algorithm(COA).Themain steps of COA are presented in Fig.4as a pseudo-code.In thenext part,COA is applied to some benchmark optimization prob-lems.Theoretical proofs for convergence to asymptotic probabilitylaws in all stochastic optimization algorithms,considering theMarkovian nature of the underlying processes,require some sort ofdetailed balance or reversibility condition which means the algo-rithm loses much of its efficiency.Furthermore,if one insists oneventual convergence to the global optima in the strong or evenweak sense,very slow annealing is also called for.The strength ofstochastic algorithms stem from the fact that their very probabilis-tic nature ensures that the algorithms will not necessarily get stuckat local optima,and there is no need for using any information onobjective gradients,further requiring differentiability conditions.4.Benchmarks on Cuckoo Optimization AlgorithmIn this section the proposed Cuckoo Optimization Algorithm(COA)is tested with4benchmark functions from Ref.[1],one10-dimensional Rastrigin function and a real case study.4.1.Test cost functionsAll the benchmark functions are minimization problems.Thesefunctions are listed below:Function F1:f=x×sin(4x)+1.1y×sin(2y)0<x,y<0,minimum:f(9.039,8.668)=−8.5547(6)Function F2:f=0.5+sin2x2+y2−0.51+0.1(x2+y2)0<x,y<2,minimum:f(0,0.5)=0.5(7)Function F3:f=(x2+y2)0.25×sin{30[(x+0.5)2+y2]0.1}+|x|+|y|−∞<x,y<+∞,minimum:f(−0.2,0)=−0.2471(8)Fig.5.A3D plot of cost function F1.Function F4:f=J0(x2+y2)+0.11−x+0.11−y−∞<x,y<+∞,minimum:f(1,1.6606)=−0.3356(9)Function F5(10-dimensional Rastrigin function):f=10n+ni=1(x i2−10cos(2 x i)),n=9−5.12≤x i≤5.12,f(0,0,...,0)=0(10)First function F1is studied.This function has the global minimum of−18.5547at(x,y)=(9.039,8.668)in interval0<x,y<10.Fig.5 shows the3D plot of this function.The initial number of cuckoos is set only to20.Each cuckoo can lay between5and10eggs.Fig.6shows initial distribution of cuckoos in problem environment.Figs.7–12show the cuckoo population habitats in consequent iterations.Convergence is gained at iteration7.The COA has obtained the global minimum just in7iterations.As it is seen in Figs.7–12,cuckoos have found2minima at iter-ation4.Then in iteration5it is seen that one group of cuckoos is immigrating toward the global minimum.In iteration6most of cuckoos are in global minimum.Andfinally at iteration7nearly all of cuckoos are on the best habitat,which is the global minimum of the problem.This habitat is(9.0396,8.6706)with the cost value −18.5543.Fig.13depicts the cost minimization for test functionF1.Fig.6.Initial habitats of cuckoos.R.Rajabioun /Applied Soft Computing 11(2011)5508–55185513Fig.7.Habitats of cuckoos in 2nditeration.Fig.8.Habitats of cuckoos in 3rd iteration.In order to do a comparison,PSO and continuous GA with Roulette wheel selection,uniform cross-over are applied to this function too.The initial population of GA is also set to 20,muta-tion and selection rates are set to 0.2and 0.5,respectively.ForPSOFig.9.Habitats of cuckoos in 4thiteration.Fig.10.Habitats of cuckoos in 5thiteration.Fig.11.Habitats of cuckoos in 6th iteration.cognitive and social parameters are both set to 2.Due to the fact that different initial populations of each method affect directly to the final result and the speed of algorithm,a series of test runs is done to have a mean expectance of performance for eachmethod.Fig.12.Habitats of cuckoos in 7th iteration.5514R.Rajabioun /Applied Soft Computing 11(2011)5508–5518Fig.13.Cost minimization for test functionF1.Fig.14.Cost minimization using GA.Running the simulations for 30times produces a mean of 45.9,38.7and 6.8stopping iterations for GA,PSO and COA.Fig.14shows a sample cost minimization plot of function F1for GA in 100iterations.As it is seen from Fig.14,GA has reached to global minimum at 24th iteration.Best chromosome is (9.0434,8.6785)and the cost value is −18.5513.Fig.15depicts cost minimization of function F1using PSO.As it is seen from Fig.15,PSO has reached to global minimum at 19th iteration.Best particle position is (9.0390,8.6682)and thecostFig.15.Cost minimization using PSO.Table 1Mean stopping iterations of GA,PSO and COA in 30runs.F2F3F4GA 12.652.244.1PSO 10.324.838.6COA5.26.96.3Fig.16.Cost minimization plot of functionF2.Fig.17.Cost minimization plot of function F3.value is −18.5547.Considering Table 1it can be seen that while GA and PSO need a mean of 46.8and 39.1iterations,COA reaches to the goal point in a mean of 6.9(approximately 7)iterations.Until now it can be concluded that COA has out performed GA and PSO.For more test we apply these three optimization algorithms on test functions F2,F3and F4.Figs.16–18show the cost minimization plot of all three algo-rithms for test functions F2,F3and F4in a random run.Table1Fig.18.Cost minimization plot of function F4.R.Rajabioun/Applied Soft Computing11(2011)5508–55185515Fig.19.3D plot of Rastrigin function.shows the mean stopping iterations for aforementioned test func-tions.The most interesting point seen in Figs.16–18and also in Table1, is faster convergence of Cuckoo Optimization Algorithm.Considering the results obtained for test functions F1,F2,F3and F4it can be seen that all three methods have been able tofind the global minimum.The only interesting point of Cuckoo Optimiza-tion Algorithm(COA)might be its faster convergence.But to show the superiority of COA over GA and PSO,the10-dimensional Ras-trigin function is chosen as test function F5.This function has lots of local minima and is one of the difficult problems to solve,even in3-dimensional case.Fig.19shows the3-dimensional Rastrigin function.As it is seen even in3-dimensional case,the Rastrigin func-tion is a really challenging optimization problem.But to see the real performance of COA,GA and PSO the10-dimensional Rastri-gin function is selected as last benchmark function.Fig.20depicts the cost minimization results for all three algorithms.For all three methods,the initial population size and the maximum number of iterations are set to20and100,respectively.Now it is clearly seen that GA and PSO have not been able to find the global minimum in100iterations,but COA has converged in only66iterations to almost the global minimum of f(x*)=0.In this benchmark function,COA has stunningly out performed and has found a very good estimation of the real global minimum.After that the great performance of COA is proven in test cost functions it is needed to investigate its performance in real prob-lems.For this,a Multi-Input Multi-Output(MIMO)distillation column process is chosen in order to be controlled by means ofmultivariable PID controller.The parameters of PID controllerareFig.20.Cost minimization for10-dimensional Rastrigin function.designed using COA,GA and the method proposed in[29].Before illustrating the design process a brief description is given about multivariable controller design.4.2.Multivariable controller design4.2.1.PID controller for MIMO processesConsider the multivariable PID control loop in Fig.21.In Fig.21,multivariable process P(s)could be demonstrated as follows:P(s)=⎡⎣p11(s)...p1n(s).........p n1(s)...p nn(s)⎤⎦(11)where p ij(s)is the transfers function between y i and u j.In Fig.21, vectors Y d,Y,U and E are in following form:Y d=[y d1y d2···y dn]TY=[y1y2···y n]TU=[u1u2···u n]TE=Y d−Y=[e11e22···e nn]TMultivariable PID controller C(s)in Fig.21,is in the following form: C(s)=⎡⎣c11(s)...c1n(s).........c n1(s)...c nn(s)⎤⎦(12) where c ij(s)that i,j∈{1,2,...,n}is as follows:c ij(s)=K Pij+K Iij1s+K Dij s(13)where K Pij is the proportional,K Iij is the integral and K Dij is the derivative gains of the PID controller c ij(s).4.2.2.Evolutionary PID designIn designing PID controllers,the goal is to tune proper coef-ficients K P,K I and K d so that the output has some desired ually in time domain,these characteristics are given in terms of overshoot,rise time,settling time and steady state error.Two kinds of performance criteria in output tracking,usu-ally considered in the controller designing,are the integral squared error(ISE)and integral absolute error(IAE)of the desired output.In design of a multivariable controller,one of the major aims is diagonally domination of the control process.That is the controller be designed in such a way that y i(t)be able to track the desired input y di(t)and to reject the response of other inputs y dj(t),for i, j∈{1,2,...,n|i/=j}.Considering the decupling aim,IAE is defined in the following form:IAEni=1nj=1IAE ijni=1nj=1∞e ij(t)dt(14)where|e ii(t)|is absolute error of the output y i(t)when tracking input y di(t)and|e ij(t)|is the absolute error caused by the effect of the input y dj(t),on the output y i(t),(i/=j).Also IAE ij is defined as integral of absolute error e ij(t)over time.The source of|e ij(t)|is the coupling problem.。
求解无约束优化问题的改进布谷鸟搜索算法
求解无约束优化问题的改进布谷鸟搜索算法苏芙华;刘云连;伍铁斌【摘要】Cuckoo Search(CS) algorithm is proposed as a population-based optimization algorithm and it is so far successfully applied in a variety of fields. A modified CS algorithm is proposed for solving unconstrained optimization problems. Chaos sequence and dynamic random local search technique are introduced to enhance the optimization ability and to improve the convergence speed of CS algorithm. Through testing the performance of the proposed algorithm on a set of 4 benchmark functions and comparing with other six algorithms, simulation result shows that the proposed algorithm has great ability of global search and better convergence rate.%布谷鸟搜索算法是一种基于种群迭代搜索的全局优化算法。
为求解无约束优化问题,提出一种改进的布谷鸟搜索算法。
利用混沌序列构造初始种群以增加群体的多样性,引入动态随机局部搜索技术对当前最优解进行局部搜索,以加快算法的收敛速度。
对4个标准测试函数进行仿真实验,并与其他6种算法进行比较,结果表明,该算法具有较强的全局搜索能力和较快的收敛速度。
(完整版)基于优化问题的多目标布谷鸟搜索算法毕业设计
基于优化问题的多目标布谷鸟搜索算法关键字:布谷鸟搜索、元启发式算法、多目标、最优化摘要:在工程设计方面,很多问题都是典型的多目标问题,而且,都是复杂的非线性问题。
现在我们研究的优化算法就是为了解决多目标化的问题,使得与单一目标问题的解决有明显的区别,计算结果和函数值有可能会增加多目标问题的特性。
此时,元启发式算法开始显示出自己在解决多目标优化问题中的优越性。
在本篇文章中,我们构造了一个新的用于解决多目标优化问题的算法——布谷鸟搜索算法。
我们通过一系列的多目标检验函数对其的有效性已经做出来检验,发现它可以应用于解决结构设计等问题中去,例如:光路设计、制动器设计等。
另外,我么还对该算法的主要特性和应用做了相关的分析。
1.简介在设计问题中经常会考虑到很多多重的复杂问题,而且这些问题往往都具有很高的非线性性。
在实际中,不同的目标之间往往会有分歧和冲突,有时候,实际的最优化解决方案往往不存在,而一些折中的和近似的方案往往也可以使用。
除了这些挑战性和复杂性以外,设计问题还会受到不同设计目标的约束,而且还会被设计代码、设计标准、材料适应性、和可用资源的选择,以及设计花费等所限制,甚至是关于单一目标的全局最优问题也是如此,如果设计函数有着高度的非线性性,那么全局最优解是很难达到的,而且,很多现实世界中的问题经常是NP- ,为整数时,我们有当图2表明他们在100步之内的飞行路线时,图1则表示他们飞行100个步长所遵循的levy分布图。
这一情况指出levy飞行比布朗随机游动在发现事物方面的能力要有效的多,以内其有着较大的搜索范围。
对于他的有效性,又很多原因可以作为解释,其中一种是由于levy的方差比布朗运动的线性关系有着更快的增长率。
(10)2.3 多布标布谷鸟搜索算法在最初由杨新社教授和Deb教授提出的单一目标的布谷鸟优化算法中使用了三条基本的准则:(1)每一只布谷鸟一次只产一个蛋,然后会将你这一只蛋丢到随机选择的一个巢穴中。
群体智能优化算法-布谷鸟搜索
第六章布谷鸟搜索[1]6.1介绍布谷鸟(杜鹃)是一种非常迷人的鸟类,它们不仅能发出各种声音或叫声,还能以不同的方式繁殖。
杜鹃科中的犀鹃(Ani Cuckoo)和圭拉鹃(Guira Cuckoo),将它们的蛋放在其他鸟的巢中,从此杜鹃鸟的蛋完全依赖于寄主鸟的照料,这就是巢寄生。
如果寄主鸟发现蛋不是它们的,要么把蛋扔掉,要么放弃巢穴,然后寄主鸟再建一个新的巢穴。
为了防止这种情况的发生,雌性布谷鸟已经进化到可以模拟寄主蛋的颜色和纹理,从而降低被遗弃的可能性。
同时蛋也会分布在不同的巢中,以减少蛋丢失的机会。
如果布谷鸟的蛋没有被识别出来,它通常会在寄主鸟蛋之前孵化,并把其他的蛋从巢中踢出去,这样就能分得更多的食物,甚至有些布谷鸟雏鸟也能模仿寄主雏鸟的叫声。
巢寄生的一个好处是,父母不需要投资筑巢或喂养幼鸟。
他们可以花更多的时间在捕食和繁殖上。
随着时间的推移,自然选择使寄主鸟和布谷鸟都进化了,使得每一代中最适合的鸟存活下来。
布谷鸟的这种繁殖行为是协同进化的最佳模型之一,也是最近发展的优化技术,即布谷鸟搜索的基础。
6.2人工布谷鸟搜索布谷鸟搜索受布谷鸟的巢寄生行为和一些鸟类和果蝇的莱维(Lévy Flight)行为的启发,是由Xin-She Yang和Suash Deb (2009)[2]提出的一种新型的基于群体的优化技术。
布谷鸟算法源于以下三条规则[3]:●每只布谷鸟每次产下一枚蛋,并将其放入随机选择的巢中;●具有优质蛋的最佳巢会被进入到下一代;●可用的寄主巢数量是固定的,且寄主以概率pa∈(0,1)发现布谷鸟放的蛋。
在这种情况下,寄主可以消灭该蛋或放弃旧巢另建新巢。
在进一步研究算法之前,先讨论一些数学术语和函数。
6.2.1 随机变量任何随机现象的输出都是随机变量,并用X 表示。
如果一个随机变量只取不同的值,比如1,2,那么它就是离散的;如果它可以在一个区间内取任意值,那它就是连续的。
这些通常用曲线下的面积或积分表示。
布谷鸟算法的杂七杂八
关于布谷鸟算法的相关说法又是一个不大常见的拥有一定的自带机制可以对付局部极小值点的算法,但是这个年代还是不大多见。
布谷鸟搜索(Cuckoo Search,CS)是由Xin-She Yang 和Suash Deb 于2009 年开发的自然启发式算法。
CS 基于布谷鸟的寄生性育雏(brood parasitism,又巢寄生)行为。
该算法可以通过所谓的Levy 飞行来增强,而不是简单的各向同性随机游走。
研究表明,该算法可能比遗传算法、PSO 以及其他算法更有效。
不过这也是看具体的数据集的。
1 关于鸟类的育雏行为布谷鸟(杜鹃)是一种神奇的鸟,不仅因为它们动听的啼鸣,还因它们的积极的繁殖策略。
杜鹃科中的犀鹃(Ani Cuckoo)和圭拉鹃(Guira Cuckoo),将它们的蛋放在其他鸟的巢中,通过去除其他鸟(寄主)的蛋来增加自己蛋的孵化几率。
有相当多种类的鸟都有将自己的蛋放在其他鸟的巢中这种寄生性育雏行为。
这种方法使得一些科学家突发奇想,于是就有了现在的布谷鸟算法寄生性育雏分为三种:种内寄生(intraspecific brood parasitism)、合作养育(cooperative breeding)和巢占据(nest takeover)。
一些寄主鸟会与入侵的布谷鸟发生直接冲突。
如果一个寄主鸟发现这些蛋不是他们自己的,那么他们要么将这些外来蛋清除掉。
这是比较温和的生物,有的物种就比较暴脾气,他们直接放弃整个巢穴,在别处建造一个新的巢。
一些布谷鸟,例如New World brood-parasitic Tapera,已经进化成这样一种方式,雌杜鹃通常非常善于模仿几种特定寄主的卵的颜色和纹理。
这减少了它们蛋被遗弃的可能性,从而增加了它们的繁殖力。
这种物种对产蛋时机的把握也非常到位。
布谷鸟通常会选择那些寄主刚刚产下自己蛋的巢。
一般来说,布谷鸟蛋的孵化时间要比寄主蛋的孵化时间要早一些。
一旦第一只布谷鸟雏鸟孵化出来,第一个本能的动作就是通过盲目地推动将其他蛋从巢中推出,从而增加寄主对布谷鸟雏鸟的食物供给。
多目标布谷鸟算法matlab程序
多目标布谷鸟算法 Matlab 程序引言多目标优化是一个复杂且具有挑战性的问题,它涉及到在多个目标函数之间寻找最佳的解决方案。
布谷鸟算法(Cuckoo Search Algorithm)是一种基于自然界中布谷鸟寄生行为的启发式优化算法,用于解决多目标优化问题。
本文将介绍如何使用Matlab 实现多目标布谷鸟算法。
多目标优化问题在传统的单目标优化问题中,我们只需要考虑一个目标函数,并寻找使该函数取得最大或最小值的变量值。
然而,在许多现实世界的问题中,我们往往需要考虑多个相互关联但又独立的目标函数。
这些目标函数可能存在冲突,即改进一个目标会导致其他目标变差。
例如,在工程设计中,我们可能需要同时考虑成本、质量和效率等多个因素。
这些因素之间存在着权衡和平衡关系,我们希望找到一组解决方案,使得所有因素都能得到满足。
布谷鸟算法布谷鸟算法是一种模拟自然界中布谷鸟寄生行为的优化算法,由杨秀海于2009年提出。
布谷鸟寄生行为是指布谷鸟将自己的蛋放置在其他鸟类的巢中,然后离开,让其他鸟类来孵化和抚养这些蛋。
这种行为使得布谷鸟能够节省能量和时间,并使其能够更好地适应环境。
布谷鸟算法的基本思想是通过模拟布谷鸟的寄生行为来搜索最优解。
算法中的每个解决方案被称为一个“布谷鸟能量”,它包含了多个维度(目标函数)上的数值。
算法通过不断更新和优化这些解决方案,以逼近最佳解。
多目标布谷鸟算法步骤多目标布谷鸟算法可以分为以下几个步骤:1.初始化种群:随机生成一组初始解决方案作为种群。
2.评估适应度:计算每个解决方案在各个目标函数上的适应度值。
3.选择父代:根据适应度值选择一定数量的父代解决方案。
4.随机生成新解:通过对父代解决方案进行变异操作,生成一定数量的新解决方案。
5.评估适应度:计算新解决方案在各个目标函数上的适应度值。
6.选择存活个体:根据适应度值选择一定数量的存活个体。
7.更新最优解:更新当前最优解决方案。
8.终止条件判断:检查是否满足终止条件,如果满足则结束算法;否则返回步骤3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
背景起源—莱维飞行
在自然界中,动物寻找食物采用随机的方式。一般情况下, 动物觅食路径实际上是一个随机游走,因为下一步的行动是取决 于两个因素,一个是当前的位置/状态,另一个是过渡到下一个 位置的概率。
莱维飞行行走的步长满足一个重尾( heavy-tailed)的稳定分 布, 在这种形式的行走中, 短距离的探索与偶尔较长距离的行走 相间。在智能优化算法中采用莱维飞行, 能扩大搜索范围、增加 种群多样性, 更容易跳出局部最优点。
2005
人工萤火虫优 萤火虫通过通过荧光进行信息交流 化算法
2009
布谷鸟算法 布谷鸟孵育行为
2
A
背景起源—布谷鸟的孵育寄生行为
某些种属的布谷鸟将自己的卵偷偷产入宿主巢穴,由于布谷鸟后代 的孵化时间比宿主的幼雏早,孵化的幼雏会本能地破坏同一巢穴中其他 的卵(推出巢穴),并发出比宿主幼雏更响亮的叫声。很多宿主通过后代 的叫声大小判断其健康程度, 而健康后代获得的食物较多, 进而拥有更 高的存活率。在某些情况下, 宿主也会发现巢穴中的陌生卵。这时, 宿 主将遗弃该巢穴, 并选择其他地方重新筑巢。在与宿主不断的生存竞争 中, 布谷鸟的卵和幼雏叫声均朝着模拟宿主的方向发展, 以对抗宿主不 断进化的分辨能力。
4 A
CS算法—国内外研究进展
分类
学者
观点
步长
自适应
与其他算 法结合
Walton 等人
Tuba 等 人
Valian 等 人
Layeb等 人
Ghodrati 等人
Wang 等 人
针对 Levy flights 随机游动中的 Levy 随机步长大小提出 一种改进版本以加强局部搜索
针对偏好随机游动中的步长提出一种基于种群排序的改进版 本
7 8 x 1 1 0 2 , 3 3 x 2 4 5 , 2 7 x 3 ,x 4 ,x 5 4 5
主要思想:将更新后位置的梯度与共轭因子的乘积加到该位置
的负梯度上,利用线性组合构造出新的共轭方向,沿着该方向进行搜 索
13 A
CS算法—使用范围 多目标 多约束的优化 问题,包括N-P问题
14 A
CS算法验证—Himmelblau问题
M i n : f ( X ) 5 . 3 5 7 8 5 4 7 x 3 2 0 . 8 3 5 6 8 9 1 x 1 x 5 3 7 . 2 9 3 2 3 9 x 1 4 0 7 9 2 . 1 4 1
约束条件:
0 g 1 9 2 ,9 0 g 2 1 1 0 ,2 0 g 3 2 5 g 18 5 .3 3 4 4 0 70 .0 0 5 6 8 5 8x1x50 .0 0 0 6 2 6 2x1x40 .0 0 2 2 0 5 3x3x5 g28 0 .5 1 2 4 90 .0 0 7 1 3 1 7x2x50 .0 0 2 9 9 5 5x1x20 .0 0 2 1 8 1 3x3 2 g39 .3 0 0 9 6 10 .0 0 4 7 0 2 6x3x50 .0 0 1 2 5 4 7x1x30 .0 0 1 9 0 8 5x3x4
布谷鸟算法 Cuckoo Search
1 A
启发式算法
时间 1950-1955
名称 模式搜索
来源
1960-1965 随机搜索
1975
遗传算法
1990
文化基因算法
1990-1995 蚁群算法
模拟蚁群觅食过程
1995
粒子群算法 鸟类和鱼类群体运动行为
2000
和声算法/蜂群 即兴音乐创作/蜜蜂采蜜过程 算法
提出了一种自适应步长和自适应发现概率的 CS 算法
引入量子比特、量子纠缠以及量子变异等量子计算概念,以提 高 CS 算法种群的多样性,并成功地应用于求解装箱问题
借鉴 PSO 算法中全局最优和个体最优的概念,在 CS 算法 Levy flights 随机游动和偏好随机游动之间引入 PSO 组件
将PSO与CS串行,在每次迭代过程中首先用PSO算法优化种 群,并记录全局最优和个体最优,其次采用CS算法对种群个体 最优继续寻优
按一定概率丢弃部分解后,采用偏好随机游走重新生成相同 数量的新解
r是缩放因子,是(0,1)区间内的均匀分布随机数
g, j , g,k:表示g代的两个随机数 11 A
改进的CS算法—自适应步长的CS算法
在标准的布谷鸟优化算法中,利用莱维飞行随机产生步长,不利于计算。当 步长较小时,会降低搜索速度,但步长较大时,会降低搜索精度,因此提出 了自适应步长的布谷鸟搜索算法,该算法根据不同阶段的搜索结果,自适应 的调整步长的大小。引入公式:
5 A
CS算法—基本假设
1 每只布谷鸟一次产一个卵, 并随机选择寄生巢来 孵化它; 2 在随机选择的一组寄生巢中, 最好的寄生巢将会 被保留到下一代; 3 可利用的寄生巢数量是固定的, 一个寄生巢的主 人能发现一个外来鸟蛋的概率为 p .(即新的解决方 案的概率为 p )
6 A
CS算法—基本流程
0 :常数
x b e s t :当前最优解
服从莱维概率分布
Levy~ut 1 3
A
(2)
(3)
9
CS算法—基本流程
为了便于计算,采用下列公式产生Levy随机数
Levy( ) :
u
1
v
u,v 服从标准正态分布, =1.5
10 A
CS算法—基本流程
综合上述公本流程
布谷鸟位置更新公式:
xg1,i xg,iL( ) (i1,2,Ln)
(1)
x g , i : 表示第i个鸟巢在第g代的鸟巢位置 : 表示点对点乘法
: 表示步长控制量,通常取1
L ( ) : 表示莱维随机搜索路径
8 A
CS算法—基本流程
步长公式:
0(xg,ixbest)
di
xi xb d max
x i :第i个鸟巢的位置 x b :当前最优的鸟巢位置
d m a x :最优位置与剩余鸟巢位置的最大距离
s m a x :最大步长
sism in(sm axsm in)di s m i n :最小步长
12
A
改进的CS算法—基于共轭梯度的CS算法
共扼梯度算法是沿着己知点附近的一组共扼方向搜索,能够 充分的利用局部区域的信息,有较强的局部搜索能力,将其 引入到CS算法中,进而提高CS算法的收敛速度与计算精度。