目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
1.背景
2021年,W Zhiheng等人受到火烈鸟迁徙觅食行为启发,提出了火烈鸟搜索算法(Flamingo Search Algorithm, FSA)。
2.算法原理
2.1算法思想
FSA受到火烈鸟的觅食和迁徙行为的启发,火烈鸟通过互相鸣叫传递关于食物供应的信息并更新其位置,FSA在未知的搜索空间中通过模拟火烈鸟之间的交互,不断更新位置以探索并寻找全局最优解。FSA主要包含两个阶段:喙的扫描和脚的移动。
2.2算法过程
交际行为允许火烈鸟通过呼叫传递关于食物丰富位置的信息,从而引导群体更新位置,即使个体不完全知晓全局最优位置。喙扫描行为则模拟火烈鸟在富含食物的区域进行更密集的搜索,通过嘴部和脚部动作调整扫描范围和频率。这两种行为结合,使得FSA能在不确定和动态的环境中有效寻找最优解,平衡全局探索与局部利用。
火烈鸟觅食的移动步长为火烈鸟喙的扫描范围加上脚的移动距离:
b i j t = ε 1 × x b j t + G 2 × ∣ G 1 × x b j t + ε 2 × x i j t ∣ (1) b_{ij}^t=\varepsilon_1\times xb_j^t+G_2\times\left|G_1\times xb_j^t+\varepsilon_2\times x_{ij}^t\right|\tag{1} bijt=ε1×xbjt+G2× G1×xbjt+ε2×xijt (1)
更新火烈鸟觅食行为位置:
x i j t + 1 = ( x i j t + ε 1 × x b j t + G 2 × ∣ G 1 × x b j t + ε 2 × x i j t ∣ ) / K (2) x_{ij}^{t+1}=(x_{ij}^{t}+\varepsilon_{1}\times xb_{j}^{t}+G_{2}\times\left|G_{1}\times xb_{j}^{t}+\varepsilon_{2}\times x_{ij}^{t}\right|)/K\tag{2} xijt+1=(xijt+ε1×xbjt+G2× G1×xbjt+ε2×xijt )/K(2)
当前觅食区域食物匮乏时,火烈鸟种群会迁移到下一个食物更丰富的区域:
x i j t + 1 = x i j t + ω × ( x b j t − x i j t ) (3) x_{ij}^{t+1}=x_{ij}^{t}+\omega\times(xb_{j}^{t}-x_{ij}^{t})\tag{3} xijt+1=xijt+ω×(xbjt−xijt)(3)
其中,xbj表示第t次迭代种群中适应度最好的火烈鸟的第j维位置,ω = N(0, N)是一个N个自由度的高斯随机数,用于增加火烈鸟迁徙过程中的搜索空间,模拟特定迁徙过程中火烈鸟个体行为的随机性。
伪代码
3.结果展示
4.参考文献
[1] Zhiheng W, Jianhua L. Flamingo search algorithm: a new swarm intelligence optimization algorithm[J]. IEEE Access, 2021, 9: 88564-88582.