• 大小: 2.66MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-19
  • 语言: Matlab
  • 标签: 粒子群  

资源简介

内有代码,有报告。
1、理解粒子群算法的基本思想和基本流程。
2、利用 Matlab 实现粒子群算法求解函数优化问题。
3、分析算法中各种参数变化对计算结果的影响。
1、打印程序清单。
2、绘制每代个体适应度值变化图,记录算法的最优解。
3、分析惯性权重的变换对求解性能的影响。
4、简要回答思考题。

资源截图

代码片段和文件信息

% demopsobehavior.m
% demo of the pso.m function
% the pso tries to find the minimum of the f6 function a standard
% benchmark
%
% on the plots blue is current position green is Pbest and red is Gbest

% Brian Birge
% Rev 3.0
% 2/27/06

clear all
close all
clc
help demopsobehavior
warning off

functnames = {‘ackley‘‘alpine‘‘DeJong_f2‘‘DeJong_f3‘‘DeJong_f4‘...
              ‘Foxhole‘‘Griewank‘‘NDparabola‘...
              ‘Rastrigin‘‘Rosenbrock‘‘f6‘‘f6mod‘‘tripod‘...
              ‘f6_bubbles_dyn‘‘f6_linear_dyn‘‘f6_spiral_dyn‘};
disp(‘Static test functions minima don‘‘t change w.r.t. time/iteration:‘);
disp(‘ 1) Ackley‘);
disp(‘ 2) Alpine‘);
disp(‘ 3) DeJong_f2‘);
disp(‘ 4) DeJong_f3‘);
disp(‘ 5) DeJong_f4‘);
disp(‘ 6) Foxhole‘);
disp(‘ 7) Griewank‘);
disp(‘ 8) NDparabola (for this demo N = 2)‘);
disp(‘ 9) Rastrigin‘);
disp(‘10) Rosenbrock‘);
disp(‘11) Schaffer f6‘);
disp(‘12) Schaffer f6 modified (5 f6 functions translated from each other)‘);
disp(‘13) Tripod‘);
disp(‘ ‘);
disp(‘Dynamic test functions minima/environment evolves over time/iteration:‘);
disp(‘14) f6_bubbles_dyn‘);
disp(‘15) f6_linear_dyn‘);
disp(‘16) f6_spiral_dyn‘);

functchc=input(‘Choose test function ? ‘);
functname = functnames{functchc};

disp(‘ ‘);
disp(‘1) Intense graphics shows error topology and surfing particles‘);
disp(‘2) Default PSO graphing shows error trend and particle dynamics‘);
disp(‘3) no plot only final output shown fastest‘);
plotfcn=input(‘Choose plotting function ? ‘);
if plotfcn == 1
   plotfcn = ‘goplotpso4demo‘;
   shw     = 1;   % how often to update display
elseif plotfcn == 2
   plotfcn = ‘goplotpso‘;
   shw     = 1;   % how often to update display
else
   plotfcn = ‘goplotpso‘;
   shw     = 0;   % how often to update display
end
   

% set flag for ‘dynamic function on‘ only used at very end for tracking plots
dyn_on = 0;
if functchc==15 | functchc == 16 | functchc == 17
   dyn_on = 1;
end

%xrng=input(‘Input search range for X e.g. [-1010] ? ‘);
%yrng=input(‘Input search range for Y ? ‘);
xrng=[-3030];
yrng=[-4040];
disp(‘ ‘);
% if =0 then we look for minimum =1 then max
  disp(‘0) Minimize‘)
  disp(‘1) Maximize‘)
  minmax=input(‘Choose search goal ?‘);
 % minmax=0;
  disp(‘ ‘);
  mvden = input(‘Max velocity divisor (2 is a good choice) ? ‘); 
  disp(‘ ‘);
  ps    = input(‘How many particles (24 - 30 is common)? ‘);
  disp(‘ ‘);
  disp(‘0) Common PSO - with inertia‘);
  disp(‘1) Trelea model 1‘);
  disp(‘2) Trelea model 2‘);
  disp(‘3) Clerc Type 1“ - with constriction‘);
  modl  = input(‘Choose PSO model ? ‘);
 % note: if errgoal=NaN then unconstrained min or max is performed
  if minmax==1
    %  errgoal=0.97643183; % max for f6 function (close enough for termination)
      errgoal=NaN;
  else
     % errgoal=0; % min
      errgoal=NaN;
  end
  minx = xrng(1);
  maxx = xrng(2);
  miny = yrng(1);
  maxy = yrng(2);

