【智能算法】火鹰优化算法(FHO)原理及实现

目录


1.背景

2023年,M Azizi等人受到自然界火鹰狩猎行为启发,提出了火鹰优化算法(Fire Hawk Optimizer, FHO)。

2.算法原理

2.1算法思想

FHO使用特殊的控制和捕获猎物机制 ,它们会捡起燃烧的树枝,将其投掷到其他未燃烧的区域,以点燃小火。这些小火会吓跑猎物,迫使它们匆忙逃离,从而让火鹰更容易捕捉到它们。

2.2算法过程

计算火鹰和猎物之间距离

确定了每只火鹰最近的猎物,从而区分了这些火鹰的有效领土:
D k 1 = ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 , { l = 1 , 2 , ... , n . k = 1 , 2 , ... , m . (1) \mathrm D_{\mathrm k}^1=\sqrt{\left(\mathrm x_2-\mathrm x_1\right)^2+\left(\mathrm y_2-\mathrm y_1\right)^2},\left\{\begin{array}{l}l=1,2,\dots,n.\\k=1,2,\dots,m.\end{array}\right.\tag{1} Dk1=(x2−x1)2+(y2−y1)2 ,{l=1,2,...,n.k=1,2,...,m.(1)

适应度较好的火鹰在其特定领地的搜索空间中选择离其最近的最佳猎物,其他火鹰在搜索空间中完成最近的猎物,这说明适应度较好火鹰能完成比较适应度差火鹰更成功的狩猎。

收集燃烧的树枝

火鹰从火场收集燃烧的树枝,以便在选定的区域放火迫使猎物匆忙逃跑。同时,一些火鹰渴望使用其他火鹰领地的燃烧树枝:
F H 1 n e w = F H 1 + ( r 1 × G B − r 2 × F H N e a r ) , l = 1 , 2 , ... , n (2) \mathrm{FH}_1^{\mathrm{new}}=\mathrm{FH}_1+\begin{pmatrix}\mathrm{r}_1\times\mathrm{GB}-\mathrm{r}2\times\mathrm{FH}{\mathrm{Near}}\end{pmatrix}, l=1,2,\ldots,n\tag{2} FH1new=FH1+(r1×GB−r2×FHNear),l=1,2,...,n(2)

其中,GB是最优火鹰位置,FHNear是搜索空间中其他火鹰位置。

位置更新

当火鹰扔下一根燃烧的树枝时,猎物会采取策略(躲避,逃跑或者错误地向火鹰跑去),此时火鹰位置更新为:
P R q n e w = P R q + ( r 3 × F H l − r 4 × S P l ) , { l = 1 , 2 , ... , n . q = 1 , 2 , ... , r . (3) \mathrm P\mathrm R_\mathrm q^{\mathrm new}=\mathrm P\mathrm R_\mathrm q+\bigl(\mathrm r_3\times\mathrm F\mathrm H_\mathrm l-\mathrm r_4\times\mathrm S\mathrm P_\mathrm l\bigr),\left\{\begin{array}{c}l=1,2,\dots,n.\\q=1,2,\dots,r.\end{array}\right.\tag{3} PRqnew=PRq+(r3×FHl−r4×SPl),{l=1,2,...,n.q=1,2,...,r.(3)

猎物可能会向其他火鹰的领地移动,而猎物可能会在附近的伏击中靠近火鹰:
P R q n e w = P R q + ( r 5 × F H A l t e r − r 6 × S P ) , { l = 1 , 2 , ... , n . q = 1 , 2 , ... , r . (4) \mathrm P\mathrm R_\mathrm q^{\mathrm new}=\mathrm P\mathrm R_\mathrm q+\bigl(\mathrm r_5\times\mathrm F\mathrm H_{\mathrm Alter}-\mathrm r_6\times\mathrm S\mathrm P\bigr),\left\{\begin{array}{c}l=1,2,\dots,n.\\q=1,2,\dots,r.\end{array}\right.\tag{4} PRqnew=PRq+(r5×FHAlter−r6×SP),{l=1,2,...,n.q=1,2,...,r.(4)

基于自然界中的安全场所是大多数动物为了在灾害发生时保持安全而聚集的地方,参数SP,SP1表述为:
S P 1 = ∑ q = 1 r P R q r , { q = 1 , 2 , ... , r . l = 1 , 2 , ... , n . (5) \mathrm{SP}{1}=\frac{\sum{\mathrm{q=1}}^{\mathrm{r}}\mathrm{PR}{\mathrm{q}}}{\mathrm{r}},\left\{\begin{array}{l}q=1,2,\dots,r.\\l=1,2,\dots,n.\end{array}\right.\tag{5} SP1=r∑q=1rPRq,{q=1,2,...,r.l=1,2,...,n.(5)
S P = ∑ k = 1 m P R k m , k = 1 , 2 , ... , m . (6) \mathrm{SP=\frac{\sum
{k=1}^mPR_k}{m},k=1,2,\ldots,m.}\tag{6} SP=m∑k=1mPRk,k=1,2,...,m.(6)

伪代码

流程图

3.结果展示

4.参考文献

1 Azizi M, Talatahari S, Gandomi A H. Fire Hawk Optimizer: A novel metaheuristic algorithmJ. Artificial Intelligence Review, 2023, 56(1): 287-363.

相关推荐
HPtiger4 小时前
数据结构——选择排序
数据结构·算法·排序算法
康实训5 小时前
老年评估仿真实训平台架构设计与老年人能力评估实训室教学落地实践
大数据·人工智能·算法·实训室·实训室建设
DongQiShanRen5 小时前
六根硬件映射(四):归属澄清、两处不一致与卷十一总表
开发语言·人工智能·算法·rust·哈希算法·集成学习
CCblandy5 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
丑梨数据5 小时前
信创环境里跑文档工具:格式兼容与本地合规的几个坑
数据结构·人工智能·算法·决策树·排序算法
erzong2317 小时前
Linux操作系统:线程概念与控制
linux·算法
Nil2088 小时前
leetcode 5最长回文子串
算法·leetcode·职场和发展
xxwl5858 小时前
区域赛分类题解
c++·笔记·学习·算法
m0_674571978 小时前
力扣 hot 100 python
python·算法·leetcode
青少儿编程课堂8 小时前
蓝桥杯+全国青少年信息素养大赛+电子学会PythonC/C++考级:最长公共子序列LCS解析
c++·python·算法·bfs·信息学竞赛