基于连续空间粒子群算法研究概论

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

华南理工大学研究生学报

——————————

1

基于连续空间的粒子群算法研究综述

刘蓉

(华南理工大学理学院,广东,广州,510640)

摘 要:粒子群算法是一类基于群体智能的启发式全局优化技术。通过粒子搜寻自身的个体最好解和整个粒

子群的全局最优解来更新完成优化。该算法概念简明、实现方便、收敛速度快、参数设置少,是一种高效的搜索算法。本文通过对基于连续空间的粒子群算法进行研究,给出了多种改进形式以及应用,指出了各种改进存在的不足,并提出了未来可能的研究方向。

关键词:粒子群算法,群体智能,启发式,连续空间

0 前言

粒子群算法(Particle Swarm Optimization ,PSO )最早是在1995年由Eberhart 和Kennedy[1]共同提出的,属于群体智能优化算法的一种,是对鸟群、鱼群觅食过程中的迁徙和聚集的模拟。鸟群在觅食的迁徙过程中,有既分散又集中的特点。总是有那么一只鸟对食物的嗅觉较好,即对食源的大致方向具有较好的洞察力,从而这只鸟就拥有食源的较好信息。由于在找到食物的途中,它们随时都相互传递信息,特别是好消息。所以,在好消息的指引下,最终导致了鸟群“一窝蜂”地奔向食源,达到了在食源的群集。粒子群算法中,解群相当于鸟群,一地到一地的迁徙相当于解群的进化,“好消息”相当于解群每代进化中的最优解,食源相当于全局最优解。

由于粒子群算法概念简单,易于实现,因而短期内得到很大发展,迅速地得到了国际计算研究领域的认可,并在很多领域得到应用,如电力系统优化、TSP 问题、神经网络训练、数字电路优化、函数优化、交通事故探测等。

本文研究的是基于连续空间的粒子群算法,主要用于对连续函数的测试。

1 改进的粒子群算法

粒子群优化算法是函数优化的有力工具,其优点是收敛速度快且需设置的参数较少;但有显而易见的缺点:易陷入局部极值点,搜索精度不高。因此当今很多学者致力于粒子群算法的改进工作。

对粒子群算法的改进主要集中在对参数的改进以及算法融合两个方面。对参数的改进包括对惯性权值ω、学习因子1c 和2c 、每一代粒子的飞行时间等的调整。对于算法融合方面,许多学者尝试了将粒子群算法与其他智能计算方法相融合,有结合遗传算子杂交和混合粒子群优化算法

[2]

、基于模拟退火的粒子群算法[3]、免疫粒子群算

法[4]、基于群体适应度方差自适应变异的粒子群算法[5]、与差别进化相结合的粒子群算法[6]等。

1.1 参数的改进 1.1.1 惯性权重法

Y uShi Hui 和Eberhart R [7]

首次提出了惯性权重ω的概念,并发现较大的ω值有利于跳出局部极小点,较小的ω值有利于算法的收敛,故此提出了自适应粒子群算法。速度更新公式如式(1-1)、(1-2)所示。

1

1122()()k k

k

k

id k id id id gd id v v c r p z c r p z ω+=+-+- (1-1)

max min

max max

k k iter ωωωω-=-

⨯ (1-2)

式中,m ax ω为初始惯性权重;min ω为最终惯性权重;m ax iter 为最大迭代次数;k 为当前迭代次数。

自适应粒子群算法在刚开始的时候倾向于开掘,然后逐渐转向于开拓,从而在局部区域调整解。这是目前使用最广泛的粒子群算法形式。 但是,当待解函数很复杂时,自适应粒子群算法在迭代后期全局搜索能力不足,容易陷入局

华南理工大学研究生学报

2

部极小点。

1.1.2 收缩因子法

Clerc [8]

的研究表明使用收缩因子可以保证粒

子群算法收敛。收缩因子χ是关于1c 、2c

的函数,定义的公式如式(1-3)、(1-4)所示。

11122[()()]k k k k

id id id id gd id v v c r p z c r p z χ+=+-+- (1-3)

12,4l c c l χ=

=+> (1-4)

Clerc 的带收缩因子的方法中设l 为4.1,故收缩因子χ为0.729。相当于在速度更新公式中,使

前次速度乘0.729。

收缩因子法可使粒子轨迹最终收敛,且可以有效搜索不同的区域,能得到高质量的解,若与此同时将每维的最大速度设置为一维搜索空间的大小,则可得到更好的效果。

但是,收缩因子法在处理单峰函数或者其它比较光滑的较为简单的函数时,比起基本粒子群算法,收敛速度稍微慢一点。

1.1.3 小生境粒子群法

粒子群算法启发性强、收敛速度快,使得粒子在寻优时过分集中,最后粒子都移向全局最优点,不能用于多模态函数优化。

2002年Brits [9]

等将小生境技术引入粒子群优化算法中,小生境法除去影响粒子间信息交流的“社会部分”,增强粒子局部搜索能力,每个粒子飞向离它最近的山峰,即形成小生境。小生境粒子群算法速度更新公式如式(1-5)所示。

1

11()k k k

id

k id id id v v c r p z ω+=+- (1-5)

小生境粒子群法主要应用于多峰函优化,对单峰函数效果不佳。

1.1.4 自适应调整飞行时间法

基本粒子群算法在解空间搜索时,每代粒子的飞行时间恒为1,有时会导致粒子在最优解的附近来回“振荡”现象[10]

。自适应调整飞行时间法动态调整飞行时间,随着迭代代数的增加,飞行时间线性减少。具体调整公式如式(1-6)、(1-7)所示。

1

k k

k

id

id id k z z v T +=+ (1-6)

00

m ax

(1)

k k T T k iter =- (1-7)

式中,k T 表示第k 代粒子的飞行时间;0T 表

示粒子最长飞行时间;0k 为比例系数,起调节作用。

自适应调整飞行时间法适用于复杂函数,最优值处在狭长或陡峭的山峰上。但是对于简单函数后期收敛速度较慢。

1.2 算法融合

Angeline

[11]

将选择算子引入粒子群算法中,

选择每次迭代后较好的粒子复制到下一代,以保证每次迭代的粒子群都具有良好的性能,这种算法对某些单峰函数效果良好。

Lvbjerg [12]在粒子群每次迭代后,按几率在粒子间交换各维,通过交叉来生成更优秀的粒子群算法对某些多峰函数效果较好。

Higash [13]等人分别提出了自己的变异粒子群算法,基本思路均是希望通过引入变异算子跳出局部极值点的吸引,从而提高算法的全局搜索能力,得到较高的搜索成功率。

高鹰等人则引入免疫机制的概念,提高粒子群的多样性和自我调节能力,以增强粒子的全局搜索能力。

Baskar 等人提出了协同粒子群算法,通过使用多群粒子分别优化问题的不同维来对基本算法进行改进尝试。

另外,还出现了一些量子粒子群算法、基于模拟退火的粒子群算法以及求解几何约束问题的粒子群算法等。

以上改进算法各有优缺点,它们引入了一些新的参数,在改进算法性能的同时也一定程度上增加了算法的复杂性。

2 结论

粒子群算法没有遗传算法和模拟退火算法成熟,在对复杂连续函数的优化上仍存在许多问题。

(1)对某些具有狭长的山峰的函数,很难求到其最优解。有效求解较复杂的函数,将大大促进粒子群算法的发展和应用。

(2)对具有很多最优点的函数,无法求出其所有极值点,只能求出部分极值点。如何取得所有

的最优点,是函数优化的一大难题。

相关文档
最新文档