智能控制技术课程论文中文题目: 粒子群算法的研究现状及其应用姓名学号:指导教师:年级与专业:所在学院:XXXX年XX月XX日1 研究的背景优化问题是一个古老的问题,可以将其定义为:在满足一定约束条件下,寻找一组参数值,使系统的某些性能指标达到最大值或最小值。
在我们的日常生活中,我们常常需要解决优化问题,在一定的范围内使我们追求的目标得到最大化。
为了解决我们遇到的最优化问题,科学家,们进行了不懈的努力,发展了诸如牛顿法、共轭梯度法等诸多优化算法,大大推动了优化问题的发展,但由于这些算法的低运行效率,使得在计算复杂度、收敛性等方面都无法满足实际的生产需要。
对此,受达尔文进化论的影响,一批新的智能优化算法相继被提出。
粒子群算法(PSO )就是其中的一项优化技术。
1995 年Eberhart 博士和Kennedy 博士[1]-[3]通过研究鸟群捕食的行为后,提出了粒子群算法。
设想有一群鸟在随机搜索食物,而在这个区域里只有一块食物,所有的鸟都不知道食物在哪里。
那么找到食物最简单有效的办法就是鸟群协同搜寻,鸟群中的每只鸟负责离其最近的周围区域。
粒子群算法是一种基于群体的优化工具,尤其适用于复杂和非线性问题。
系统初始化为一组随机解,通过迭代搜寻最优值,通过采用种群的方式组织搜索,同时搜索空间内的多个区域,所以特别适合大规模并行计算,具有较高的效率和简单、易操作的特性。
目前使用的粒子群算法的数学描述[3]为:设粒子的寻优空间是m 维的,粒子的数目为ps ,算法的最大寻优次数为Iter 。
第i 个粒子的飞行速度为T i i1i2im v [v v ]= ,,,v ,位置为T i i1i2im x [x x x ]= ,,,,粒子的个体极值T i i1i2im Pbest [,]P = ,P ,P ,全局极值为T i i1i2im Gbest [,]g = ,g ,g 。
粒子群算法的寻优过程主要由粒子的速度更新和位置更新两部分组成,其更新方式如下:i+11122v ()()i i i i i v c r Pbest x c r Gbest x =+−+−;i+1i+1i x x v =+,式中:12c c ,为学习因子,一般取2;12r r ,是均与分布着[0,1]上的随机数。
2 粒子群算法的国内外研究进展粒子群算法一经提出就吸引了各国学者的注意,经历了许多变形和改进,为实际的工业应用指引了新的方向。
从2003年IEEE第一届国际群智能研讨会在美国召开后,关于PSO算法的研究和应用成果的论文逐年增加,从图1不难看出,ISI数据库收录有关PSO论文数量近年来成指数增长趋势,这体现了对PSO的研究成了智能算法领域的一大热点。
PSO算法的研究主要集中在理论研究和应用研究两个方面。
在理论研究方面,目前PSO 算法还没有成熟的理论分析,部分研究者对算法的收敛性进行了分析,而部分研究者在算法的结构和性能改善方面进行研究,包括参数分析,拓扑结构,粒子多样性保持,算法融合和性能比较等。
在应用研究方面,根据具体情况,对算法进行改进,以满足应用要求。
图1 ISI数据库收录PSO算法论文2.1收敛性分析PSO 算法收敛性分析一直是研究的难点,由于算法引入了随机变量,使得很多常规数学方法对其无效。
2001年Van[4]通过采用集合论的方法研究得出:只有改进的PSO 算法才可以保证算法的局部或全局收敛性。
在此理论前提下,提出一种在时间无限下保证收敛到局部最优的改进算法,算法虽然保证了收敛性,但其优化效果并不理想。
2002年Clerc 等[5]对PSO进化方程进行了分析,利用状态转移矩阵的策略研究单个粒子在进化中的运动轨迹,进而得到使单个粒子收敛的条件,但该分析方法忽略了粒子间作用和随机变量的作用。
2003年Trelea[6]运用动态系统理论对粒子群算法进行了分析,并给出了参数选取的指导规则。
2004年Cui [7]通过在基本粒子群算法基础上,引入一种随机算法保证算法收敛到全局最优解。
2004年曾建潮等[21]提出了一种能保证以概率1收敛于全局最优解的 PSO 算法(随机 PSO 算法),该算法对其全局收敛性进行了理论分析,并提出了两种停止进化粒子的重新产生方法。
2007年Jiang 等[8]对 PSO 算法的收敛性进行了分析,给出了算法的收敛条件。
2008年Chen [9]通过引入可控制的随机探索向量,来控制算法的收敛。
2009年Latif [10]通过引入分布因子,分析了算法的收敛性条件。
2009年高雷阜等[22]通过分析算法的收敛性,提出了基于混沌改进的粒子群算法。
Rapaic 等[11-13]对算法的参数选取和收敛性进行分析,给出算法收敛条件下参数选取的准则。
众多研究者对算法收敛性的分析,并在一定程度上给出了算法的收敛条件,但都是在简化条件下的结论,这使得对收敛性的分析缺乏一般性。
2.2 参数的分析与改进为了加快收敛速度,提高算法的性能,研究者们对PSO 参数进行研究。
PSO 的参数,主要有惯性因子ω,学习因子1c 和2c ,目前研究较多的是惯性因子ω。
惯性因子ω与粒子原速度相乘,体现了局部搜索能力和全局搜索能力的比例关系,较大的ω可以增强PSO 的全局搜索能力,适用于初期时的搜索,响应速度较快;而较小的ω能加强PSO 算法的局部搜索能力,适用于精度较高的末期搜索[14]。
因此,随着迭代次数的增加,惯性因子ω应不断减小。
目前对ω的取值大致有三种取法:固定惯性因子取值法[15,16]、线性自适应惯性因子取值法[14,17]、非线性惯性因子取值法[18-20]。
Shi 等[23]给出了一种用模糊规则动态调整惯性因子方法,通过对当前最好性能的评价来对惯性因子制定相应的隶属度函数和模糊推理规则。
实验表明,与惯性因子线性减小的方法相比,模糊自适应方法有类似或更好的结果。
国内李宁等[24]给出了一种惯性因子随着迭代代数采用余弦减小的方法,也取得了良好的效果。
Chatterjee A 与Siarry P [25]提出在线性递减的方法中增加一个指数参数,变为非线性权重递减。
Jiao B 等[26]提出惯性因子每步的情况都是动态变化,随着运行的迭代步数增加,权重可能会增加也可能会减小。
2.3 种群拓扑结构改进粒子群算法是基于种群中粒子相互学习的进化算法,种群的拓扑结构直接决定了粒子学习样本的选择,不同的邻居拓扑结构衍生出不同的PSO 算法。
Kennedy[15]最初提出粒子群算法时,采用了全局版本拓扑结构(图2(a)),每个粒子的邻居是除自身外的种群中其它所有粒子。
但经过大量的仿真及实际应用后,发现这种拓扑结构极易陷入局部最优解。
因此,在1999 年Kennedy[27]提出了局部版本的PSO 算法,该算法采用图2(b)所示的Ring 型拓扑结构,即每个粒子的邻居仅由与它自身最近的两个粒子构成。
为了进步一步探索种群拓扑结构对于算法的影响,Mendes[28]从社会学的“Small Worlds”概念出发研究粒子间的信息流,对种群拓扑结构进行深入的研究,提出Four Cluster、Pyramid和Square型拓扑结构(图2(c)(d)(e)),上述5种拓扑结构衍生出5种PSO 算法。
图2 种群的拓扑结构All型种群拓扑结构有助于全局搜索,而Ring型拓扑结构对于局部探索有更好地表现。
因此,Parsopoulos[29]在此基础上,提出一种结合All型和Ring型拓扑结构统一粒子群算法,提升粒子跳出局部最优解的能力。
由于Ring型拓扑结构有很好的拓展性,许多学者在此基础上引入了变型的Ring型结构,如基于俱乐部的PSO算法[30],该算法将整个种群划分为若干个俱乐部,每个俱乐部相当于一个Ring型结构,每个俱乐部之间可以互相信息交流,但这种俱乐部结构是静态的,限制了粒子的自由流动。
因此,为克服此缺陷,Emara[31]提出一种自适应俱乐部粒子群算法,Miyagawa等[32-34]在All型拓扑结构基础上,提出了小生境和树状拓扑结构的粒子群算法。
前面所涉及的改进拓扑结构实质上都是一种静态拓扑结构,这种拓扑结构由于粒子间学习样本的固定性,降低了种群的多样性,因此,许多学者在静态拓扑结构的基础上提出了动态拓扑结构以增加群的多样性,进而提升种群跳出局部最优解的能力。
2.4 算法融合研究Wolpert[35]于1997年提出了没有免费的午餐理论,该理论指出每种进化算法都存在各自的优缺点,因此,如何将PSO 与其它算法的结合也是当前研究热点之一。
2010年陶新民[36]和Wei[37]提出基于K均值的混合PSO算法,在算法运行过程中,根据每个粒子的适应函数值来确定K均值算法操作时机,不仅增强算法局部精确搜索能力,而且也缩短了收敛时间。
Qin[38]将局部搜索算法嵌入到PSO中,每间隔若干代对粒子自身最优位置进行局部搜索,如果获得的局部最优解优于粒子自身历史最优解,则进行替换,通过这种策略,使得粒子避免了在局部最优解处的聚集。
2005年高海兵等[39]提出了广义粒子群优化模型GPSO,使其适用于解决离散的组合优化问题。
GPSO模型本质仍然符合粒子群优化机理,但是其粒子更新策略既可根据优化问题的特点设计,也可实现与己有方法的融合。
还有学者将PSO与其它算法,通过一定的规则结合在一起,以发挥各自算法的优势,出现了将PSO与模拟退火算法、细菌趋药性算法、禁忌算法、遗传算法、蚁群算法等诸多算法进行混合;出现了基于量子PSO 算法、自适应PSO算法和小生境PSO等混合改进算法。
总之,无论哪种混合算法都是为了提升种群多样性,但这些混合策略引入新的参数(如在与遗传算法结合的混合算法中,何时进行变异和交叉操作,需要引入额外参数来控制这些操作的时机),由于引入了额外参数,导致实际应用受到限制。
2.5 粒子群算法的应用研究PSO算法由于具有简单、易于实现、设置参数少、无需梯度信息等特点,其在连续非线性优化问题和组合优化问题中都表现出良好的效果,因此被应用到很多的领域。
PSO最早应用于神经元网络的训练,Kennedy和Eberhart成功地将其应用于分类XOR问题的神经网络训练;1999年Eberhart[40]用PSO来分析人类的帕金森综合症等颤抖类疾病;1999年Yoshida等[41]用PSO优化各种离散个连续变量,控制核电机组输出稳定电压;2002年Abido等[42]用PSO解决最优功率通量问题。
现在,PSO算法已经应用于非线性规划,同步发电机辩识,车辆路径,约束布局优化,新产品组合投入,广告优化,多目标优化等众多问题中,也表现出了良好的效果。
2007年Poli[43,44]对PSO算法的应用做了一个相对比较全面综述,他把PSO算法的应用领域分为26个不同类别,根据Xplore中搜索到的1100篇有关PSO算法的文献作数据统计,其中有700篇是有关PSO算法应用的。