求解非线性方程组的量子行为粒子群算法

(整期优先)网络出版时间:2019-07-28
/ 3

摘要:介绍了利用量子行为粒子群算法解决非线性方程组的问题。求方程组的解归结为一个最优化问题,当方程组有多个解时,它的适应值函数就是具有多个最优解的多峰函数。为此,引进一种物种形成原理算法,该算法根据群体微粒的相似度并行地分成子群体。每个子群体是围绕一个群体种子而建立的。对每个子群体进行QPSO最优搜索,从而保证方程组中每个可能的解都能被搜索到,具有良好的局部寻优特性。对几个重要的测试函数进行仿真实验,结果证明了所用算法可以保证找到方程组所有的解,并且具有很好的精确度。
  关键词:粒子群算法; 量子行为粒子群算法; 非线性方程组; 物种形成原理

  0引言
  
  方程组的求解是数值代数的基本问题之一,许多自然生活和工程科学的计算问题最后都可归结为求解方程组;因此,对方程组的解法的研究具有重要的意义。方程组可以分为线性方程组和非线性方程组。传统求解方程组的数值解法分为直接法和迭代法。如果考虑时间约束条件,在实时系统中现存的数值解法都可能无法对方程组进行精确求解。为此利用进化算法使用计算机模拟大自然的进化过程,可以求解许多传统数值计算方法难以解决的复杂问题。由于求方程组的解归结为一个最优化问题,当方程组有多个解时,它的适应值函数就是具有多个最优解的多峰函数。求具有多个解的方程组问题就可以转换为对多峰函数寻优的问题。
  粒子群(Particle Swarm Optimization,PSO)算法和量子行为粒子群(Quantum-behaved Particle Swarm Optimization, QPSO)算法都属于进化算法,它们都具有群体智能、迭代过程相对简单和收敛速度较快等优点。其中QPSO是全局收敛的而PSO却不能保证收敛到全局最优解[1]。本文在QPSO算法的基础上引进物种形成原理算法(Speciation Algorithm),提出了改进的基于物种形成的QPSO算法,即SQPSO(Species-based QPSO)算法。在算法中将粒子群动态并行划分为不同的子群。这种物种形成原理算法与Li J.等人研究的利用遗传算法实现多峰优化问题[2]相似。它将粒子群系统中的粒子根据相似度进行划分,并将每个子群中拥有局部最优值的粒子作为该子群的种子,而种子的局部最优值被设为该子群的全局最优值。这样就使得每个子群中的粒子都收敛于该子群的局部最优值,而不是全部收敛于粒子系统中的一个全局最优值。因此这样就可以并行地产生子群,从而有效地进行多峰寻优。
  
  1PSO算法及带惯性权重的PSO算法
  
  PSO算法最早是在1995年由美国社会心理学家James Kennedy和电气工程师Russell Eberhart共同提出的[3],源于对鸟群捕食的行为研究。PSO中,每个优化问题的解都是搜索空间中的一只鸟,称之为粒子。所有的粒子都有一个由被优化的函数决定的适应值(Fitness Value),每个粒子还有一个速度决定它们飞翔的方向和距离。粒子们就追随当前的最优粒子在解空间中搜索。PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个就是粒子本身所找到的最优解。这个解叫做个体极值pbest;另一个极值是整个种群目前找到的最优解,这个极值是全局极值gbest。另外也可以不用整个种群而只是用其中一部分最好粒子的邻居,那么在所有邻居中的极值就是局部极值lbest[4,5]。在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置。
  
  2QPSO算法
  
  PSO是基于种群的进化搜索技术,但是所有基本的和改进的PSO算法不能保证算法的全局收敛[1],因为PSO的进化方程式使所有粒子在一个有限的样本空间中搜索。根据粒子群的基本收敛性质,受量子物理基本理论的启发,本文提出了一种新的能保证全局收敛的粒子群算法——QPSO算法[7,8]是对整个PSO算法进化搜索策略的改变,并且进化方程中不需要速度向量,进化方程的形式更简单、参数更少且更容易控制。QPSO算法在搜索能力上优于所有已开发的PSO算法。
  
  在QPSO算法中,粒子的状态只需用位置向量来描述,并且算法中只有一个收缩扩张系数β,对这个参数的选择和控制是非常重要的,它关系到整个算法的收敛性能。 
  
  3方程组的适应值函数
  
  为了求方程组,通常可以将求解的适应值函数定义为
  
  4物种形成原理算法
  
  方程组具有多个解时,适应值函数就是具有多个最优值的多峰函数。为了实现对多峰函数寻优,引进一种物种形成原理算法。这个算法将粒子群系统中相似的微粒并行地划分成子群体,一个子群就是一类具有相似特点的粒子集合。每个子群体中的粒子都围绕在本群体中具有最优适应值的粒子周围,该粒子称为种子(Seed)。利用两个微粒间的欧氏距离来判断它们之间的相似程度,距离越远,则两个微粒间的相似度越低。


  
  采用Li J.等人介绍的方法[2]确定一个子群种子的算法。每次迭代都使用这种算法后,就可以为不同的子群确立各自的种子,然后分别将种子的局部最优值设为该子群的全局最优值。确定种子的算法流程如下:
  
  5SQPSO和Species-based PSO(SPSO)算法
  
  一旦确定好每个子群的种子后,在每个子群中,种子的最优值就是同一子群中其他粒子的全局最优值,这样SQPSO算法可以表示为:

 (1)初始化种群的每个粒子的位置向量;
  (2)计算所有粒子的适应值;
  (3)根据粒子适应值由高到低的顺序排列粒子;
  (4)对当前所有粒子确定子群种子;
  (5)将种子的最优值确定为其所在子群中所有粒子的全局最优值;
  (6)根据式(7)、(8)改变粒子的位置;
  (7)转(2),直至条件满足。
  SPSO算法可以表示为:
  (1)初始化种群的每个粒子的位置向量;
  (2)计算所有粒子的适应值;
  (3)根据粒子适应值由高到低的顺序排列粒子;
  (4)对当前所有粒子确定子群种子;
  (5)将种子的最优值确定为其所在子群中所有粒子的全局最优值;
  (6)根据式(3)、(4)或(5)改变粒子的位置;
  (7)转(2),直至条件满足。
  对这两个算法说明如下:
  (1)在算法中每一次迭代确定的种子总是那个子群中适应值最好的粒子。
  (2)运行结束后得到的种子数组就是要求解的峰值点值。如果全局最优值只有一个,那么第一个种子就是全局最优点值。
  
  6实验结果
  
  表2给出了对每个系统分别使用gbest、lbest、SPSO和SQPSO进行求解的结果。从表2可以看出,当方程组有多个解时,gbest模式PSO算法或lbest模式PSO算法都无法找到所有解,本文提出的算法SPSO和SQPSO对于所有的测试方程组都能找到所有解。用这两种算法求得的解所得到的适应值都十分接近零,所有的实验结果都收敛于一个很接近零的解。表3给出了使用各种方法所得解的平均误差。可以看出SPSO和SQPSO比使用gbest和pbest的PSO算法具有更好的精度值。由表4可知,SQPSO算法优化在训练集上的平均误差小于SPSO算法优化的状态估计。
  
  
  7结束语
  
  本文在QPSO算法的基础上使用物种形成的概念,提出了一种SQPSO算法用来实现求解具有多个解的方程组。并将SQPSO算法和基于PSO算法的SPSO算法以及gbest模式和lbest模式的PSO算法进行了性能比较。通过对一系列广泛使用的方程组(一个解或多个解)进行仿真实验,可以证明当方程组具有多个解时,gbest_PSO和lbest_PSO算法不能求得所有解,而SPSO算法和SQPSO算法是有效的,并且具有更高精度值的解。同时从实验中也证明SQPSO算法的收敛能力优于SPSO算法,其精确度更高。
  
  参考文献:
  [1]BERGH F V.An analysis of particle swarm optimizers[D].[S.l.]:University of Pretoria,2001.
  [2]LI J, BALAZS M E, PARKS G T,et al. A species conserving genetic algorithm for multimodal function optimization[J].Evolutionary Computation,2003,10(3):207-234.
  [3]KENNEDY J,EBERHART R C.Particle swarm optimization:procee-dings of the IEEE International Joint Conference on Neural Networks[C].[S.l.]:[s.n.],1995:1942-1948.
  [4]KENNEDYJ,WORLDS S,MINDS M J.Effects of neighborhood topo-logy on particle swarm performance:proceedings of the Congress on Evolutionary Computation[C].[S.l.]:[s.n.],1999:1931-1938.
  [5]SUGANTHAN P N.Particle swarm optimizer with neighborhood optimizer:proceedings of the Congress on Evolutionary Computation[C].[S.l.]:[s.n.],1999:1958-1961.


  [6]SHI Y,EBERHART R C.A modified particle swarm:proc.of the IEEE International Conference on Evolutionary Computation[C].[S.l.]:[s.n.],1998:1945-1950.
  [7]SUN Jun, XU Wenbo. A global search strategy of quantum-behaved particle swarm optimization:proceedings of IEEE conference on Cybernetics and Intelligent Systems[C].[S.l.]:[s.n.],2004:111-116
  [8]SUN Jun, FENG Bin, XU Wenbo. Particle swarm optimization with particles having quantum behavior:proceedings of the Congress on Evolutionary Computation[C].[S.l]:[s.n.],2004:325-331.