?? genexpdata.m
字號:
%-----------------------------------------------------------%
%--Run Experiments for different dimensions and SwarmSizes--%
%-----------------------------------------------------------%
function GenExpData(numberofRuns, psoOptions)
% swarmsize = [20. 40. 80]; %設置粒子數(shù);
% DimIters = [10, 20, 30; ... %設置維數(shù);
% 1000, 1500, 2000]; %Corresponding iterations,設置相應迭代次數(shù);
swarmsize = [80]; %設置粒子數(shù);
DimIters = [10; ... %設置維數(shù);
2000]; %Corresponding iterations,設置相應迭代次數(shù);
for x = DimIters;
psoOptions.Vars.Dim = x(1,:);
psoOptions.Vars.Iterations = x(2,:);
for size = swarmsize;
psoOptions.Vars.SwarmSize = size;
RnS(numberofRuns, psoOptions);
end
end
%----------------%
%---Run & save---%
%----------------%
function RnS(numberofRuns, psoOptions)
disp(sprintf('This experiment will optimize %s function for %d times.', psoOptions.Obj.fitnessfunction, numberofRuns));
disp(sprintf('Population Size: %d\t\tDimensions: %d.', psoOptions.Vars.SwarmSize, psoOptions.Vars.Dim));
fVal = 0;
History=[];
disp(sprintf('Run \t\t Best objVal'));
for i = 1:numberofRuns
[tfxmin, xmin, Swarm, tHistory ,tmark_fGBest] = PSO(psoOptions);
fVal(i,:) = tfxmin;
Best_P(i,:) = xmin;
History(:,i) = tHistory;
mark_fGBest(i,:) = tmark_fGBest;
% disp(sprintf('%4d \t%10f', i, tfxmin)); %輸出最優(yōu)適應度函數(shù);
% disp(sprintf('%4d \t%5f', i, xmin)); %輸出最優(yōu)粒子位置;
tfxmin,xmin
figure(i);
% plot( mark_fGBest );
semilogy(mark_fGBest(i,:),'r:');
end
Avg = sum(fVal)/numberofRuns;
disp(sprintf('Avg. \t\t%10f\n\n', Avg))
fFile = strcat('f_', psoOptions.Obj.fitnessfunction, '_', int2str(psoOptions.Vars.SwarmSize), 'Particles', int2str(psoOptions.Vars.Dim), 'Dim'); %e.g. f_Rastrigrin_10d20p
BPFile = strcat('B_', psoOptions.Obj.fitnessfunction, '_', int2str(psoOptions.Vars.SwarmSize), 'Particles',int2str(psoOptions.Vars.Dim), 'Dim');
hFile = strcat('h_', psoOptions.Obj.fitnessfunction, '_', int2str(psoOptions.Vars.SwarmSize), 'Particles',int2str(psoOptions.Vars.Dim), 'Dim');
% save(fFile, 'fVal', '-ascii');
% save(BPFile, 'Best_P', '-ascii');
% save(hFile, 'History', '-ascii');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -