粒子群算法3——算法改进

一、理论研究改进

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

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

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

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


二、拓扑结构改进

1、拓扑结构的发展

              粒子群算法3——算法改进_第1张图片

2、常见拓扑结构

  

           粒子群算法3——算法改进_第2张图片

全局版本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 年将连续的值域分区间,每个区间赋予一个相应的离散值


四、应用方向

             粒子群算法3——算法改进_第3张图片


五、参数优化方向

*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]之间随机取值
(3)w设为0.729的同时将c1和c2设1.49445,有利于算法的收敛  

6、压缩因子 c
限制粒子的飞行速度的,保证算法的有效收敛
clerc等人通过数学计算得到c取值0.729,同时 c 1c 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、 同步和异步更新


你可能感兴趣的:(粒子群算法笔记)