群体智能优化算法之蟑螂算法((Cockroach Swarm Optimization,CSO)

在这里插入图片描述

获取更多资讯,赶快关注上面的公众号吧!

第十二章 蟑螂算法

12.1 介绍

蟑螂群优化算法(Cockroach Swarm Optimization,CSO)是受蟑螂群体捕食行为的启发而提出的,该算法是通过模仿蟑螂个体寻找整体最优值的追逐行为而建立的。蟑螂是一种昆虫,通常出现在黑暗和潮湿的地方。它们表现出追逐、聚集和分散等觅食行为(Kwiecien & Pasieka, 2017)。

CSO算法是通过模仿蟑螂的生物学行为来实现的:聚集、分散和残忍行为,下面分别对各个过程进行建模。

12.2 聚集行为(Chase-Swarming behavior)

y r = { y r + a ∗  rand  ∗ ( ρ r − y r ) , y r ≠ ρ r y r + a ∗  rand  ∗ ( ρ g − y r ) , y r = ρ r (1) y_{r}=\left\{\begin{array}{l}{y_{r}+a^{*} \text { rand }^{*}\left(\rho_{r}-y_{r}\right), y_{r} \neq \rho_{r}} \\ {y_{r}+a^{*} \text { rand }^{*}\left(\rho_{g}-y_{r}\right), y_{r}=\rho_{r}}\end{array}\right.\tag 1 yr={yr+a rand (ρryr),yr=ρryr+a rand (ρgyr),yr=ρr(1)

其中yr为蟑螂的位置,a代表步长,为固定值,rand为(0,1)之间的任意值,ρr和ρg分别是个体最优和全局最优蟑螂的位置点,个体最优可以通过下式进行计算:

ρ r = o p t s { y s , ∣ y r − y s ∣ ≤ v i s u a l } (2) {\rho _r} = op{t_s}\left\{ {{y_s},\left| {{y_r} - {y_s}} \right| \le visual} \right\}\tag 2 ρr=opts{ys,yrysvisual}(2)

其中visual为常数,表示蟑螂的视野范围,r=1,2,3,…N,s=1,2,3,…N。全局最优位置可以通过下式确定:
ρ g = o p t r { y r } (3) {\rho _g} = {{\mathop{\rm opt}\nolimits} _r}\left\{ {{y_r}} \right\}\tag 3 ρg=optr{yr}(3)

12.3 分散行为(Dispersing behavior)

在一定的时间间隔内,每个个体被随机分散,以保持当前个体的多样性,模型如下:
y r = y r + r a n d ( 1 , E ) , r = 1 , 2 , … , N (4) {y_r} = {y_r} + {\mathop{\rm rand}\nolimits} (1,E),r = 1,2, \ldots ,N\tag 4 yr=yr+rand(1,E),r=1,2,,N(4)

其中rand(1,E)为可以在一定范围内设置的E维(问题空间维度)随机向量。

12.4 残忍行为(Ruthless behavior)

在一定的时间间隔内,当前的最佳个体取代随机选择的个体,即弱肉强食。模型如下:

y l = ρ g {y_l} = {\rho _g} yl=ρg

l为[1,N]之间的任意整数。

12.5 蟑螂算法

Step1:参数设置和种群初始化。设置参数a,N,E,生成蟑螂种群yr(r=1,2,...N);
Step2:使用式(2)和(3)搜索局部和全局最优位置ρr和ρg;
Step3:根据式(1)执行聚集行为,更新全局最优ρg;
Step4:根据式(4)执行分散行为,如果新的位置由于原有的位置,则使用新的位置,否则保留原有位置,同时更新全局最优ρg;
Step5:根据式(5)执行残忍行为;
Step6:重复Step2~5,直到满足终止条件。
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

松间沙路hba

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值