文档库 最新最全的文档下载
当前位置:文档库 › 粒子群算法的惯性权重调整策略

粒子群算法的惯性权重调整策略

粒子群算法的惯性权重调整策略
粒子群算法的惯性权重调整策略

粒子群算法的惯性权重调整策略

李丽1薛冰2牛奔3

1深圳大学管理学院信管系,广东深圳(518060)

2深圳大学管理学院信管系,广东深圳(518060)

3深圳大学管理学院信管系,广东深圳(518060)

E-mail(小五,Times New Roman)

摘要:惯性权重是粒子群算法改进的一个重要出发点,通过调整惯性权重可以大大提高算

法的性能。本文在介绍粒子群算法原理、流程的基础上,分析了惯性权重在算法寻优过程中

的重要作用,然后归纳了运用不同方法对惯性权重的改进,进行了简单的讨论,并对下一步

工作进行了展望。

关键词:粒子群算法惯性权重改进策略

1 引言

粒子群优化算法(Particle Swarm Optimization,PSO)是1995年由Eberhant和Kennedy 在文献[1]中提出的一种基于群体智能、自适应的搜索优化方法。其基本思想源于对鱼类、鸟类等群体社会行为的观察研究。粒子群算法提出以后,由于其算法概念简单、需要调整的参数较少、容易实现和快速收敛能力,已被广泛地用在科学和工程领域,如电力系统优化(文献[31]—[33])、TSP问题(文献[34])、神经网络训练(文献[35])、函数优化(文献[37]、[38])等。

粒子群算法在应用过程中体现出了很强的寻优能力,但与其他全局优化算法相同,粒子群算法也存在早熟局部收敛和后期震荡现象。针对这些问题,国内外学者经过大量研究工作,提出了多种改进方法,包括参数改进,拓扑结构改进和混合算法等。其中惯性权重是最重要的可调整参数,惯性权重由于其概念简单、容易理解、改进的方法较多、改进的空间较大且容易实现等特点,成为很多学者研究的焦点。通过调整惯性权重的值可以实现全局搜索和局部搜索之间的平衡:较大的权值有利于提高全局搜索能力,而较小的权会提高局部搜索能力。诸多研究者运用线性递减、非线性递减等方法对惯性权重进行调整,实现了算法在不同方面和不同程度上的改进。本文通过对国内外研究人员所提出的调整惯性权重策略进行归纳总结,讨论了各种策略的优缺点,并在此基础上提出了下一步工作方向及需要解决的问题。

2 基本粒子群算法

在粒子群算法中,每个寻优的问题解都被想像成一只“鸟”,也称为一个没有重量和体积的粒子,每个的粒子在n维搜索空间里飞行,并有一个速度决定其飞行的距离与方向,

所有粒子都有一个适应值函数来判断其目前位置的好坏,且在飞行过程中,每一个粒子都是具有记忆性的,能记得所搜寻到的最佳位置。

