📄 ex0407.asv
字号:
clear;
% global psoOptions;
N = 4; radius = (3*N/(4*pi*sqrt(2)))^(1/3);
unit = [0 2*pi;0 pi;0 radius];bounds=unit;
for i=1:N-1 bounds = cat(1,bounds,unit); end
LJmin = [0,-1.0000,-3.0000,-6.0000,-9.1038,-12.7120,-16.5053,-19.8214,-24.1133,-28.4225,-32.7659,-37.9676,-44.3268];
psoOptions = get_psoOptions;
psoOptions.Flags.Neighbor = 0; % NOT good for Rastrigrin
% psoOptions.Flags.ShowViz = 0;
% psoOptions.Vars.Dim = 3 * N;
% psoOptions.Obj.GM = LJmin(N);
% psoOptions.Obj.lb = bounds(:,1)';
% psoOptions.Obj.ub = bounds(:,2)';
psoOptions.Obj.f2eval = 'Gr';
psoOptions.Obj.lb = 100 * ones(1,psoOptions.Vars.Dim);
psoOptions.Obj.ub = 200 * ones(1,psoOptions.Vars.Dim);
psoOptions.SParams.Vmax = max(psoOptions.Obj.ub);
psoOptions.Vars.Iterations = 5000;
psoOptions.Vars.ErrGoal = 1e-5;
[fxmin, xmin, Swarm, history] = pso(psoOptions);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -