群体智能优化算法-蟑螂算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十二章 蟑螂算法

12.1 介绍

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

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

12.2 聚集行为(Chase-Swarming behavior )

()()*rand*,*rand*,r r r r r r r g r r r y a y y y y a y y ρρρρ+-≠⎧⎪=⎨+-=⎪⎩

(1)

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

其中visual 为常数,表示蟑螂的视野范围,r=1,2,3,...N ,s=1,2,3,...N 。全局最优位置可以通过下式确定:

{}opt g r r y ρ= (3) 12.3 分散行为(Dispersing behavior )

在一定的时间间隔内,每个个体被随机分散,以保持当前个体的多样性,模型如下: rand(1,),1,2,,r r y y E r N =+=⋯ (4)

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

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

l g 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,直到满足终止条件。

相关文档
最新文档