因此,在飞行过程中,每一代都能找出两个“极值”:每一个粒子到目前为止的搜寻过程中最优解,代表粒子自身认知水平,称之为个体极值Pbest ;所有群体中的最优解,代表社会认知水平,称之为全局极值Gbest 。粒子群算法首先初始化一群随机粒子,然后根据两个“极值”通过更新迭代找到最优解,其基本迭代方程如下:

))((()))((())()1(21t x p rand c t x p rand c t V t V id gd id id id id -??+-??+=+ (1)

)1()()1(++=+t V t x t x i i i

(2) 其中,id v 表示粒子i 在第d 维的速度,n 维向量),,()

(21i in i i x x x t x ??=表示迭代到第t 代时粒子i 的位置,n 维向量),,()(21in i i i v v v t v ??=表示粒子i 的速度。1c 、2c 是学习因子,()rand 是均匀分布于[0,1]之间的随机数,id p 表示个体极值Pbest ,gd p 表示全局极值Gbest 。为了防止)(t x i 溢出,设置max v 来控制)(t v i 的范围:

?????≥<=max max max )(.................)(.......).........()(V t V V V t V t V t V i i i i

(3)

具体算法流程如下: (1) 初始化所有微粒(群体规模为N ,在允许范围内随机设置微粒的初始位置和速度,并将各微粒的id p 设为初始位置,取gd p 为id p 中的最优值。

(2) 评价每个微粒的适应值,即分别计算每个微粒的目标函数值。

(3) 对于每个微粒,将其适应值与所经历过的最好位置id p 的适应值进行比较,若较好,则将其作为当前的最优位置。

(4) 对于每个微粒,将其适应值与群体所经历过的最好位置gd p 的适应值进行比较,若较好,则将其作为当前的全局最优位置。

(5) 根据速度和位置更新方程对微粒的速度和位置进行更新。

(6) 如未达到结束条件,通常为足够好的适应值或是达到一个预设的最大迭代代数,则返回第(2)步。

具体算法流程图如下:

3 惯性权重的提出

经过大量的研究试验,为了提高基本粒子群算法的收敛性能和避免算法陷入局部最优,Y .Shi 和R.C.Eberhant 于1998年在《A modified particle swarm optimizer 》(文献[2])一文中提出了惯性权重这一概念,在进化方程(1)中引入惯性权重因子w ,即:

))((()))((())()1(21t x p rand c t x p rand c t wV t V id gd id id id id -??+-??+=+ (4) 等式右边的结构和(1)式一样,第一部分是粒子先前的自身速度,用来保证算法的全局收敛性;第二和第三部分是引起微粒速度变化的社会因素,使算法具有局部搜索能力。所以w 起到了一个平衡全局搜索能力和局部搜索能力的作用,w 值较大时全局搜索能力强,局部搜索能力弱;w 值较小时,反之。恰当的w 值可以提高算法性能,提高寻优能力,减少迭代次数。

惯性权重的引入,对粒子群算法的发展起到了很大推动作用,大大拓展了算法改进的空间。但是要达到算法性能最优还存在很多缺陷,因为当w 值较大时,有利于全局搜索,虽收敛速度快,但不易得到精确解;w 值较小时有利于局部搜索和得到更为精确的解,但收敛速度慢且有时会陷入局部极值。如何寻找合适的w 值使之在搜索精度和搜索速度方面起恰当的协调作用,成为很多学者研究的一个新方向,通过几年的发展,已有了不少研究成果。 4 惯性权重调整策略

基于研究各种问题的复杂性和惯性权重在算法迭代过程中所起到的平衡作用,除了固定惯性权重以外,学者们还提出了很多种惯性权重调整策略,主要有线性递减策略、非线性递减策略和自适应调整策略等以下几种:

4.1 线性递减策略

由于在一般的全局优化算法中,总希望前期有较高的全局搜索能力以找到合适的种子,而在后期有较高的开发能力,以加快收敛速度,所以惯性权重的值应该是递减的。其中的线性递减策略主要有以下几种:

4.1.1典型线性递减策略

Y .Shi 和R.C.Eberhant 在文献[2]还中提到了w 应是随着进化线性递减的。这是首次提出的惯性权重递减策略,我们称之为典型线性递减策略,w 的计算公式如下:

t t w w w t w ?--=max min max max )( (5)

其中max w 、min w 分别是w 的最大值和最小值;t 、max t 分别是当前迭代次数和最大迭代次数(全文中符号表示意义相同)。文献[9]试验了将w 设置为从 0.9 到 0.4 的线性下降,使得PSO 在开始时探索较大的区域,较快地定位最优解的大致位置,随着w 逐渐减小,粒子速度减慢,开始精细的局部搜索。该方法使 PSO 更好地控制全局搜索能力和局部搜索能力,加快了收敛速度,提高了算法的性能。

这种典型的惯性权重线性递减策略在目前是应用最为广泛,但是由于这种策略下,迭代初期全局搜索能力较强,如果在初期搜索不到最好点,那么随着w 的减小,局部搜索能力加强,就易陷入局部极值。

4.1.2线性微分递减策略

为了克服典型线性递减策略的局限性,文献[14]中提出了一种线性微分递减策略,惯性权重的计算公式如下:

t t w w dt dw ?-=max 2min max )(2 (6)

22max min max max )()t (t t w w w w ?--= (7)

通过对w 变化方程及实验结果进行分析,由于在算法进化初期w 的减小趋势缓慢,全局搜索能力很强,有利于找到很好的优化种子,在算法进化后期,w 的减小趋势加快,因此一旦在前期找到合适的种子,可以使得算法收敛速度加快,在一定程度上减弱了典型线性递减策略的局限性,相应地在算法性能提高上有了很大改善。

4.2非线性递减策略

4.2.1 带阀值的非线性递减策略

惯性权重线性递减策略经过不断改进,已经比原始的惯性策略有了很大改善。但是由于其线性递减的特征,对于很多问题,在迭代过程中,算法一旦进入局部极值点邻域内就很难跳出来,为了克服这种不足,文献[18]在典型线性递减策略的基础上引入了递减指数λ和迭代阀值0T ,提出了一种惯性权重的非线性递减策略,即:

)()11()(min max 0max w w T t w t w ----=λ (8)

此时参数集变为{λ,max w 、min w 、0T },当迭代次数到达0T 时,令max )(w t w =,并保持到搜索结束,整个迭代过程由于λ的引入,)(t w 随着t 的增大而非线性递减,有利于跳出局部极值点。迭代初期w 较大,粒子以较大的飞行速度遍布整个搜索空间从而确定

最优值的大概范围,随着迭代的进行w 非线性减小,大部分粒子的搜索空间逐渐减小,并且集中在最优值的邻域范围内;在迭代末期当达到迭代阀值时,将惯性权重限定为max w ,粒子以近乎不变的飞行速度在最优值邻域范围内找到全局最优解,有利于提高算法的收敛速度,尤其对于低维测试函数,无论在搜索最优值精度、收敛速度还是在稳定性方面都有明显的优势。

4.2.2先增后减策略

针对递减策略中仍然存在的不足,文献

[16]提出了一种具有先增后减惯性权重的微粒群算

法,w 的惯性权重计算方程如下: ???

????≤≤+?-≤≤+?=15.0...........4.115.00..............4.01W(t)max max max max t t t t t t t t (9) 文献[16]经过试验研究,这种先增后减的惯性权重,在前期有较快的收敛速度,而后期的局部搜索能力也不错,在一定程度上保持了递减和递增策略的优点,同时克服了一些缺点,相对提高了算法性能。

此外,国内还有人提出了其他的非线性动态递减惯性权重,如文献

[19]中提出依据下式来

计算惯性权重的方法: m ax 2/11

1min max )()(t t d e d w w t w +--= (10)

其中1d ,2d 为控制因子,目的是为了控制w 在max w 和min w 之间。经过大量实验证明当2.01=d ,7.02=d 时算法的性能会大大提高。

4.3自适应动态改变惯性权重

4.3.1依据早熟收敛程度和适应值进行调整

以上的惯性权重调整策略都是依据迭代次数的递增而递减的,文献[20]提出了一中自适应调整策略,根据群体早熟收敛程度和个体适应值的来确定惯性权重的变化。设粒子i p 的适应值为i f ,最优粒子的适应值是m f 粒子群的平均适应值是∑==n i i f n f 1avg

1;将优于avg f 的适应值求平均得到'avg f ; 且定义avg m f f '-=?。依据i f 、'avg f 和avg f 将群体分为3个子群,分别进行不同的自适应操作。则其惯性权重的调整如下:

(1)i f 优于'

avg f 则

avg

m avg i f f f f w w w t w ''min )()(--?--= (11)

(2)i f 优于avg f 但次于'avg f ,则惯性权重不变;

(3)i f 次于avg f 则 )exp(115.1)(21??-?+-=k k t w (12)

其中第一类子群是群体中较优秀的粒子,已经接近全局最优解,赋予其较小的惯性权重,从而强化了局部搜索能力;第二类粒子为一般粒子,具有较好的全局搜索能力和局部搜索能力,不需要改变其惯性权重;第三类粒子为群体中较差粒子,借鉴自适应调整遗传算法控制参数的方法对其进行调整。1k 、2k 为控制参数,1k 用来控制w 的上限(一般为大于1的常数),2k 主要用来控制上式的调节能力。当算法停止时,若粒子分布较为分散,则△较大,由上式来降低粒子的w ,加强局部搜索能力,以使群体趋于收敛,若粒子分布较为聚集,则△较小,由上式增加粒子的w ,使粒子具有较强的探查能力,从而有效地跳出局部最优。

4.3.2根据距全局最优点的距离进行调整

国内一些学者认为惯性权重的大小还应该和其距全局最优点的距离有关。文献

[21]中提出各不同粒子的惯性权重w 的值不仅随迭代次数的增加而递减,并且应该随其距全局最优点

距离增加而递增,即权重w 根据粒子的位置不同而动态变化: max min max min max min max )())(()(t l l t

w w l l w t w ig ----= (13)

其中ig l 为第i 个粒子到最优粒子的距离,max l 和min l 分别是预先设的最大距离和最小距离参数。根据上式,当max l l ig >时,max w w =;当m i n l l ig <时,

min w w =;当m a x m i n l l l ig <<时,w 随着ig l 单调递增。仿真实验结果表明在这种策略下算法在收敛速度和迭代次数方面都有了改进,特别是对于多峰函数效果提高的更明显。

4.4其他的惯性权重调整策略

4.4.1模糊调整w 的策略

Shi 等认为粒子群算法搜索过程是一个非线性的复杂过程,让w 线性下降的方法不能正确的反映真实的搜索过程。因而,提出用模糊推理机来动态地调整惯性权重的技术[6]。模糊w 法的优缺点如下:模糊推理机能预测合适的w ,动态地平衡全局和局部搜索能力,

大为提高了平均适应值;但是其参数比较多,增加了算法的复杂度,使得其实现较为困难。

4.4.2随机调整w的策略

目前的研究中,很多学者认为w应为一组随机值,如:Eberhart[7]等提出一种动态惯性权重法以试图解决优化目标变化显著的问题,该方法令

0.2()

5.0 )(rand

t w

+

=(14)

能产生一个在[0.5,1]之间的w值。通过使用函数测试性能,显示这种策略下的粒子群算法能跟随非静态目标函数,比进化规划和进化策略得到的结果精度更高,收敛速度更快[8]。

国内也有很多学者在这方面有所研究,提出了w服从均匀分布、正态分布等随机策略,使算法性能较线性递减策略都有明显提高。

5 结论

综上所述可以看出,惯性权重作为粒子群算法中的一个重要参数,是算法改进的一个重要途径,可改进的方向和方法有很多种,已经有很多学者经过长期研究提出了不同的改进策略,本文通过对各种改进策略的归纳总结,分类说明了各种策略的优缺点,为使用者提供了方便。作者的进一步工作有两个方面:1. 通过仿真试验对各种算法进行更深层次的分析对比,找出适合不同问题的最优改进算法;2 结合各种问题和各种测试函数,提出效果更优的惯性权重调整策略。

参考文献

[1]J.Kennedy,R.C. Eberhart. Particle swarm optimization [A].Proceedings of the IEEE

International Conference on Neural Networks [C]. 1995:1942~1948

[2]ShiYuhui,Eberhart,R.A modified particle swarm optimizer[A].Proc IEEE Int Confon Evolu- tional Computation[C].Anchorage,1998.69-73

[3]Kennedy J.The particle swarm Sociala adaptation knowledge [A].Proc IEEE Int Confon

Evolutional Computation[C].Indiamapolis,1997.303-308

[4]J.Kennedy,R.C.Eberhart.A Discrete Binary Version of the Particle Swarm Algorithm.

Proceedings of the World Multi conference on Systemic, Cybernetics and Informatics [C].

Piscataway, NJ: IEEE Service Center, 1997:4104~410

[5]Kennedy J,EberhartRC.Particle Swarm Optimization [C].Proc IEEE Int Conf Neural

Networks .Piscataway,NJ:IEEEServiceCenter,1995:1942-1948

[6]Y. H. Shi, R. C. Fuzzy Adaptive Particle Swarm Optimization [A]. Proceedings of the Congress

on Evolutionary Computation [C]. Seoul, Korea, 2001:101~106

[7]R. C. Eberhart,. H. Shi. Tracking and Optimizing Dynamic Systems with Particle Swarms [A].

Proceedings of the 2001 Congress on Evolutionary Computation [C]. Piscataway, NJ: IEEE

Press, 2001:94~100

[8]Van den Bergh F. An Analysis of Particle Swarm Optimizer [D]. South Africa: Department of

Computer Science, University of Pretoria,2002

[9]Y. H. Shi,R. C. Eberhart. Empirical Study of Particle Swarm Optimization [A]. Proceeding of

Congress on Evolutionary Computation [C]. Piscataway,NJ:IEEE Service Center, 1999:1945~1949

[10]Elegbede C.Structural reliability assessment based on particles swarm optimization

[J].Structural Safety2005.27(10)1 171-186

[11] Robinson J,Rahmat-Samii Y.Particle swarm optimization in electromagnetic[J].IEEE Transactions on Antennas and Propagation,2004,52(2):397—406

[12] Salman A。Ahmad I,A1一Madani S.Particle swarm optimization for task assignment

problem FJ].Microprocessors and Microsystems, 2002,26 (8):363—371

[13]谢晓锋,张文俊,杨之廉.微粒群算法综述[J].控制与决策.2003,18(2):129)133

[14]胡建秀曾建潮. 微粒群算法中惯性权重的调整策略[J].计算机工程,2007.6

[15]肖人彬,陶振武.群体智能研究进展[J].管理科学学报,2007

[16]崔红梅,朱庆保.微粒群算法的参数选择及收敛性分析[J]. 计算机工程与应用,2007

[17]曾建潮,崔志华.一种保证全局收敛的PSO算法[J].计算机研究与发展,2004,(8):1333

—1338

[18]王丽,王晓凯.一种非线性改变惯性权重的粒子群算法[J].计算机工程与应用,2007.43

[19]李会荣,高岳林,李济民.一种非线性递减惯性权重策略的粒子群优化算法[J].商洛学

院学报2007.12

[20]韩江洪,李正荣,魏振春.一种自适应粒子群优化算法及其仿真研究[J].系统仿真学

报,2006.10

[21]刘建华,樊晓平.一种惯性权重动态调整的新型粒子群算法[J].计算机工程与应用,

2007.43(7)

[22]胡建秀,曾建潮.具有随机惯性权重的PSO算法[J].计算机仿真,2006.8

[23]郭文忠.粒子群优化算法中惯性调整的一种新策略[J].计算机工程与科学,2007.10

[24]王伯成,施锦丹,王凯.粒子群优化算法的研究现状与发展概述[J].电视技术,2008.5

[25]唐岑琦,周有人.具有综合学习机制的粒子群算法[J].计算机工程与应用,2007,43(31)

[26]陈贵敏.粒子群优化算法的惯性权值递减策略研究[J].西安交通大学学报,2006.

[27]王启付,王战江.一种改变惯性权重的粒子群优化算法[J].中国机械工程,2005.16(11)

[28]王俊伟,汪定伟.粒子群算法中惯性权重的实验与分析[J].系统工程学报,2005.20

(2):194-198

[29 ]张选平,杜玉平.秦国强,覃征.一种动态改变惯性权重的自适应粒子群算法[J].西安

交通大学学报,2005.10

[30]张丽平,俞欢军.粒子群优化算法的分析与改进[J].信息与控制,2004.33(5):513-517

[31]张振宇.粒子群优化算法及其在电力系统优化运行中的应用[D].天津:天津大学,2007

[32]李丹,高立群.电力系统机组组合问题的动态双种群粒子群算法[J].计算机应用,2008

[33]侯颖君.粒子群优化算法在电力系统规划中的应用研究[D].杭州:浙江大学, 2008.03

[34]肖健梅.李军军.改进微粒群优化算法求解旅行商问题[J].计算机工程与应用,2004.35

[35]高海兵.基于粒子群优化的神经网络训练算法研究[J].计算机工程与应用, 2004.9

[36]卜雷,蒲云,尹传忠.城市公交车路线选择的遗传算法[J].世界科技研究与发展.2004

[37]陈永刚.粒子群算法及其在函数优化和路径优化问题上的应用[D].长春:吉林大学,

2006.08

[38]曹国华,李婷婷.改进PSO算法及其在函数优化中的应用[J].南京师范大学学报(工程技

术版), 2007,02.002

[39]徐小平,钱富才,刘丁.基于PSO算法的系统辨识方法[J].系统仿真学报, 2008.13

[40]胡家声.粒子群优化算法及其在电力系统中的应用[D].武汉:华中科技大学, 2005.03

Study on the inertia weight of the particle swarm

optimization (PSO)

Li Li,Bing Xue,and Ben Niu

Abstract: The inertia weight is an important way to improve the particle swarm optimization (PSO) algorithm. This paper introduces the basic theory and the process of the PSO, then analyses the importance of the inertia weight, summarize the different improved PSO algorithms caused by the different inertia weight strategy and discusses them, At last the further researches on the inertia weight are given.

Keywords: Particle swarm optimization; inertia weight; strategy.

改进的粒子群优化算法

第37卷第4期河北工业大学学报2008年8月V ol.37No.4JOURNAL OF HEBEI UNIVERSITY OF TECHNOLOGY August2008 文章编号:1008-2373(2008)04-0055-05 改进的粒子群优化算法 宋洁,董永峰,侯向丹,杨彦卿 (河北工业大学计算机科学与软件学院,天津300401) 摘要粒子群优化算法是一种基于群体的自适应搜索优化算法,存在后期收敛慢、搜索精度低、容易陷入局部极 小等缺点,为此提出了一种改进的粒子群优化算法,从初始解和搜索精度两个方面进行了改进,提高了算法的计 算精度,改善了算法收敛性,很大程度上避免了算法陷入局部极小.对经典函数测试计算,验证了算法的有效性. 关键词粒子群优化算法;均匀化;变量搜索;初始解;搜索精度 中图分类号TP391文献标识码A A Modified Particle Swarm Optimization Algorithm SONG Jie,DONG Yong-feng,HOU Xiang-dan,Y ANG Yan-qing (School of Computer Science and Engineering,Hebei University of Technology,Tianjin300401,China) Abstract Particle Swarm Optimization Algorithm is a kind of auto-adapted search optimization based on community. But the standard particle swarm optimization is used resulting in slow after convergence,low search precision and easily leading to local minimum.A new Particle Swarm Optimization algorithm is proposed to improve from the initial solution and the search precision.The obtained results showed the algorithm computation precision and the astringency are im- proved,and local minimum is avoided.The experimental results of classic functions show that the improved PSO is ef- ficient and feasible. Key words PSO;average;variable search;initial solution;search accuracy 0引言 粒子群优化(Particle Swarm Optimization,PSO)算法是一种基于群体的随机优化技术,最早在1995年由美国社会心理学家James Kennedy和电气工程师Russell Eberhart[1]共同提出,基本思想源于对鸟群觅食行为的研究.PSO将每个可能产生的解都表述为群中的一个微粒,每个微粒都具有自己的位置向量和速度向量,和一个由目标函数决定的适应度,通过类似梯度下降算法使各粒子向适应度函数值最高的方向群游.该算法控制参数少、程序相对简单,因此在应用领域表现出了很大的优越性.由于PSO算法容易理解、易于实现,所以PSO算法发展很快.目前,多种PSO改进算法已广泛应用于函数优化、神经网络训练、模式识别、模糊系统控制以及其他的应用领域. 许多学者对PSO算法进行研究,发现其容易出现早熟、最优解附近收敛慢等现象,并提出了一些改进方案,例如自适应PSO算法、混合PSO算法、杂交PSO算法等[2-4].因此,本文从初始解和收敛精度两个角度出发对PSO算法进行了改进,提高了算法的计算精度,有效的改善了算法的优化性能. 1基本PSO算法 PSO算法是一种基于群体的随机优化技术,基本思想源于对鸟群觅食行为的研究.通过对鸟群飞行时经常会突然改变方向、散开、聚集,但整体总保持一致性,个体与个体间鸟群好像在一个中心的控制 收稿日期:2008-04-17 基金项目:河北省自然科学基金(F2006000109) 作者简介:宋洁(1967-),女(汉族),副教授.

一种改进的粒子群优化算法

一种改进的粒子群优化算法 发表时间:2011-04-08T10:15:21.830Z 来源:《价值工程》2011年第3月上旬作者:武燕张冰[导读] 介绍基本粒子群优化算法的原理、特点,并在此基础上提出了一种改进的粒子群算法。 武燕 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)

