2.11 海鸥寻优算法(Seagull Optimization Algorithm,SOA)
海鸥寻优算法是 Gaurav Dhiman 等[43]于 2019 年提出的群智能算法,对海鸥的迁徙
与攻击进行了模拟。如图 9,在迁徙过程中,海鸥需要避免碰撞以及靠近最佳位置,属于
全局搜索;在攻击过程中,海鸥通过螺旋形状运动捕猎候鸟,属于局部搜索。
图 9 海鸥迁徙和攻击的示意图
对于第 次迭代,在迁徙(全局搜索)中,采用附加变量 A 表示海
鸥 在 避 免 碰 撞 的 前 提 下 移 动 位 置 的 行 为 。 设 当 前 位 置 为 , 则 新 位 置 为
,其中 , 。
然后,获取向最佳位置移动的方向为 ,其中 是具
有最佳适应度的海鸥即最佳位置, 负责平衡全局和局部搜索, 是随机数。
最后,到达新位置 。
在攻击(局部搜索)中,海鸥采用螺旋形状运动,其描述为:
其中, 是螺旋半径, 是随机角度值且范围为 , 和 是螺旋形状的相关常
数, 是自然对数的底数。那么,海鸥的攻击位置为
海鸥寻优算法的伪代码如下:
设 , , ,种群规模为 ,最优适应度为 g,随机角度值 取值,并进行
初始化
for t=1:max
评论0
最新资源