基于维度划分的协同PSO算法

基于维度划分的协同PSO算法(Cooperative Particle Swarm Optimization,简称CPSO),算法采用沿不同维度分量划分子群体的原则,即用nGroup个相互独立的微粒群分别在D维的目标搜索空间中的不同维度方向上进行搜索。

具体做法是:选定划分因子(split-factor)nGroup和粒子群个体数nPopOfGroup,将输入的D维向量(粒子的位置及速度向量)划分到nGroup个粒子群中。前(D mod K)个粒子群,其粒子的位置及速度向量都是D/K维的;而后K-(D mod K)个粒子群,其粒子的位置和速度向量都是D/K维的。

计算适应度值时,将每个粒子群中最优粒子的位置向量拼接起来,组成D维向量并代入适应函数计算适应值。在每一次的迭代中,这K个相互独立地进行状态更新,粒子群之间不共享信息。此算法在迭代初期,适应值下降缓慢,且其收敛速度与种群所含微粒数目成反比。但由于协同算法采用局部学习策略,因此比基本PSO算法更容易跳出局部极值,达到较高的收敛精度。

在优化问题各维度变量相互独立时,这种协同方式是很有效的,这种协同方式也可应用于其它相关的智能算法中;而在维度相关紧密的优化问题中,如何确定这些维度怎样分组是比较困难的问题,也是使得维度划分的协同方式有效性降低,如何在进化过程中统计到各维度的相关性是值得研究探讨的。



发表评论

You must be logged in to post a comment.