PSO算法的优化机理 

算法初始化为一群随机粒子(随机解),每个粒子具有各自的速度和位置,然后粒子们追随当前最优粒子在解空间中搜索,通过迭代找到最优解。在每次迭代中,粒子通过跟踪个体极值 (个体历史最优解)和全局极值 (整个种群目前找到的最优解),并按下两式来更新自己的速度和位置:
                                               (1)
                                               (2)
其中 为第i个粒子在第d维上的速度, 为第i个粒子在d 维上的位置, 为惯性权重, 为均匀分布于[0,1]之间的随机数, 为加速因子。
PSO算法的基本流程:
① 初始化——确定各粒子的速度和位置,群体规模及最大循环次数;
② 计算个粒子的适应度值;
③ 用每个粒子的当前位置(适应度值)与个体极值 进行比较,如果较好,则替换 ;
④ 用每个粒子的当前位置(适应度值)与全局极值 进行比较,如果较好,则替换 ;
⑤ 根据公式⑴⑵,对粒子的速度和位置分别进行更新;
⑥ 判断停止准则(误差足够好或达到最大循环次数)退出;否则返回②。