2024最新算法:河马优化算法(HO)求解23个基准函数

一、河马优化算法

河马优化算法(Hippopotamus optimization algorithm,HO)由Amiri等人于2024年提出,该算法模拟了河马在河流或池塘中的位置更新、针对捕食者的防御策略以及规避方法。河马优化算法的灵感来自河马生活中观察到的三种突出行为模式。河马群由几只雌性河马、河马幼崽、多只成年雄性河马和一只占主导地位的雄性河马(牛群的领导者)组成.由于它们与生俱来的好奇心,幼崽和小河马经常表现出远离群体的倾向。因此,它们可能会变得孤立并成为捕食者的目标。

参考文献:

1\]Amiri, Mohammad Hussein, et al. "Hippopotamus Optimization Algorithm: a Novel Nature-Inspired Optimization Algorithm." Scientific Reports, vol. 14, no. 1, Springer Science and Business Media LLC, Feb. 2024, doi:10.1038/s41598-024-54910-3. ### 二、23个函数介绍 ![](https://file.jishuzhan.net/article/1765230370741030914/3ea3af6a4cb623b78dd28fe776bae638.webp) 参考文献: \[1\] Yao X, Liu Y, Lin G M. Evolutionary programming made faster\[J\]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102. ### 三、HO求解23个函数 #### 3.1部分代码 ``` close all ; clear clc Npop=30;                 Function_name='F1';     % Name of the test function that can be from F1 to F23 (  Tmax=300;               [lb,ub,dim,fobj]=Get_Functions_details(Function_name); [Best_fit,Best_pos,Convergence_curve]=HO(Npop,Tmax,lb,ub,dim,fobj); figure('Position',[100 100 660 290]) %Draw search space subplot(1,2,1); func_plot(Function_name); title('Parameter space') xlabel('x_1'); ylabel('x_2'); zlabel([Function_name,'( x_1 , x_2 )']) %Draw objective space subplot(1,2,2); semilogy(Convergence_curve,'Color','r','linewidth',3) title('Search space') xlabel('Iteration'); ylabel('Best score obtained so far'); axis tight grid on box on legend('HO') saveas(gca,[Function_name '.jpg']); display(['The best solution is ', num2str(Best_pos)]); display(['The best fitness value is ', num2str(Best_fit)]); ``` #### 3.2部分结果 ![](https://file.jishuzhan.net/article/1765230370741030914/bd08ef26966ee3ad8a53dc759261115c.webp) ![](https://file.jishuzhan.net/article/1765230370741030914/9e72a798a2bef1287e81da5b0f4cca0c.webp) ![](https://file.jishuzhan.net/article/1765230370741030914/ec536622ce3f634581cb090ea75a2840.webp) ![](https://file.jishuzhan.net/article/1765230370741030914/3b2454a49ca1adabdaa2f76bbdce0739.webp) ![](https://file.jishuzhan.net/article/1765230370741030914/44c76af1d4fcd66a1da010539bd3ae2a.webp) ![](https://file.jishuzhan.net/article/1765230370741030914/c3b9e4863aa95693ebe413e80d4d493b.webp) ![](https://file.jishuzhan.net/article/1765230370741030914/2afff90fa03a1a7569ba2c7e036de6b2.webp) ![](https://file.jishuzhan.net/article/1765230370741030914/fb86bb7eb82b9719950f7b6bd9db0a1d.webp) ### 四、完整MATLAB代码

相关推荐
地平线开发者2 小时前
ReID/OSNet 算法模型量化转换实践
算法·自动驾驶
地平线开发者2 小时前
开发者说|EmbodiedGen:为具身智能打造可交互3D世界生成引擎
算法·自动驾驶
星星火柴9363 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
艾莉丝努力练剑4 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
C++、Java和Python的菜鸟6 小时前
第六章 统计初步
算法·机器学习·概率论
Cx330❀6 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
散1126 小时前
01数据结构-Prim算法
数据结构·算法·图论
起个昵称吧6 小时前
线程相关编程、线程间通信、互斥锁
linux·算法
myzzb7 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa
旺小仔.7 小时前
双指针和codetop复习
数据结构·c++·算法