一、海马优化算法
海马优化算法(Sea Horse Optimizer,SHO)由Shijie Zhao等人于2022年提出,该算法性能高效,思路新颖。
参考文献:Zhao, S., Zhang, T., Ma, S. et al. Sea-horse optimizer: a novel nature-inspired meta-heuristic for global optimization problems. Appl Intell (2022). https://doi.org/10.1007/s10489-022-03994-3
SHO算法描述:
二、CEC2020简介
CEC2020共有10个测试函数测试维度包含:2D、5D、10D、15D、20D。CEC2020测试问题随着维度的增加求解极其困难。
三、求解结果
将海马优化算法SHO运用于求解CEC2020中10个函数,其中每个测试函数可以选择的维度分别有:2D、5D、10D、15D、20D。增大迭代次数,海马优化算法SHO的求解效果更佳。本例测试函数维度均为10D(可根据自己需求调整),种群大小为50,最大迭代次数为1000次。
close all
clear
clc
MaxFes = 1000;%迭代次数
VarNumber = 10;%维度 2/5/10/15/20
nPop = 50;%种群大小
VarMin=-100;%下限
VarMax=100;%上限
fitnessfunc=str2func('cec20_func');
Function_name=1;
[Best_Fit,Best_Pos,Curve]=SHO(nPop,MaxFes,VarMin,VarMax,VarNumber,CostFunction);
figure
plot(Curve,'linewidth',2.5)
xlabel('迭代次数')
ylabel('适应度值')
legend('SHO')
title(strcat('CEC2020-F',num2str(Function_name)))
部分求解结果:
F1:
F2:
F3:
F4:
四、参考代码
文件夹内包含海马优化算法SHO求解CEC2020完整代码,点击main.m即可运行。