毕业设计(论文)粒子群优化算法及改进的比较研究.doc

上传人:文库蛋蛋多 文档编号:3984466 上传时间:2023-03-30 格式:DOC 页数:36 大小:1.05MB
返回 下载 相关 举报
毕业设计(论文)粒子群优化算法及改进的比较研究.doc_第1页
第1页 / 共36页
毕业设计(论文)粒子群优化算法及改进的比较研究.doc_第2页
第2页 / 共36页
毕业设计(论文)粒子群优化算法及改进的比较研究.doc_第3页
第3页 / 共36页
毕业设计(论文)粒子群优化算法及改进的比较研究.doc_第4页
第4页 / 共36页
毕业设计(论文)粒子群优化算法及改进的比较研究.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《毕业设计(论文)粒子群优化算法及改进的比较研究.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)粒子群优化算法及改进的比较研究.doc(36页珍藏版)》请在三一办公上搜索。

1、粒子群优化算法及改进的比较研究摘要粒子群优化(Particle Swarm Optimization,PSO)算法是一种优化计算技术,由 Eberhart 博士和Kennedy博士提出,它源于对鸟群和鱼群群体觅食运动行为的模拟。PSO算法是一种基于迭代的优化工具,系统初试化为一组随机解,通过迭代搜寻最优解,粒子在解空间中追随最优的粒子进行搜索。它的主要特点是原理简单、参数少、收敛速度较快、易于实现。目前,粒子群优化算法应用于神经网络的训练、函数优化、多目标优化等领域并取得了较好的效果,有着广阔的应用前景。但就其本身而言,在理论和实践方面还存在很多不足之处。粒子群优化算法根据全体粒子和自身粒子的

2、搜索经验向着最优解的方向发展,在进化后期收敛速度变慢,同时,算法收敛精度不高,尤其是对于高维多极值的复杂优化问题。论文的主要工作有:(1)对研究PSO算法相关基础知识进行回顾,主要是优化问题和群体智能。对粒子群优化算法的理论基础和研究现状作了简要介绍,分析了粒子群优化算法的原理和算法流程。(2)分析粒子群算法的生物模型和进化迭代方程式,粒子速度概念不是必需的,粒子移动速度不合适反而可能造成粒子偏离正确的进化方向,因此提出了只基于“位置”概念的简化粒子群算法。粒子群收敛于局部极值的根本原因在于进化后期没有找到优于全局最优的位置,对个体极值和全局极值进行随机扰动,提出了带极值扰动的粒子群优化算法。

3、两种策略结合,提出了带极值扰动的简化粒子群优化算法。(3)简要介绍了粒子群优化算法在整定PID参数中的应用。关键词:粒子群优化算法;粒子速度;极值扰动Comparative Study on Several Improved Particle Swarm Optimization Algorithms ABSTRACT Particle Swarm Optimization(PSO)originally introduced by Doctor Eberhart and Kennedy is an optimization computing technology which derived

4、from imitating the bird and fish flocks praying behavior. It is a kind of optimization tool based on iterative computation. System initializes a group of random solution,then it searches the optimal solution through iteration ,and particles follow the optimal particle to run search in the solution s

5、pace. The main trait of PSO is simple in principle,few in tuning parameters,speedy in convergence and easy in implementationNow, PSO is used for training of neural networks,optimization of functions and multi-target and it obtains good effect, its applied foreground is very wide In itself, there are

6、 still a lot of defect in theory and practicePSO develop towards the optimal solutions direction depending on all the particles and its own particles search experience. In the later evolution, its convergence velocity becomes slower. Meanwhile, its convergence precision is not high especially for th

7、e complex high dimensional multi-optima optimization problems. The main works of the dissertation can be summarized as follows:(1)Reviewed some basic knowledge that relates to PSO, its mainly about the optimization problem and swarm intelligence. The PSO algorithm principles and flow are analyzed in

8、 detail. (2) Analysis the biological model of PSO and its evolution equation, particle velocity are not required. And if the particles velocity does not fit well, it may cause particles moving in the incorrect direction during evolution. Therefore put forward the simple PSO (sPSO) which only based o

