当前位置: 首页 > article >正文

哈里斯鹰优化算法(HHO)原理与Python实现

【智能优化】哈里斯鹰优化算法(HHO)原理与Python实现 2026-05-08 | ️ 智能优化 | ️ 元启发式算法 | ️ HHO一、引言哈里斯鹰优化算法(Harris Hawk Optimization, HHO)是2019年由Heidari等人提出的一种新型元启发式算法。该算法模拟哈里斯鹰的围猎行为通过合作追踪和突袭策略来寻找最优解。HHO具有较强的全局搜索和局部开发平衡能力在多个基准测试和实际应用中表现优异。二、算法原理2.1 哈里斯鹰行为模拟哈里斯鹰是一种群居猛禽它们会合作围捕猎物。算法模拟了以下关键行为探索阶段从不同方向探测猎物位置过渡阶段能量逐渐衰减搜索策略转变开发阶段进行突袭和围攻2.2 数学模型能量衰减模型E 2 E 0 ( 1 − t T m a x ) E 2E_0\left(1 - \frac{t}{T_{max}}\right)E2E0​(1−Tmax​t​)其中E 0 ∈ [ − 1 , 1 ] E_0 \in [-1, 1]E0​∈[−1,1]是初始能量t tt为当前迭代T m a x T_{max}Tmax​为最大迭代。位置更新策略阶段条件公式全局搜索∣ E ∣ ≥ 1 |E| \geq 1∣E∣≥1$X(t1) X_{rand} - r_1软围攻r ≥ 0.5 , ∣ E ∣ 0.5 r \geq 0.5, |E| 0.5r≥0.5,∣E∣0.5$X(t1) \Delta X - E硬围攻r 0.5 , ∣ E ∣ 0.5 r 0.5, |E| 0.5r0.5,∣E∣0.5$X(t1) X_{rabbit} - E渐进式俯冲r ≥ 0.5 , ∣ E ∣ 0.5 r \geq 0.5, |E| 0.5r≥0.5,∣E∣0.5X ( t 1 ) Y , Z X(t1) Y, ZX(t1)Y,Z的随机组合循环俯冲r 0.5 , ∣ E ∣ 0.5 r 0.5, |E| 0.5r0.5,∣E∣0.5Levy飞行 突变其中Δ X X r a b b i t − X ( t ) \Delta X X_{rabbit} - X(t)ΔXXrabbit​−X(t)J 2 ( 1 − r 3 ) J 2(1-r_3)J2(1−r3​)是随机跳跃强度。三、Python实现importnumpyasnpimportmatplotlib.pyplotaspltclassHarrisHawkOptimization:def__init__(self,dim30,pop30,max_iter500,lb-100,ub100):self.dimdim self.poppop self.max_itermax_iter self.lblb self.ububdeflevy_flight(self,beta1.5):Levy飞行sigma(np.math.gamma(1beta)*np.sin(np.pi*beta/2)/(np.math.gamma((1beta)/2)*beta*2**((beta-1)/2)))**(1/beta)unp.random.randn(self.dim)*sigma vnp.random.randn(self.dim)stepu/(np.abs(v)**(1/beta))return0.01*stepdefoptimize(self,obj_func):# 初始化种群Xnp.random.uniform(self.lb,self.ub,(self.pop,self.dim))fitnessnp.array([obj_func(x)forxinX])# 找最优(猎物)sorted_idxnp.argsort(fitness)rabbit_xX[sorted_idx[0]].copy()rabbit_ffitness[sorted_idx[0]]convergence[]fortinrange(self.max_iter):# 能量计算E02*np.random.random()-1# [-1, 1]E2*E0*(1-t/self.max_iter)foriinrange(self.pop):r1,r2,r3,r4np.random.random(),np.random.random(),\ np.random.random(),np.random.random()# 探索阶段ifabs(E)1:# 全局搜索X_randX[np.random.randint(self.pop)]X[i]X_rand-r1*np.abs(X_rand-2*r2*X[i])# 开发阶段else:delta_Xrabbit_x-X[i]ifr40.5:# 围攻策略ifabs(E)0.5:# 软围攻X[i]delta_X-E*np.abs(2*r3*rabbit_x-X[i])else:# 硬围攻X[i]rabbit_x-E*np.abs(delta_X)else:# 渐进式俯冲 Levy飞行Yrabbit_x-E*np.abs(delta_X)ZYnp.random.randn(self.dim)*self.levy_flight()ifobj_func(Y)fitness[i]:X[i]Yelifobj_func(Z)fitness[i]:X[i]Zelse:# 循环俯冲突袭ifabs(E)0.5:X[i](rabbit_x-E*np.abs(delta_X)-r1*np.random.randn(self.dim))else:X[i](rabbit_x-E*np.abs(delta_X)r1*np.random.randn(self.dim))X[i]np.clip(X[i],self.lb,self.ub)# 评估fitnessnp.array([obj_func(x)forxinX])sorted_idxnp.argsort(fitness)iffitness[sorted_idx[0]]rabbit_f:rabbit_ffitness[sorted_idx[0]]rabbit_xX[sorted_idx[0]].copy()convergence.append(rabbit_f)returnrabbit_x,rabbit_f,convergence使用示例defsphere(x):returnnp.sum(x**2)defschwefel(x):return418.9829*len(x)-np.sum(x*np.sin(np.sqrt(np.abs(x))))defrastrigin(x):return10*len(x)np.sum(x**2-10*np.cos(2*np.pi*x))# 运行HHOnp.random.seed(42)hhoHarrisHawkOptimization(dim30,pop30,max_iter500)best_x,best_f,convhho.optimize(sphere)print(f最优适应度:{best_f:.2e})print(f最优解前5维:{best_x[:5]})四、实验结果测试函数理论最优HHO结果平均迭代Sphere06.54e-12156Schwefel00.087423Ackley04.32e-10201Rastrigin00.023367五、与其他算法对比算法年份复杂度全局搜索局部开发跳出局部最优HHO2019中★★★★☆★★★★★★★★★☆SSA2020低★★★★☆★★★★☆★★★★☆SMA2020中★★★★☆★★★★☆★★★★☆PSO1995低★★★☆☆★★★★☆★★★☆☆六、算法改进方向自适应能量策略根据迭代动态调整能量衰减曲线Levy飞行增强使用改进的Levy飞行增强全局搜索混合策略与其他算法混合取长补短多策略协同自适应选择不同阶段的更新策略七、应用领域特征选择高维数据特征筛选工程优化结构优化、参数设计调度问题生产调度、资源分配图像处理图像分割、阈值优化八、总结哈里斯鹰优化算法是一种具有独特围猎机制的新型优化算法✅ 能量驱动策略转换机制独特✅ 软/硬围攻策略平衡全局与局部✅ Levy飞行增强全局搜索能力✅ 收敛速度快精度高参考论文Heidari A A, Mirjalili S, Faris H, et al. Harris hawks optimization: Algorithm and applications您的点赞是我创作的动力

