一、螳螂搜索算法
螳螂搜索算法(Mantis Search Algorithm,MSA)由Mohamed Abdel-Basset等人于2023年提出,该算法模拟螳螂独特的狩猎和性同类相食行为。MSA由三个优化阶段组成,包括寻找猎物(探索),攻击猎物(剥削)和性同类相食,具有搜索效率高等优势。
参考文献:
[1]Mohamed Abdel-Basset, Reda Mohamed, Mahinda Zidan, Mohammed Jameel, Mohamed Abouhawwash,Mantis Search Algorithm: A novel bio-inspired algorithm for global optimization and engineering design problems,Computer Methods in Applied Mechanics and Engineering,415,2023https://doi.org/10.1016/j.cma.2023.116200.
二、cec2013简介
在CEC 2013 Special Session on Real-Parameter Optimization中共有28个测试函数维度可选择为10/30/50/100。每个测试函数的信息如下表所示:(详细信息见下方参考文献)
CEC2013的28个函数_IT猿手的博客-CSDN博客
参考文献:
[1] Liang J J , Qu B Y , Suganthan P N ,et al.Problem Definitions and Evaluation Criteria for the CEC 2013 Special Session on Real-Parameter Optimization[J]. 2013.
三、MSA求解cec2013
(1)部分代码
close all;
clear ;
clc;
dim =10; %维度
TestProblem=1; %测试函数索引可以选择 1-28
[Fun_Name,lb,ub,opt_f,err] = get_fun_info_CEC2013(TestProblem,dim);%获取函数信息
fob=str2func('cec13_0');
SearchAgents_no=50; % 种群大小(可以修改)
Max_iteration=500; % 最大迭代次数(可以修改)
[Xbest,Best_score,Convergence_curve]=MSA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
figure
plot(Convergence_curve,'r','linewidth',2)
xlabel('Iteration')
ylabel('Fitness')
title(['CEC2013-F' num2str(TestProblem)])
legend('MSA')
(2)部分结果