9、n the position concept. The reason why the particles convergence in local extremum is that in the later evolution PSO cannot find the global optimal position. Put a random extremum disturbance on the individual and global extreme value, the extuemum disturbed PSO (tPSO) can overstep the local extrem

10、um. We put forward tsPSO, combined the sPSO and tPSO. (3) Briefly introduced the particle swarm optimization algorithm in the application of setting PID parameters.Key words: Particle Swarm Optimization; particle velocity; disturbed extremum目录摘要IABSTRACTII第1章 绪论11.1 优化技术11.1.1 优化技术介绍11.1.2 优化算法21.2

11、群体智能31.2.1 群体智能概述31.2.2 粒子群优化算法41.2.2.1 研究背景41.2.2.2 国内外研究现状和进展4第2章 粒子群优化算法62.1 基本粒子群算法62.1.1基本原理72.1.2 算法流程82.1.3粒子群算法的具体表述92.2算法分析122.3标准粒子群算法(bPSO)13第3章 改进的粒子群优化算法143.1 简化粒子群优化算法143.1.1 关于bPSO中的粒子速度项的分析143.1.2简化粒子群优化算法(sPSO)153.1.3 sPSO进化方程的收敛性能分析153.2 带极值扰动的粒子群优化算法153.2.1 bPSO收敛于局部极值的原因分析163.2.2

12、 带极值扰动的粒子群优化算法163.3带极值扰动的简化粒子群优化算法17第4章 实验及结果分析184.1标准测试函数184.2实验设计194.3实验结果及分析194.3.1固定进化迭代次数的收敛速度和精度194.3.2 固定收敛精度下的迭代次数224.4 部分程序源代码22第5章 基于粒子群算法的PID参数优化265.1.粒子群算法整定PID参数原理265.1.1编码和参数搜索空间265.1.2优化目标和步骤27第六章 总结与展望286.1总结286.2展望28参考文献30致谢32第1章 绪论优化理论与方法是一门应用性很强的学科,用于研究某些基于数学描述问题的最优解。美国工程院院士哈佛大学何毓

13、琦(Yu-chi Ho)教授指出“任何控制与决策问题本质均可以归结为优化问题”。工程中很多的实际问题在进行数学建模后,都额可以抽象为一个组合优化问题。通过求解该类问题,可以为绝饿着提供最佳选择或最佳信息,即针对给出的实际问题,从众多的方案中选出最佳方案。优化成为一门独立的学科是在20世纪40年代末,一方面,需要为实际生产中涌现的复杂优化问题提供快速而实用的优化算法;另一方面,包括泛函分析在内的数学理论的发展也进一步奠定了优化理论的理论基础。而计算机的出现为各种优化算法的快速实现提供了更为便捷的计算工具,这些因素促使优化逐渐成为一门应用广泛、生机勃勃的学科。1.1 优化技术1.1.1 优化技术介

14、绍优化是个古老的课题,就是在满足一定的约束条件下,寻找一组参数值,使得系统的某些性能指标达到最大或最小。例如,在资源分配中,如何分配有限资源,使得分配方案既能满足各方面的基本要求,又能获得较好的经济效益;在工程设计中,如何选择设计参数,使得设计方案既能满足设计要求又能降低成本。优化包括寻找最小值和最大值两种情况。寻找函数f的最大值等价于-f的最小值寻优,所以两种情况可归结到一起研究。本文主要研究无约束最小化问题,可定义为: 给定:f: 寻找: 其中X为n维定义空间中的向量,可视为该空间的点,X*为搜寻空间的全局最优点,f(X)是目标函数。优化问题中经常用到的概念:1. 解之间的距离测度函数设是

15、某优化问题的一个实例,定义Dist:为计算该优化问题中的两个解之间的距离测度函数。距离测度函数的定义与优化问题决策变量的表示有很大关系,与优化算法的性能也有非常大的关系。2. 解的邻域设是某优化问题的一个实例,Dist为解之间距离测度函数。A上的一个映射成为邻域映射,其中表示A的所有子集组成的集合。也就是对任意一个,集合被称为v的邻域,称为v的一个邻居。对于任意给定的,的数学描述为:3. 局部最优设是某优化问题的一个实例,为邻域函数。对于确定的,若满足,则称为在A上的局部最优。4. 全局最优设是某优化问题的一个实例,若满足,则称为在A上的全局最优。5. 可接受解设是某优化问题的一个实例,为在A

