【算法学习】布谷鸟搜索算法【CuckooSearch(CS)】

article/2025/10/5 7:52:09

原文链接:布谷鸟搜索算法

布谷鸟搜索(Cuckoo Search,CS)是由 Xin-She Yang 和 Suash Deb 于 2009 年开发的自然启发式算法。CS 基于布谷鸟的寄生性育雏(brood parasitism,又巢寄生)行为。该算法可以通过所谓的 Levy 飞行来增强,而不是简单的各向同性随机游走。研究表明,该算法可能比遗传算法、PSO 以及其他算法更有效。

布谷鸟育雏行为

布谷鸟(杜鹃)是一种神奇的鸟,不仅因为它们动听的啼鸣,还因它们的积极的繁殖策略。杜鹃科中的犀鹃(Ani Cuckoo)和圭拉鹃(Guira Cuckoo),将它们的蛋放在其他鸟的巢中,通过去除其他鸟(寄主)的蛋来增加自己蛋的孵化几率。有相当多种类的鸟都有将自己的蛋放在其他鸟的巢中这种寄生性育雏行为 [19]。

寄生性育雏分为三种:种内寄生(intraspecific brood parasitism)、合作养育(cooperative breeding)和巢占据(nest takeover)。一些寄主鸟会与入侵的布谷鸟发生直接冲突。如果一个寄主鸟发现这些蛋不是他们自己的,那么他们要么将这些外来蛋清除掉,要么就直接放弃这个巢,在别处建造一个新的巢。一些布谷鸟,例如 New World brood-parasitic Tapera,已经进化成这样一种方式,雌杜鹃通常非常善于模仿几种特定寄主的卵的颜色和纹理。这减少了它们蛋被遗弃的可能性,从而增加了它们的繁殖力。

此外,该物种对产蛋时机的把握也非常到位。布谷鸟通常会选择那些寄主刚刚产下自己蛋的巢。一般来说,布谷鸟蛋的孵化时间要比寄主蛋的孵化时间要早一些。一旦第一只布谷鸟雏鸟孵化出来,第一个本能的动作就是通过盲目地推动将其他蛋从巢中推出,从而增加寄主对布谷鸟雏鸟的食物供给。研究还表明,杜鹃雏鸟还可以模仿寄主雏鸟的叫声,以获得更多的被喂食机会。

Levy 飞行

另一方面,各种研究表明,许多动物和昆虫的飞行行为表现出了具有幂律规律的 Lévy 飞行的典型特征。Reynolds 和 Frye 最近的一项研究表明,果蝇(或 Drosophila melanogaster)利用一系列直线飞行路径和突然的 90° 转弯来探索景观,从而产生 Lévy飞行式的间歇无标度搜索模式 [21]。针对人类行为的研究也表明,如 Ju/’hoansi 狩猎采集觅食模式等也表现出了 Lévy 飞行的典型特征 [4]。即使是光线也与 Lévy 飞行有联系 [2]。另外,该行为已被应用于优化搜索,结果表明其具有潜力 [20]。

布谷鸟搜索

CS 是由 Xin-She Yang 和 Suash Deb 于 2009 年开发的自然启发式算法 [30,32,33]。CS 基于布谷鸟的寄生性育雏(brood parasitism,又巢寄生)行为。

此外, 该算法可以通过所谓的 Levy 飞行来增强,而不是简单的各向同性随机游走。研究表明,该算法可能比遗传算法、PSO 以及其他算法更有效 [30]。为了简化描述标准 CS,这里我们引入以下三条理想化的规则:

  • 每只布谷鸟每次下一个蛋,并将其放入随机选择的巢中。
  • 具有优质蛋的最佳巢会被带到下一代。
  • 可用的寄主巢数量是固定的,且寄主以概率 pa(0,1) 发现布谷鸟放的蛋。在这种情况下,寄主可以消灭该蛋或放弃旧巢另建新巢。

进一步地,对于最后一个假设,新巢可以通过替换 n 个宿主巢穴的 pa 来近似。对于最大化问题,解质量或适应度可以简单地假设为与目标函数的值成比例。其他形式的适应度可以用与遗传算法中的适应度函数类似的方式来定义。

从实现的角度来看,我们可以用下面的简单规则:每个巢中的蛋代表一个解,每个布谷鸟只能下一个蛋。目的是使用新的和可能更好的解(布谷鸟)来取代巢中不太好的解。显然,这个算法可以扩展到更复杂的情况,也就是,每个巢有多个蛋来代表一组解。这里,我们只考虑最简单的情况,每个巢只有一个蛋。在这种情况下,蛋,巢或布谷鸟之间没有区别,因为每个巢对应一个鸡蛋,这也代表一只布谷鸟。

