蜜獾算法(HBA)原理分析(含源代码)

蜜獾算法优化Transformer的时序预测实战 时序预测作为时间序列分析的核心技术,通过挖掘历史数据中的时序依赖关系,在电力负荷预测、工业设备预警等场景发挥关键作用。传统ARIMA等统计方法难以捕捉非线性特征,而深度学习中的Transformer架构凭借自注意力机制,能有效建模长程依赖关系。本文创新性地引入蜜獾算法(HBA)这一新型元启发式优化方法,通过模拟动物智能行为实现Transformer超参数自动调优。该混合方案在保持模型表达能力的同时,显著提升训练效率和预测精度,特别适合对实时性要求高的工业控制场景。关键技术亮点包括动态稀疏注意力机制和自适应位 阅读详情
AI摘要

本文介绍了蜜獾算法(HBA),这是一种受蜜獾觅食行为启发的元启发式优化算法。HBA通过模仿蜜獾的动态搜索行为,结合挖掘和蜂蜜发现阶段来探索和开发解决方案。算法包括种群初始化、密度因子更新、局部最优逃脱等步骤,旨在在收敛速度和探索-开发平衡方面取得优势。实验结果显示,HBA在解决复杂优化问题时表现出高效性,优于包括模拟退火、粒子群优化在内的多种著名算法。

目录

简介:

论文下载链接:

算法主要流程: 

1.初始化阶段

 2.定义密度因子

3.更新密度因子

4.从局部最优逃离

5.更新代理位置

5.1挖掘阶段

5.2吸引阶段

源码分析:

种群初始化代码:

算法操作代码:

目标函数: 

算法测试:

算法总结


 


简介:

蜜獾是一种皮毛黑白相间的哺乳动物,常生活在非洲、亚洲西南部和印度次大陆的半沙漠和雨林中,以其无畏的天性而闻名。

近年来,数值优化领域吸引了研究界提出和发展各种元启发式优化算法。本文提出了一种新的元启发式优化算法——蜜獾算法(HBA)。该算法受蜜獾智能觅食行为的启发,在数学上发展了一种求解优化问题的有效搜索策略。在HBA中,蜂蜜獾的动态搜索行为通过挖掘和蜂蜜发现方法被描述为勘探和开发阶段。此外,使用受控随机化技术,即使在搜索过程接近尾声时,HBA仍能保持充足的种群多样性。为了评估HBA的效率,解决了24个标准基准功能、CEC的17个测试套件和四个工程设计问题。使用HBA获得的解已与十种著名的元启发式算法进行了比较,包括模拟退火(SA)、粒子群优化(PSO)、协方差矩阵自适应进化策略(CMA-ES)、基于成功历史的线性种群规模缩减自适应差分进化变体(L-SHADE),飞蛾火焰优化(MFO)、大象放牧优化(EHO)、鲸鱼优化算法(WOA)、蚱蜢优化算法(GOA)、热交换优化(TEO)和哈里斯霍克斯优化(HHO)。实验结果以及统计分析表明,与本研究中使用的其他方法相比,HBA在解决具有复杂搜索空间的优化问题时是有效的,并且在收敛速度和探索-开发平衡方面具有优势。

通常来讲,一只蜜獾可以使用嗅觉持续定位它的猎物。蜜獾喜欢蜂蜜,但它不善于定位蜂巢。不过有意思的是,蜂蜜向导(一种鸟)可以找到蜂巢,但不能得到蜂蜜。这些现象即使两者形成了合作关系:向导鸟将蜜獾带到蜂巢,后者利用前爪打开蜂巢,然后两者都享受团队合作的回报。

因此为了找到蜂巢,蜜獾要么狂嗅+狂挖,要么跟着向导鸟。文中称第一种情况为挖掘模式,而第二种情况为蜂蜜模式。在挖掘模式中,蜜獾利用自己的嗅觉能力来定位蜂巢,当接近蜂巢时,它会选择合适的地点进行挖掘;在蜂蜜模式中,蜜獾直接利用向导鸟定位蜂巢。

论文下载链接:

HoneyBadgerAlgorithm蜜獾算法原始论文PDF-机器学习文档类资源-优快云下载

算法主要流程: 