16、上的局部最优。对于给定的,集合C=被称为可接受解的集合。可接受解在优化问题中是非常重要的,因为在非常多的实例中,有限的时间内保证搜索到全局最优几乎是不可能的。在这种情况下,优化的目的往往是搜索一个满足条件的可以接受解。 1.1.2 优化算法随着对最优化不断的深入研究,人们发现优化问题有线性的、非线性的、连续的、离散的,在复杂情况下要想完全精确地求出其最优解是不可能的,因而求出近似最优解或满意解是人们的主要着眼点之一。总的来说,求最优解或近似最优解的方法主要有三种:枚举法、启发式算法和搜索算法。1)枚举法。枚举可行解空间内的所有可行解,以求出精确最优解。对于连续问题,该方法要求先对其进行离散化处

17、理,这样就有可能产生离散误差而永远达不到最优解。另外,当枚举空间比较大时,该方法的求解效率比较低。2)启发式算法。寻求一种能产生可行解的启发式规则,以找到一个最优解或近似最优解。该方法的求解效率虽然比较高,但对每一个需要求解的问题都必须找出其特有的启发式规则,这种启发式规则无通用性,不适合于其他问题。3)搜索算法。寻找一种搜索算法,该算法在可行解空间的一个子空间内进行搜索操作,以找到问题的最优解或近似最优解。该方法虽然保证不了一定能够得到问题的最优解,但若适当地利用一些知识,就可近似的使解的质量和求解效率一直能够达到较好的平衡。搜索算法可分为确定性搜索法和随机性搜索法两种。确定性搜索算法在寻优

18、过程中,一个搜索点到另一个搜索点转移有确定的转移方法和转移关系,因而其过程可再现,其不足在于寻优结果与初值有关,初值选取不当往往有可能使搜索永远达不到最优点。随机性搜索算法在执行过程中加入随机性(因为真正理论意义下的随机数是不可能由计算机产生的,所以实际上用的是伪随机数),需要计算算法输出结果的概率平均值。随机算法往往比确定性算法计算时间少,但它的准确率略微降低。粒子群优化算法就是一种随机性概率搜索方法。随着计算机科学和技术的发展,从根本上改变了人类的生产和生活。同时, 随着人类生存空间的扩大,以及认识世界和改造世界范围的拓宽,现实中碰到的许多科学、工程和经济问题呈复杂化、多极化、非线性、强约

19、束、建模困难等特点。这就使人们对科学技术提出了新的和更高的要求,其中对高效的优化技术和智能计算的要求尤为追切。经典的优化算法通常采用局部搜索方法,这些局部搜索方法要么是与特定问题相关,要么是局部搜索方法的变型,但它们有一个共同的特点就是通过迭代来提高问题域中唯一的候选解的近似程度。这就决定了经典算法只能适用于求解小规模且定义非常明确的问题。解决实际工程问题,这些算法要么是解的精度,要么是执行时间,总是不能令人十分满意。寻求一种适合于大规模并且具有智能特征的算法已经成为人们研究的目标和方向。1.2 群体智能 群体智能(Swarm Intelligence,SI)就是无智能或具有简单智能的个体在无

20、集中控制的情况下,通过单个个体自身的简单行为,使得整个群体表现粗某种智能行为,从而解决特定的问题。1.2.1 群体智能概述 群智能的概念最早是由Beni、Hackwood和Wang在分子自动机系统中提出的。1999年,Bonabeau、Dorigo和Theraulaz在Swarm Intelligence:From Natural to Artificial Systems一文中对群智能进行了详细的论述和分析,给出了群智能算法的一种定义:任何一种由昆虫群体或其它动物社会行为机制而激发设计出的算法或分布式解决问题的策略均属于群智能算法。James Kennedy 和 Russell C.Eber

