标准粒子群算法(PSO)matlab实现

标准PSO算法的核心公式如下:

其中,w,c1,c2是预置好的: w称为惯性权重,大小一般在[0.5,1.5]。 c1,c2称为学习因子,一般取值[1,4],通常设置的c1=c2,但是c1与c2不必完全相同。
此实验是在二维空间寻找最小值,设置多峰函数: z = x^2 + y-7cos(pix)-8cos(2pi*y); 它的图像如下所示,我们要找的是z的最小值,也是z轴的最低点。
下面是一些参数设置的变化对粒子收敛情况的影响 本次实验中,种群规模为100,迭代次数为100,其他参数进行不断的变化 (1)w=0.8 , c1=1.4 , c2=1.4 这是一般情况下参数的设置。
 

上图是粒子群在三维图上的变化,可以看出粒子的分布越来越集中,由于寻找的是最小值,后期的分布很难看出,以下是x-y的一个俯视图,看出粒子越来越集中。

后面为了更加直观的了解粒子的收敛情况,只给出粒子在二维平面(x,y)的一个运动情况。
(2)w=1.2 , c1=1.4 , c2=1.4 惯性权重变大,使得粒子对上一代的速度

标准粒子群算法(PSO)matlab实现最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/9914.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>