2.6二阶粒子群算法
2.6.1算法原理
在标准PSO算法中,微粒的飞行速度仅仅是微粒当前位置的函数,而二阶粒子群算法中微粒飞行速度的变化与微粒位置的变化有关,其速度更新公式为
(2-32)
2.6.2算法步骤
二阶粒子群算法的具体实现步骤如下:
①随机初始化种群中各微粒的位置和速度;
②评价每个微粒的适应度,将当前各微粒的位置和适应值存储在各微粒的pbest中,将所有pbest中适应值最优个体的位置和适应值存储于gbest中;
③根据下面方程对微粒的速度和位置进行进化
(2-33) (2-34)
④对每个微粒,将其适应值与其经历过的最好位置作比较如果较好,则将其作为当前的最好位置;
⑤比较当前所有的pbest和gbest的值,更新gbest;
⑥若满足停止条件,搜索停止,输出结果,否则返回③继续搜索
取值
N:粒子数目; 40
w:惯性权重; 0.7
C1:学习因子1; 1
C2:学习因子2; 1
M:最大迭代次数; 10000
D:问题的文数; 2
程序见附录7
输入[xm,fv] = SecPSO(@fitness,40,0.7,1,1,10000,2)
得出 xm =3.141592663015890 2.274999989919220
fv = 0.397887357729738
本例题中的函数有无数个最小点,最小值为0.39789,离原点较近的两个最小点为(-3.14159,2.275)和(3.14159,2.275),用二阶粒子群算法求得了原点右边最近的一个最小点。要注意的是,此处的学习因子不能像前面的算法那样都取2.
2.7二阶振荡粒子群算法
2.7.1算法原理
二阶微粒群算法是渐近收敛的,为了进一步提高群体的多样性,可考虑在二阶微粒群 算法中引入一个振荡环节,来改善算法的全局收敛性。其速度更新方程为:
(2-35)
2.7.2算法步骤
①随机初始化种群中各微粒的位置和速度;
②评价每个微粒的适应度,将当前各微粒的位置和适应值存储在各微粒的pbest中,将所有pbest中适应值最优个体的位置和适应值存储于gbest中;本文来自辣%文,论'文.网,
毕业论文 www.751com.cn 加7位QQ324~9114找原文
③如果当前进化代数小于最大进化代数的1/2,根据下面的方程对微粒的速度和位置进行进化
(2-36)
其中
(2-37)
如果当前进化代数大于最大进化代数的1/2,根据下面的方程对微粒的速度和位置进行进化
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
matlab微粒群算法研究与仿真 第10页下载如图片无法显示或论文不完整,请联系qq752018766