21、hart 在2001年出版了Swarm Intelligence,是群智能发展的一个重要里程碑,因为此时已有一些群智能理论和方法得到了应用。Swarm Intelligence最重要的观点是“Mind is Social”,也就是认为人的智能是源于社会性的相互作用,文化和认知是人类社会性不可分割的重要部分,这一观点成了群体智能发展的基石。SI已成为有别于传统人工智能中连接主义、行为主义和符号主义的一种新的关于智能的描述方法。SI的思路为在没有集中控制且不提供全局模型的前提下寻找复杂的分布式问题求解方案提供了基础。在计算智能领域已取得成功的两种基于SI的优化算法是蚁群优化算法和粒子群优化算法。目

22、前,已有的基于SI的优化算法都是源于对动物社会通过协作解决问题行为的模拟,它主要强调对社会系统中个体之间相互协同作用的模拟。SI的目的并不是忠实的模拟自然现象,而是利用他们的某些特点去解决实际问题。基于SI的优化算法是概率搜索算法。目前,已有的SI理论和应用研究证明SI方法是一种能够有效解决大多数优化问题的新方法,更重要的是,SI潜在的并行性和分布式特点为处理大量的以数据库形式存在的数据提供了技术保证。无论是从理论研究还是应用研究的角度分析,SI理论及应用研究都是具有重要学术意义和现实价值的。由于SI理论依据是源于对生物群落社会性的模拟,因此其相关数学分析还比较薄弱,这就导致了现有研究还存在一

23、些问题。首先,算法中涉及的各种参数设置一直没有确切的理论依据,通常都是按照经验方法确定,对具体问题和应用环境的依赖性比较大。其次,同其他的自适应问题处理方法一样,SI也不具备绝对的可信性,当处理突发事件时,系统的反应是不可预测的,这在一定程度上增加了其应用风险。1.2.2 粒子群优化算法1.2.2.1 研究背景本文研究的粒子群优化算法(Particle Swarm Optimization,简称PSO)是Kennedy Eberhart 源于群体智能和人类认知的学习过程而发展的另外一种智能优化算法。PSO与遗传算法有些相似之处,首先,它们都是基于群体的优化技术,亦即搜索轨道有多条,显示出良好的

24、并行性,其次,无需梯度信息,只需利用目标的取值信息、,具有很强的通用性,但是,PSO比GA更简单、操作更方便。因而,PSO算法从诞生起,就引起了国内外学者的广泛关注,并掀起了该方向的研究热潮,且在诸多领域得到了成功应用,但是,PSO的发展历史尚短,在理论基础与应用推广上都还存在一些问题,有待解决。首先,对任何一个算法,如果不从理论上对其研究,那对其行为将无法彻底剖析。仅仅从实验数据对粒子群优化算法进行研究,终将无法了解其内部机理。因此,对粒子群优化算法收敛模型的建立和收敛性分析是十分有益的,也为以后的进一步研究与新算法的提出都将提供很好的明示。第二,工程上存在的很多复杂优化问题急需解决,由于粒

25、子群优化算法在求解复杂优化问题存在易陷局部极值的事实,对粒子群优化算法进行适当改进,以能更好更准确地求解工程的优化问题是一个有现实意义的课题。第三,粒子群优化算法刚兴起不久,所以对其在实际中的具体应用还有很多需要解决的问题。这是由于每个算法都具有自身的特点,在具体应用中针对具体问题都需进行适当改进,才能用于实际问题的求解,同时对同一个优化问题、使用同一个算法,若调整策略不同,最后得到的效果也是不一样的。因此,对粒子群优化算法具体实例应用研究是值得的、有意义的。针对以上问题,本文展开了细致的研究,对PID参数优化问题,提出了改进策略,以适应问题的求解,提高算法的运行速度与最终结果的精确性。1.2

26、.2.2 国内外研究现状和进展PSO是计算智能领域除蚁群优化算法外的另外一种群体智能算法,它同遗传算法类似,通过个体|间的竞争和协作实现全局搜索,系统初始化为一组随机解,称之为粒子,通过粒子在搜索空间的飞行完成寻优,在数学公式中即为迭代,它没有遗传算法的交叉以及变异算子,而是粒子在解空间追随最优的粒子进行搜索。自PSO提出以来,由于它的计算快速性和算法本身的易实现性,引起了国际上相关领域众多学者的关注和研究,其研究大致可以分为:算法本身参数选取、拓扑结构、与其他进化技术的融合及应用。下面就这三个方面的研究情况做简单的介绍。起初,PSO是为实值问题而设计。后来,算法逐渐扩展到二进制和离散问题,为