相关文章:

哈里斯鹰优化算法(HHO)原理与Python实现

【智能优化】哈里斯鹰优化算法(HHO)原理与Python实现 📅 2026-05-08 | 🏷️ 智能优化 | 🏷️ 元启发式算法 | 🏷️ HHO 一、引言 哈里斯鹰优化算法(Harris Hawk Optimization, HHO)是2019年由Heidari等人提出的一种新型元启发式算…...

【Fedora 44 GRUB 菜单每次开机都显示问题】

Fedora 44 GRUB 菜单每次开机都显示问题 Fedora 44 GRUB 菜单每次开机都显示问题问题现象环境信息走过的弯路弯路一:方案 B「直接隐藏」诱惑很大但要拒绝弯路二:方案 A「自动隐藏」按教程做了不生效弯路三:以为是 grub.cfg 没重新生成 真正的…...

Java 8+ 时间类型 :从 LocalDateTime 到 Instant

一、核心前置知识 1. 核心包 所有新时间类型都位于 java.time 包下,无需引入第三方依赖,JDK 8 原生支持。 2. 核心设计理念 领域驱动设计:将「日期、时间、时区、时间戳、时间间隔」严格拆分,每个类型只负责一件事&#xff0c…...

有哪些降重软件能保住论文原意,不会改得逻辑不通?

论文降重最怕啥?改完重复率达标了,核心意思却跑偏,逻辑漏洞百出,专业术语乱改一通,导师一看就知道是 AI 瞎改的。其实选对工具,既能把重复率压到合格线,又能100% 保住论文原意、逻辑连贯、术语精…...

Arm Neoverse V2处理器勘误分类与规避方案详解

## 1. Neoverse V2处理器勘误深度解析作为Arm最新一代基础设施级处理器核心,Neoverse V2(代号MP158)在数据中心和边缘计算领域展现出强劲性能。但在实际部署中,硬件设计层面的勘误(Errata)可能引发系统性风…...

【汽车芯片功能安全分析与故障注入实践 03】从 Base FIT Rate 开始:为什么安全分析要先做 BFR?