标准粒子群算法(PSO)及其Matlab程序和常见改进算法

一、粒子群算法概述 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。 PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。 PSO 初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个”极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest。另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。 二、算法原理 粒子群算法采用常数学习因子,及惯性权重,粒子根据如下的公式更新自己的速度和位置。 V ki=ωk V i?1i+c1r1(Q bi?Q k?1i)+c2r2(Q bg?Q k?1i)Q ki=Q k?1i+V ki 三、算法步骤 1、随机初始化种群中各微粒的位置和速度; 2、评价个粒子的适应度,将各粒子的位置和适应度储存在各微粒的pbest(Q bi)中,将所有pbest中适应度最优的个体的位置和适应度存储在gbest(Q bg)中。 3、更新粒子的速度和位移。 V ki=ωk V i?1i+c1r1(Q bi?Q k?1i)+c2r2(Q bg?Q k?1i)Q ki=Q k?1i+V ki 4、对每个微粒,与其前一个最优位置比较,如果较好,则将其作为当前的最优位置。 5、比较当前所有的pbest和上一迭代周期的gbest,更新gbest。 6、若满足停止条件(达到要求精度或迭代次数),搜索停止,输出结果,否则,返回2。

粒子群优化算法介绍及matlab程序

粒子群优化算法(1)—粒子群优化算法简介 PSO算法就是模拟一群鸟寻找食物的过程,每个鸟就是PSO中的粒子,也就是我们需要求解问题的可能解,这些鸟在寻找食物的过程中,不停改变自己在空中飞行的位置与速度。大家也可以观察一下,鸟群在寻找食物的过程中,开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。这个过程我们转化为一个数学问题。寻找函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。该函数的图形如下: 当x=0.9350-0.9450,达到最大值y=1.3706。为了得到该函数的最大值,我们在[0, 4]之间随机的洒一些点,为了演示,我们放置两个点,并且计算这两个点的函数值,同时给这两个点设置在[0, 4]之间的一个速度。下面这些点就会按照一定的公式更改自己的位置,到达新位置后,再计算这两个点的值,然后再按照一定的公式更新自己的位置。直到最后在y=1.3706这个点停止自己的更新。这个过程与粒子群算法作为对照如下: 这两个点就是粒子群算法中的粒子。 该函数的最大值就是鸟群中的食物。 计算两个点函数值就是粒子群算法中的适应值,计算用的函数就是粒子群算法中的适应度函数。 更新自己位置的公式就是粒子群算法中的位置速度更新公式。 下面演示一下这个算法运行一次的大概过程: 第一次初始化 第一次更新位置