1.初始化阶段

初始化蜜獾的数量(种群大小N)及其各自的位置

 2.定义密度因子

强度和猎物的集中力和它和猎物之间的距离有关我是蜜獾。Ii是猎物的气味强度;如果气味很高,运动会很快,反之亦然由平方反比定律给出.

 

3.更新密度因子

密度因子(α)控制时变随机化,以确保平滑从勘探到开发的过渡。更新随迭代次数减少的递减因子α,以减少使用公式(3)随时间随机化:

 

4.从局部最优逃离

这一步和接下来的两步用于逃避局部最优解区域。在这种情况下,所提出的算法使用一个标志F来改变搜索方向,以利用较高的搜索效率代理严格扫描搜索空间的机会.

 

5.更新代理位置

5.1挖掘阶段

5.2吸引阶段

 

源码分析:

蜜獾算法主要包括种群初始化、适应度评估、种群更新、蜂蜜吸引度计算、更新密度因子等步骤。

种群初始化代码:

function [X]=initialization(N,dim,up,down)
if size(up,2)==1
    X=rand(N,dim).*(up-down)+down;
end
if size(up,2)>1
    for i=1:dim
        high=up(i);low=down(i);
        X(:,i)=rand(N,1).*(high-low)+low;
    end
end
end

算法操作代码:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  Honey Badger Algorithm source code 
%  paper:
%     Hashim, Fatma A., Essam H. Houssein, Kashif Hussain, Mai S. %     Mabrouk, Walid Al-Atabany. 
%     "Honey Badger Algorithm: New Metaheuristic Algorithm for %  %     Solving Optimization Problems." 
%     Mathematics and Computers in Simulation, 2021.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
function [Xprey, Food_Score,CNVG] = HBA(objfunc, dim,lb,ub,tmax,N)
beta       = 6;     % the ability of HB to get the food  Eq.(4)
C       = 2;     %constant in Eq. (3)
vec_flag=[1,-1];
%initialization
X=initialization(N,dim,ub,lb);
%Evaluation
fitness = fun_calcobjfunc(objfunc, X);
[GYbest, gbest] = min(fitness);
Xprey = X(gbest,:);
for t = 1:tmax
    alpha=C*exp(-t/tmax);   %density factor in Eq. (3)
    I=Intensity(N,Xprey,X); %intensity in Eq. (2)
    for i=1:N
        r =rand();
        F=vec_flag(floor(2*rand()+1));
        for j=1:1:dim
            di=((Xprey(j)-X(i,j)));
            if r<.5
                r3=rand;                r4=rand;                r5=rand;
                
                Xnew(i,j)=Xprey(j) +F*beta*I(i)* Xprey(j)+F*r3*alpha*(di)*abs(cos(2*pi*r4)*(1-cos(2*pi*r5)));
            else
                r7=rand;
                Xnew(i,j)=Xprey(j)+F*r7*alpha*di;
            end
        end
        FU=Xnew(i,:)>ub;FL=Xnew(i,:)<lb;Xnew(i,:)=(Xnew(i,:).*(~(FU+FL)))+ub.*FU+lb.*FL;
        
        tempFitness = fun_calcobjfunc(objfunc, Xnew(i,:));
        if tempFitness<fitness(i)
            fitness(i)=tempFitness;
            X(i,:)= Xnew(i,:);
        end
    end

end
...
end

目标函数: 

function Y = fun_calcobjfunc(func, X)
N = size(X,1);
for i = 1:N
    Y(i) = func(X(i,:));
end
end
function I=Intensity(N,Xprey,X)
for i=1:N-1
    di(i) =( norm((X(i,:)-Xprey+eps))).^2;
    S(i)=( norm((X(i,:)-X(i+1,:)+eps))).^2;
end
di(N)=( norm((X(N,:)-Xprey+eps))).^2;
S(N)=( norm((X(N,:)-X(1,:)+eps))).^2;
for i=1:N
    r2=rand;
    I(i)=r2*S(i)/(4*pi*di(i));
end
end

算法测试:

