A Parallel Particle Swarm Optimization Algorithm With Communication Strategies

A Parallel Particle Swarm Optimization Algorithm With Communication Strategies

一种带有通信策略的并行粒子群优化算法
 
Shu-Chuan Chu1John F. Roddick1Jeng-Shyang Pan2
2005
该文章仅用于学习。

Abstract

  本文提出了一种并行粒子群优化算法(PPSO),并根据数据的独立性提出了三种通信策略。第一种策略是为独立或仅松散相关的解的参数设计的,例如Rosenbrock和Rastrigrin函数。第二种通信策略可以应用于那些相关性更强的参数,例如Griewank函数。在参数属性未知的情况下,可以使用第三混合通信策略。实验结果证明了该PPSO算法的有效性。

1 Introduction

  粒子群优化(PSO)算法是基于进化计算技术(Eberhart&Kennedy 1995,Kennedy&Eberhart 1995)。粒子群算法是一种基于种群的进化算法,与一般进化算法有相似之处。然而,PSO的动机来自于对社会行为的模拟,这与遗传算法的自然选择方案不同(Goldberg 1989,Davis 1991,Gen&Cheng 1997)。这个比喻是指物体在空间中移动的多个集合(群),因此物体被认为具有位置和速度,并受到群中其他物体的影响。

  PSO使用与遗传算法中的个体使用相对应的粒子群来处理搜索方案。每个粒子都等同于一个问题的候选解。粒子将根据调整后的速度移动,该速度基于相应的粒子经验和其同伴的经验。对于D维函数f(.),第i个粒子用于第Th次迭代可以表示为XTI=(XTI(1),XTI(2),.。。。,xti(D))。

  本文对粒子群算法的并行结构进行了研究,提出了基于不同解空间的三种通信策略。

2 Parallel Particle Swarm Optimization

  并行处理关注的是使用多个处理器产生相同的结果,目标是减少运行时间。两种基本的并行处理方法是流水线处理和数据并行。流水线处理的原理是将问题分成一系列任务,其中每个任务都由单独的处理器执行。数据通过每个处理器传输,每个处理器对每个数据元素执行不同的处理部分。由于程序分布在流水线中的各个处理器上,并且数据从一个处理器移动到下一个处理器,因此在前一个处理器完成其任务之前,任何处理器都不能继续进行。
  数据并行性是另一种方法,它涉及在所有处理器之间分配要处理的数据,然后处理器对数据的每个子集执行相同的过程。数据并行性已经得到了相当广泛的应用,遗传算法也不例外。
  并行遗传算法(PGA)的工作原理是将种群分成几组,并使用不同的处理器对每组运行相同的算法(Cohoon,Hedge,Martin&Richards,1987)。然而,将并行处理应用于遗传算法的目的不仅仅是作为硬件加速器。相反,开发了一种分布式公式,它以较少的总计算量提供了更好的解决方案。为了实现这一点,每隔一定数量的代数在组之间执行一定级别的通信。也就是说,并行遗传算法周期性地从每个子群体中选择有前途的个体,并将它们迁移到不同的子群体中。通过这种迁移(交流),每个亚群将收到一些新的、有希望的染色体,以取代亚群中最差的染色体。这有助于避免过早收敛。并行遗传算法已成功地应用于基于矢量量化的噪声信道通信(Pan,McInnes&Jack 1996)。
  本文利用数据并行化方法的精神,构造了并行粒子群优化(PPSO)算法。
  很难找到一种对所有类型的问题都有效的算法。正如Shih和Eberhart(2001)以前的工作所表明的那样,模糊自适应粒子群算法对于像广义Rastrigrin或Rosenbrock函数这样相互独立或松散相关的解是有效的。然而,当解高度相关时(如Griewank函数),它就不有效了。我们的研究表明,PPSO的性能还高度依赖于参数之间的相关程度和通信策略的性质。在此基础上,提出了三种通信策略,并进行了实验,验证了每种策略的有效性。
  并行粒子群优化算法的数学形式可以表示为:

 