第二次更新位置 第21次更新 最后的结果(30次迭代) 最后所有的点都集中在最大值的地方。

粒子群优化算法(2)—标准粒子群优化算法 在上一节的叙述中,唯一没有给大家介绍的就是函数的这些随机的点(粒子)是如何运动的,只是说按照一定的公式更新。这个公式就是粒子群算法中的位置速度更新公式。下面就介绍这个公式是什么。在上一节中我们求取函数y=1-cos(3*x)*exp(-x)的在[0, 4]最大值。并在[0,4]之间放置了两个随机的点,这些点的坐标假设为x1=1.5,x2=2.5;这里的点是一个标量,但是我们经常遇到的问题可能是更一般的情况—x 为一个矢量的情况,比如二维z=2*x1+3*x22的情况。这个时候我们的每个粒子均为二维,记粒子P1=(x11,x12),P2=(x21,x22),P3=(x31,x32),......Pn=(xn1,xn2)。这里n 为粒子群群体的规模,也就是这个群中粒子的个数,每个粒子的维数为2。更一般的是粒子的维数为q ,这样在这个种群中有n 个粒子,每个粒子为q 维。 由n 个粒子组成的群体对Q 维(就是每个粒子的维数)空间进行搜索。每个粒子表示为:x i =(x i1,x i2,x i3,...,x iQ ),每个粒子对应的速度可以表示为v i =(v i1,v i2,v i3,....,v iQ ),每个粒子在搜索时要考虑两个因素: 1. 自己搜索到的历史最优值 p i ,p i =(p i1,p i2,....,p iQ ),i=1,2,3,....,n ; 2. 全部粒子搜索到的最优值p g ,p g =(p g1,p g2,....,p gQ ),注意这里的p g 只有一个。 下面给出粒子群算法的位置速度更新公式: 112()()()()k k k k i i i i v v c rand pbest x c rand gbest x ω+=+??-+??-, 11k k k i i i x x av ++=+. 这里有几个重要的参数需要大家记忆,因为在以后的讲解中将会经常用到,它们是: ω是保持原来速度的系数,所以叫做惯性权重。1c 是粒子跟踪自己历史最优值的权重系数,它表示粒子自身的认识,所以叫“认知”。通常设置为2。2c 是粒子跟踪群体最优值的权重系数,它表示粒子对整个群体知识的认识,所以叫做“社会知识”,经常叫做“社会”。通常设置为2。()rand 是[0,1]区间内均匀分布的随机数。a 是对位置更新的时候,在速度前面加的一个系数,这个系数我们叫做约束因子。通常设置为1。这样一个标准的粒子群算法就介绍结束了。下图是对整个基本的粒子群的过程给一个简单的图形表示。 判断终止条件可是设置适应值到达一定的数值或者循环一定的次数。 注意:这里的粒子是同时跟踪自己的历史最优值与全局(群体)最优值来改变自己的位置预速度的,所以又叫做全局版本的标准粒子群优化算法。