27、PSO算法与遗传算法的性能比较提供了一个有用的方式,该方法可用于神经网络的结构优化。为了提高收敛性能,在原始PSO算法的速度项中引入了新参数惯性权重(Inertia Weight),惯性权重的引入是为了平衡全局与局部搜索能力,惯性权重较大,全局搜索能力强,局部搜索能力弱,反之,则局部搜索能力增强,而全局搜索能力减弱。动态惯性权重能够获得比固定值更为好的寻优结果。动态惯性权重可以在PSO搜索过程中线性变化,亦可根据PSO性能的某个测度而动态改变,比如模糊规则系统。随后,另一个参数称之为收缩因子(Contraction Factor)的系数被引入,目的是希望PSO可以收敛。从数学上分析,这两个参数

28、是等价的。为了提高算法收敛的全局性,保证微粒的多样性是其关键,PSO算法有全局版本PSO和局部版本PSO,这两种版本的差别在于粒子的邻域不同,即与各粒子直接连接的粒子数不同,局部PSO的粒子,邻域仅为其两边有限的几个粒子,而全局PSO的邻域则为该群体所有粒子,如此一来,全局PSO可看成是局部PSO的特殊情况,研究发现,全局PSO收敛较快,但易陷入局部极小;而局部PSO可搜索到更优的解,但速度稍慢。此外,为提高PSO的性能,研究者又设计了许多不同的邻域结构,Suganthan在PSO算法中引入了空间邻域的概念,将处于同一个空间领域的微粒构成一个子微粒群分别进行进化,并随着进化动态地改变选择阈值以

29、保证群体的多样性;Kennedy引入邻域拓扑的概念来调整邻域的动态选择,同时引入社会信念将空间邻域与邻域拓扑中的环拓扑相结合以增加邻域间的信息交流,提高群体的多样性。PSO另一个研究的趋势是将其与其他进化计算技术相结合。有些研究者向PSO当中引入了一些算子,包括选择、交叉和变异,通过选择算子,最好性能的粒子将被直接复制到下一代,从而保持最优性能的粒子,同进化算法类似,通过交叉算子,成对的粒子将交换相互的信息,以便有向新的搜索空间飞翔的能力,变异算子主要目的是为了增强PSO跳出局部极小的能力。混合PSO是改进研究的热点,其发展非常迅速。除了将进化算法中的选择、交叉以及变异算子引入PSO外,还有很

30、多与其他经典优化技术相结合的混合PSO算法,例如梯度下降、K均值聚类算法、免疫算法等。PSO原理上十分简单,所需参数也较少,并且易于实现,已经应用到很多的领域,通常,其他进化算法能够应用较好的领域,PSO算法亦能成功应用,比如PSO已经被成功地用到进化神经网络、跟踪动态系统、解决多目标优化和约束优化问题,此外,PSO还应用到很多的工业领域,比如,PSO已被成功地应用到反应能源和电压的控制,以及成分混合优化等。 第2章 粒子群优化算法2.1 基本粒子群算法 粒子群优化(Particle Swarm Optimization,简称PSO)算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优

31、解,它包含有进化计算和群集智能的特点。起初Kennedy和Eberhart只是设想模拟鸟群觅食的过程,但后来发现PSO算法是一种很好的优化工具。设想这样一个场景:一群鸟在空间中随机的搜索食物。在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道自己当前的位置距离食物还有多远。那么找到食物的最优策略是什么?最简单有效的方法就是搜寻目前距离食物最近的鸟的周围区域,通过鸟之间的集体协作与竞争使群体达到目的。这是一种信息共享机制,在心理学中对应的是在寻求一致的认知过程中,个体往往记住它们的信念,同时考虑其它个体的信念。当个体察觉其它个体的信念较好的时候,它将进行适应性地调整。PSO算法就

