一种改进的粒子群优化算法-《价值工程》武燕 张冰

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种改进的粒子群优化算法
武燕Wu Yan;张冰Zhang Bing
(江苏科技大学电子信息学院,镇江212003)
(School of Electronics and Information,Jiangsu University of Science and Technology,Zhenjiang 212003,China)
摘要:介绍基本粒子群优化算法的原理、特点,并在此基础上提出了一种改进的粒子群算法。

通过在粒子初始化时引入相对基的原理使粒子获得更好的初始解,以及在迭代过程中引入变异模型,部分粒子生成相对应的扩张及收缩粒子,比较其适应度,保留最佳粒子进行后期迭代,使算法易跳出局部最优。

通过经典函数的测试结果表明,新算法的全局搜索能力有了显著提高,并且能够有效避免早熟问题。

Abstract: This paper introduces the principles and characteristics of Particle Swarm Optimization algorithm,and puts forward an improved particle swarm optimization algorithm. It adopted Opposition-Based Learning in initialization to get a better solution and adopted variation model which make some particles generate two corresponding shrink and expand particles and keep the best fitness particle iterate in later iteration to avoid getting into local minumum. The experimental results of classical function show this algorithm improves the global convergence ability and efficiently prevents the algorithm from the local optimization and early maturation.
关键词:粒子群优化算法;相对基;变异模型
Key words: Particle Swarm Optimization(PSO);Opposition-Based Learning;variation model
中图分类号:TP301.6 文献标识码:
A 文章编号:1006-4311(2011)07-0161-02
0 引言
粒子群优化算法(Particle Swarm Optimization,PSO)是一种新型的仿生算法,由Kennedy和Eberhart于1995年提出[1,2]。

该算法是基于群体智能(Swarm I ntelligence,
SI)的优化算法,其功能与遗传算法(Genetic Algorithm,GA)非常相似[3]。

PSO优化算法因其需要调节的参数少,具有简单且易于实现的优点,因此越来越多地被应用于函数优化、神经网络训练、模式分类以及其他领域[4]。

但是,其数学基础不完善,实现技术不规范,在适应度函数选取、参数设置、收敛理论等方面还存在许多需要深入研究的问题。

本文主要是介绍PSO算法原理和特点,并在此基础上提出一种改进的PSO算法,并用测试函数对其进行验证。

1 粒子群算法的基本原理和特点
1.1 算法原理粒子群优化算法的基本概念是源于对鸟群捕食行为的模仿研究,人们从鸟群捕食过程当中得到启示,并用于解决优化问题。

在PSO算法中,每个优化问题的解都是搜索空间中一个粒子。

所有的粒子都有一个由被优化的函数决定的适应度值,每个粒子还有一个速度(v)决定它们飞行的方向和距离。

PSO初始化为一群随机粒子,然后粒子根据当前的最优粒子在解空间中搜索最优解。

在每一次迭代中,粒子都是通过跟踪两个“极值”来更新自己,一是就是粒子自身找到的最优解,称个体极值(pbest);另一个极值是整个群体找到的最优解,称全局极值(gbest)。

如果粒子的群体规模为M,目标搜索空间为D维,则第i(i=1,2,…,M)个粒子的位置可表示为Xi,它所经过的“最好”位置记为pi,速度用Vi表示,群体中“最好”粒子的位置的位置记为pg表示,那么粒子i将根据下面的公式来更新自己的速度和位置:
(2) 其中,d=1,2,…D,c1,c2为大于零的学习因子或称作加速系数;r1和r2是[0,1]上的随机数;ω(t)是Shi提出的ω线性递减的模型,即。

其中,ωmax和ωmin分别是惯性权重的最大和最小值,iter[5]是最大迭代次数,iter是当前迭代次数,这样则可以保证在算法开始时,各微粒能以较大的速度步长在全局范围内探测到较好的结果;在搜索后期,较小的ω值则能保证微粒在极点周围做精细的搜索,从而使算法有较大的几率以一定精度收敛于全局最优值。

1.2 算法特点虽然PSO的功能与遗传算法极其类似,但存在如下显著的优点:无交叉和变异运算,仅依靠粒子速度完成搜索空间;有记忆性,每个粒子和群体的历史最优位置可以
记忆并传递给其他粒子,而且需要调整的参数少,结构简单,易于实现;跟遗传算法采用的二进制编码不同,PSO采用实数编码,直接由问题的解决定,问题解的变量数作为粒子的维数;收敛速度快,在迭代过程中只有最优的粒子把信息传递给其他粒子,属于单向的信息流动,整个搜索更新过程是跟随当前最优解的寻优迭代过程。

2 PSO算法的改进
PSO算法虽然推出的时间不长,但有着许多的改进方法,一般而言都是在局部最优搜索问题及速度更新问题上。

本文根据PSO算法的特点,在初始化以及迭代过程中作了一些改进,提出了一种基于相对基初始化及变异模型的PSO算法(OBC-PSO)。

2.1 相对基初始化相对基学习(Opposition-Based Learning)是Tizhoosh于2005年提出的一种新的机器学习算法[6]。

它的主要思想是:在求解优化问题时,同时考察一个可行解和它的相对解,通过评价他们的优劣来获得较优的候选解。

一般来说,在对解无任何先验知识的情况下,通常我们是采用随机法初始化群体。

本文将相对基学习嵌入到PSO算法中,通过同时评价一个可行解及其相对解的优劣,以获得较优的初始候选解,从而提高收敛速度。