该算法使用由开关参数 pa 控制的局部随机游走和的全局探索随机游走的平衡组合。局部随机游走可以写成 

xt+1i=xti+αsH(paϵ)(xtjxtk),(1)

其中  xtj  和  xti  是通过随机置换选择的两个不同的解, H(u)  是一个 Heaviside 函数(单位阶跃函数)。 ϵ 是从均匀分布中抽取的随机数, s  是步长。这里,  表示两个向量的 entry-wise 积(点乘)。

另一方面,全局随机行走使用 Levy 飞行 

xt+1i=xti+αL(s,λ),(2)

其中 
L(s,λ)=λΓ(λ)sin(πλ/2)π1s1+λ,(ss0>0)(3)

这里  α>0  是步长缩放因子,与感兴趣问题的尺度相关。大多数情况,我们使用  α=O(L/10) ,而  L 是感兴趣问题的特征尺度,在某些情况下  α=O(L/100)  可能会更有效并且能避免飞得太远。显然,这两个更新方程的  α  值可能不同,因此,导致产生两个不同的参数,  α1  和  α2 。为了简化,这里我们使用  α1=α2=α

基于上述三条规则,CS 的基本步骤可以总结为以下伪代码:

CS_via_Levy_Flights.png

Figure 1 Pseudo code of the cuckoo search for a minimization problem.

式(2)本质上是一种随机行走的随机(stochastic)公式。事实上,随机行走是一个马尔科夫链,其下一个状态/位置仅取决于当前状态(上式的第一项)和转移概率(上式的第二项)。然而,新解的很大一部分应该由远场随机化产生,它们的位置应该离当前最佳解足够远,这将确保系统不会陷入局部最优 [30, 32]。

关于布谷鸟搜索的文献在快速增长。它得到了广泛地关注,最近不同领域的很多研究都用到了布谷鸟搜索 [6,7,9-11,13,36]. 例如,Walton 等改进了该算法提出了修改的 CS 算法 [26];Yang 和 Deb 扩展该算法到多目标优化 [33]。一个全面的综述可以从 Yang 编写的书上看到 [35]。

布谷鸟搜索的特殊情况

CS 作为一种元启发式算法有着令人惊讶的丰富特性。如果我们仔细观察更新公式(1)(2),我们就能发现丰富的细节。对于式(1)我们可以把因子放在一起,设 Q=αsH(paϵ) ,然后我们有 Q>0。于是,式(1)变成了差分进化的主更新公式。更进一步,我们将 xtj 替换为当前最佳解 g 并设 k=i,我们有 

xt+1i=xti+Q(gxti),(4)

这本质上是没有个体历史最佳的 PSO 变种。在这种情况下,非常类似 Yang 等开发的 APSO [29]。

另一方面,对于式(2),这种随机行走是具有 Levy 飞行转移概率的模拟退火(simulated annealing,SA)。在这种情况下,SA 的随机冷却表由 pa 控制。

因此,差分进化、PSO 以及 SA 都可以看作是 CS 的特殊情况。相反,我们也可说 CS 将 DE、PSO 和 SA 好的和有效的部分组合在一个算法中。因此,CS 非常有效。

如何执行 Levy 飞行

从实现的角度来看,用 Lévy 飞行生成随机数应包括两个步骤:随机方向的选择和服从 Lévy 分布的步长的生成。方向的生成应该服从均匀分布,而生成步长是相当棘手的。有几种方法可以实现,但是最有效且直接的方法就是使用所谓的 Mantegna 算法来实现对称的 Lévy 稳定分布 [15]。

然而,生成正确服从 Lévy 分布的伪随机步长并不简单。 在 Mantegna 算法中,步长 s 可以通过以下变换使用两个服从高斯分布的变量 U 和 V 来计算: 

s=U|V|1/λ,(5)

其中 
UN(0,σ2),VN(0,1).

这里  U(0,σ2)  意味着样本服从均值为 0 方差为  σ2  的高斯正态分布。方差可以使用下式计算: 
σ2=[Γ(1+λ)λΓ((1+λ)/2)sin(πλ/2)2(λ1)/2]1/λ.(7)

该分布,对  |s||s0|m  服从预期 Lévy 分布,其中  s0  是最小步长。原则上, |s0|0 ,但实际上  s0  只要值合理就可取,如  s0=0.1  到 1。

