文摘
为了提高收敛速度和优化的准确性布谷鸟搜索(CS)算法求解函数优化问题,一个新的改进的布谷鸟搜索算法基于repeat-cycle渐近自学习和适用干扰(RC-SSCS)提出。干扰操作添加到该算法通过构造一个干扰因素做出更仔细和彻底的搜索附近的燕窝的位置。为了选择合理的repeat-cycled干扰数量,进一步研究干扰时间的选择。最后,采用六个典型测试函数进行仿真实验,与此同时,本文的算法有两个比较典型的群体智能算法粒子群优化(PSO)算法和人工蜂群(ABC)算法。结果表明,改进的布谷鸟搜索算法具有更好的收敛速度和优化精度。
1。介绍
布谷鸟搜索算法(CS),提出了一个新的生物启发式算法,杨和黛比在2009年。它模拟了杜鹃的寻求巢和产卵行为,介绍了利维飞行机制,这是能够快速高效地找到最优解(1,2]。研究已经证明,CS算法比其他群体智能算法在收敛速度和优化精度,如遗传算法(GA)、粒子群优化(PSO)算法和人工蜂群(ABC)算法(3]。因为这个算法有更少的特征参数和简单,容易实现,现在它已成功应用于各种工程优化问题。所以CS算法有很高的潜在研究价值(4,5]。
CS算法是一种新型的仿生算法。许多学者进行的许多研究CS算法并提出了相应的改进策略。在文献[6),获得洞察CS算法的搜索机制,分析为什么有效;与此同时,本文讨论了算法的本质和其链接到自组织系统6]。在文献[7,为了提高CS效率,利用几个参数的CS算法涉及的税收分配因子β()和概率因子(),通过寻求对这些参数最优值CS算法效率提高(7]。在文献[8),研究了CS和利维的算法结构和行为详细分布,然后通过比较广泛使用优化算法(即。、德和GA)统计结果证实CS具有更优越的解决问题的能力(8]。为了提高搜索能力的布谷鸟搜索算法(CS),一种改进的健壮的方法,叫做和谐搜索(HS)提出,方法添加一个变异算子杜鹃更新加快收敛的过程(9]。在文献[10),为了解决组合问题,扩展和改善了CS重构其人口和引进一个新的类别的杜鹃(10]。一只布谷鸟优化算法根据交易所运营商和混乱的干扰,提出了引入了交易所运营商理论的粒子群优化算法来提高收敛速度和优化精度(11]。合作共同进化的布谷鸟搜索算法提出了通过应用的框架合作共同进化,它的解向量人口分为几个subvectors并构造相应的subswarms [12]。小说布谷鸟搜索优化算法提出了基于高斯分布通过添加高斯分布CS算法来提高收敛速度(13]。提出了一种新的自适应布谷鸟搜索算法通过自适应调整CS的步长参数控制策略以提高其搜索能力(14]。因为CS算法是根据利维飞行高度随机搜索机制,展示了一个强烈的跳跃,很容易从一个地区到另一个地区,这使得搜索,大约每个鸟巢位置不小心和彻底,不能充分利用鸟巢附近位置的信息。所以CS算法局部搜索能力弱的特点,收敛速度慢,优化精度低。
为了使算法在这方面的缺陷,一种改进的基于repeat-cycle布谷鸟搜索算法的渐近自学习和适用干扰(RC-SSCS)提出。为了获得更好的干扰效应,最严重的青蛙的学习和更新战略重组青蛙跳算法(SFLA)和差分进化(DE)的思想引入扰动因素的构建,因此,这使得每一个扰动巢的自学和适用。最后,选择六个典型测试函数进行仿真实验,仿真结果证明了改进的布谷鸟搜索算法具有更好的收敛速度和优化精度。本文组织如下。节2介绍了布谷鸟搜索算法。改进的布谷鸟搜索算法基于repeat-cycle渐近自学习和适用干扰提出了部分3。节4仿真实验和结果分析,介绍了细节。最后,结论说明了最后一部分。
2。布谷鸟搜索算法
布谷鸟搜索算法(CS)是由Xin-she杨通过观察神奇的自然现象,然后给一个人工处理,这是一种新型的启发式搜索算法(15,16]。该算法主要是基于两个方面:布谷鸟的寄生繁殖机制和利维航班搜索原则。在自然界中,杜鹃使用一个随机的方式或quasirandom方式寻求鸟巢位置(10]。大多数杜鹃将卵产在其他鸟的巢穴,让主持人提高他们的幼崽,而不是他们。如果主机发现鸡蛋没有拥有,它将扔掉这些外星蛋从窝或放弃其巢,在其他地区建立一个新的巢穴。然而,也有一些杜鹃选择巢主人的鸡蛋的颜色和形状是相似的用自己的获得主人的爱,可以减少他们的鸡蛋被抛弃的可能性,提高繁殖率的杜鹃。
一般来说,每个杜鹃只能躺一个鸡蛋,每个鸡蛋代表一个解决方案(杜鹃)。目的是使新的和潜在的更好的解决方案取代不好的解决方案(杜鹃)。为了研究布谷鸟搜索算法更好,最简单的方法是采用,也就是说,只有一个蛋在每一个巢。在这种情况下,一个鸡蛋,一个鸟巢,或一只布谷鸟也一样,也就是说,每个巢对应一只布谷鸟的鸡蛋。为简单起见在描述布谷鸟搜索算法,杨和Deb使用以下三个理想化的规则构造布谷鸟算法(17]。(1)每个杜鹃一次只把一颗蛋和随机选择鸟巢孵蛋。(2)最好的巢将遗留给下一代。(3)可用主机巢穴的数量是固定的,和一个主机的概率发现外星人鸡蛋。在这种情况下,主机鸟可以扔掉陌生蛋或者放弃巢,以建立一个新的窝在一个新的位置。
在上述条件下,CS算法的具体步骤描述如下。
(1)初始化设置。随机生成鸟巢的位置,然后把鸟巢的立场为选择实验测试函数。通过测试,最好的鸟巢位置选择和延续给下一代。
(2)搜索鸟巢的位置。方程(1)用于实现位置更新和搜索的鸟巢位置下一代为了获得一套新的鸟巢地点,再次进入了测试函数进行测试实验。与上一代比较后窝位置,最好的鸟巢位置选择和进入下一步。考虑
(3)选择鸟巢的位置。主机的概率发现外星人鸡蛋是相对于服从均匀分布的随机数。如果的价值,是随机改变。否则它不需要改变。
然后改变了鸟巢的位置计算测试函数,与上一代的最佳位置和最佳鸟巢的位置是记录。最后,最优巢的位置是选择。
(4)准确性或迭代的判断。计算和判断实现对象的准确性或终止条件。如果符合要求,是全局最优的解决方案;如果无法实现,保存到下一代,回到步骤又开始下一个循环迭代和更新。
根据上述四个步骤的布谷鸟搜索算法,布谷鸟算法不仅使用征收飞行(全球搜索)搜索方法,还介绍了精英保留策略(本地搜索),这使得该算法全局搜索能力和局部搜索能力。一步的目的在这个算法是增加解的多样性,这样算法避免陷入局部最优和实现全局最优。
CS算法的搜索路径是不同与其他蜂群算法。CS算法使用征收飞行,个性强烈的随机性。一般来说,征收飞行是一个随机游走,他的步长遵循利维分布,和旅行的方向均匀分布。CS算法的步长向量是由兰方利维分布特征。在兰方规则,步长设计如下: 在哪里和服从正态分布,也就是说 在哪里
但这里的选择方法方向服从均匀分布。利维CS算法的搜索模式飞行,例如,th的杜鹃th代生成下一代的解决方案: 在哪里是一种点对点乘法的步长遵循税收分配,可以表示如下:
在这里,在那年规则用于计算步长。在(5),一步控制量主要是用来控制方向和步长。,其分布是一个幂函数,征收有无限的方差及其增量服从重尾分布分布(18,19]。利维飞行似乎布朗运动在长途飞行的状态下,或者它可能被描述,利维航班由short-jump频繁,偶尔跳远。跳远运动可以帮助CS算法跳出局部最优。考虑 在哪里优化问题的搜索空间大小。
因此,一些新的解决方案的生成逐渐通过征收飞行和兰德最优解要走几圈,以获得最优解,从而加快本地搜索。相反,新的解决方案的一部分是远离当前的最优解,因为它们是由偏离随机生成的偏远地区。这些解决方案的主要目的是确保系统不落入局部最优解。
大量的仿真实验证明,当鸟巢组值= 15 ~ 40和探测概率,它可以解决许多优化问题(16]。一旦人口规模是固定的,发现概率是一个重要的参数来平衡全局搜索和局部搜索和控制精英的选择。因此,CS算法具有更少的特征参数,优秀的搜索路径和全局优化能力强,等等(20.]。
3所示。改进的布谷鸟搜索算法
对于每一个时间,杜鹃的长度和方向的搜索路径是高度随机改变基于利维飞行机制,以便能够从一个地区到另一个地方,这有利于全球搜索早期阶段的优化,使CS算法全局搜索能力强(16,21]。这只是因为CS算法显示了强烈的跳跃在搜索过程,使每个鸟巢周围的本地搜索位置没有仔细和彻底。因此,局部优化信息在鸟巢附近位置没有被充分利用,从而导致局部搜索能力不强,后期的优化精度不高,而且收敛速度缓慢。为了提高收敛速度和CS算法的优化精度,自学和适用干扰操作添加到算法,以及进一步研究改进的扰动也进行了讨论。
3.1。布谷鸟搜索算法基于自学习和适用干扰
为了使算法进行更仔细和彻底的搜索在鸟巢附近位置,CS算法每次迭代后的一组获得优势鸟巢的位置而不是让直接进入下一个迭代,干扰操作应用进行进一步搜索的社区。
由于一般的扰动,如高斯摄动和随机扰动,所有伟大的随机性和盲目性,为了获得一个更好的干扰效应,最严重的青蛙的学习和更新策略打乱青蛙跳算法(SFLA)和差分进化(DE)的一部分思想引入扰动因子的构造。学习和更新策略的引入最严重的青蛙可以增加每个鸟巢鸟的自学能力学习最优巢(22]。也就是说它可以增加其他解决方案的速度接近最佳的解决方案,提高算法的收敛速度。微分进化思想的引入可以增加鸟巢位置的多样性,使得每个鸟巢有进化能力。良好的学习和发展能力都必将导致高的搜索能力。
基于上述分析,干扰因素是构成两个部分:一部分是学习因素从SFLA最差青蛙的学习和更新策略;另一部分是进化因素基于差分进化(DE)的思想的一部分。因此,整个扰动因素使得每一个扰动与鸟的自学和适用能力的影响。干扰因素是结构如下: 在哪里是扰乱了鸟巢的位置,是目前最好的位置,和是随机数字,,是鸟巢人口的数量,和鸟巢位置对应于一个随机号码吗和,,服从高斯分布,是学习的规模,是进化的规模。
为了更好控制的扰动范围、控制量的扰动范围介绍了控制搜索范围大小鸟巢。被打扰后,鸟巢是表达位置 在哪里鸟巢位置被打扰后,是控制量的扰动范围,是点对点的乘法。
根据(8)和(9搜索和选择操作之后),获得一个鸟巢的位置,不要让这巢直接进入下一代。相反,加入扰动为基础,干扰因素,在分发所控制的范围内。扰动后终于得到一个新的鸟巢的位置,让进入下一代。
在不同的阶段,鸟巢的学习能力,发展能力,干扰可以通过调整控制范围的值,,。例如,当是一个给定的值,如果和是一个常数,然后在这个搜索的范围,鸟巢只有进化能力,没有学习能力;同样的道理,如果和是某一常数,在搜索范围内,该算法只有学习能力和发展能力。
干扰范围控制器不仅控制搜索范围的大小,而且也会影响一个鸟巢的学习能力和发展能力。当给出一个很大的价值,学习前的系数因素呢和不断发展的因素可以驱动更大,所以学习和进化能力变得更强。在这种情况下,算法的搜索范围较大,搜索能力更强,但搜索细度较低。出于同样的原因,当给出一个小值,学习和发展能力相对较弱,搜索范围小,搜索能力就弱,但搜索细度要高得多。
3.2。布谷鸟搜索算法适用基于Repeat-Cycle渐近自学习和干扰
理想的干扰效果应该是早期的障碍,它有更高的搜索能力和后期的扰动具有较高的搜索精度。通过这种方式,它可以获得一个更好的鸟巢位置快然后进行更仔细和彻底搜索更好的窝的位置。基于上述分析,提出repeat-cycle渐近干扰方法。采用动态调整使搜索范围逐步改变扰动后从大到小。换句话说,去年干扰结果的基础上,缩小扰动范围,继续下一个障碍。repeat-cycle渐近干扰搜索依次进行。
为了获得一个更好的鸟巢以更快的速度、位置的扰动给出了一个更大的价值。干扰持续,燕窝逐渐好转和鸟巢的调整位置越来越微妙。尤其是在健身价值的反应的条件是敏感参数改变,它需要使用少量的控制的位置有一个最优值附近的微调。的是根据以下调整: 在哪里是控制扰动量的最小值范围,的最大价值,repeat-cycle干扰的总数,是干扰。
循环扰动,扰动的控制量范围由扰动控制号码吗。使之间的变化和。当,是最大的。扰动的数量逐渐增加降低一点点。最后,当,达到最小值。
早期的repeat-cycle干扰,适用于鸟巢自学和功能起主导作用,这肯定可以找到一个更好的更快的鸟巢。随着干扰数量增加,搜索范围逐渐变成小和搜索的细度程度逐渐增强。后期的repeat-cycle障碍,细度搜索起着主导作用。
3.3。算法过程
改进的算法过程布谷鸟搜索算法(RC-SSCS)如图1。RC-SSCS算法的具体步骤描述如下。
步骤1(初始化)。随机生成鸟巢的位置,选择最好的鸟巢的位置,并把它交给下一代。
步骤2(搜索操作)。使用位置更新(1)寻找下一代鸟巢的位置,获得一套新的燕窝,并测试它们。然后比较测试结果与上一代的鸟巢位置并获得一组更好的职位。
步骤3(选择操作)。生成随机数,服从均匀分布。对比检测概率,如果,随机改变,否则吗是不变的。测试改变巢穴的位置,最后一步的位置进行比较,选择更好的窝的位置。
步骤4 (repeat-cycle扰动操作)。添加一个自学习和适用扰动鸟巢位置,测试新的鸟巢位置被打扰,然后比较测试结果和最后的位置扰动结果和选择更好的鸟巢的位置。多次扰动后,获得一组最好的鸟巢的位置,然后选择一个最好的位置从集合。
第五步(判断操作)。计算的健身价值和判断是否达到终止条件。如果满意,是最优解,否则返回步骤2并开始下一次迭代。
4所示。仿真结果和分析
为了验证改进的CS算法的性能,选择六个典型的连续测试函数进行仿真研究,与此同时,比较仿真结果与ABC, PSO、CS和gc。这六个测试函数如表所示1。三维表面数据如图2- - - - - -7。
球面函数是一个简单的单峰函数。。函数是一个不可分割的单模函数,其全球极值在陡峭的山谷。大多数的搜索算法,很难获得正确的峡谷内的搜索方向。Griewank函数是一个多峰函数有多个局部最优点,由于变量之间的相关性,这将是很难得到全局最优的解决方案。Rastrigrin函数是一个典型的不可分割的多峰函数,在它的搜索域,有大量的局部最小值,从而导致这一事实很难获得全局最优。Michalewicz函数当地的极端值。
实验参数设置如下。粒子群优化(PSO)算法的粒子数;学习的因素,;惯性权重。人工蜂群算法(ABC)的菌落总数领先后,蜜蜂和蜜蜂都是一样的。布谷鸟搜索算法(CS)和3 CS算法改善人口总鸟巢检测概率,步长控制参数。布谷鸟搜索算法基于高斯干扰(GCS)和布谷鸟搜索算法基于自学习和适用扰动(精原细胞)采用相同的扰动范围控制数量。布谷鸟搜索算法基于repeat-cycle渐近自学习和适用干扰(RC-SSCS)的范围[0.25,1.5],学习和发展的规模设置。血液循环障碍的数量。对所有算法,这六个维度的测试函数都是集。迭代的次数。对于每一个算法,其程序运行独立的30倍。
评估算法的性能最好的价值,通过统计平均值和最差值在运行30倍,和每个函数的收敛曲线。六个函数的收敛曲线如数据所示8- - - - - -13。每个算法的数值试验结果如表所示2。
经过500次迭代和30倍独立运行,它可以从六个函数的收敛曲线和数值统计结果,RC-SSCS算法的收敛速度和优化精度是最好的。和两种算法的收敛速度和优化精度精原细胞和RC-SSCS提出本文显然是比原来的CS算法,gc算法,ABC算法和PSO算法。
从六个收敛曲线,六个函数的收敛速度明显提高。函数的收敛曲线后表明,优化精度通过RC-SSCS算法迭代20倍等于200年之后,通过gc算法和CS算法迭代。这个函数收敛曲线显示,100年后RC-SSCS算法迭代的优化精度达到= 400次迭代后达到原来CS算法的准确性。从函数的收敛曲线可以看出,优化精度通过RC-SSCS算法迭代后25 =精原细胞经过175次迭代算法实现和CS算法经过300次迭代实现。函数的收敛速度和也明显改变。结果表明,改进算法使收敛速度大大提高。
从表的数值结果2,改进算法使六个典型函数的优化精度得到改善。精原细胞算法和RC-SSCS算法相对于CS算法,分别使单模函数的最佳值增加了5和10个数量级,平均值,分别增加了4和7个数量级。对于多模函数与多个局部最优点,与原来的CS算法相比,精原细胞,和RC-SSCS算法,分别使其最佳值和平均值提高了5和9个数量级。优化精度的其他功能已得到改进。这表明改进后的算法可以使优化精度得到改善。
基于上述改进算法的分析,众所周知,在一定范围的扰动,repeat-cycle扰动的数目影响搜索功能之间的平衡和扰动过程中优化精度。一个适当的扰动时间可以搜索能力和搜索精度之间的良好平衡,发挥最佳优化效果。扰动过程中搜索,如果算法只有搜索能力强,但不包含搜索精度高,它不会得到理想的搜索效果,同样,如果精度非常高,但搜索能力较弱,也没有理想的搜索效果。为了选择一个合理的干扰,在本文中,我们开展进一步研究之间的关系repeat-cycle干扰时间和收敛速度和优化精度。选择相同的参数设置如上所述,除了设定的迭代次数。每个函数的周期扰动进行了5次,10次,分别和20倍。六个功能在不同扰动的结果如图14- - - - - -19和表3。
它可以看到从数据的收敛曲线14- - - - - -19随着周期的增加的时期,六个函数的收敛速度将逐步改善。但仔细看每个函数收敛曲线,可以发现时收敛速度的改变循环的增加从5到10比,当循环数量从10增加到20。也就是说,增加5次循环产生的收敛变化repeat-cycle扰动大于前面的,通过增加在以后的10倍。它还可以看到从表的数值结果3优化精度最高,当周期扰动乘以10。六个函数的优化精度是提高当扰动从5到10倍增加。然而,当扰动时间从10增加到20日优化精度减少而不是增加。
总之,扰动时期可能不会获得更好的结果。在相同的扰动范围、扰动时间达到一定数量时,如果干扰数量再次增加,算法的收敛速度并没有一个明显的改善。然而,优化精度将降低。整体考虑到收敛速度,优化精度和优化时间,最好选择骑车扰动乘以10。
5。结论
为了提高收敛速度和优化的准确性布谷鸟搜索(CS)算法求解函数优化问题,一种基于repeat-cycle布谷鸟搜索算法的渐近自学习和适用干扰(RC-SSCS)提出。选择6个典型测试函数进行仿真实验。仿真结果表明提出的有效性改善布谷鸟搜索算法在收敛速度和优化精度。
利益冲突
作者宣称没有利益冲突有关的出版。
确认
这项工作是支持的部分程序对中国博士后科学基金会(批准号20110491510),辽宁高校优秀人才项目(批准号LR2014008),由辽宁省自然科学基金项目(批准号2014020177)。