一、理论研究改进

 (1) Clerc&Kennedy2002年设计了一个称为压缩因子的参数。在使用了此参数之后,PSO能够更快地收敛。

(2)Trelea 2003年指出PSO最终最终稳定地收敛于空间中的某一个点,但不能保证是全局最优点。

 (3) Kadirkamanathan等人2006年在动态环境中对PSO的行为进行研究,由静态分析深入到了动态分析。

 (4) F.van den Bergh等人2006年对PSO的飞行轨迹进行了跟踪,深入到了动态的系统分析和收敛性研究。


二、拓扑结构改进

1、拓扑结构的发展

              

粒子群优化算法神经网络python 粒子群优化cnn_极值

2、常见拓扑结构

  

           

粒子群优化算法神经网络python 粒子群优化cnn_优化问题_02


全局版本PSO和局部版本PSO在收敛特点:

1.GPSO由于其很高的连接度,往往具有比LPSO更快的收敛速度。但是,快速的收敛也让GPSO付出了多样性迅速降低的代价

2.LPSO由于具有更好的多样性,因此一般不容易落入局部最优,在处理多峰问题上具有更好的性能

在解决具体问题的时候,可以遵循以下一些规律:

(A)邻域较小的拓扑结构在处理复杂的、多峰值的问题上具有优势,例如环型结构的LPSO

(B)随着邻域的扩大,算法的收敛速度将会加快,这对简单的、单峰值的问题非常的有利,例如GPSO在这些问题上就表现很好



三、混合改进算法

1、二进制编码的PSO(BPSO)


Kennedy和Eberhart 1997 年对PSO进行了离散化,形成了二进制编码的PSO(BPSO),并且在对De Jong 的五个标准测试函数的测试中取得较好的效果



2、整数编码的PSO


Salman等人2002 年将粒子的位置变量四舍五入为最接近的合法的离散值

Yoshida等人 2000 年将连续的值域分区间,每个区间赋予一个相应的离散值



四、应用方向

             

粒子群优化算法神经网络python 粒子群优化cnn_极值_03


五、参数优化方向



1、 种群规模 N


影响着算法的搜索能力和计算量




(1)PSO对种群规模要求不高,一般取20-40就可以达到很好的求解效果



(2)不过对于比较难的问题或者特定类别的问题,粒子数可以取到100或200




2、 粒子的长度 D


粒子的长度D由优化问题本身决定,就是问题解的长度




3、 粒子的范围 R


粒子的范围R由优化问题本身决定,每一维可以设定不同的范围




4、 最大速度 V max


决定粒子每一次的最大移动距离,制约着算法的探索和开发能力




(1)Vmax的每一维最大速度一般可以取相应维搜索空间的10%-20%,甚至100%



(2)也有研究使用将Vmax按照进化代数从大到小递减的设置方案




5、惯性权重 w


控制着前一速度对当前速度的影响,用于平衡算法的探索和开发能力



(1)一般设置为从0.9线性递减到0.4,也有非线性递减的设置方案



(2)可以采用模糊控制的方式设定,或者在[0.5,1.0]之间随机取值



 




6、压缩因子 c


限制粒子的飞行速度的,保证算法的有效收敛




clerc等人通过数学计算得到c取值0.729,同时 c 1和 c 2设为2.05 




7、加速系数 c 1 和 c 2


代表了粒子向自身极值pBest和全局极值gBest推进的加速权值



(1)c1和c2通常都等于2.0,代表着对两个引导方向的同等重视



(2)也存在一些c1和c2不相等的设置,但其范围一般都在0和4之间



(3)研究对c1和c2的自适应调整方案对算法性能的增强有重要意义 




8、终止条件


决定算法运行的结束,由具体的应用和问题本身确定



(1)将最大循环数设定为500,1000,5000,或者最大的函数评估次数,等等



(2)也可以使用算法求解得到一个可接受的解作为终止条件



(3)或者是当算法在很长一段迭代中没有得到任何改善,则可以终止算法




9、 全局和局部 PSO


决定算法如何选择两种版本的粒子群优化算法—全局版PSO和局部版PSO



(1)全局版本PSO速度快,不过有时会陷入局部最优



(2)局部版本PSO收敛速度慢一点,不过不容易陷入局部最优



(3)在实际应用中,可以根据具体问题选择具体的算法版本




10、 同步和异步更新