这些公式看起来很复杂,但 Γ 函数对于给定的 λ 是常数。例如,当 λ=1 时,我们有 Γ(1+λ)=1Γ((1+λ)/2)=1 以及 

σ2=[11×1sin(π×1/2)20]1/1=1.(8)

Mantegna 算法在数学上已被证明能够产生符合服从要求的分布的随机样本 [15]。

参数选择

CS 中有多个参数。除了种群规模 n 之外,还有切换概率 pa,步长缩放因子 α 和 Lévy 指数 λ。然而,关键的参数是 pa 和 n,因为我们可以把 pa 和 λ 作为常数。通过改变它们的值,我们发现对于大多数问题,我们可以设 λ=1.5 和 α=0.01

对于关键参数,我们也尝试改变寄主巢的数量(或种群规模 n)和概率 pa。我们使用了 n=5,10,15,20,30,40,50,100,150,250,500 以及 pa=0,0.01,0.05,0.1,0.15,0.2,0.25,0.3,0.4,0.5。从我们的模拟中,我们发现 n=15 到 40 和 pa=0.25 对于大多数优化问题是足够的。结果和分析也表明收敛速度在一定程度上对所使用的参数不敏感。这意味着对于任何问题都不需要进行仔细地调整。

让我们看一个简单的例子。我们使用的许多测试函数之一有双变量 Michalewicz 函数 

f(x,y)=sin(x)sin2m(x2π)sin(y)sin2m(2y2π),

其中  m=10 (x,y)[0,5]×[0,5] 。该函数在 (2.20319, 1.57049)处有全局最小值  f1.8013 。使用 CS 可以很容易地找到这个全局最优值,结果如图 2 所示,其中巢的最终位置也在图中以   标出。这里我们使用了 n = 15 个巢, α=1  和  pa=0.25

CS.png

Figure 2 Search paths of nests using CS. The final locations of the nests are marked with in the figure.

从图中我们可以看到,随着最优值的接近,大多数巢朝着全局最优的方向汇聚。 我们还注意到,在多模态函数的情况下,巢也分布在不同的(局部)最优点。 这意味着,如果巢的数量远远大于局部最优的数量,那么 CS 可以同时找到所有的最优解。当我们处理多模态和多目标优化问题时,这个优势可能变得更加重要。

CS 变种

在过去的几年里,CS 的许多变种已经被开发出来。 尽管该算法只有短暂的历史,但由于其简单、高效和灵活,CS 引起了大量的关注。 结果就是,相关文献显著地增长。标准 CS 非常强大和高效,但它是为连续优化而开发的。一个有用的扩展是开发离散 CS,以使它可以有效地解决调度问题和组合优化。已经有很多 CS 的变种, 综述请参考 [34,12,35]。这里我们只概述几个变种:

  • 修改的布谷鸟搜索(Modified cuckoo search,MCS)。Walton 等人开发了修改的的布谷鸟搜索 [26]。已被用来优化网格生成和其他应用。

  • 改进的布谷鸟搜索(Improved cuckoo search,ICS)。在人工智能应用上, Valian 等人 [23] 提出了用改进的 CS 训练前馈神经网络 [23,24]。与此同时,Vazquez [25]也在使用 CS 来训练尖峰神经模型 [25]。

  • 量子布谷鸟搜索(Quantum cuckoo search,QCS)。Layeb [14] 通过给算法增加量子行为提出了一个 CS 的变体,称之为量子 CS。 QCS 已被应用于解决背包问题 [14]。

  • 离散布谷鸟搜索(Discrete cuckoo search,DCS)。对于调度和组合问题等离散应用,也有几个变种。Ouaarab 等人 [18] 开发了一个解决旅行商问题(TSPs)的离散 CS [18]。Chandrasekaran 和S imon [5] 提出了多目标 CS 方法来解决多目标调度问题 [5]。

  • 多目标布谷鸟搜索(Multi-objective cuckoo search,MOCS)。Yang 和 Deb [33] 提出了一个求解多目标工程优化问题的多目标 CS 方法 [33]。

  • 离散多目标布谷鸟搜索(Discrete multi-objective cuckoo search,DMOCS)。在多目标和调度问题的背景下,Chandrasekaran 和 Simon [5] 开发了 CS 的变体来解决离散多目标调度问题 [5]。

  • 混合布谷鸟搜索(Hybrid cuckoo search,HCS)。有些变体试图将 CS 与其他算法结合起来。例如,Wang 等人 [28] 将 CS 与 PSO 相结合,取得了很好的改进 [28]。Salimi 等人 [22] 结合了修改的 CS 与共轭梯度法 [22]。

