【智能算法】乌鸦搜索算法(CSA)原理及实现

在这里插入图片描述


1.背景

2016年,Askarzadeh等人受到乌鸦觅食自然行为启发,提出了乌鸦搜索算法(Crow Search Algorithm, CSA)。

2.算法原理

2.1算法思想

CSA模拟了乌鸦进行觅食和藏匿食物的两种行为,CSA具有控制参数较少、 结构简单、 易于掌握且全局搜索能力强等优点。

2.2算法过程

在这里插入图片描述

在每次迭代中,每只乌鸦都会保存自己隐藏食物的位置,用m表示,这个位置代表了乌鸦当前所认为的最佳位置。当算法进行迭代时,乌鸦会在搜索空间中通过跟踪其他乌鸦来获得更好的位置。具体地,在第gen次迭代时,当乌鸦j准备去查看自己的食物时,乌鸦i决定跟踪乌鸦j以获取其隐藏食物的位置。此时,会有两种情况发生:

  • 乌鸦 j 没有发现乌鸦 i 在跟踪它。那么, 乌鸦 i 就会一直跟随乌鸦 j 直到到达它隐藏食物的位置
  • 乌鸦 j 发现了乌鸦 i 在跟踪它。此时, 乌鸦 j 会随机飞到一个位置, 以保护自己的食物

x i g e n + 1 = { x i g e n + r i × F L i g e n ( m j g e n − x i g e n ) , if a j ⩾ A P j g e n a random position , otherwise (1) x_i^{gen+1}=\begin{cases}x_i^{gen}+r_i\times FL_i^{gen}(m_j^{gen}-x_i^{gen}),&\text{if}a_j\geqslant AP_j^{gen}\\\text{a random position},&\text{otherwise}\end{cases}\tag{1} xigen+1={xigen+ri×FLigen(mjgenxigen),a random position,ifajAPjgenotherwise(1)
CSA首先随机生成每只乌鸦的初始位置,并将这些位置设定为它们的初始记忆。在每次迭代中,每只乌鸦会随机选择一只乌鸦进行跟踪,来更新乌鸦的位置并利用适应度函数fit来评估乌鸦的新位置。如果新位置更加优秀,则将乌鸦隐藏食物的位置改变为新位置,即更新乌鸦的记忆。
m i g e n + 1 = { x i g e n + 1 , if f i t ( x i g e n ) is better than  f i t ( m i g e n ) m i g e n , otherwise (2) m_i^{gen+1}=\begin{cases}x_i^{gen+1},&\text{if}fit(x_i^{gen})\text{is better than }fit(m_i^{gen})\\m_i^{gen},&\text{otherwise}\end{cases}\tag{2} migen+1={xigen+1,migen,iffit(xigen)is better than fit(migen)otherwise(2)
伪代码
在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Askarzadeh A. A novel metaheuristic method for solving constrained engineering optimization problems: crow search algorithm[J]. Computers & structures, 2016, 169: 1-12.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值