具体方法如下:
①随机生成均匀分布的初始群体X=X i,V i i=1,2,…,N;
②计算相对群体OX:分别对X中的每个粒子按(3)、(4)式计算其相对粒子(包括位置和速度),构成相对群体OX=OX i,OV i i=1,2,…,N;
ox id=L d+U d-x id(3)
ov id=V min d+V max d-v id(4)
其中L d和U d分别表示第d维分量取值范围的上下界x id∈L d,U d;每个粒子的速度限制在区间V min d,V max d内,一般地,V min d=-V max d且V max d=0.1U d-L d;
③最后根据个体适应度值从X和OX中选择N个粒子作为初始种群X0=X o i,V0i i=1,2,…,N
(5)
在对待求的实际问题无先验知识的情况下,利用相对基思想可以获得更优的初始候选解,提高算法的效率。

2.2 变异模型PSO算法在后期迭代过程中比较容易陷入局部最优,针对这一问题,本文引入了变异模型。

为了加快搜索速度,发生变异的对象,不仅是处于历史全局最优位置的一个
粒子,而是所有与最优点适应度相等的粒子。

以该粒子为中心扩张及收缩出两个粒子,比较这三个粒子的适应度值,保留最优者进行下轮迭代,使算法不易陷入局部最优。

所谓扩张(收缩)是指粒子向前(后)推移并保持运动方向不变,而运动粒子在空间中发生了扩张(收缩)性的变化。

例如粒子在三维空间中从点A(1,1,1)到B(2,2,2)生了带有强制性的扩张。

相应的位置变化公式为:x(i+1)=x(i)+x(i),本文中采用的为:x(i+1)=x(i)+a*x(i),其中a=±2,为变异因子。

变异模型具有以下的特性:强制性:即粒子被强行向前(后)推移;不变性:被强行向前推移的粒子飞行方向不变;变异性:即粒子保持运动方向不变而各个维数的值发生成倍的扩大或缩小;同一性:即各个维数的值同时并统一发生成倍的扩大或缩小;有效性:为了提高粒子子的有效性,粒子的位置被最大位置和最小位置限制。

2.3 算法流程
①相对基初始化所有的粒子(群体规模为M)。

在允许范围内随机设置粒子的初始位置、速度、pbest和gbest。

②评价每个粒子的适应值。

计算每个粒子的目标函数,如果优于pbest,则pbest被当前位置替换;如果所有粒子的pbest中有优于gbest的,则置为新的gbest。

③根据公式(3)和(4)调整粒子的速度和位置,检查速度和位置是否在允许范围之内,如果不在,将二者调整到允许范围之内。

如果适应度值与最优点适应度相等,则对粒子进行变异。

④检查终止条件,如果达到最大迭代次数就终止,否则回到步骤(2)。

3 仿真研究与分析
为了测试OBC-PSO算法的优化性能,本文使用下面四个测试函数进行仿真研究,并将OBC-PSO与基本PSO、随机粒子群(SPSO)算法[7]、MPSO[8]进行对比分析。

次数2000,每种算法各运行50次。

各个测试函数分别采用PSO、SPSO、MPSO和OBC-PSO进行优化过程的曲线如
图1~图4。

由图1~图4可知,和基本PSO、SPSO、MPSO相比,OBC-PSO在寻优前期花费相对较多的时间在探索新的搜索空间,因此在后期可以有效提高收敛精度。

为了进一步验证OBC-PSO算法的优化性能,对上述实例的结果进行了定量的分析,结果见表1。

从表1可以看出,算法OBC-PSO优化结果的平均值明显低于其余三种算法,这说明OBC-PSO的优化能力得到了较大的增强。

同时,新算法优化结果的标准差基本为0,也明显低于其余三种算法的标准差,说明该改进的粒子群优化算法每次的优化结果变化很小,优化性能更加稳定。

4 结论
针对粒子群优化算法易于陷入局部最优,且收敛精度不高,提出了一种新型的基于相对基初始化以及变异模型的粒子群优化算法。

该算法不仅保持PSO容易实现的特点,而且收敛速度快、精度高。

通过基准测试函数的实验结果表明了该算法的有效性和优良性能。

参考文献:
[1]SHI Yu-hui,EBERHART R.Parameter selection in particle swarm
optimization[A].Evolutionary Programming VII:Proceedings of El98[c].New York:Springer-Verlag,1998.591-600.
[2]SHI Yu-hui,EBERHART R.Empirical study of particle swarm
optimization[A].Proceedings of the IEEE Congress on Evolutionary Computation (CEC 1999)[C].New Jersey:IEEE Press,1999.1945-1950.
[3]Goldberg D.Genetic algorithms in search,optimization,and machine
learning[A].Boston:Addison-Wesley,1989.
[4]EBERHART R,SHI Yu-hui.Particle swarm optimization:devel-opments,applications and resources[A].Proceeding Congress on Evolutionary Computation[C].Seoul:IEEE Press,2001.81-86.
[5]SHI Yu-hui,EBERHART R.A modified particle swarm optimizer[A]. Proceedings of the IEEE International Conference on Evolutionary Computation,Anchorage,1998,69-73.
[6]TIZHOOSH H R.Opposition-based learning:a new scheme for machine
intelligence[C].Int.Conf.on Computational Intelligence for Modeling Control and Automation-CIMCA 2005.Vienna,Austria,2005,(1):695-701.
[7]曾建潮,崔志华.一种保证全局收敛的PSO算法[J].计算机研究与发展,2004,41(8):1333-1338.
[8]袁代林,程世娟,陈虬.一种新形式的微粒群算法[J].计算机工程与应用,2008,44(33):57-59.
作者简介:武燕(1986-),女,江苏常州人,硕士研究生,主要研究方向为问信号处理理论与技术;张冰(1967-),女,江苏无锡人,博士,教授,硕士研究生导师,主要研究方向为控制理论与控制工程,信号与信息处理,智能控制。

相关文档
最新文档