还有很多其他的变种,Fister 等人提供了详细的综述 [12]。Yang 和 Deb 供了一个概念性的综述 [34]。最近编写的书有更多关于杜鹃搜索和萤火虫算法的文献 [35]。

为什么 CS 这么有效

除了前面的分析表明,DE、PSO 和 SA 是 CS 的特例,最近的理论研究也表明 CS 具有全局收敛性 [27],如下一小节所述。

PSO 的理论研究表明,它可以快速收敛到当前最优解,但不一定是全局最优解。事实上,一些分析表明,PSO 更新方程不满足全局收敛条件,因此不能保证全局收敛。另一方面,已经证明布谷鸟搜索能够满足全局收敛的要求,从而保证了全局收敛性 [27]。这意味着对于多模态优化,PSO 可能过早地收敛到局部最优,而 CS 通常可以收敛到全局最优。

此外,CS 具有两种搜索能力:局部搜索和全局搜索,由切换/发现概率控制。正如前面提到的那样,局部搜索是非常密集的,搜索时间约为 1/4(pa=0.25),而全局搜索约占总搜索时间的 3/4。这使得可以在全局范围内更高效地探索搜索空间,从而可以以更高的概率发现全局最优。

CS 的另一个优势是它的全局搜索使用 Lévy 飞行,而不是标准的随机行走。由于 Lévy 飞行具有无限的均值和方差,CS 可以比使用标准高斯过程的算法更有效地探索搜索空间。这一优势,加上局部搜索能力,保证全局收敛,使 CS 非常高效。事实上,各种研究和应用已经证明 CS 是非常有效的 [32,13,26,8]。

全局收敛:数学简析

Wang 等人为标准 CS 提供了全局收敛的数学证明,他们的方法基于马尔可夫链理论 [27]。他们的证明可以概括如下:

由于更新公式中有两个分支,局部搜索主要用于局部细化,而主要的探索是通过全局搜索来完成的。为了简化分析并强调全局搜索能力,我们使用简化版的 CS。也就是说,与发现/切换概率 pa 相比, 我们只使用随机数 r[0,1] 的全局分支。现在我们有, 

