河马优化算法(Hippopotamus optimization algorithm,HO)求解机器人栅格地图最短路径规划,可以自定义地图(提供MATLAB代码)

一、河马优化算法

河马优化算法(Hippopotamus optimization algorithm,HO)由Amiri等人于2024年提出,该算法模拟了河马在河流或池塘中的位置更新、针对捕食者的防御策略以及规避方法。2024最新算法:河马优化算法(HO)求解23个基准函数_hippopotamus optimization algorithm: a novel natur-CSDN博客

参考文献:

[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.

二、部分代码

clc
clear
close all
tic
%% 地图
global G S E
G=[0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0; 
   0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0; 
   0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0; 
   0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0; 
   0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0; 
   0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0; 
   0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0;
   0 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0; 
   0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0; 
   0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0; 
   0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0; 
   0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0; 
   0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0; 
   0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0; 
   1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0; 
   1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0; 
   0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 0; 
   0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0; 
   0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0; 
   0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0;];
for i=1:20/2
    for j=1:20
        m=G(i,j);
        n=G(21-i,j);
        G(i,j)=n;
        G(21-i,j)=m;
    end
end
%% 
S = [1 1];   %起点
E = [20 20];  %终点
[ub,dimensions] = size(G);        
dim = dimensions - 2;             
%% 参数设置
Max_iter= 200;    % 最大迭代次数
SearchAgents_no = 50;         % 种群数量
X_min = 1;  
lb=1;
fobj=@(x)fitness(x);
[Best_score,Best_NC,Convergence_curve]=HO(SearchAgents_no,Max_iter,lb,ub,dim,fobj);


toc
%% 结果分析
global_best = round(Best_NC);
figure(1)
plot(Convergence_curve,'b-','linewidth',2.5)
xlabel('Iteration');
ylabel('Fitness');
legend('HO')

三、部分结果

四、完整MATLAB代码

点击main.m即可运行。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值