当前位置:   article > 正文

河马优化算法(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.

二、部分代码

  1. clc
  2. clear
  3. close all
  4. tic
  5. %% 地图
  6. global G S E
  7. G=[0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
  8.    0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0
  9.    0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0
  10.    0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0
  11.    0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0
  12.    0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
  13.    0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0;
  14.    0 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0
  15.    0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0
  16.    0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0
  17.    0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0
  18.    0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0
  19.    0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0
  20.    0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0
  21.    1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0
  22.    1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0
  23.    0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 0
  24.    0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0
  25.    0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0
  26.    0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0;];
  27. for i=1:20/2
  28.     for j=1:20
  29.         m=G(i,j);
  30.         n=G(21-i,j);
  31.         G(i,j)=n;
  32.         G(21-i,j)=m;
  33.     end
  34. end
  35. %% 
  36. S = [1 1];   %起点
  37. E = [20 20];  %终点
  38. [ub,dimensions] = size(G);        
  39. dim = dimensions - 2;             
  40. %% 参数设置
  41. Max_iter= 200;    % 最大迭代次数
  42. SearchAgents_no = 50;         % 种群数量
  43. X_min = 1;  
  44. lb=1;
  45. fobj=@(x)fitness(x);
  46. [Best_score,Best_NC,Convergence_curve]=HO(SearchAgents_no,Max_iter,lb,ub,dim,fobj);
  47. toc
  48. %% 结果分析
  49. global_best = round(Best_NC);
  50. figure(1)
  51. plot(Convergence_curve,'b-','linewidth',2.5)
  52. xlabel('Iteration');
  53. ylabel('Fitness');
  54. legend('HO')

三、部分结果

四、完整MATLAB代码

点击main.m即可运行。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/561721
推荐阅读
相关标签
  

闽ICP备14008679号