The best location= 8.7878e-145 -7.5945e-149 -5.1457e-145 -1.2854e-145 -1.9505e-146 -4.7359e-147 1.7092e-144 -3.8037e-145 -2.195e-145 -1.809e-146 8.3212e-145 -1.339e-145 -3.7686e-145 1.8082e-145 -2.389e-146 3.5925e-146 -7.7913e-145 -2.7082e-145 2.0061e-145 8.9784e-146 -6.0477e-145 -3.403e-145 -4.933e-146 -3.4153e-145 -1.4537e-144 1.0279e-145 3.1436e-145 6.0489e-146 -4.4064e-146 9.6791e-146
The best fitness score = 1.1571e-286
>> 

 

算法总结

HBA算法设计简单,思路清晰。算法通过蜂蜜吸引度确保具有较好的局部搜索能力,通过引导种群中的个体不断向最优个体趋近,此外由于设置了密度因子,保证了算法的全局搜索能力。通过测试,可以看出算法在求解大多数测试函数中,具有较好的性能,目前该算法也得到了诸多学者的研究,被应用于了诸多领域,

如果需要原论文或者源代码,或者对算法改进有什么想法,欢迎与我私信交流~


作者简介:国内顶尖高校控制专业毕业,专注于智能优化算法及其应用,运筹优化调度,各类求解器求解,人工智能机器学习、深度学习算法及应用等方向的研究,擅长各类算法的改进、各类数学模型的建模求解,熟悉各类求解器的使用。

MATLAB群智能开源第十四期-蜜獾算法 1 写在前面 该系列为基础群智能优化算法,欢迎私信一起交流问题,更多的基础算法可查看往期的推文。有问题或者需要其他建议的话,非常欢迎后台私信交流,共同进步,如若出现违反学术道德的情况与本博客以及作者无关,所有资料仅做参考。本期将介绍一种新颖智能优化算法-蜜獾算法(Honey Badger Algorithm) 2 算法基本原理 本次推文提出了一种新的元启发式优化算法,蜜獾优化算法(Honey Badger Algorithm,HBA)。该算法的灵感来自于蜜獾的智能觅食行为,并从数学... 阅读详情

相关推荐

蜜獾优化算法在Matlab中的实现及应用

本文介绍了蜜獾优化算法在Matlab中的实现及应用。我们提供了蜜獾优化算法的Matlab代码,并以Rosenbrock函数为例进行了演示。读者可以根据需要自行调整问题的维度、边界和其他参数,以应用蜜獾优化算法解决自己的优化问题。在本文中,我们将介绍如何在Matlab中实现蜜獾优化算法,并展示其在优化问题上的应用。为了演示蜜獾优化算法在实际问题中的应用,我们以经典的测试函数Rosenbrock函数为例。接下来,算法通过迭代搜索的方式更新种群的位置,并更新最优解。函数是主函数,用于执行整个蜜獾优化算法的过程。

CyberBladeX的博客 203

二区算法:蜜獾优化算法,原理详解,MATLAB代码免费获取

蜜獾优化算法(Honey Badger Algorithm,HBA)是一种受自然启发的群智能优化算法,其灵感来源于蜜獾(Honey Badger)这种动物的生存策略。蜜獾是一种生活在非洲和亚洲的小型哺乳动物,以其顽强和适应力强而著称。蜜獾优化算法模仿了蜜獾在寻找食物和避开危险时的行为,通过模拟蜜獾的觅食策略来解决优化问题。该算法具有进化能力强、搜索速度快、寻优能力强的特点。该成果于2021年发表在...

淘个代码 2388

蜜罐优化算法(HBA)详解:从生物智慧到优化引擎

蜜罐优化算法(HBA)是一种新型元启发式算法,模拟蜜獾智能觅食行为。算法包含挖掘(全局探索)和采蜜(局部开发)两种搜索模式,通过气味强度引导搜索方向,利用密度因子平衡探索与开发。核心数学模型包括气味强度计算、位置更新公式和自适应参数调整。HBA具有原理新颖、参数合理、搜索能力强等特点,已应用于函数优化、工程设计和机器学习等领域。未来可改进方向包括多目标优化、混合策略和自适应参数调整等。

qq_42212808的博客 470

蜜獾算法(HBA)(含MATLAB代码)

蜜獾算法(HBA)原理及其MATLAB代码