一种新的改进粒子群算法研究

一种新的改进粒子群算法研究 马金玲,唐普英 电子科技大学光电信息学院,成都 (610054) E-mail:majinling2006@https://www.wendangku.net/doc/c03685196.html, 摘 要:研究粒子群优化算法(PSO)的收敛速度,以提高该算法性能是PSO的一个重要而且有意义的研究。Jun Sun 等人通过对PSO系统下的单个个体在量子多维空间的运动及其收敛性的分析,提出了具有δ函数形式的粒子群算法(Quantum Delta-Potential-Well-based PSO)。论文在此基础上提出了改进型算法(IQDPSO),用粒子的速度来产生一个随机数引导粒子向最优解快速靠拢,并对速度的处理采取了新的策略。仿真结果表明:该改进算法较原算法在收敛速度上有很好的改善,而且稳定性也较好。 关键词:粒子群优化算法,量子行为,量子机理 中图分类号: TP301.6 1. 引言 粒子群优化算法(PSO)是近年来被广泛关注和研究的一种智能优化算法,最初由Kennedy和Eberhart于1995年提出并成功地应用于函数优化,后来又进行了有效的拓展。它是对鸟群觅食过程和集聚的模拟[1],是一种全局优化算法。其基本的表达式为 v t+1= v t +c1·r1(P t - x t) + c2·r2(P g - x t) (1) x t+1 = x t + v t+1(2)其中,r1 ,r2是介于(0,1)之间的随机数;c1、c2均是正常数;P g是全局最优解;P t是当前代的个体粒子最优解;x t是当前代粒子的位置;v t是当前代粒子的速度。经典PSO算法的粒子就是根据以上两式来更新自己的位置和速度,寻求最优解。 后来Shi 等人又提出了惯性权重的方法[2]和用模糊控制器来动态自适应地改变惯性权重的技术[3],以提高算法的收敛速度。Clerc 等人提出了压缩因子法[4],以控制系统行为最终收敛。随后又有很多学者从各个角度提出了改进型算法,这些改进的算法虽然解决了一些实际应用问题,但大部分却牺牲了粒子群算法简单、易实现的特性,并且大大增加了计算量。这对要求快速找到最优解的问题显然是不适用的。所以探索在不增加计算量的情况下,能够更好的解决实际问题的粒子群算法,是一个值得研究的课题。Jun Sun等人提出的具有δ函数形式的粒子群算法就很好的保持了粒子群算法的特性[5]。文中的算法就是该算法的改进(IQDPSO):用个体粒子的速度产生一个引导该粒子向最优解靠拢的随机数,但是只有当前代个体粒子的适应值不如前一代时,才更新粒子的速度。仿真结果显示:该改进算法在收敛率上有很大的提升,并且稳定性也近乎完美。 2. QDPSO算法 该算法改变了经典PSO的粒子更新策略。文献[5]认为,在PSO系统下的个体粒子如果具有量子行为,那么此粒子将会与经典PSO算法中的粒子以截然不同的方式运行。根据传统的牛顿力学机制,经典PSO算法中的每一个粒子的状态都是由它的速度向量和位置向量来描述的,粒子移动的过程形成了一个确定的运动“轨迹”。文献[5]的作者认为,这个所谓的“轨迹”对具有量子机理的粒子已经没有意义了。因为粒子的速度向量和位置向量不能再依据“不确定原理”被同时确定了。所以文献[5]在保持了PSO算法原理下,提出了QDPSO (Quantum Delta-Potential-Well-based PSO)算法。该算法只用了粒子的位置向量,并且是用