32、是从这种模型中得到启示并用于解决优化问题的。如果我们把一个优化问题看作是在空中觅食的鸟群,那么在空中飞行的一只觅食的“鸟”就是PSO算法中在解空间中进行搜索的一个“粒子”(Particle),也是优化问题的一个解。“食物”就是优化问题的最优解。粒子的概念是一个折衷的选择,它只有速度和位置用于本身状态的调整,而没有质量和体积。“群”(Swarm)的概念来自于人工生命,满足群集智能的五个基本原则。因此PSO算法也可以看作是对简化了的社会模型的模拟,社会群体中的信息共享是推动算法的主要机制。2.1.1 基本原理Eberhart和Kennedy提出的原始粒子群优化算法可描述如下:设在一个D维的目标搜索

33、空间中,有m个粒子组成一个群落,第i个粒子的位置用向量表示,飞行速度用表示,第i个粒子搜索到的最优位置为,整个群体搜索到的最优位置为,则用下式更新粒子的速度和位置: (2.1) (2.2)式中,i=1,2m,分别表示不同的粒子。,为大于零的学习因子或称作加速系数,分别调节该粒子向自身己寻找到的最优位置和同伴己寻找到的最优位置方向飞行的最大步长,通常情况下取=2;,为介于0,1之间的随机数;t为迭代次数,即粒子的飞行步数。将v限定一个范围,使粒子每一维的运动速度都被限制在之间,以防止粒子运动速度过快而错过最优解,这里的根据实际问题来确定。当粒子的飞行速度足够小或达到预设的迭代步数时,算法停止迭代

34、,输出最优解。从社会学的角度来看,公式(2.1)的第一部分是“记忆”项,是粒子先前的速度,表示粒子当前的速度要受到上一次速度的影响;公式第二部分是“自身认知”项,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于自己经验的部分,可以认为是粒子自身的思考;公式的第三部分是“群体认知项,是一个从当前点指向种群最好点的矢量,反映了粒子间的协同合作和信息共享。粒子正是通过自己的经验和同伴中最好的经验来决定下一步的运动。公式(2.1)中的第一部分起到了平衡全局和局部搜索能力的作用:第二部分使粒子拥有的局部搜索能力,能更好的开发解空间;第三部分体现了粒子间的信息共享,使粒子能在空间更广阔的探索;

35、只有在这三个部分的共同作用下粒子才能有效的搜索到最好的位置。2.1.2 算法流程PSO的具体实现步骤如下:步骤1:初始化粒子群,包括群体规模、粒子的初始速度和位置等;步骤2:计算每个粒子的适应度值(fitness),存储每个粒子的最好位置和fitness,并从种群中选择fitness最好的粒子位置作为种群的;步骤3:根据公式(2.1)和(2.2)更新每个粒子的速度和位置;步骤4:计算位置更新后每个粒子的适应度,将每个粒子的fitness与其以前经历过的最好位置时所对应的fitness比较,如果较好,则将其当前的位置作为该粒子的最佳;步骤5:将每一个粒子的适应度值(fitness)与全体粒子所经

36、历过的最好位置的适应度值比较,如果较好,则将更新的值;步骤6:判断搜索结果是否满足算法设定的结束条件(通常为足够好的适应度值或达到预设的最大迭代步数),如果没有达到预设条件,则返回步骤3;如果满足预设条件,则停止迭代,输出最优解。基本粒子群优化算法的流程图如图2-1:图2-1 基本粒子群优化算法流程图2.1.3 粒子群算法的具体表述PSO算法过程我们转化为一个数学问题。寻找函数的在0,4最大值。该函数的图形如下:图2.2函数在0,4区间上的曲线当x=0.9350-0.9450,达到最大值y=1.3706。为了得到该函数的最大值,我们在0,4之间随机的洒一些点,为了演示,我们放置两个点,并且计算

