粒子群优化是以邻域原理(neighborhood principle)为基础进行操作的,该原理来源于社会网络结构研究中。驱动粒子群优化的特性是社会交互作用。群中的个体(粒子)相互学习,而且基于获得的知识移动到更相似于它们的、较好的邻近区域。邻域内的个体进行相互通信。
群是由粒子的集合组成的,而每个粒子代表一个潜在的解答。粒子在超空间流动,每个粒子的位置按照其经验和邻近粒子的位置而发生变化。速度矢量推动优化过程,并反映出社会所交换的信息。下面简单介绍一下三种不同的粒子群优化算法,它们对社会信息交换扩展程度是不同的。
1.个体最佳算法
对于个体最佳(individual best)算法,每一个体只把它的当前位置与自己的最佳位置pbest相比较,而不使用其他粒子的信息。具体算法如下:
(1)对粒子群P(t)初始化,使得t=0时每个粒子P∈P(t)在超空间中的位置X(t)是随机的。
(2)通过每个粒子的当前位置评价其性能f。
(3)比较每个个体的当前性能与其至今有过的最佳性能。
(4)改变每个粒子的速度矢量。
(5)转回第(2)步,重复递归直至收敛。
上述算法中粒子离开其先前发现的最佳解答越远,使该粒子(个体)移回它的最佳解答所需要的速度就越大。随机值P的上限为用户规定的系统参数。p的上限越大