{x(t+1)ix(t)ix(t+1)ix(t)i+αL(λ)if r<pa,if r>pa.(10)

因为 CS 算法是一个随机搜索算法,我们可以总结为以下主要步骤:

  1. 初始种群由 n 个随机位置的巢构成,X={x01,x02,...,x0n} ,然后评估它们的目标函数值,以找到当前的全局最佳 g0t
  2. 由下式更新新解/位置 
    x(t+1)i=x(t)i+αL(λ).(11)
  3. 从均匀分布 [0,1] 中取随机数 r。如果 r>pa,则更新 x(t+1)i。然后评估新解,找到新的全局最佳 gt
  4. 如果满足停止要求,则 gt 是目前为止发现的最好的全局解。否则,返回步骤(2)。

算法的全局收敛性。如果 f 是可测的,且可行解空间 Ω 是 Rn 上的一个可测子集,算法 A 满足前两个条件,搜索序列 {xk}k=0,则 

limkP(xkRϵ,M)=1.(12)

也就是说,算法 A 可以以概率 1 全局收敛。这里 P(xkRϵ,M) 是第 k 次迭代时,在 Rϵ,M 上的第 k 个解的概率测度。

状态和状态空间。搜索历史中布谷鸟/巢的位置及其全局最优解 g 形成了布谷鸟的状态:y=(x,g) ,其中 x,gΩf(g)f(x)。所有可能状态的集合形成了状态空间,用下式表示 

Y={y=(x,g)|x,gΩ,f(g)f(x)}.(13)

布谷鸟群/种群的状态和空间。所有 n 个布谷鸟/巢的状态组成群的状态,由 q=(y1,y2,...,yn) 表示。所有布谷鸟的所有状态组成了群的状态空间,记为 

Q={q=(y1,y2,...,yn),yiY,1in}.(14)

显然,Q 包含整个种群的历史全局最优解 g 和历史上所有个体最优解 gi(1in)。此外,整个种群的全局最优解是所有 gi 中最好的,所以 f(g)=min(f(gi)),1in

CS 中从状态 y1 到 y2 的转移概率是 

P(Ty(y1)=y2)=P(x1x1)P(g1g1)P(x1x2)P(g1g2),(15)

其中  P(x1x1)  是 CS 中第 2 步的转移概率, P(g1g1)  是该步骤中历史全局最优的转移概率。 P(x1x2)  是第 3 步的转移概率,而  P(g1g2)  是历史全局最佳。

对于优化问题 <Ω,f> 的全局最优解 gb,最优状态集定义为 R={y=(x,g)|f(g)=f(gb),yY}

对于优化问题 <Ω,f> 的全局最优解 gb,最优群状态集可定义为 

H={q=(y1,y2,...,yn)|yiR,1in}.(16)

所有这些集合将保证收敛条件得到满足。进一步详细的数学分析证明,当迭代次数接近足够大时,群状态序列将收敛到最优状态/解集 H。因此,CS 能够保证全局收敛。

应用

CS 已经被应用于许多优化和计算智能领域。例如,在工程设计应用中,CS 在一系列连续优化问题(例如弹簧设计和焊接梁设计)上面比其他算法具有更好的性能 [32,13]。

另外,由 Walton 等人修改的 CS [26] 已被证明可以非常有效地解决非线性问题,如网格生成。 Yildiz [36] 利用 CS 在铣削加工中选择最优的机床参数,提高了结果,Zheng 和 Zhou [37] 提供了一个使用高斯过程的CS变体。

在数据融合和无线传感器网络中,CS 已被证明是非常有效的 [9,10]。此外,基于量子的 CS 能够有效地解决背包问题 [14]。从算法分析的角度来看,Civicioglu 和 Desdo [8] 提出的 CS 与粒子群优化(PSO),差分进化(DE)和人工蜂群(ABC)的概念比较表明,CS 与差分进化算法比 PSO 与 ABC 提供了更健壮的结果。Gandomi 等人 [13] 为解决各种结构优化问题,提供了更为广泛的比较研究,得出的结论是,CS 与其他算法如 PSO 和遗传算法(GA)相比能够获得更好的结果。在各种应用中有一些有趣的性能提升,如 Valian 等人使用 CS 来训练神经网络 [23],以及可靠性优化问题 [24]。

对于复杂的相平衡应用,Bhargava 等人 [1] 表明,CS 为解决热力学计算提供了一个可靠的方法。与此同时,Bulatovi’c 等人 [3] 利用 CS 解决了六杆双闭锁联锁问题,Moravej 和 Akhlaghi [16] 以良好收敛速度和性能解决了配电网络中的 DG 分配问题。

作为进一步的扩展,Yang 和 Deb [33] 针对设计工程应用提出了多目标布谷鸟搜索(MOCS)。对于多目标调度问题,Chandrasekaran 和 Simon [5] 使用 CS 算法取得了很大的进展,这证明了他们提出的方法的优越性。最近的研究表明,CS 在许多应用中可以比其他算法表现得更好 [13,17,37,36]。更详细的综述,请参阅 Yang [35] 和 Yang 等人 [31]。

参考文献

[1] Bhargava V, Fateen SEK, Bonilla-Petriciolet A. Cuckoo search: a new nature-inspired optimization method for phase equilibrium calculations. Fluid Phase Equilib 2013;337(1):191–200.[2] Barthelemy P, Bertolotti J, Wiersma DS. A Lévy flight for light. Nature 2008;453(6948):495–8.[3] Bulatovi´ c RR, Bordevi´ c SR, Dordevi´ c VS. Cuckoo search algorithm: a metaheuristic approach to solving the problem of optimum synthesis of a six-bar double dwell linkage. Mech Mach Theory 2013;61(1):1–3.[4] Brown C, Liebovitch LS, Glendon R. Lévy flights in Dobe Ju/’hoansi foraging patterns. Human Ecol 2007;35(2):129–38.[5] Chandrasekaran K, Simon SP. Multi-objective scheduling problem: hybrid appraoch using fuzzy assisted cuckoo search algorithm. Swarm Evol Comput 2012;5(1):1–6.[6] Chifu VR, Pop CB, Salomie I, Suia DS, Niculici AN. Optimizing the semantic web service composition process using cuckoo search. In: Brazier FMT, Nieuwenhuis K, Palvin G, Warnier M, Badica C, editors. Intelligent distributed computing V. Studies in computational intelligence, vol. 382. Berlin, Germany: Springer; 2012. p. 93–102.[7] Choudhary K, Purohit GN. A new testing approach using cuckoo search to achieve multiobjective genetic algorithm. J Comput 2011;3(4):117–9.[8] Civicioglu P, Besdok E. A conception comparison of the cuckoo search, particle swarm optimization, differential evolution and artificial bee colony algorithms. Artif Intell Rev 2013;39(3):315–46.[9] Dhivya M, Sundarambal M, Anand LN. Energy efficient computation of data fusion in wireless sensor networks using cuckoo-based particle approach (CBPA). Int J of Commun Netw Syst Sci 2011;4(4):249–55.[10] Dhivya M, Sundarambal M. Cuckoo search for data gathering in wireless sensor networks. Int J Mobile Commun 2011;9(6):642–56.[11] Durgun I, Yildiz AR. Structural design optimization of vehicle components using cuckoo search algorithm. Mater Test 2012;3(2):185–8.[12] Fister JrI, Yang XS, Fister I, Fister D. Cuckoo search: a brief literature review. In: Yang XS, editor. Cuckoo search and firefly algorithm: theory and applications. Heidelberg, Germany: Springer; 2013 [chapter 3].[13] Gandomi AH, Yang XS, Alavi AH. Cuckoo search algorithm: a meteheuristic approach to solve structural optimization problems. Eng Comput 2013;29(1):17–35.[14] Layeb A. A novel quantum-inspired cuckoo search for Knapsack problems. Int J Bioinspired Comput 2011;3(5):297–305.[15] Mantegna RN. Fast, accurate algorithm for numerical simulation of Lévy stable stochastic process. Phys Rev E 1994;49(5):4677–83.[16] Moravej Z, Akhlaghi A. A novel approach based on cuckoo search for DG allocation in distribution network. Electr Power Energy Syst 2013;44(1):672–9.[17] Noghrehabadi A, Ghalambaz M, Vosough A. A hybrid power series: cuckoo search optimization algorithm to electrostatic deflection of micro fixed-fixed actuators. Int J Multidisciplinary Sci Eng 2011;2(4):22–6.[18] Ouaarab A, Ahiod B, Yang XS. Discrete cuckoo search algorithm for the travelling salesman problem, Neural Computing and Applications; in press. http://dx.doi.org/10.1007/s00521-013-1402-2.[19] Payne RB, Sorenson MD, Klitz K. The cuckoos. Oxford, UK: Oxford University Press; 2005.[20] Pavlyukevich I. Lévy flights, non-local search and simulated annealing. J Comput Phys 2007;226(2):1830–44.[21] Reynolds AM, Frye MA. Free-flight odor tracking in Drosophila is consistent with an optimal intermittent scale-free search. PLoS One 2007;2(4):e354–63.[22] Salimi H, Giveki D, Soltanshahi MA, Hatami J. Extended mixture of MLP experts by hybrid of conjugate gradient method and modified cuckoo search. Int J Artif Intell Appl 2012;3(1):1–3.[23] Valian E, Mohanna S, Tavakoli S. Improved cuckoo search algorithm for feedforward neural network training. Int J Artif Intell Appl 2011;2(3):36–43.[24] Valian E, Tavakoli S, Mohanna S, Haghi A. Improved cuckoo search for reliability optimization problems. Comput Ind Eng 2013;64(1):459–68.[25] Vazquez RA. Training spiking neural models using cuckoo search algorithm. In: IEEE congress on evolutionary computation. New Orleans: IEEE publication; 2012.p. 679–86.[26] Walton S, Hassan O, Morgan K, Brown MR. Modified cuckoo search: a new gradient free optimization algorithm. Chaos Solitons Fractals 2011;44(9):710–8.[27] Wang F, He X-S, Wang Y, Yang SM. Markov model and convergence analysis based on cuckoo search algorithm. Comput Eng 2012;38(11):180–5.[28] Wang F, Lou L, He X, Wang Y. Hybrid optimization algorithm of PSO and cuckoo search. In: Proceedings of the second international conference on artificial intelligence, management science and electronic commerce(AIMSEC’11). Zhengzhou:IEEE publication; 2011. p. 1172–5.[29] Yang XS, Deb S, Fong S. Accelerated particle swarm optimization and support vector machine for business optimization and applications. In: Networked digital technologies 2011. Communications in computer and information science, vol. 136. Berlin, Germany: Springer; 2011. p. 53–66.[30] Yang XS, Deb S. Cuckoo search via Lévy flights. In: Proceeings of world congress on nature & biologically inspired computing (NaBIC 2009). USA: IEEE Publications; 2009. p. 210–4.[31] Yang XS, Cui ZH, Xiao RB, Gandomi AH, Karamanoglu M. Swarm intelligence and bio-inspired computation: theory and applications. Waltham, MA, USA: Elsevier; 2013.[32] Yang XS, Deb S. Engineering optimization by cuckoo search. Int J Math Model Numer Optimisation 2010;1(4):330–43.[33] Yang XS, Deb S. Multiobjective cuckoo search for design optimization. Comput Oper Res 2013;40(6):1616–24.[34] Yang XS, Deb S. Cuckoo search: recent advances and applications, Neural Computing and Applications; in press. 

http://chatgpt.dhexx.cn/article/dgA0jieX.shtml

相关文章

【LSTM回归预测】基于matlab布谷鸟算法优化LSTM回归预测【含Matlab源码 2037期】

⛄一、布谷鸟算法优化LSTM预测 1 布谷鸟搜索算法 布谷鸟算法是一种新型的群智能搜索算法&#xff0c;布谷鸟算法具有参数数目少、鲁棒性强、通用性好和全局寻优能力突出等多方面综合优势。布谷鸟算法以寻得全局最优鸟窝为目标&#xff0c;采用如式(3)所示的方法进行鸟窝位置更…

智能优化算法:布谷鸟搜索算法-附代码

智能优化算法&#xff1a;布谷鸟搜索算法-附代码 文章目录 智能优化算法&#xff1a;布谷鸟搜索算法-附代码1.算法原理2.算法结果3.参考文献4.Matlab代码 摘要&#xff1a;谷鸟搜索算法(cuckoo search ,cs)&#xff0c;是由剑桥大学Yang等提出的一种群智能优化算法&#xff0c;…

python---布谷鸟搜索算法

布谷鸟搜索算法&#xff08;Cuckoo Search&#xff0c;CS&#xff09; 布谷鸟算法的启发当然来自于布谷鸟&#xff0c;因为布谷鸟这种鸟很有意思&#xff0c;生出来的孩子自己不养&#xff0c;直接被扔到其他鸟的鸟巢中去了&#xff0c;但有时候&#xff0c;这些布谷鸟蛋会被被…

通俗易懂的布谷鸟算法与莱维飞行,(附求解函数最小值matlab源码)

1 从布谷鸟的育雏到布谷鸟算法2 布谷鸟算法3 萊维飞行与公式(1)的深层含义4 附&#xff1a;CS算法求解函数最小值代码5 源码下载6 参考文献 1 从布谷鸟的育雏到布谷鸟算法 布谷鸟不会做窝&#xff0c;也不会育雏&#xff0c;在春末夏初&#xff0c;向北飞&#xff0c;趁别的鸟(…

布谷鸟算法(C++实现)

算法思想 布谷鸟鸟群最终只有最健康的蛋才能孵化出来。 布谷鸟群每只鸟都在拼命寻找好巢穴以达到下最健康的蛋的母的。 算法步骤 步骤一 初始化 初始化布谷鸟种群数量&#xff08;鸟窝个数&#xff09;&#xff0c;计算各个鸟窝&#xff08;解&#xff09;的函数适应值&…

Python优化算法07——布谷鸟搜索算法

和前面的系列不同&#xff0c;布谷鸟这里没有现成的Python的包&#xff0c;使用我们需要自己写各种源码模块进行组合&#xff0c;达到布谷鸟搜索算法&#xff08;CS&#xff09;的功能。 这里的CS算法是面向过程的编程&#xff0c;都是自定义函数&#xff0c;不涉及类与对象。…

一个例子入坑布谷鸟算法(附完整py代码)

布谷鸟是比较新的启发式最优化算法,但其与传统的遗传算法,退火算法等相比,被证明收敛速度更快,计算效率更高! 文章目录 本文诞生的缘由布谷鸟算法思想简介更新位置的方式莱维飞行局部随机行走 抛出个栗子一些参数的建议完整的python实现运行结果参考文献 本文诞生的缘由 由于布…

基于布谷鸟搜索算法的函数寻优算法

文章目录 一、理论基础1、算法原理2、算法流程图 二、Matlab代码三、参考文献 一、理论基础 1、算法原理 布谷鸟采用一种特殊的寄生宿主巢穴的方式孕育繁殖,它将孵育的蛋置入寄生宿主的巢穴&#xff0c;让寄生宿主孵化布谷鸟蛋。由于布谷鸟幼雏能发出比寄生宿主幼雏更闪亮的叫…

布谷鸟算法(Cuckoo Search,CS)MATLAB案例详细解析

目录 一、布谷鸟算法理论二、CS算法应用于函数优化1.流程图3.代码解析3.1 主函数 Csmain.m3.2 Levy飞行 func_levy.m3.3 与上一代比较&#xff0c;返回较优的鸟巢 func_bestNestPop.m3.4 根据发现概率&#xff0c;舍弃一个鸟巢并建立一个新鸟巢 func_newBuildNest.m3.5 目标函数…

智能优化算法——布谷鸟搜索算法原理(附代码)

目录 基本概念 算法具体流程 算法流程图 测试函数 优化结果 visual studio2017C代码 基本概念 布谷鸟搜索算法&#xff08;Cuckoo Search&#xff0c;缩写 CS&#xff09;是由剑桥大学杨新社教授和S.戴布于2009年提出的一种新兴启发算法。根据昆虫学家的长期观察研究发现&#…

布谷鸟算法

布谷鸟算法是将布谷鸟育雏行为与Levy飞行算法相结合的一种算法。 在布谷鸟算法中&#xff0c;有两个算法或者说两个位置更新是关键&#xff1a; 第一个是布谷鸟寻找最优解时的算法&#xff1a; 一个是布谷鸟寻找鸟窝下蛋的寻找路径是采用早已就有的萊维飞行3&#xff0c;如上…

布谷鸟算法浅谈与简单应用

简介 布谷鸟算法是由剑桥大学Xin-She Yang教授和S.Deb于2009年提出的一种新兴的启发算法&#xff0c;是一种通过模拟自然界当中布谷鸟&#xff08;也就是杜鹃&#xff0c;故该算法也称为杜鹃算法&#xff09;在繁育后代的行为而提出的一种搜索算法。 本文章将以在工程实践当中…

布谷鸟搜索算法学习

0、引言 布谷鸟搜索算法&#xff08;Cuckoo Search, CS&#xff09;是2009年Xin-She Yang 与Suash Deb在《Cuckoo Search via Levy Flights》一文中提出的一种优化算法。布谷鸟算法是一种集合了布谷鸟巢寄生性和莱维飞行&#xff08;Levy Flights&#xff09;模式的群体智能搜索…

布谷鸟搜索算法

布谷鸟搜索&#xff08;Cuckoo Search&#xff0c;缩写 CS&#xff09;&#xff0c;也叫杜鹃搜索&#xff0c;是由剑桥大学杨新社&#xff08;音译自&#xff1a;Xin-She Yang&#xff09;教授和S.戴布&#xff08;S.Deb&#xff09;于2009年提出的一种新兴启发算法。 1.定义 …

优化算法|布谷鸟算法原理及实现

布谷鸟算法 一、布谷鸟算法背景知识二、布谷鸟算法思想简介三、布谷鸟算法流程四、布谷鸟算法的Python实现五、布谷鸟算法matlab实现 一、布谷鸟算法背景知识 2009年&#xff0c;Xin-She Yang 与Suash Deb在《Cuckoo Search via Levy Flights》一文中提出了布谷鸟算法(简称CS)…

CS_2022_01

2022-1-3 08:33:52 用OBS录完之后的视频是mkv格式的&#xff0c;PR不支持mkv格式的视频&#xff0c;于是需要转码&#xff0c;一开始用FFmpeg&#xff0c;有点不方便&#xff0c;但是也能用。后来一看OBS原本自带转码工具。 发现过程&#xff1a; 打开OBS&#xff0c;点击左下角…

CSP-S 2020

[CSP-S2020] 动物园 题目描述 动物园里饲养了很多动物&#xff0c;饲养员小 A 会根据饲养动物的情况&#xff0c;按照《饲养指南》购买不同种类的饲料&#xff0c;并将购买清单发给采购员小 B。 具体而言&#xff0c;动物世界里存在 2 k 2^k 2k 种不同的动物&#xff0c;它…

cs231n(1)

图像分类 目标&#xff1a;已有固定的分类标签集合&#xff0c;然后对于输入的图像&#xff0c;从分类标签集合中找出一个分类标签&#xff0c;最后把分类标签分配给该输入图像。 图像分类流程 输入&#xff1a;输入是包含N个图像的集合&#xff0c;每个图像的标签是K种分类标…

CS61A 02

Control Expressions evaluate to values Statements perform actions print(print(1), print(2))1 2 None None Boolean Expressions T and F False values: False, None, 0, ‘’ True values: everything else Operators and, or, not True and 5 2 and 88 False …

CS224N 2019 Assignment 2

Written: Understanding word2vec Let’s have a quick refresher on the word2vec algorithm. The key insight behind word2vec is that ‘a word is known by the company it keeps’. Concretely, suppose we have a ‘center’ word c c c and a contextual window surr…