37、这两个点的函数值,同时给这两个点设置在0,4之间的一个速度。下面这些点就会按照一定的公式更改自己的位置,到达新位置后,再计算这两个点的值,然后再按照一定的公式更新自己的位置。直到最后在y=1.3706这个点停止自己的更新。这个过程与粒子群算法作为对照如下:(1)这两个点就是粒子群算法中的粒子。 (2)该函数的最大值就是鸟群中的食物。(3)计算两个点函数值就是粒子群算法中的适应值,计算用的函数就是粒子群算法中的适应度函数。 (4)更新自己位置的一定公式就是粒子群算法中的位置速度更新公式。下面演示一下这个算法运行一次的大概过程:图2.3初始化粒子图2.4 粒子位置第1次更新图2.5粒子位置第2次更

38、新图2.6粒子位置第21次更新 图2.7 粒子位置第30次更新最后所有的结果都集中在最大值的地方。2.2 算法分析 参数设置是粒子群优化算法研究的一项重要内容,它对算法的优化结果有较大的影响。对于不同的优化问题,在取得最优结果时参数的设置往往是不完全相同的。不论在基本粒子群优化算法还是标准粒子群优化算法中,都有一些参数需要设定, 下面对其进行全面的分析: (1)粒子种群数目m:m是整型参数,当m=l的时候,表示种群中只有一个粒子,PSO算法变为基于个体搜索的技术,一旦陷入局部最优,将不能跳出;当m设置较小时,算法收敛速度快,但是易陷入局部最优;当m设置很大时,PSO算法的优化能力很好,但是收敛

39、速度非常慢。 通常,粒子种群的数目是根据具体问题而设定的,一般设置在10到50之间。其实对于大部分的问题10-20个粒子就可以取得很好的效果,而对于比较复杂的搜索空间或者特定类型的问题,粒子数可以取到100或者更大。然而,群体过大将导致计算时间大幅增加,并且当群体数目增长至一定水平时,再增加粒子数目将不再有显著的作用。 (2)粒子的维数D:D也是整型参数。粒子的维数是根据具体问题的解空间的维数来确定的。 (3)粒子的最大速度:是一个非常重要的参数,决定问题空间搜索的力度。如果较大,粒子的探索能力强,但是容易飞过优秀的搜索空间,错过最优解;如果较小,粒子的开发能力强,但是容易陷入局部最优,可能使

40、粒子无法移动足够远的距离跳出局部最优,从而不能到达解空间中的最佳位置。 粒子在解空间中的每一维上都有一个最大速度,用来对粒子的速度进行限制,使速度控制在范围内,这也就决定了粒子在迭代中速度的变化范围。假设在搜索空间中,第i个粒子的第D维速度经过公式(2-1)更新后为,如果,将被限定为。 (4)学习因子:学习因子具有自我总结和向群体中优秀个体学习的能力,从而使粒子向群体内或邻域内的最优点靠近。和分别调节粒子向个体最优和群体最优方向飞行的最大步长,决定粒子个体经验和群体经验对粒子自身运行轨迹的影响,反映粒子群体之间的信息交流。当学习因子值较小时,可能使粒子在远离目标区域内徘徊;而当学习因子较大时,

41、可能使粒子迅速向目标区域移动,甚至越过目标区域。 如果,则粒子自身没有认知能力,只有群体的经验,即“只有社会(social-only)”模型。在粒子相互作用下,算法有能力达到新的搜索空间。其收敛速度比标准算法更快,但碰到复杂问题,比标准算法更容易陷入局部极点。如果,则粒子没有群体共享信息,即“只有认知(cognitiononly)”模型。由于个体之间没有交互,一个规模为m的群体等价于m个独立的粒子运行,因而得到最优解的概率非常小。如果,则粒子将以当前速度飞行,直到边界。此时,由于粒子只能搜索有限的区域,故很难找到好解。因此,Shi和Eberhart建议,为了平衡随机因素的作用,一般情况下设置,

42、大部分算法都采用这个建议。不过在文献中也其他的取值,但是一般等于,并且范围在0,4之间。(5) :是介于0,1之间的随机数。(6)粒子空间的初始化:这是由具体问题决定的。较好地选择粒子的初始化空间,可以大大缩短算法的搜索时间,提高算法效率。(7)迭代终止条件:迭代终止条件的设定需要根据具体的问题兼顾算法的优化质量和搜索效率等多方面性能。一般来说,当算法运行达到最大迭代次数、预设计算精度或可以接受的解时,算法停止迭代,输出最优解。2.3 标准粒子群算法(bPSO)为了更好的控制算法的寻优能力,Shi和Eberhart在记忆部分引入具有惯性权重,于是公式(21)和(22)可以修改成为以下两个新的公

