利用蜣螂优化算法(Dung Beetle Optimization Algorithm, DBO)求解CEC2022 主程序
clc
clear
SearchAgents_no=30;
Max_iteration=1000;
lb=-100;
ub=100;
dim=20;
fobj=str2func('cec22_test_func');
runs = 30;
for fn =1:12
Function_name=fn;
Best_score_T = zeros(1,runs);
PO_cg_curve2 = zeros(Max_iteration,runs);
parfor run=1:runs
rng('shuffle');
[Best_score_0,Best_pos,DBO_cg_curve] = DBO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj,Function_name);
Best_score_T(1,run) = Best_score_0;
PO_cg_curve2(:,run) = DBO_cg_curve;
end
Best_score_Best = min(Best_score_T);
Best_score_Worst = max(Best_score_T);
Best_score_Median = median(Best_score_T,2);
Best_Score_Mean = mean(Best_score_T,2);
Best_Score_std = std(Best_score_T);
display(['Fn= ', num2str(Function_name)]);
display(['Best, Worst, Median, Mean, and Std. are as: ', num2str(Best_score_Best),' ', ...
num2str(Best_score_Worst),' ', num2str(Best_score_Median),' ', num2str(Best_Score_Mean),' ', num2str(Best_Score_std)]);
hold on
end