其中 i = 0, . . . Nj - 1, j = 0, . . . S − 1, S (= 2m) 为组数(m 为正整数),Nj 为第 j 组的粒子大小,Xti,j 为第 t 次迭代时第 j 组中的第 i 个粒子位置,是第 j 组第 i 个粒子在第 t 次迭代时的速度,Gtj 是第 j 组所有粒子中从第一次迭代到第 t 次迭代的最佳位置,Gt 是从第 j 组所有粒子中的最佳位置第一次迭代到第 t 次迭代。

   如上所述,我们为并行粒子群优化算法开发了三种通信策略。图1所示的第一种通信策略是基于这样的观察设计的,即如果参数是独立的或只是松散相关的,那么较好的粒子可能很快就会得到好的结果。因此,每组GT中最好的粒子的多个副本被突变,并且这些突变的粒子在每R1次迭代中迁移并替换其他组中最差的粒子。

  然而,如果解决方案的参数是松散相关的,则每组中较好的粒子可能不会特别快地获得最佳结果。在这种情况下,可以应用如图2所示的第二种通信策略。该策略基于每个组中的自我调整。每组中最好的粒子Gtjis在每R2次迭代中迁移到其相邻组,以替换一些性能较差的粒子。
  当解空间的相关性已知时,第一种和第二种通信策略都能很好地工作。然而,如果在错误的情况下应用,它们可能会表现不佳。在相关性未知的情况下,可以应用混合通信策略。混合通信策略将组分为两个子组,第一个子组每R1次迭代应用第一通信策略,所有组每R2次迭代应用第二通信策略,如图3所示。

 

  完整的并行粒子群优化(PPSO)算法及其三种通信策略如下:

1.初始化:为第j组生成nj个粒子xti,j,i=0,.。。。Nj−1,j=0,.。。。S−1,S是组数,nj是第j组的粒子大小,t是迭代次数。
设置t=1。

2.评价:对每组中每个颗粒的f(xti,j)值进行评价。

3. 更新:使用等式(5)、(6)和(7)更新速度和粒子位置。

4.沟通:三种可能的沟通策略如下:

  策略 1:将所有粒子 Gt 中最好的粒子迁移到每个组,并变异 Gt 以替换每个组中的较差粒子,并在每 R1 次迭代中为每个组更新 Gtj 与 Gt。

  策略2:将第j个组的最佳粒子位置Gtj迁移到第q个组,以每R2次迭代替换每个接收组中一些较差的粒子。这里q=j⊕2m,j=0,。。。S−1,m=0,.。。。N−1,S=2n。

  策略3:将小组分成两个小组。在每个R1迭代中将通信策略1应用于子组1,在每个R2迭代中将通信策略2应用于子组1和子组2。

5. 终止:重复步骤 2 到步骤 5,直到达到函数的预定义值或迭代次数。记录函数 f(Gt) 的最佳值和所有粒子 Gt 中的最佳粒子位置。

3 Experiments

   设为n维实数向量。Rosenbrock函数如下所示:

   第二个函数是广义 Rastrigrin 函数,可以表示为:

 

  第三个函数是广义 Griewank 函数,如下所示:

 

  第一个实验是为了测试第一种PPSO通信策略的性能,该策略适用于解的参数松散相关的情况,例如对于Rastrigrin和Rosenbrock函数。第二个实验测试了第二种策略的性能,当解的参数相关性更强时,就像Griewank函数的情况一样。最后的实验测试了第三种通信策略对所有三种功能的性能。所有这三个实验都与PSO在50次运行中线性减小的惯性权重进行了比较(Shih&Eberhart,1999)。

  PSO和PPSO的函数参数如表1所示,我们不限制X、C1和C2的值设置为2,最大迭代次数为2000次,W0t=0.9,W2000t=0.4,维数设置为30。

  为了公平比较,组的数量×每组的粒子数保持不变-PSO的粒子大小为160,PPSO的粒子大小分别为8×20、4×40和2×80。对于第一个实验,将通信迭代次数设置为20次,并对最佳粒子位置进行迁移和变异,以25%、50%、75%和100%的速率替换接收组的粒子。如表2和表3所示,第一种通信策略对独立或松散相关的解决方案参数有效。

  对于第二个实验,通信的迭代次数设置为100,每个接收组替换的较差粒子数设置为1和2。实验结果如表4所示,8组的第二个通信策略可能会提高性能提升高达 66%。

  对于第三个实验,参数与第一个和第二个实验相同。 50%的粒子在接收组中被替换为第一种通信策略,2个粒子在接收组中被替换为第二种通信策略。如表 5 所示,混合通信策略对所有三个功能都有效。

4 Conclusions

  本文提出了一种粒子群优化算法的并行化方案。提出了PPSO的三种通信策略,根据参数相关性的强弱选择不同的通信策略。在参数特征未知的情况下,提出了第三种策略。实验结果证明了并行粒子群优化算法在这三种通信策略下的有效性。
posted @ 2022-02-17 18:17  3cH0_Nu1L  阅读(124)  评论(0编辑  收藏  举报