基于粒子迁徙的粒群优化算法及其在岩土工程中的应用
第4期 常晓林等:基于粒子迁徙的粒群优化算法及其在岩土工程中的应用
将粒子目前的位置代入新的粒群中,还将粒子的个体极值pBest引入新的粒群,以此加强子粒群间的信息交流并提高粒群的多样性。
算法的具体流程(见图1)如下:
(1)初始化。在搜索空间中随机投放s个粒子。粒群规模s pl,p为子粒群的个数,l为子粒群的规模。计算每个粒子的适应度。
(2)分组。将s个粒子随机划分到p个子粒群
中,Sk {xkk
1,x2, ,xkl}表示第k个子粒群。
(3)演化。对每个子粒群进行独立演化,演化策略采用考虑了线性递减的惯性权重、线性变化的加速因子和自适应变异算子的PSO算法。 (4)迁徙。如果当前的迭代次数能被设定的迁徙间隔整除,则执行迁徙操作,如图2所示。
①为每个子粒群随机分派一个互斥的索引表示该子粒群粒子迁徙的目标子粒群。②采用轮盘赌的方式,按照粒子的适应度值选择n个粒子,n lr,
r为粒群的迁徙率。③将待迁徙的粒子迁徙到目标子粒群中。
(5)变异。如果子粒群最优值保持不变或者变化很小的次数iterN超过了阀值iterMax,则执行变异操作。
(6)更新。根据式(1)、(2)更新粒子的速度和位置,计算粒子在当前位置的适应度值。如果粒子的当前位置优于个体极值pBest,则将pBest更新为当前的位置。同样,全局极值gBest也被更新为粒群中的最优pBest。 (7)判断算法收敛准则,如果满足则结束演化,输出结果;否则,转到第3步。



迭代次数
迁徙间隔
0 图1 算法流程图
1079
Fig.1


The flow chart of PSO
图2 粒子迁徙示意图
Fig.2 The migration scheme
2.4 算法测试
为了验证本文提出的MPSO算法的性能,将标准PSO算法、线性递减权重的LPSO算法、考虑随时间变化的加速因子的LPSO-TVAC算法和本文提出的MPSO算法进行对比分析。基准测试函数Rastrigin、Griewank是两个典型的非线性、多峰值函数,具有多个局部极值点,通常被用作优化算法的测试函数。基准测试函数的形式、取值范围、最优值见表1,测试函数图形见图3。
表1 测试函数
Table 1 Benchmark test functions
测试函数 表达式 xi取值区间 最优值 Rastrigin f(x) n[x2i 1
i 10cos(2πxi) 10]
[ 5.12,5.12]

nn