浅谈粒子群算法改进方法

浅谈粒子群算法改进方法 【摘要】本文介绍了粒子群算法的基本概念及粒子群算法的训练过程,分别从基本进入、改变惯性因子、改变收缩因子三个方面对其进行优化改进。 【关键词】粒子群;进化方程;惯性因子;收缩因子 1.粒子群算法综述 二十世纪九十年代,美国的社会心理学家James Kennedy和电气工程师Russell通过对自然界的鸟群进行觅食的行为进行观察和研究,提出了模仿鸟群行为的新型群体智能算法——粒子群(Particle Swarm Optimization,PSO)算法。 粒子群算法与其它进化类算法十分相似,同样也是采用“群体”与“进化”的概念,同样也是依据粒子的适应值大小进行操作。而与之不同的是,粒子群算法不像其它进化算法那样,对于每个个体使用进化算子,而是将每个个体看作是在一个n维搜索空间中的没有重量没有体积的微粒,并在搜索空间中以一定的速度进行飞行。该飞行速度这个个体的飞行经验和群体的飞行经验来进行动态的调整。 2.粒子群算法实现的步骤 这里将基本粒子群算法的训练过程描述如下: (1)首先将初始化方程作为依据,将该粒子群体的随机位置和速度进行初始化设置; (2)计算粒子群中每个粒子的适应度值; (3)将该粒子群中每个粒子的适应值与其经历过的最好位置Pi的适应值进行比较,如果好,将它作为当前的最好位置; (4)将该粒子群体中每个粒子的适应值与所有粒子经历的最好位置Pg的适应值进行比较,如果好,将它作为当前的全局最好位置; (5)以粒子群进化方程为依据,进化粒子的速度及位置; (6)如果没有达到设置的结束条件或达到一个设置的最大迭代次数,则返回到第二步,否则结束。 3.粒子群算法进化方程的改进 3.1 基本粒子群算法进化方程的分析

粒子群算法(1)----粒子群算法简介

粒子群算法(1)----粒子群算法简介 二、粒子群算法的具体表述 上面罗嗦了半天,那些都是科研工作者写论文的语气,不过,PSO的历史就像上面说的那样。下面通俗的解释PSO算法。 PSO算法就是模拟一群鸟寻找食物的过程,每个鸟就是PSO.中的粒子,也就是我们需要求解问题的可能解,这些鸟在寻找食物的过程中,不停改变自己在空中飞行的位置与速度。大家也可以观察一下,鸟群在寻找食物的过程中,开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。这个过程我们转化为一个数学问题。寻找函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。该函数的图形如下: 当x=0.9350-0.9450,达到最大值y=1.3706。为了得到该函数的最大值,我们在[0,4]之间随机的洒一些点,为了演示,我们放置两个点,并且计算这两个点的函数值,同时给这两个点设置在[0,4]之间的一个速度。下面这些点就会按照一定的公式更改自己的位置,到达新位置后,再计算这两个点的值,然后再按照一定的公式更新自己的位置。直到最后在y=1.3706这个点停止自己的更新。这个过程与粒子群算法作为对照如下: 这两个点就是粒子群算法中的粒子。 该函数的最大值就是鸟群中的食物 计算两个点函数值就是粒子群算法中的适应值,计算用的函数就是粒子群算法中的适应度函数。 更新自己位置的一定公式就是粒子群算法中的位置速度更新公式。 下面演示一下这个算法运行一次的大概过程: 第一次初始化

第一次更新位置 第二次更新位置

第21次更新 最后的结果(30次迭代) 最后所有的点都集中在最大值的地方。

粒子群算法常用改进方法总结

