智能优化算法:哈里斯鹰算法-附代码

2019智能优化算法:哈里斯鹰算法-附代码


摘要:2019 年 Heidari 等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO),该算法有较强的全局搜索能力,并且需要调节的参数较少的优点。

1.算法原理

哈里斯鹰优化算法是一种模拟哈里斯鹰捕食行为的智能优化算法,主要由 3 部分组成:搜索阶段、搜索与开发的转换和开发阶段。

1.1 搜索阶段

哈里斯鹰随机栖息在某个地方,通过 2 种策略找到猎物:
X ( t + 1 ) = { X r a n d ( t ) − r 1 ∣ X r a n d ( t ) − 2 r 2 X ( t ) ∣ , q ≥ 0.5 [ X r a b b i t ( t ) − X m ( t ) ] − r 3 [ l b + r 4 ( u b − l b ) ] , q < 0.5 (1) X(t+1)=\begin{cases}X_{rand}(t)-r_1|X_{rand}(t)-2r_2X(t)|,q\geq 0.5 \\ [X_{rabbit(t)}-X_m(t)]-r_3[lb+r_4(ub-lb)],q<0.5 \end{cases}\tag{1} X(t+1)={Xrand(t)r1Xrand(t)2r2X(t),q0.5[Xrabbit(t)Xm(t)]r3[lb+r4(ublb)],q<0.5(1)
其中, X ( t ) , X ( t + 1 ) X(t),X(t+1) X(t),X(t+1)分别为当前和下一次迭代式时个体的位置, t t t为迭代次数, X r a n d ( t ) X_{rand}(t) Xrand(t)为随机选出的个体位置, X r a b b i t ( t ) X_{rabbit}(t) Xrabbit(t)为猎物位置,即拥有最优适应度的个体位置, r 1 , r 2 , r 3 , r 4 , q r_1,r_2,r_3,r_4,q r1,r2,r3,r4,q都是[0,1]之间的随机数。 q q q用来随机选择要采用的策略, X m ( t ) X_m(t) Xm(t) 为个体平均位置,表达式为:
X m ( t ) = ∑ k = 1 M X k ( t ) / M (2) X_m(t)=\sum_{k=1}^MX_k(t)/M \tag{2} Xm(t)=k=1MXk(t)/M(2)
其中, X k ( t ) X_k(t) Xk(t) 为种群中第 k k k个个体的位置, M M M为种群规模。

1.2 搜索与开发的转换

HHO 算法根据猎物的逃逸能量在搜索和不同的开发行为之间转换,逃逸能量定义为:
E = 2 E 0 ( 1 − t T ) (3) E =2E_0(1-\frac{t}{T})\tag{3} E=2E0(1Tt)(3)
其中, E 0 E_0 E0是猎物的初始能量,为 [-1,1] 之间的随机数,每次迭代时自动更新,t为迭代次数,T 为最大迭代次数。当 ∣ E ∣ ≥ 1 |E|\geq1 E1 时进入搜索阶段, ∣ E ∣ < 1 |E|<1 E<1当时进入开发阶段。

1.3 开发阶段

定义r为[0,1] 之间的随机数,用于选择不同的开发策略。当 0.5 ≤ ∣ E ∣ < 1 0.5\leq|E|<1 0.5E<1 r ≥ 0.5 r\geq0.5 r0.5时,采取软围攻策略进行位置更新:
X ( t + 1 ) = Δ X ( t ) − E ∣ J X r a b b i t ( t ) − X ( t ) ∣ (4) X(t+1)=\Delta X(t)-E|JX_{rabbit}(t)-X(t)|\tag{4} X(t+1)=ΔX(t)EJXrabbit(t)X(t)(4)
其中, Δ X ( t ) = X r a b b i t ( t ) − X ( t ) \Delta X(t) = X_{rabbit}(t)-X(t) ΔX(t)=Xrabbit(t)X(t) 表示猎物位置与个体当前位置的差值, J J J为 [0, 2] 之间的随机数。

∣ E ∣ < 0.5 |E|<0.5 E<0.5 r ≥ 0.5 r\geq0.5 r0.5时采取硬围攻策略进行位置更新:
X ( t + 1 ) = X r a b b i t ( t ) − E ∣ Δ X ( t ) ∣ (5) X(t+1)=X_{rabbit}(t)-E|\Delta X(t)| \tag{5} X(t+1)=Xrabbit(t)E∣ΔX(t)(5)
0.5 ≤ ∣ E ∣ < 1 0.5\leq|E|<1 0.5E<1 r < 0.5 r<0.5 r<0.5时,采取渐近式快速俯冲的软包围策略进行位置更新:
X ( t + 1 ) = { Y , f ( Y ) < f ( X ( t ) ) Z , f ( Z ) < f ( X ( t ) ) (6) X(t+1) = \begin{cases} Y,f(Y)<f(X(t))\\ Z,f(Z)<f(X(t)) \end{cases}\tag{6} X(t+1)={Y,f(Y)<f(X(t))Z,f(Z)<f(X(t))(6)

Y = X r a b b i t ( t ) − E ∣ J X r a b b i t ( t ) − X ( t ) ∣ (7) Y = X_{rabbit}(t)-E|JX_{rabbit}(t)-X(t)|\tag{7} Y=Xrabbit(t)EJXrabbit(t)X(t)(7)

Z = Y + S ∗ L F ( 2 ) (8) Z=Y+S*LF(2)\tag{8} Z=Y+SLF(2)(8)

其中, f ( ) f( ) f()为适应度函数, S S S为 2 维随机向量,元素为[0,1] 之间的随机数, L F ( ) LF( ) LF() 是莱维飞行的数学表达式。

∣ E ∣ < 0.5 |E|<0.5 E<0.5 r < 0.5 r<0.5 r<0.5时,采取渐近式快速俯冲的硬包围策略进行位置更新:
X ( t + 1 ) = { Y , f ( Y ) < f ( X ( t ) ) Z , f ( Z ) < f ( X ( t ) ) (9) X(t+1) = \begin{cases} Y,f(Y)<f(X(t))\\ Z,f(Z)<f(X(t)) \end{cases}\tag{9} X(t+1)={Y,f(Y)<f(X(t))Z,f(Z)<f(X(t))(9)

Y = X r a b b i t ( t ) − E ∣ J X r a b b i t ( t ) − X m ( t ) ∣ (10) Y = X_{rabbit}(t)-E|JX_{rabbit}(t)-X_m(t)|\tag{10} Y=Xrabbit(t)EJXrabbit(t)Xm(t)(10)

Z = Y + S ∗ L F ( 2 ) (11) Z=Y+S*LF(2)\tag{11} Z=Y+SLF(2)(11)

算法步骤:

步骤 1:种群初始化。根据搜索空间每一维的上界和下界,初始化每个个体。

步骤 2:计算初始适应度。将适应度最优的个体位置设为当前猎物位置。

步骤 3:位置更新。先通过更新猎物逃逸能量,然后根据逃逸能量和生成的随机数执行搜索或开发行为中对应的位置更新策略。

步骤 4:计算适应度。计算位置更新后的个体适应度,并与猎物适应度值进行比较,若位置更新后的个体适应度值优于猎物,则以适应度
值更优的个体位置作为新的猎物位置。

重复步骤 3 和步骤 4,当算法迭代次数达到最大迭代次数时。输出当前猎物位置作为目标的估计位置。

2.算法结果

在这里插入图片描述

3.参考文献

[1] HEIDARI A A, MIRJALILI S, FARIS H, et al. Harris hawks optimization: algorithm and applications[J]. Future Generation Computer Systems, 2019, 97: 849-872.

4.Matlab代码

改进哈里斯鹰算法

名称参考文献
多策略改进哈里斯鹰优化算法(MHHO)[1]郭雨鑫,刘升,高文欣,张磊.多策略改进哈里斯鹰优化算法[J].微电子学与计算机,2021,38(07):18-24.
融合互利共生和透镜成像学习的HHO优化算法(IHHO)[1]陈功,曾国辉,黄勃,刘瑾.融合互利共生和透镜成像学习的HHO优化算法[J/OL].计算机工程与应用:1-14[2021-10-26].http://kns.cnki.net/kcms/detail/11.2127.TP.20210910.1049.010.html.
融合黄金正弦和随机游走的哈里斯鹰优化算法(GSHHO)[1]聂春芳.融合黄金正弦和随机游走的哈里斯鹰优化算法[J].智能计算机与应用,2021,11(07):113-119+123.
集成正态云和动态扰动的哈里斯鹰优化算法(IHHO)[1]张帅,王俊杰,李爱莲,全凌翔,崔桂梅.集成正态云和动态扰动的哈里斯鹰优化算法[J/OL].小型微型计算机系统:1-11[2023-06-06].DOI:10.20009/j.cnki.21-1106/TP.2021-0791.
融合动态反向学习的阿奎拉鹰与哈里斯鹰混合优化算法(DAHHO)[1]贾鹤鸣,刘庆鑫,刘宇翔等.融合动态反向学习的阿奎拉鹰与哈里斯鹰混合优化算法[J].智能系统学报,2023,18(01):104-116.
混合策略改进的哈里斯鹰优化算法(IHHO)[1]展广涵,王雨虹,刘昊.混合策略改进的哈里斯鹰优化算法及其应用[J].传感技术学报,2022,35(10):1394-1403.
基于混合策略的改进哈里斯鹰优化算法(HSHHO)[1]张海林,陈泯融.基于混合策略的改进哈里斯鹰优化算法[J].计算机系统应用,2023,32(01):166-178.DOI:10.15888/j.cnki.csa.008911.
组合多策略改进的自适应哈里斯鹰优化算法(LTWHHO)[1]罗俊星.组合多策略改进的自适应哈里斯鹰优化算法[J].漳州职业技术学院学报,2023,25(01):84-90+102.DOI:10.13908/j.cnki.issn1673-1417.2023.01.0013.
混沌精英哈里斯鹰优化算法(CEHHO)[1]汤安迪,韩统,徐登武,谢磊.混沌精英哈里斯鹰优化算法[J/OL].计算机应用:1-10[2021-01-29].http://kns.cnki.net/kcms/detail/51.1307.TP.20210114.0947.032.html.

算法应用:

名称链接
哈里斯鹰优化的BP神经网络(分类)https://blog.csdn.net/u011835903/article/details/127894535
基于哈里斯鹰优化概率神经网络PNN的分类预测https://blog.csdn.net/u011835903/article/details/128032655
基于哈里斯鹰算法的极限学习机(ELM)分类算法https://blog.csdn.net/u011835903/article/details/129601447
基于哈里斯鹰算法优化的核极限学习机(KELM)分类算法https://blog.csdn.net/u011835903/article/details/130630238
基于哈里斯鹰算法优化的核极限学习机(KELM)回归预测https://blog.csdn.net/u011835903/article/details/116849032
基于哈里斯鹰算法优化的SVM回归预测https://blog.csdn.net/u011835903/article/details/110630270
基于哈里斯鹰优化的SVM数据分类https://blog.csdn.net/u011835903/article/details/110523352
哈里斯鹰算法优化脉冲耦合神经网络的图像自动分割[1]贾鹤鸣,康立飞,孙康健,彭晓旭,李瑶,姜子超.哈里斯鹰算法优化脉冲耦合神经网络的图像自动分割[J].应用科技,2019,46(04):16-20+25.
基于哈里斯鹰算法的工程优化案例
基于哈里斯鹰算法的路径规划算法https://blog.csdn.net/u011835903/article/details/130936569

5. Python

改进哈里斯鹰算法

名称参考文献
多策略改进哈里斯鹰优化算法(MHHO)[1]郭雨鑫,刘升,高文欣,张磊.多策略改进哈里斯鹰优化算法[J].微电子学与计算机,2021,38(07):18-24.
融合互利共生和透镜成像学习的HHO优化算法(IHHO)[1]陈功,曾国辉,黄勃,刘瑾.融合互利共生和透镜成像学习的HHO优化算法[J/OL].计算机工程与应用:1-14[2021-10-26].http://kns.cnki.net/kcms/detail/11.2127.TP.20210910.1049.010.html.
融合黄金正弦和随机游走的哈里斯鹰优化算法(GSHHO)[1]聂春芳.融合黄金正弦和随机游走的哈里斯鹰优化算法[J].智能计算机与应用,2021,11(07):113-119+123.
集成正态云和动态扰动的哈里斯鹰优化算法(IHHO)[1]张帅,王俊杰,李爱莲,全凌翔,崔桂梅.集成正态云和动态扰动的哈里斯鹰优化算法[J/OL].小型微型计算机系统:1-11[2023-06-06].DOI:10.20009/j.cnki.21-1106/TP.2021-0791.
融合动态反向学习的阿奎拉鹰与哈里斯鹰混合优化算法(DAHHO)[1]贾鹤鸣,刘庆鑫,刘宇翔等.融合动态反向学习的阿奎拉鹰与哈里斯鹰混合优化算法[J].智能系统学报,2023,18(01):104-116.
混合策略改进的哈里斯鹰优化算法(IHHO)[1]展广涵,王雨虹,刘昊.混合策略改进的哈里斯鹰优化算法及其应用[J].传感技术学报,2022,35(10):1394-1403.
基于混合策略的改进哈里斯鹰优化算法(HSHHO)[1]张海林,陈泯融.基于混合策略的改进哈里斯鹰优化算法[J].计算机系统应用,2023,32(01):166-178.DOI:10.15888/j.cnki.csa.008911.
组合多策略改进的自适应哈里斯鹰优化算法(LTWHHO)[1]罗俊星.组合多策略改进的自适应哈里斯鹰优化算法[J].漳州职业技术学院学报,2023,25(01):84-90+102.DOI:10.13908/j.cnki.issn1673-1417.2023.01.0013.
混沌精英哈里斯鹰优化算法(CEHHO)[1]汤安迪,韩统,徐登武,谢磊.混沌精英哈里斯鹰优化算法[J/OL].计算机应用:1-10[2021-01-29].http://kns.cnki.net/kcms/detail/51.1307.TP.20210114.0947.032.html.

算法应用:

名称链接
基于哈里斯鹰算法的SVM分类(HHO-SVM)
  • 12
    点赞
  • 155
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 哈里斯鹰算法是一种常用于图像处理的特征提取算法,它的原理是通过计算每个像素点的Harris响应函数值来确定其是否为角点。在实际应用中,哈里斯鹰算法也可以应用于Word文档的处理。 在Word文档中,有时需要对文本中的角点进行识别和处理,比如在表格中定位单元格的角点或者其他需要标注特定位置的元素。这时候可以利用哈里斯鹰算法来提取文本中的角点。 具体实现过程如下:首先,将Word文档转换为图像格式,可以保存为jpg或png等常见图像格式。然后,利用图像处理库(如OpenCV)中的哈里斯鹰算法函数,对图像进行角点检测。该函数会返回检测到的角点的坐标信息。 接下来,可以根据返回的角点坐标信息在Word文档中进行相关处理。比如在表格中标注出检测到的角点,或者在文本中插入标记符号,以便后续操作。这样就可以快速定位到文档中的特定位置了。 需要注意的是,由于Word文档通常包含丰富的文本和格式信息,直接对文档进行角点检测可能会受到一些干扰。因此,在使用哈里斯鹰算法之前,可能需要对文档进行预处理,例如提取文本信息或者去除背景等,以便提高算法的准确率和效果。 总的来说,利用哈里斯鹰算法可以在Word文档中实现角点的提取和处理,从而实现对特定位置的定位和标注。这在一些需要对文档进行自动化处理或者设计排版的场景中,具有一定的实用性。 ### 回答2: 哈里斯鹰算法是一种用于文本处理的自然语言处理算法,其主要目的是通过对文档中的单词进行频率计数和重要性评估,找出最具有代表性和关键性的词语。 该算法的实现流程大致如下: 1. 文档预处理:首先,将文档中的特殊符号、停用词和标点符号等无关信息进行过滤,只保留其中的有效文本内容。 2. 单词计数:计算文档中每个单词的出现次数,记录其频率信息。常用的方法有简单计数和词频-逆文档频率(TF-IDF)等,用来衡量单词在文档中的重要性。 3. 重要性评估:根据单词的频率、在整个文档集中的分布等因素,对每个单词进行重要性评估。哈里斯鹰算法通过计算单词的熵值、互信息和信息增益等指标来评估单词的重要性。 4. 选取关键词:根据单词的重要性评估结果,选取排名靠前的词语作为文档的关键词。这些关键词能够较好地代表文档的主题和内容,并具有一定的辨识度。 哈里斯鹰算法在文本处理和信息检索领域有着广泛的应用。通过对文档中的关键词进行提取和分析,可以对文本进行分类、聚类、信息过滤等操作,提高文本处理的效率和准确性。同时,该算法也为文本编辑、搜索引擎优化等领域提供了有力的支持。 总之,哈里斯鹰算法是一种基于频率计数和重要性评估的文本处理算法,通过选取关键词来代表文档的主题和内容。其广泛应用于文本处理和信息检索领域,为相关应用提供了强大的支持。 ### 回答3: 哈里斯鹰算法是一种用于计算机视觉中的特征点检测算法。该算法的目标是在图像中自动检测出具有显著特征的点,常用于图像配准、目标识别等任务中。 哈里斯鹰算法通过计算图像中每个像素点的灰度值变化来评估其对图像整体的贡献。算法首先对图像进行灰度处理,然后计算每个像素点与其邻域像素点的灰度差平方之和,得到了一个表示像素点角点程度的数值。根据这个数值可以判断出该像素点是否为一个具有显著特征的角点。 具体而言,哈里斯鹰算法计算了每个像素点的方向梯度向量和灰度值矩阵,然后通过计算这个矩阵的特征值,确定了每个像素点的角点响应函数。根据角点响应函数的数值大小,可以筛选出具有显著特征的角点。 哈里斯鹰算法的优势在于其对光照变化和噪声具有较好的鲁棒性,能够检测出不同尺度和旋转角度下的角点。它在计算速度和准确性上也取得了较好的平衡,因此在图像处理和计算机视觉领域得到广泛应用。 总之,哈里斯鹰算法是一种用于图像特征点检测的经典算法,能够自动检测出具有显著特征的角点。它的基本原理是通过计算像素点的灰度变化来确定角点的位置,具有较好的鲁棒性和准确性,被广泛应用于计算机视觉领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值