赞
踩
河马优化算法(Hippopotamus optimization algorithm,HO)是2024年提出的一种新型启发式算法,目前还是一种很新的算法,很少有人引用,所以有很大的改进空间,使用一些改进策略再结合其他研究领域,比如故障诊断、时序预测等方向,也是一个不错的创新点。
目录
HO是从河马生活中观察到的三种突出的行为模式中获得的灵感。河马群由几只雌性河马、河马幼崽、多只成年雄性河马和一只占统治地位的雄性河马(兽群的领袖)组成。由于它们天生的好奇心,幼河马和幼河马经常表现出离开群体的倾向。因此,它们可能会被孤立,成为捕食者的目标。河马的第二种行为模式本质上是防御性的,当它们受到捕食者的攻击或其他生物侵入它们的领地时,就会被触发。河马表现出一种防御反应,它们将自己旋转向捕食者,并利用它们强大的下颚和发声来阻止和击退攻击者。狮子和斑点鬣狗等捕食者意识到这一现象,并积极寻求避免直接接触河马强大的下颚,作为一种预防措施,防止潜在的伤害。最后一种行为模式包含了河马的本能反应,即逃离捕食者并积极寻求与潜在危险区域保持距离。在这种情况下,河马努力向最近的水域航行,比如河流或池塘,就像狮子和斑点鬣狗经常表现出对进入水生环境的厌恶一样。下图为HO的伪代码和流程图。
完整Python代码:请私信
- def main():
-
- Fun_name = 'F1' # 目标函数
- SearchAgents = 30 # 种群数量
- Max_iterations = 500 # 迭代次数
-
- lowerbound, upperbound, dimension, fitness = fun_info(Fun_name)
- # 调用HO
- Best_score, Best_pos, HO_curve = HO(SearchAgents, Max_iterations, lowerbound, upperbound, dimension, fitness)
-
- print(f'The best solution obtained by HO for {Fun_name} is : {Best_pos}')
- print(f'The best optimal value of the objective function found by HO for {Fun_name} is : {Best_score}')
-
- plt.figure()
- plt.plot(HO_curve, color='red', linewidth=2)
- plt.xlabel('Iteration')
- plt.ylabel('Fitness')
- plt.box(True)
- plt.legend(['HO'])
- plt.show()
-
- if __name__ == "__main__":
- main()
Matlab (点击蓝色字体即可跳转链接)
- clc
- clear
- close all
- Fun_name='F1'; % number of test functions: 'F1' to 'F23'
- SearchAgents=30; % number of Hippopotamus (population members)
- Max_iterations=500; % maximum number of iteration
- [lowerbound,upperbound,dimension,fitness]=fun_info(Fun_name); % Object function
- [Best_score,Best_pos,HO_curve]=HO(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
-
- display(['The best solution obtained by HO for ' [num2str(Fun_name)],' is : ', num2str(Best_pos)]);
- display(['The best optimal value of the objective funciton found by HO for ' [num2str(Fun_name)],' is : ', num2str(Best_score)]);
-
- figure=gcf;
- semilogy(HO_curve,'Color','#b28d90','LineWidth',2)
- xlabel('Iteration');
- ylabel('Best score obtained so far');
- box on
- set(findall(figure,'-property','FontName'),'FontName','Times New Roman')
- legend('HO')
Amiri, M.H., Mehrabi Hashjin, N., Montazeri, M. et al. Hippopotamus optimization algorithm: a novel nature-inspired optimization algorithm. Sci Rep 14, 5032 (2024). https://doi.org/10.1038/s41598-024-54910-3
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。