43、式: (2-3) (2-4)很多学者将上述两式称为bPSO算法。为非负数,控制前一速度对当前速度的影响。控制其取值大小可调节PSO算法的全局与局部寻优能力。较大时,前一速度影响较大,全局搜索能力较强,局部搜索能力较弱,较小时,前一速度影响较小,局部搜索能力较强,全局搜索能力减弱。初始时,Shi将惯性权重取值为常数,但后来的试验发现,动态惯性权重能够获得比定值更好的寻优结果。动态惯性权重可以在PSO搜索过程中线性变化,也可根据PSO性能的某个测度函数而动态改变,比如模糊规则系统,自适应权重等。目前,采用较多的惯性权重是Shi建议的线性递减权值(1inearly decreasing weight

44、,简称LDW)策略,即 (2-5)其中,为最大迭代数,为初始惯性权值,为进化到最大代数时的惯性权值。典型取=0.9,=0.4。这样使得PSO在开始时搜索较大的区域,较大地定位最优解的大致位置,随着权重的减小,粒子速度减慢,开始精细的局部搜索。如果=0,则粒子速度只取决于它当前位置和曲的加权中心。这种条件下,粒子群将收缩到当前全局最好位置,更像一个局部算法。如果0,则粒子有扩展搜索空间的趋势,从而针对不同搜索问题,可调整算法全局和局部搜索能力。惯性权重使PSO算法的性能得到很大提高。第3章 改进的粒子群优化算法3.1 简化粒子群优化算法3.1.1 关于bPSO中的粒子速度项的分析大多数bPSO及

45、其改进算法都是基于粒子“位置”和“速度”这两个关键概念,从而在进化方程中都包含位置变量和速度变量,大多数的PSO改进算法增加了一些操作算子,如杂交、变异、自适应参数变化等,使得PSO算法描述越来越复杂化,同时,也使得定量分析PSO的收敛性变得很繁琐。仔细分析bPSO的生物模型和进化迭代方程式(2.3)和方程式(2.4)可以发现:在PSO中,粒子速度概念不是必需的。从bPSO模型角度来看,粒子位置代表当前问题的解,优化的最终结果是使无限逼近最优解,因此,只需要考虑的直接变化.粒子速度代表粒子移动的快慢程度,粒子移动速度的大小并不代表粒子能够有效趋近最优解位置,反而可能造成粒子偏离正确的进化方向,

46、出现粒子“发散”现象,从而有可能造成后期收敛缓慢,收敛精度低。另外,从式(2.1)式(2.4)来看,位置与速度直接进行加法运算,而没有粒子运动时间概念,这也不符合现实生活中的运动规律:x=vt。定理1.bPSO进化过程与粒子速度无关。证明:文献16已经证明,约束粒子速度范围与添加约束因子是等价的,因此,可以只考虑由式(2.3)与式(2.2)组成的联合进化方程。除和对搜索空间各维的联系以外,每维的更新相互独立。故不失一般性,证明过程可以简化到一维进行,下标d可以省略。进一步地,假设种群中除第i个粒子外其余粒子保持不动,下标i可以省略。再令。为方便理解,将式(2.3)和式(2.2)中变量符的上标移到变量符后的括号中,则式(2.3)和式(2.2)可以变为 (3.1) (3.2)将式(3.1)和式(3.2)迭代可以得到式(3.3): (3.3)式(3.3)是不含速度项的经典二阶微分方程(假设粒子的位置移动为连续过程)。本定理的重要性在于说明bPSO算法可以没有粒子速度的概念,避免了人为确定参数而影响粒子的收敛速度和收敛精度。3.1.2 简化粒子群优化算法(sPSO) 根据第3.1.1节中的分析,不含速度项的粒子群优化方程可以简化为: (3.4)式(3.4)右边的第1项为“历史(history)”部分

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号