algorithmzzy的博客 2967

HoneyBadgerAlgorithm蜜獾算法及其原文

分享了蜜獾算法源代码及其原文,亲测有效,更多算法可进入空间查看

一种新型优化算法——蜜罐优化算法.zip

一种新型优化算法——蜜罐优化算法.zip

【智能算法】蜜獾算法(HBA)原理及实现

蜜獾的嗅觉强度不仅与猎物的集中强度有关,还与猎物和蜜獾之间的距离有关。

Logic_9527的博客 2271

【优化算法】蜜獾优化算法(HBA)【含Matlab源码 1437期】.zip

完整代码,可直接运行

智能优化算法:蜜獾算法-附代码

智能优化算法:蜜獾算法 文章目录智能优化算法:蜜獾算法1.算法原理1.1 种群初始化1.2 强度(I)的定义1.3 密度因子更新1.4 跳出局部最优1.5更新个体位置1.5.1 挖掘阶段1.5.2 采蜜阶段2.实验结果3.参考文献4.Matlab代码 摘要:蜜獾算法(Honey Badger Algorithm,HBA)是于2021年提出的一种新型智能优化算法,该算法主要通过模拟蜜獾智能觅食行为来进行寻优,具有寻优能力强,收敛速度快等特点。 1.算法原理 1.1 种群初始化 与其他优化算法一样,种群初始化在

Jack旭的博客 6777

Matlab【优化求解-蜜獾算法】基于蜜獾算法求解单目标(Honey Badger Algorithm,HBA).zip

1.版本:matlab2014/2019a,内含运行结果,不会运行可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信

Jetson AGX Orin 新手避坑:解决‘找不到nvidia-jetpack包’的完整修复指南

本文详细介绍了Jetson AGX Orin设备在安装JetPack开发套件时遇到的'nvidia-jetpack包缺失'问题的完整解决方案。通过分析问题根源、提供分步修复指南以及系统优化建议,帮助开发者快速解决这一常见问题,充分发挥Jetson AGX Orin的边缘计算性能。

weixin_42520909的博客 460

【智能算法改进】基于多策略的改进蜜獾算法及其应用

限制反向学习机制相比于反向学习,解的上下限随迭代次数变化且限制了反向解越过边界。相比反向学习机制,限制反向学习机制进一步优化种群质量,使得在增加种群多样性的基础上,加快了算法的收敛速度。[1] 向海昀,李鸿鑫,符晓,等.基于多策略的改进蜜獾算法及其应用[J].计算机工程,2023,49(12):78-87.加入自适应权重因子能够促进算法全局和局部搜索平稳过渡。在挖掘模式和蜂蜜模式不同路径更新的基础上引入。

Logic_9527的博客 1370

【医学影像】Deep Learning for Automatic Pneumonia Detection

写在前面的话: 这篇论文是北美放射学会(RSNA)在Kaggle平台上托管的肺炎区域检测挑战赛取得第二名成绩的解决方案。因为笔者需要用到其中的图像增强方案,因此本篇博客只介绍了数据集和图像增强,关于模型的改进和其它改进点没有涉及。 论文地址:https://arxiv.org/abs/2005.13899 代码地址:https://github.com/tatigabru/kaggle-rsna 比赛地址:https://www.kaggle.com/c/rsna-pneumonia-detection-c

chenzhoujian_的博客 1567

【风电功率预测】蜜獾算法优化森林算法HBA-RF风电功率回归预测(含前后对比)【含Matlab源码 3250期】

蜜獾算法优化森林算法HBA-RF风电功率回归预测(含前后对比) 完整代码和数据,数据可直接替换,适合小白!可提供运行操作视频!

Matlab912100926的博客 950

【TC3xx芯片】TC3xx DMA模块详解

TC3xx DMA模块详解

qq_36056498的博客 5916

【YOLO11[基础]】分类任务的热力图可视化实践 | 论文必备 | 分类任务 | 即插即用 | 可选GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM, HiR

【YOLO11[基础]】分类任务的热力图可视化实践 | 论文必备 | 分类任务 | 即插即用 | 可选GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM, HiResCAM, LayerCAM, RandomCAM, EigenGradCAM等

静谧、淡雅 2389

