⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
个人网站:https://jerry-jy.co/❗️❗️❗️知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我
智能优化算法--计算重复运行50次的最大值、最小值、均值、标准差
- 说明
在衡量改进的智能优化算法性能时候,需要反复将算法在某个基准测试函数跑多次,得到它的最大值、最小值、均值、标准差,以此来检验算法的鲁棒性如何
很明显,如果手动run 50次,肯定是费时费力的,这时候需要我们将每一次的运行结果得到的最大值、最小值、均值、标准差用log日志的形式持续化写入本地磁盘,方便以后读取数据。
diary('HWHO_1000D.txt');%将控制台的log日志保存到本地
diary on;
arr=[];%定义一个数组来存储每次循环后的结果
%
% tic %开始计时clear
close all
clcfor i=1:50 %定义好循环的次数N=30; % Number of search agentsFunction_name='F4'; % % Name of the test function that can be from F1 to F23 and cec01 to cec10Max_iter=500; % Maximum number of iterations% Load details of the selected benchmark function
[dim,fobj,ub, lb] = Select_Functions(Function_name);%维度,上界,下界
[Convergence_curve,gBest,gBestScore]=WHO(N,Max_iter,lb,ub,dim,fobj);
arr(i)=gBestScore;
end
toc %计始结束
display(['函数名: ', num2str(Function_name)]);
display(['50次循环的最优值是: ', num2str(arr)]);
display(['最小值是: ', num2str(min(arr))]);
display(['最大值是: ', num2str(max(arr))]);
display(['均值是: ', num2str(mean(arr))]);
display(['标准差是: ', num2str(std(arr))]);
fprintf('\r\n');
这样一来就可以很方便的了解改进算法的鲁棒性如何
–end–
说明
本实验(项目)/论文若有需要,请后台私信或【文末】个人微信公众号联系我