IIL-PSO算法思想(单目标)
Interswarm Interactive Learning
①初始化:
将粒子随机分为数量相等的两组,为每组粒子初始化位置,
速度,全局最优粒子、和个体历史最优数组。
②迭代与学习:
计算每组粒子的成为被学习粒子群的概率。成为被学习粒子群中的粒子更新和普通PSO算法一样,
成为学习粒子群中的粒子,不仅需要学习自身和所在粒子群的经验,还需学习被学习粒子群中的经验。
在此基础上,为了防止两个粒子群结果接近,作者提出了速度变异策略和全局最优震动策略。
IILS
(Interswarm Interactive Learning Strategy)
①分出两个粒子群,计算成为被学习粒子群的概率。
T:时间参数(作者称为temperature,时间越长,两个粒子群的概率越接近)
②在学习粒子群中,计算每个粒子的学习概率,不需要学习的粒子利用简单PSO算法更新,需要学习的粒子不仅需要学习自身和所在粒子群的经验,还需学习被学习粒子群中的经验。
Si:粒子编号
N:当前粒子群粒子总数
VMO
(Velocity Mutation Operator)
目的:为了防止两个粒子群的全局最优结果接近,作者使用了速度变异算子。
操作:随机选择一个粒子群,在此粒子群中随机选择一个粒子和该粒子需要变异的维度数量。
GBVS
(Global Best Vibration Strategy)
目的:为了防止PSO陷入局部最优
由于Gbest已经有良好的适应度的值,因此在这里只需要对一个维度进行修改