粒群算法的改进方法 一.与其他理论结合的改进 1.协同PSO(CPSO)算法 原理:提出了协同PSO的基本思想,采用沿不同分量划分子群体的原则,即用N个相互独立的微粒群分别在D维的目标搜索空间中的不同维度方向上进行搜索。 优点:用局部学习策略,比基本PSO算法更容易跳出局部极值,达到较高的收敛精度. 缺点:此算法在迭代初期,适应值下降缓慢,且其收敛速度与种群所含微粒数目成反比. 2.随机PSO(SPSO)算法 原理:其基本思想是利用停止进化的微粒来改善全局搜索能力。即将式(1)中的当前速度项V过去掉,从而使得速度本身失去记忆性,减弱了全局搜索能力.但这样也使得在进化的每一代均至少有一个微 粒出予处于微粒群的历史最好位置而停止进化.然后在搜索空问中重新随机产生新的微粒以代替停止微粒的进一步进化.这样就大大增强了全局搜索麓力. 3.有拉伸功能的PSO算法 原理:为了有效地求解多模态复杂函数优化问题,Parsopoulos等人将函数“Stretching”技术引入PSO算法,形成了一种高效的全局优化算法一“Stretching PSO”(SPSO)。它通过消除不理想的局部极小而保留全局最小来避免陷入局部极小.在检测到目标函数的局部极小

点后,立即对待优化的目标函数进行拉伸变换. 优点:.SPSO具有稳健的收敛性和良好的搜索能力,在很多高维度,多局部极值的函数最小值的求解问题上,搜索成功率显著提高。 缺点:计算耗时相应地也会增加. 4.耗散PSO(DPSO)算法 原理:谢晓峰等人根据耗散结构的自组织性,提出了一种耗散型PSO 算法.耗散PSO算法构造了一个开放的耗散系统.微粒在开放系统中的“飞行”不只依赖于历史经历,还要受环境的影响.附加噪声从外部环境中,持续为微粒群弓|入负熵,使得系统处于远离平衡态的状态.又由于群体中存在内在的非线性相互作用,从而使群体能够不断进化。 二.与其他算法结合的改进 1.混合PSO(HPSO)算法 原理:Angeline于1998年提出采用进化计算中的选择操作的改进型PSO模型,成为混合PSO(HPSO)。 优点:HPSO提高了收敛速度并保持了一定的全局收敛能力 缺点:在解决超高维、非线性、多局部极值的复杂性优化问题时有些力不从心。 2.杂交PSO算法 原理:借鉴遗传算法的思想,Angelinec最早提出了杂交PSO算法的概念,而Lovbjerg等人进一步将进化计算机制应用于PSO算法,给出了算法交叉的具体形式。

粒子群算法详解matlab代码

粒子群算法(1)----粒子群算法简介 一、粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论于1994年正式提出,CAS中的成员称为主体。比如研究鸟群系统,每个鸟在这个系统中就称为主体。主体有适应性,它能够与环境及其他的主体进行交流,并且根据交流的过程“学习”或“积累经验”改变自身结构与行为。整个系统的演变或进化包括:新层次的产生(小鸟的出生);分化和多样性的出现(鸟群中的鸟分成许多小的群);新的主题的出现(鸟寻找食物过程中,不断发现新的食物)。 所以CAS系统中的主体具有4个基本特点(这些特点是粒子群算法发展变化的依据): 首先,主体是主动的、活动的。 主体与环境及其他主体是相互影响、相互作用的,这种影响是系统发展变化的主要动力。 环境的影响是宏观的,主体之间的影响是微观的,宏观与微观要有机结合。 最后,整个系统可能还要受一些随机因素的影响。 粒子群算法就是对一个CAS系统---鸟群社会系统的研究得出的。 粒子群算法(Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究。设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PSO算法就从这种生物种群行为特性中得到启发并用于求解优化问题。在PSO中,每个优化问题的潜在解都可以想象成d维搜索空间上的一个点,我们称之为“粒子”(Particle),所有的粒子都有一个被目标函数决定的适应值(Fitness Value ),每个粒子还有一个速度决定他们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中搜索。Reynolds对鸟群飞行的研究发现。鸟仅仅是追踪它有限数量的邻居但最终的整体结果是整个鸟群好像在一个中心的控制之下.即复杂的全局行为是由简单规则的相互作用引起的。 二、粒子群算法的具体表述 上面罗嗦了半天,那些都是科研工作者写论文的语气,不过,PSO的历史就像上面说的那样。下面通俗的解释PSO算法。 PSO算法就是模拟一群鸟寻找食物的过程,每个鸟就是PSO中的粒子,也就是我们需要求解问题的可能解,这些鸟在寻找食物的过程中,不停改变自己在空中飞行的位置与速度。大家也可以观察一下,鸟群在寻找食物的过程中,开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。这个过程我们转化为一个数学问题。寻找函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。该函数的图形如下:

粒子群优化算法及其应用研究【精品文档】(完整版)

摘要 在智能领域,大部分问题都可以归结为优化问题。常用的经典优化算法都对问题有一定的约束条件,如要求优化函数可微等,仿生算法是一种模拟生物智能行为的优化算法,由于其几乎不存在对问题的约束,因此,粒子群优化算法在各种优化问题中得到广泛应用。 本文首先描述了基本粒子群优化算法及其改进算法的基本原理,对比分析粒子群优化算法与其他优化算法的优缺点,并对基本粒子群优化算法参数进行了简要分析。根据分析结果,研究了一种基于量子的粒子群优化算法。在标准测试函数的优化上粒子群优化算法与改进算法进行了比较,实验结果表明改进的算法在优化性能明显要优于其它算法。本文算法应用于支持向量机参数选择的优化问题上也获得了较好的性能。最后,对本文进行了简单的总结和展望。 关键词:粒子群优化算法最小二乘支持向量机参数优化适应度

目录 摘要...................................................................... I 目录....................................................................... II 1.概述. (1) 1.1引言 (1) 1.2研究背景 (1) 1.2.1人工生命计算 (1) 1.2.2 群集智能理论 (2) 1.3算法比较 (2) 1.3.1粒子群算法与遗传算法(GA)比较 (2) 1.3.2粒子群算法与蚁群算法(ACO)比较 (3) 1.4粒子群优化算法的研究现状 (4) 1.4.1理论研究现状 (4) 1.4.2应用研究现状 (5) 1.5粒子群优化算法的应用 (5) 1.5.1神经网络训练 (6) 1.5.2函数优化 (6) 1.5.3其他应用 (6) 1.5.4粒子群优化算法的工程应用概述 (6) 2.粒子群优化算法 (8) 2.1基本粒子群优化算法 (8) 2.1.1基本理论 (8) 2.1.2算法流程 (9) 2.2标准粒子群优化算法 (10) 2.2.1惯性权重 (10) 2.2.2压缩因子 (11) 2.3算法分析 (12) 2.3.1参数分析 (12) 2.3.2粒子群优化算法的特点 (14) 3.粒子群优化算法的改进 (15) 3.1粒子群优化算法存在的问题 (15) 3.2粒子群优化算法的改进分析 (15) 3.3基于量子粒子群优化(QPSO)算法 (17) 3.3.1 QPSO算法的优点 (17) 3.3.2 基于MATLAB的仿真 (18) 3.4 PSO仿真 (19) 3.4.1 标准测试函数 (19) 3.4.2 试验参数设置 (20) 3.5试验结果与分析 (21) 4.粒子群优化算法在支持向量机的参数优化中的应用 (22) 4.1支持向量机 (22) 4.2最小二乘支持向量机原理 (22)

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

一种改进的粒子群优化算法 武燕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,

粒子群算法介绍

1.介绍: 粒子群算法(Particle Swarm Optimization, PSO)最早是由Eberhart 和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究。设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 经过实践证明:全局版本的粒子群算法收敛速度快,但是容易陷入局部最优。局部版本的粒子群算法收敛速度慢,但是很难陷入局部最优。现在的粒子群算法大都在收敛速度与摆脱局部最优这两个方面下功夫。其实这两个方面是矛盾的。看如何更好的折中了。 粒子群算法主要分为4个大的分支: (1)标准粒子群算法的变形 在这个分支中,主要是对标准粒子群算法的惯性因子、收敛因子(约束因子)、“认知”部分的c1,“社会”部分的c2进行变化与调节,希望获得好的效果。 惯性因子的原始版本是保持不变的,后来有人提出随着算法迭代的进行,惯性因子需要逐渐减小的思想。算法开始阶段,大的惯性因子可以是算法不容易陷入局部最优,到算法的后期,小的惯性因子可以使收敛速度加快,使收敛更加平稳,不至于出现振荡现象。经过本人测试,动态的减小惯性因子w,的确可以使算法更加稳定,效果比较好。但是递减惯性因子采用什么样的方法呢?人们首先想到的是线型递减,这种策略的确很好,但是是不是最优的呢?于是有人对递减的策略作了研究,研究结果指出:线型函数的递减优于凸函数的递减策略,但是凹函数的递减策略又优于线型的递减,经过本人测试,实验结果基本符合这个结论,但是效果不是很明显。 对于收敛因子,经过证明如果收敛因子取0.729,可以确保算法的收敛,但是不能保证算法收敛到全局最优,经过本人测试,取收敛因子为0.729效果较好。对于社会与认知的系数c2,c1也有人提出:c1先大后小,而c2先小后大的思想,因为在算法运行初期,每个鸟要有大的自己的认知部分而又比较小的社会部分,这个与我们自己一群人找东西的情形比较接近,因为在我们找东西的初期,我们基本依靠自己的知识取寻

基于改进粒子群算法的优化策略

收稿日期:2009-12-13 基金项目:国家自然科学基金资助项目(60674021) 作者简介:卢 峰(1982-),男,辽宁抚顺人,东北大学博士研究生;高立群(1949-),男,辽宁沈阳人,东北大学教授,博士生导师 第32卷第9期2011年9月东北大学学报(自然科学版)Journal of Northeastern U niversity(Natural Science)Vol 32,No.9Sep.2011 基于改进粒子群算法的优化策略 卢 峰,高立群 (东北大学信息科学与工程学院,辽宁沈阳 110819) 摘 要:为提高传统粒子群算法的搜索速度和搜索精度,提出了一种改进的自适应粒子群优化算法 将正则变化函数和慢变函数引入传统位置更新和速度更新公式当中,形成两种新的更新机制:搜索算子和开发算子 在算法运行的初始阶段,种群中大部分个体将按照搜索算子进行更新,搜索算子将有助于种群遍历整个解空间;随着迭代次数的增加,按照搜索算子进行更新的个体将逐渐减少,而按照开发算子进行更新的个体将逐渐增多,开发算子将有效地克服陷入局部最优解的问题 通过典型测试函数的仿真实验,新算法在加快收敛速度同时,提高了算法的全局搜索能力 关 键 词:进化算法;粒子群算法;全局优化;慢变函数;自适应 中图分类号:T G 273 文献标志码:A 文章编号:1005 3026(2011)09 01221 04 Novel Optimization Mechanism Based on Improved Particle Swarm Optimization L U Feng ,GAO L i qun (School of Information Science &Engineering,Northeaster n U niv ersity,Shenyang 110819,China.Corresponding author :LU F eng,E mail:feng.lu.lf @g https://www.wendangku.net/doc/c03685196.html,) Abstract :To accelerate searching speed and optimization accuracy of traditional PSO,an improved particle swarm optimization (PSO )algorithm w as presented.Regularly vary ing function and slow ly varying function were introduced in the position and velocity update formula.New mechanisms such as explorative operator and exploitative operator are formulated.At the beginning,most elements will be updated by explorative operator in the entire search space sufficiently.Within the iterations,more and more particles w ill be handled by ex ploitative operator,which are useful to overcome the deceptions of multiple local optima.It can be seen from the simulation results of the standard benchm ark test functions that the proposed algorithm not only accelerates the convergence process,but also improves g lobal optim ization ability. Key words:evolutionary algorithms;particle sw arm optimization;global optimization;slow ly v arying function;self adaptive 20世纪90年代初,产生了模拟自然生物群体行为的优化方法,被称为群智能优化方法 Dorigo 等人通过模拟蚂蚁的寻径行为,提出了蚁群优化算法(ant colony optimization)[1] ;Eberhart 等人基于对鸟群、鱼群的模拟,提出了粒子群优化算法(particle sw arm optim ization )[2] 作为一种群智能优化方法的代表,粒子群算法通过个体间的协作来寻找最优解,每个个体都被赋予一个随机速度并在整个解空间中搜索,通 过个体之间的合作与竞争来实现个体进化 由于粒子群优化算法运算简单,易于实现,具有良好的解决非线性、不可微和多峰值复杂优化问题的能力,已被广泛应用于科学和工程实际领域[3-5] 但是,粒子群优化算法是根据全体粒子和自身的搜索经验向着最优解的方向进化,在进化后期收敛速度将变得缓慢,同时算法在收敛到一定精度时,容易陷入停滞,无法继续进化更新,因此,存在早熟和陷入局部极值点的现象

相关文档