一、23个基准测试函数简介
在智能优化算法的性能测试过程中,经常需要借助一些测试函数对算法的全局搜索和局部搜索的性能测试。CEC(国际进化计算会议) 测试函数,常用的23组整理如下:
参考文献:
[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.
二、求解结果
(1)部分MATLAB代码
AlgorithmName={'NOA','MA','PSO','GA','ZOA','SWO'};%算法名称Function_name='F10';%测试函数F1-F23(可以修改) addpath('./AlgorithmCode/')%添加算法路径SearchAgents_no=100;% 种群大小(可以修改)Max_iteration=100;%最大迭代次数(可以修改)[lb,ub,dim,fobj]=Get_Functions_details(Function_name);%获取测试函数上下界、维度及目标函数fori=1:size(AlgorithmName,2)%遍历每个算法,依次求解当前问题Algorithm=str2func(AlgorithmName{i});%获取当前算法名称,并将字符转换为函数[Best_pos,Best_score,Convergence_curve]=Algorithm(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);%当前算法求解 %将当前算法求解结果放入data中 data(i).Best_score=Best_score;%保存该算法的Best_score到data data(i).Best_pos=Best_pos;%保存该算法的Best_pos到data