• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: PSO  matlab  

资源简介

粒子群算法,也称粒子群优化算法,缩写为 PSO, 是由J. Kennedy和R. C. Eberhart等开发的一种新的进化算法,PSO 算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) 操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。

资源截图

代码片段和文件信息

% 定义PSO函数
function out = PSO(problem params)

    %% 读取problem变量的值

    CostFunction = problem.CostFunction;  % 目标函数
    nVar = problem.nVar;        % 决策变量个数
    VarSize = [1 nVar];         % 决策变量矩阵大小
    VarMin = problem.VarMin; % 决策变量的取值的最小值
    VarMax = problem.VarMax;    % 决策变量的取值的最大值


    %% 读取params变量的值

    MaxIt = params.MaxIt;   % 最大迭代次数
    nPop = params.nPop;     % 种群数量
    w = params.w;           % 惯性系数w
    wdamp = params.wdamp;   % 每次迭代改变惯性系数
    c1 = params.c1;         % 个体理性系数c1
    c2 = params.c2;         % 群体理性系数c2;         本文设r1r2为区间(0,1)的随机数

    % 判断是否显示迭代信息
    ShowIterInfo = params.ShowIterInfo;    
    
    % 定义速度的上下界
    MaxVelocity = 0.2*(VarMax-VarMin);
    MinVelocity = -MaxVelocity;
    
    %% 初始化
    
    % 粒子的性质
    empty_pa

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1073  2019-02-02 00:44  pso1.m

     文件         53  2019-01-30 21:16  Sphere.m

     文件       4254  2019-02-02 00:52  PSO.m

----------- ---------  ---------- -----  ----

                 5380                    3


评论

共有 条评论