目录
一、SOA理论基础
二、ACO数学模型
2.1 迁徙
2.2 攻击
三、SOA伪代码
四、SOA运行结果
海鸥优化算法(Seagull Optimization Algorithm, SOA)是在2019年由 Dhiman 提出的一种受自然界海鸥启发的新颖全局优化算法,模拟了海鸥群体的迁徙和攻击行为。
一、SOA理论基础
海鸥以群居式生活,利用智慧来寻找和攻击猎物。海鸥最重要特征是迁徙和攻击行为,迁徙是动物从一个地方到另一个地方根据季节更替而移动,寻找最丰富的食物来源以便获取足够能量。在迁徙过程中,它们成群结队地飞行,且每只海鸥的所在位置均不同,以避免相互碰撞。在一个群体中,海鸥可以朝着最佳位置的方向前进,改变自身所在的位置。有时海鸥会攻击候鸟,在进攻时海鸥群体做出螺旋形的运动形态,如图1所示:
二、ACO数学模型
2.1 迁徙
在迁移过程中,模拟海鸥群如何从一个位置移动到另一个位置。在这个阶段,海鸥应该满足三个条件:
2.2 攻击
海鸥在迁徙过程中可以不断改变攻击角度和速度;当攻击猎物时,它们就在空中进行螺旋形状运动,如图5所示:
三、SOA伪代码
海鸥种群初始化,参数A、B和最大迭代次数max_{tier};
计算适应值,取最小适应度值MINf;
设置相应参数:f_c = 2,u = 1,v = 1;
for i = 1 :max_{tier} rd 取随机值 ( 0 , 1 );theta 取随机值 (0 ,2π);海鸥迁徙更新海鸥位置公式(1)、(2)、(3) 、(4)、(5);海鸥攻击候鸟,更新海鸥位置公式(6)、(7)、(8) 、(9) ;计算适应度值,排序minf; if minf<MINfMINf = minf;MINx = minx; % 海鸥最佳位置end
end
输出最佳海鸥位置和适应值;
结束程序
四、SOA运行结果
F1:
The best optimal value of the objective funciton found by SOA is : 3.0641e-29
F6:
The best optimal value of the objective funciton found by SOA is : 3.1196
F8:
The best optimal value of the objective funciton found by SOA is : -5490.8483