粒子群优化算法综述摘要:本文围绕粒子群优化算法的原理、特点、改进与应用等方面进行全面综述。
侧重于粒子群的改进算法,简短介绍了粒子群算法在典型理论问题和实际工业对象中的应用,并给出了粒子群算三个重要的网址,最后对粒子群算做了进一步展望。
关键词;粒子群算法;应用;电子资源;综述0.引言粒子群优化算法]1[(Particle Swarm Optimization ,PSO)是由美国的Kenned 和Eberhar 于1995年提出的一种优化算法,该算法通过模拟鸟群觅食行为的规律和过程,建立了一种基于群智能方法的演化计算技术。
由于此算法在多维空间函数寻优、动态目标寻优时有实现容易,鲁棒性好,收敛快等优点在科学和工程领域已取得很好的研究成果。
1. 基本粒子群算法]41[-假设在一个D 维目标搜索空间中,有m 个粒子组成一个群落,其中地i 个粒子组成一个D 维向量,),,,(21iD i i i x x x x =,m i ,2,1=,即第i 个粒子在D 维目标搜索空间中的位置是i x 。
换言之,每个粒子的位置就是一个潜在的解。
将i x 带入一个目标函数就可以计算出其适应值,根据适应值得大小衡量i x 的优劣。
第i 个粒子的飞翔速度也是一个D 维向量,记为),,,(21iD i i i v v v v =。
记第i 个粒子迄今为止搜索到的最优位置为),,,(21iD i i i p p p p =,整个粒子群迄今为止搜索到的最优位置为),,,(21gD gi g g p p p p =。
粒子群优化算法一般采用下面的公式对粒子进行操作)()(22111t id t gd t id t id t id t id x p r c x p r c v v -+-+=+ω (1)11+++=t idt id t id v x x (2) 式中,m i ,,2,1 =;D d ,,2,1 =;ω是惯性权重, 1c 和2c 是非负常数,称为学习因子, 1r 和2r 是介于]1,0[间的随机数;],[max max v v v id -∈,max v 是常数,由用户设定。
2. 粒子群算法的改进与其它优化算法一样PSO 也存在早熟收敛问题。
随着人们对算法搜索速度和精度的不断追求,大量的学者对该算法进行了改进,大致可分为以下两类:一类是提高算法的收敛速度;一类是增加种群多样性以防止算法陷入局部最优。
以下是对最新的这两类改进的总结。
2.1.1 改进收敛速度量子粒子群优化算法]5[:在量子系统中,粒子能够以某一确定的概率出现在可行解空间中的任意位置,因此,有更大的搜索范围,与传统PSO 法相比,更有可能避免粒子陷入局部最优。
虽然量子有更大的搜索空间,但是在粒子进化过程中,缺乏很好的方向指导。
针对这个缺陷,对进化过程中的粒子进行有效疫苗接种,使它们朝着更好的进化方向发展,从而提高量子粒子群的收敛速度和寻优能力。
文化粒子群算法]6[:自适应指导文化PSO 由种群空间和信念空间两部分组成。
前者是基于PSO 的进化,而后者是基于信念文化的进化。
两个空间通过一组由接受函数和影响函数组成的通信协议联系在一起,接受函数用来收集群体空间中优秀个体的经验知识;影响函数利用解决问题的知识指导种群空间进化;更新函数用于更新信念空间;进化函数是群体操作函数,使个体空间得到进化;选择函数根据规则从新生成个体中选择一部分个体作为下代个体的父辈。
信念空间和群体空间各自保存自己的群体,并各自独立并行进化。
群体空间定期贡献最优个体给信念空间,信念空间不断进化自己的精英个体,反过来通过影响函数来影响群体空间,最终形成“双演化双促进”机制。
空间拓扑粒子群算法空间邻域直接在搜索空间按粒子间的距离(如欧式距离)进行划分,每个粒子与整个群体的其他粒子进行信息交换,并有向所有粒子中的历史最佳位置移动的趋势。
如Suganthan[7]引入一个时变的欧式空间邻域算子:在搜索初始阶段,将邻域定义为每个粒子自身;随着迭代次数的增加,将邻域范围逐渐扩展到整个种群。
混沌粒子群优化]8[:混沌是自然界一种看似杂乱、其实暗含内在规律性的常见非线性现象,具有随机性、遍历性和规律性特点.利用混沌运动的遍历性以粒子群的历史最佳位置为基础产生混沌序列,并将此序列中的最优位置随机替代粒子群中的某个粒子的位置,提出混沌粒子群算法(chaos particle swarm optimization, CPSO)。
改变惯性权重的粒子群算法]9[:惯性权重在PSO中起到重要的作用, 综合考虑了影响惯性权重的几种因素, 提出基于进化速度、聚集度和相似度的动态改变惯性权重的PSO。
对不同粒子采用不同的惯性权重. 距离全局最优值较近的粒子侧重局部搜索, 越是靠近,其惯性权重应该越小,并且聚集度越大,这部分粒子的惯性权重也应该越小. 距离全局最优值较远的粒子, 应当赋予较大的权重,以侧重全局搜索,并且聚集度越大,权重也应当越大。
2.2.2 对群体早熟的改进免疫粒子群算法]10[:在免疫算法基础上,增加了交叉和高频变异操作,以保证种群进化的多样性,克服PSO的早熟现象。
算法通过柯西变异提高算法的全局搜索能力,通过高斯变异提高算法的局部搜索能力。
此外,为解决随机的、没有指导的交叉变异操作可能引起群体的退化现象,引入了疫苗提取和疫苗接种策略。
从而避免在完全随机的寻优算法中出现的退化现象。
禁忌粒子群算法]11[:将禁忌思想融人PSO中,就是为了帮助算法跳出局部最优同时可以较好的保证算法搜索机制的稳定性。
该算法将粒子群算法找到的当前最优值禁忌一段时间后再释放,以此避免算法陷入局部最优。
即使算法暂时陷入局部最优,该算法跳出局部最优优的能力也很强。
遗传粒子群算法]12[:PSO使用简单,收敛速度快,但是容易早熟,陷入局部最优;而遗传算法全局搜索能力强,但搜索速度慢.两种算法互补,其思路是先利用PSO收敛速度快的特点进行前一阶段的优化,得到一定进化程度的初始种群;然后由遗传算法进行后一阶段的优化,避免陷入局部最优。
高斯粒子群算法:由于传PSO往往是在全局和局部最佳位置的中间进行搜索,搜索能力和收敛性能严重依赖加速常数和惯性权值的设置,为了克服该不足,Secrest等人]13[将高斯函数引入PSO算法中,用于引导粒子的运动;GPSO不再需要惯性权值,而加速常数由服从高斯分布的随机数产生。
3.粒子群算法的应用近年来,PSO快速发展,在众多领域得到了广泛应用。
将应用研究分为典型理论问题研究和实际工业应用两大类。
典型理论问题包括:组合优化、约束优化、多目标优化、动态系统优化等。
实际工业应用有:电力系统、滤波器设计、自动控制、数据聚类、模式识别与图像处理、化工、机械、通信、机器人、经济、生物信息、医学、任务分配、TSP等等。
4.电子资源(1)Maurice Clerc博士(Maurice.Clerc@)的PS0主页:http://clerc.maurice.free.fr/pso/该主页主要介绍Maurice Clerc博士带领的PSO研究小组的研究成果。
除了从中可以得到他们近几年公开发表的相关文献和源代码,还可以下载一些未公开发表的文章。
这些未公开发表的文章往往是Maurice Clerc博士的一些设想,而且在不断更新,如“Back to random topology”、“Initialisations for particle swarm optimization”、“Some ideas about PSO”等等,对PSO研究人员很有启发。
(2)P.N.Suganthan博士(epnsugan@.sg)的个人主页:http://.sg/home/epnsugan这是新加坡南洋理工大学P.N.Suganthan博士创建的个人主页,主要包含IEEE进化计算大会(CEC)近几年的benchmark测试问题(如CEC05的函数优化测试问题、CEC06的约束优化测试问题、CEC07的多目标优化测试问题、CEC08年大规模优化测试问题等)和P.N. Suganthan博士带领的研究小组的研究成果。
让人对P.N.Suganthan博士倍感钦佩的是,凡是该小组发表的论文,文中提出的新算法以及与之进行比较的其它算法,其源程序都可以通过EMAIL向P.N. Suganthan博士免费索取。
(3)粒子群中心(Particle Swarm Central)其主页是: http://ww该主页用于发布有关PSO的最新动态,链接了一些在国际上具有一定影响的从事PSO相关研究的个人和组织,更为重要的是,比较全面地列出了在国际主要期刊和会议上发表的论文目录以及很多PSO及其改进算法的MATLAB源代码.5.粒子群算法研究展望(1) 理论研究:自诞生以来其数学基础一直不完备,特别是收敛性一直没有得到彻底解决。
因此,仍需要对PSO的收敛性等方面进行进一步的理论研究。
(2) 信息共享机制:基于邻域拓扑的PSO局部模型大大提高了算法全局搜索能力,充分利用或改进现有拓扑结构以及提出新的拓扑,进一步改善算法性能,是一个值得进一步研究的问题。
同时,由于全局模型具有较快的收敛速度、而局部模型具有较好的全局搜索能力,对信息共享机制做进一步研究,保证算法既具有较快的收敛速度、又具有较好的全局搜索能力,也是一个很有意义的研究方向。
(3) 应用研究:算法的有效性和价值必须在实际应用中才能得到充分体现。
广大科学与工程领域的研究人员,在各自的专业背景下,利用PSO解决各种复杂系统的优化问题,进一步拓展其应用领域,是一项十分有意义的工作。
此外,由于PSO本质上是一种随机搜索算法,现场工程技术人员对它的可靠性仍难免心存疑虑,将PSO(或与工业系统在役技术结合)进行实用化推广,仍是一项任重而道远的任务。
参考文献:[ 1] Kennedy J , Eber ha rt R C . Par ticle swarm o pt imization[ G] / / Pr oc of IEEE Int Co nf o n Neur al Netw or ks. New York : IEEE, 1995: 1942-1948.[ 2] Shi Y, Eberhar t R C. A modified pa rticle swarm [ G] / /Pr oceeding of IEEE Int- ernational Conference on Evolutionary Computaion. New Yor k: IEEE, 1998:69-73.[ 3 ] Eberhart R C, Shi Y. Particle swarm optimization developments, applications and resources[A] / /Pr oceedings of the 2001 Congress on Evolutionary Comutation. Piscataway:IEEE,2001:81-86.[4] X.Hu,Y.Shi,and R.Eberhart. Recent advances in particle swarm [A]. in Proc. IEEEput.[C], vol.1, pp.90-97, Jun. 2004.[5]李红婵,朱颢东.并行自适应免疫量子粒子群优化算法[J]. 计算机工程.2011(5)221-222.[6]陶新民,杨立标.一种自适应指导的文化粒子群算法[J].计算机工程与应用,2011,47(14):37-41[7]Suganthan, P.N. Particle swarm optimiser with neighbourhood operator [A]. inProceedings of the IEEE Congress on Evolutionary Computation (CEC) [C], Piscataway, NJ, 1999, 1958-1962[8]高鹰,谢胜利.混沌粒子群优化算法 [J].计算机科学,2004,31(8):13-15.[9]杜振鑫, 王兆青.一种改进的动态改变惯性权重的粒子群算法[J]. 微电子学与计算机.2011,28(03).[10]段富,苏同芬.免疫粒子群算法的应用及其改进[J].计算机应用[J],2010,30(7):1883-1884[11]李辉.禁忌粒子群算法[J].陕西理工学院学报(自然科学版).2011,27(01):85-90.[12]刘小华,林杰.基于遗传粒子群混合算法的供应链调度优化[J].微电子学与计算机.2011,26(04)501-506[13] R.Krohling,Gaussian particle swarm with jumps[A].in Proc. IEEE Congr. Evol.Comput.[C],Sep.2005,vol.2,pp.1226–1231。