%----

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-03-18 20:34  实验三 粒子群算法求解函数优化问题 - 副本\
     目录           0  2020-03-18 20:33  实验三 粒子群算法求解函数优化问题 - 副本\post\
     文件      741121  2003-05-22 20:25  实验三 粒子群算法求解函数优化问题 - 副本\post\A Particle Swarm Optimization (PSO) Primer.pdf
     文件        4862  2006-03-06 23:54  实验三 粒子群算法求解函数优化问题 - 副本\post\DemoPSOBehavior.m
     文件        4387  2006-03-18 00:44  实验三 粒子群算法求解函数优化问题 - 副本\post\ReadME.txt
     文件        5829  2019-04-30 09:51  实验三 粒子群算法求解函数优化问题 - 副本\post\goplotpso.m
     文件        4899  2006-03-06 21:46  实验三 粒子群算法求解函数优化问题 - 副本\post\goplotpso4demo.m
     目录           0  2020-03-18 20:33  实验三 粒子群算法求解函数优化问题 - 副本\post\hiddenutils\
     文件         172  2004-04-28 03:05  实验三 粒子群算法求解函数优化问题 - 副本\post\hiddenutils\forcecol.m
     文件         181  2004-04-28 03:05  实验三 粒子群算法求解函数优化问题 - 副本\post\hiddenutils\forcerow.m
     文件         749  2004-08-24 03:41  实验三 粒子群算法求解函数优化问题 - 副本\post\hiddenutils\linear_dyn.m
     文件        4588  2006-03-17 23:52  实验三 粒子群算法求解函数优化问题 - 副本\post\hiddenutils\normmat.m
     文件         841  2004-08-28 03:51  实验三 粒子群算法求解函数优化问题 - 副本\post\hiddenutils\spiral_dyn.m
     文件        1311  2014-02-12 12:13  实验三 粒子群算法求解函数优化问题 - 副本\post\license.txt
     目录           0  2020-03-18 20:33  实验三 粒子群算法求解函数优化问题 - 副本\post\nnet\
     文件        1857  2006-03-18 00:32  实验三 粒子群算法求解函数优化问题 - 副本\post\nnet\demoPSOnet.m
     文件        7808  2006-03-15 11:26  实验三 粒子群算法求解函数优化问题 - 副本\post\nnet\goplotpso4net.m
     文件         836  2006-03-11 11:24  实验三 粒子群算法求解函数优化问题 - 副本\post\nnet\pso_neteval.m
     文件       11664  2006-03-18 00:01  实验三 粒子群算法求解函数优化问题 - 副本\post\nnet\trainpso.m
     文件       22223  2006-03-17 23:42  实验三 粒子群算法求解函数优化问题 - 副本\post\pso_Trelea_vectorized.m
     目录           0  2020-03-18 20:33  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\
     文件         732  2004-08-14 01:06  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\DeJong_f2.m
     文件         506  2004-08-20 03:39  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\DeJong_f3.m
     文件        1004  2004-08-14 01:17  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\DeJong_f4.m
     文件        1278  2004-08-14 03:48  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\Foxhole.m
     文件        1214  2004-08-13 23:02  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\Griewank.m
     文件         663  2004-08-20 03:26  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\NDparabola.m
     文件         521  2004-08-20 03:26  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\Rastrigin.m
     文件         723  2004-08-20 03:24  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\Rosenbrock.m
     文件         871  2004-08-24 01:42  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\ackley.m
     文件         639  2004-08-20 03:40  实验三 粒子群算法求解函数优化问题 - 副本\post\testfunctions\alpine.m
............此处省略37个文件信息

评论

共有 条评论