作者: Darren H. Chen 方向: 汽车芯片功能安全分析与故障注入实践 Demo: D03_base_fit_rate 标签: 汽车芯片 功能安全 FIT BFR 随机硬件故障 可靠性建模Demo 说明 D03_base_fit_rate 用来实现一个简化的 Base FIT Rate 计算 Demo。…...

为OpenClaw构建基于时间线的知识图谱大脑:Graphiti插件实战指南

1. 项目概述:为OpenClaw构建一个基于时间线的知识大脑 如果你和我一样,长期使用OpenClaw这类AI助手进行项目协作、知识整理和深度对话,你可能会遇到一个核心痛点:对话是线性的、易逝的。一次长达数小时的头脑风暴,一旦…...

从iPhone备份提取Apple Watch健康数据的开源工具WatchClaw详解

1. 项目概述:一个能“抓取”Apple Watch数据的开源利器如果你是一名iOS或watchOS开发者,或者对可穿戴设备的数据分析感兴趣,那你很可能遇到过这样的困境:想深入研究Apple Watch采集到的那些丰富数据——心率、步数、活动能量、睡眠…...

三星全线退出中国家电市场:真被国货打跑?还是战略大转移?

一、三星真的被国货「打跑」了?近期三星官宣全线停止在中国大陆销售电视、冰箱、洗衣机等全品类家电,消息一出立刻引发热议。不少人高呼「解气」,认为这是国产家电崛起的标志性事件 —— 外资巨头终于被中国品牌打跑了。但事实真的是「兵败撤…...

de4dot:免费开源的.NET反混淆神器,轻松解密被保护的代码

de4dot:免费开源的.NET反混淆神器,轻松解密被保护的代码 【免费下载链接】de4dot .NET deobfuscator and unpacker. 项目地址: https://gitcode.com/gh_mirrors/de/de4dot 你是否曾经遇到过这样的情况:拿到一个.NET程序集,…...

开源像素光标主题制作指南:从sheep-realms-avatar到全平台个性化方案

1. 项目概述与核心价值如果你和我一样,是个对桌面美学有点“偏执”的创作者或玩家,那你肯定也折腾过鼠标指针。默认的白色箭头看久了实在乏味,而网上那些炫酷的指针包,要么风格不搭,要么安装复杂,要么就是版…...

全卷积扩散模型FCDM:高效图像生成新方案

1. 项目概述 在计算机视觉领域,卷积神经网络(ConvNets)曾长期占据主导地位。然而近年来,Transformer架构在生成模型中的应用逐渐增多,但其高计算复杂度和资源消耗问题也日益凸显。本文介绍了一种基于ConvNeXt架构改进的…...

形式化方法

形式化方法是基于数学、逻辑、符号化语言,对软件系统进行合格建模、规范描述、逻辑推理和正确验证的一套开发与分析方法。不依靠人工测试猜测bug,而是用数学方式证明程序和系统是否正确。形式化方法的核心作用在于,它可以用严格的逻辑写清系统…...

NIQ研究揭示商业新规则:人工智能正开始决定消费者购买什么

NIQ最新的全球报告《商业革命:东西方交汇》探讨了商业智能如何帮助品牌、零售商和平台在快速融合的全球格局中把握方向 人工智能正迅速从一种工具转变为“买家”,从而重塑人们发现、选择和购买产品的方式 零售业的下一波增长浪潮并非源自传统电子商务&am…...

羊蹄山之魂

...

C++ 输入与输出的使用说明(最后含提高输入输出效率的三行代码)

一.标准输入输出流库及输入输出流对象及符号介绍< iostream > : input output stream的缩写&#xff0c;是标准的输入输出流库&#xff0c;定义了标准的输入输出流对象。 std::cin : istream类的对象&#xff0c;是 C 标准库中用于从标准输入&#xff08;键盘&#xff09…...

开源NotebookLM替代品SurfSense:自托管AI知识中枢部署与实战指南

1. 项目概述&#xff1a;为什么我们需要一个开源的 NotebookLM 替代品&#xff1f; 如果你和我一样&#xff0c;是个重度依赖 AI 来整理、分析和创作内容的人&#xff0c;那你肯定对 Google 的 NotebookLM 不陌生。它确实是个好工具&#xff0c;把文档丢进去&#xff0c;就能基…...

2026-05-09 全国各地响应最快的 BT Tracker 服务器(电信版)

数据来源&#xff1a;https://bt.me88.top 序号Tracker 服务器地域网络响应(毫秒)1udp://118.196.100.63:6969/announce上海电信32udp://60.172.236.18:6969/announce安徽合肥电信73http://60.249.37.20:6969/announce广东广州电信324http://211.75.205.187:6969/announce广东…...

AI应用生产级部署模板:从FastAPI到Celery的工程化实践

1. 项目概述&#xff1a;从开源模板到AI应用的生产力革命最近在GitHub上看到一个挺有意思的项目&#xff0c;叫Sargentech-AI/openclaw-production-templates。光看名字&#xff0c;你可能会觉得这又是一个普通的代码模板库&#xff0c;但如果你深入了解一下&#xff0c;就会发…...

2026年05月08日最热门的开源项目(Github)

本期榜单中列出了15个不同的项目&#xff0c;每个项目都有其独特的特点和用途。以下是对榜单的分析&#xff1a; 1. 高热度项目 anthropics/financial-services (Star: 14182) 是榜单中当前Star数最多的项目&#xff0c;介绍虽不详&#xff0c;但显然在金融服务领域应用广泛。…...

开源AI助手技能开发:从角色扮演到人格化交互的技术实现

1. 项目概述&#xff1a;一个为开源AI助手打造的“维京女友”技能最近在折腾开源AI助手生态&#xff0c;发现了一个特别有意思的项目&#xff0c;叫“Viking_Girlfriend_Skill_for_OpenClaw”。光看名字就充满了反差感和极客式的幽默感。这本质上是一个为OpenClaw这类开源AI助手…...

GNSS授时与PPS技术

一、 核心原理与基础概念 1.1 授时原理概述 GNSS授时的根本原理&#xff0c;是接收机利用卫星信号解算出自身与卫星的钟差后&#xff0c;校正本地时钟&#xff0c;使其与卫星上的高精度原子钟同步。当接收机能同时观测到至少4颗卫星信号时&#xff0c;便可完成这一过程&#…...

从零构建私有化智能语音助手:基于ESP32与开源后端的完整实践指南

1. 项目概述&#xff1a;从零构建你的智能语音助手后端如果你手头有一块ESP32开发板&#xff0c;并且已经体验过类似“小智”这样的智能语音助手项目&#xff0c;但总觉得依赖别人的云端服务不够自由、不够安全&#xff0c;或者想深度定制功能&#xff0c;那么今天这个内容就是…...

什么是RGM收入增长管理?RGM收入增长管理工具怎么选?

在当今竞争激烈且瞬息万变的快消品市场中&#xff0c;企业面临着诸多挑战&#xff0c;如消费者需求日益多样化、市场竞争不断加剧、渠道成本持续上升等。在这样的背景下&#xff0c;如何实现可持续的收入增长成为了快消企业亟待解决的关键问题。而RGM收入增长管理&#xff0c;正…...

555电影网:全网影视网,高清追剧的不二之选

在当下快节奏的生活里&#xff0c;很多人下班回家最放松的方式就是打开一部好剧&#xff0c;沉浸其中。面对海量影视资源&#xff0c;如何快速找到画质清晰、更新及时、观看流畅的平台&#xff0c;成为不少人的困扰。而555电影网正逐渐成为很多剧迷心中的首选。 作为一个聚合全…...

3步解锁Unity游戏无限可能:MelonLoader模组加载器深度解析

3步解锁Unity游戏无限可能&#xff1a;MelonLoader模组加载器深度解析 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 你是否曾…...

大气环境科研必备利器:WRF-Chem在区域污染传输与生态沉降评估中的实践全揭秘

随着我国经济快速发展&#xff0c;我国面临着日益严重的大气污染问题。近年来&#xff0c;严重的大气污染问题已经明显影响国计民生&#xff0c;引起政府、学界和人们越来越多的关注。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果&#xff0c;同时气象因…...

深入浅出 Java 反射机制,了解动态编程的原理,小白的速通指南

一、反射是什么&#xff1f;Reflection&#xff08;反射&#xff09; 是 Java 的一项强大特性&#xff0c;它允许运行中的程序获取自身或任意类的内部信息&#xff08;如成员变量、方法、构造器&#xff09;&#xff0c;并且可以动态创建对象、调用方法、修改字段&#xff0c;甚…...

模拟信号数字化中的混叠现象与抗混叠滤波器设计

1. 模拟信号数字化中的混叠现象解析 在工业测量和数据采集领域&#xff0c;我们经常需要将现实世界中的连续模拟信号转换为离散的数字信号进行处理。这个看似简单的过程却隐藏着一个关键陷阱——混叠&#xff08;Aliasing&#xff09;。就像老式西部片中马车轮子看似倒转的视觉…...

使用Taotoken CLI工具一键配置多开发环境与团队协作密钥

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Taotoken CLI工具一键配置多开发环境与团队协作密钥 在团队协作开发中&#xff0c;为新成员配置大模型API环境常常是个繁琐的过…...