【群智能算法改进】一种改进的蜜獾算法 IHBA算法[1]【Matlab代码#62】

针对原始蜜獾算法中的问题,提出了一种改进的蜜獾算法,采用的改进策略有:Tent映射种群初始化、带有扰动特性的新控制参数、小孔成像反向学习策略。

jayxiaoxionger的博客 1620

python抓取美团外卖的数据(商家、评分、评论)

本文详细介绍了如何使用Selenium和抓取美团外卖的商家、评分和评论数据。我们从基础的爬虫原理入手,分析了美团外卖的网页结构,提出了应对反爬虫机制的策略,并给出了详细的代码实现。通过使用Selenium,我们能够绕过动态加载内容的限制,直接抓取网页中的商家信息和评论。结合多线程和代理池等技术,我们可以进一步提高爬虫效率,并避免IP被封禁。未来,随着爬虫技术的发展,我们可以进一步探索深度抓取、数据清洗和数据分析等高级应用,以实现更智能的网页数据抓取。

2201_76125261的博客 2694

【路径规划】蜜獾算法栅格地图机器人路径规划【含Matlab源码 2825期】

蜜獾算法栅格地图机器人路径规划 完整的代码,方可运行;可提供运行操作视频!适合小白!

Matlab912100926的博客 1206

2024年数字IC秋招-海康威视-数字逻辑设计工程师-笔试题

笔试题型:单选 + 多选笔试平台:百一测试(电脑监控)笔试时间:1h30minA. AW通道B. D通道C. B通道D. AR通道return x++;x = 5;y = Foo(x);

qq_42135020的博客 3199

Flow Matching03-01:微分方程【微分方程(描述变化规律的方程):包含未知函数和它的导数的方程】【公式解(精确)、数值解(逼近)】

好的,我将从数学角度详细解释Flow Matching,从高中生能理解的基础知识开始,逐步深入到高级概念。

u013250861的博客 219

【风电功率预测】基于matlab蜜獾算法优化森林算法HBA-RF风电功率回归预测(含前后对比)【含Matlab源码 3250期】

蜜獾算法优化森林算法HBA-RF风电功率回归预测(含前后对比) 完整代码和数据,数据可直接替换,适合小白!可提供运行操作视频!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 181

SpringBoot实战教程-springboot概论

Spring Boot 是一个快速开发框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式,以及自动配置。内置web容器,帮助开发者能够实现快速开发,简化了应用系统的初始搭建以及开发过程。

鸟哥哥的专栏 4155

【智能算法应用】蜜獾算法求解二维栅格路径规划问题

1] 梁景润,刘丽桑,陈炯晖,等.多策略优化麻雀搜索算法及其路径规划的应用[J].福建理工大学学报,2023,21(06):605-612.栅格法模型最早由 W.E. Howden 于 1968 年提出,障碍物的栅格用黑色表示,可通过的自由栅格用白色表示。[3] 张恩浩.基于麻雀搜索算法的移动机器人路径规划算法研究[D].重庆理工大学,2022.[2] 邓明杰.面向路径规划的群智能优化算法研究[D].江西理工大学,2023.求解二维路径规划问题时,一般采用八领域搜索。

Logic_9527的博客 1090

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

HBA-Transformer时序预测:蜜獾算法优化电力负荷预测

时间序列预测是工业监控和金融分析的核心技术,传统ARIMA模型难以处理非线性特征,而神经网络易陷入局部最优。Transformer凭借其注意力机制能有效捕捉长期依赖,但位置编码和权重分配仍需优化。蜜獾算法(HBA)通过模拟挖掘和采蜜行为,实现全局探索与局部开发的平衡,为模型参数优化提供新思路。在电力负荷预测等场景中,将HBA与Transformer结合,通过优化位置编码和注意力权重,显著提升突变点捕捉能力。实践表明,该混合方案相比单一Transformer降低23%预测误差,特别适合风电功率预测等具有明显波

weixin_32678995的博客 285

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: python多进程共享变量使用技巧
下一篇: Pycharm+Anaconda的python虚拟环境配置最详细教程
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

智能优化_数据分析_AI算法

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

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

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

打赏作者

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

抵扣说明:

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

余额充值