程 勇
(西安科技大学,西安710054)
1995年Eberhart和kennedy提出了粒子群优化算法(Particle Swarm Optimization,PSO),通过种群粒子间的配合和竞争达到群体指导搜索目标[1]。该虽然算法简单、易实现。但是,仍然存在着收敛速度慢等缺点。因此,很多学者针对这一研究热点提出了改进算法[2-3]。提出一种随机粒子群优化算法—DPRPSO。结果验证了DPRPSO算法不易陷入局部最小点和收敛速度快的特性。
标准PSO算法首先初始化一群随机粒子(particle),假设在D维搜索空间中,有m个粒子组成一群体,第 i个粒子在 D维空间中的位置表示为xi=(xi1,xi2,...,xiD),第 i个粒子经历过的最好位置(有最好适应度)记为 pi=(pi1,pi2,...,piD),每个粒子的飞行速度为vi=(vi1,vi2,...,viD)。在整个群体中,所有粒子经历过的最好位置为 pg=(pg1,pg2,...,pgD),每一代粒子根据下面公式更新自己的速度和位置:

其中,w是惯性权重;c1和c2是学习因子;r1和r2是[0,1]之间的随机数。公式分别说明了,第一部分粒子先前的速度,即粒子目前的状态;第二部分认知部分,即从当前点指向此粒子自身最好点的一个矢量,反映了粒子的动作来源于自身经验的部分;第三部分为社会部分(Social Modal),是一个从当前点指向种群最好点的一个矢量,反映了粒子间的协同合作和知识共享。
结合标准粒子群算法的特点本文提出了一种两群并列随机粒子群算法。
2.2.1 随机搜索
随机搜索算法最显著的特点在于其算法本身的简单性,非常容易进行编程运算,以应用于特定的函数优化问题求解,而且基本上可以不需要预先设定的算法控制参数。……