蟑螂算法
第十二章蟑螂算法
12.1介绍
蟑螂群优化算法(CockroachSwarmOptimization,CSO)是受蟑螂群体捕食行为的启
发而提出的,该算法是通过模仿蟑螂个体寻找整体最优值的追逐行为而建立的。蟑螂是
一种昆虫,通常出现在黑暗和潮湿的地方。它们表现出追逐、聚集和分散等觅食行为
(Kwiecien&Pasieka,2017)。
CSO算法是通过模仿蟑螂的生物学行为来实现的:聚集、分散和残忍行为,下面分
别对各个过程进行建模。
12.2聚集行为(Cha-Swarmingbehavior)
*rand*,
*rand*,
rrrrr
r
rgrrr
yayy
y
yayy
(1)
其中y
r
为蟑螂的位置,a代表步长,为固定值,rand为(0,1)之间的任意值,ρ
r
和ρ
g
分别是个体最优和全局最优蟑螂的位置点,个体最优可以通过下式进行计算:
,visual
rssrs
optyyy
(2)
其中visual为常数,表示蟑螂的视野范围,r=1,2,3,...N,s=1,2,3,...N。全局最优位置
可以通过下式确定:
opt
grr
y(3)
12.3分散行为(Dispersingbehavior)
在一定的时间间隔内,每个个体被随机分散,以保持当前个体的多样性,模型如下:
rand(1,),1,2,,
rr
yyErN
(4)
蟑螂算法
其中rand(1,E)为可以在一定范围内设置的E维(问题空间维度)随机向量。
12.4残忍行为(Ruthlessbehavior)
在一定的时间间隔内,当前的最佳个体取代随机选择的个体,即弱肉强食。模型如
下:
lg
y(5)
l为[1,N]之间的任意整数。
12.5蟑螂算法
Step1:参数设置和种群初始化。设置参数a,N,E,生成蟑螂种群y
r
(r=1,2,...N);
Step2:使用式(2)和(3)搜索局部和全局最优位置ρ
r
和ρ
g
;
Step3:根据式(1)执行聚集行为,更新全局最优ρ
g
;
Step4:根据式(4)执行分散行为,如果新的位置由于原有的位置,则使用新的位
置,否则保留原有位置,同时更新全局最优ρ
g
;
Step5:根据式(5)执行残忍行为;
Step6:重复Step2~5,直到满足终止条件。
本文发布于:2022-11-25 02:33:48,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/15794.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |