粒子群优化算法毕业设计论文.doc
粒子群优化算法摘 要近年来,智能优化算法粒子群算法(particle swarm optimization,简称PSO)越来越受到学者的关注。粒子群算法是美国社会心理学家JamesKennedy和电气工程师Russell Eberhart在1995年共同提出的,它是受到鸟群社会行为的启发并利用了生物学家Frank Heppner的生物群体模型而提出的。它用无质量无体积的粒子作为个体,并为每个粒子规定简单的社会行为规则,通过种群间个体协作来实现对问题最优解的搜索。由于算法收敛速度快,设置参数少,容易实现,能有效地解决复杂优化问题,在函数优化、神经网络训练、图解处理、模式识别以及一些工程领域都得到了广泛的应用。PSO是首先由基于不受约束的最小化问题所提出的基于最优化技术。在一个PSO系统中,多元化解决方案共存且立即返回。每种方案被称作“微粒”,寻找空间的问题的微粒运动着寻找目标位置。一个微粒,在他寻找的时间里面,根据他自己的以及周围微粒的经验来调整他的位置。追踪记忆最佳位置,遇到构建微粒的经验。因为那个原因,PSO占有一个存储单元(例如,每个微粒记得在过去到达时的最佳位置)。PSO系统通过全局搜索方法(通过)搜索局部搜索方法(经过自身的经验),试图平衡探索和开发。粒子群优化算法是一种基于群体的自适应搜索优化算法,存在后期收敛慢、搜索精度低、容易陷入局部极小等缺点,为此提出了一种改进的粒子群优化算法,从初始解和搜索精度两个方面进行了改进,提高了算法的计算精度,改善了算法收敛性,很大程度上避免了算法陷入局部极小对经典函数测试计算,验证了算法的有效性。关键词:粒子群优化算法;粒子群;优化技术;最佳位置;全局搜索;搜索精度Particle swarm optimization (PSO) algorithm is a novel evolutionary algorithm. It is a kind of stochastic global optimization technique. PSO finds optimal regions of complex search spaces through the interaction of individuals in a population of particles. The advantages of PSO lie in simple and powerful function. In this paper , classical particle swarm optimization algorithm , the present condition and some applications of the algorithms are introduced , and the possible research contents in future are also discussed. PSO is a population-based optimization technique proposed firstly for the above unconstrained minimization problem. In a PSO system, multiple candidate solutions coexist and collaborate simultaneously. Each solution called a particle, flies in the problem search space looking for the optimal position to land. A particle, as time passes through its quest, adjusts its position according to its own experience as well as the experience of neighboring particles. Tracking and memorizing the best position encountered build particle_s experience. For that reason, PSO possesses a memory (i.e. every particle remembers the best position it reached during the past). PSO system combines local search method(through self experience) with global search methods (through neighboring experience), attempting to balance explorationand exploitation.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 improved,and local minimum is avoided. The experimental results of classic functions show that the improved PSO is efficientand feasible.Key words :particle swarm optimization algorithms ; unconstrained minimization problem;the bestposition;global search methods; the search precision目 录一引言二PSO算法的基本原理和描述 (一)概述 (二) 粒子群优化算法 (三) 一种改进型PSO算法基于遗传交叉因子的 粒子群优化算法简介 1 自适应变化惯性权重 2 交叉因子法 (四) PSO与GA算法的比较 1 PSO算法与GA算法 2 PSO算法与GA算法的相同点 3 PSO算法与GA算法的不同点三PSO算法的实现及实验结果和仿真(一) 基本PSO算法(二) 算法步骤(三) 伪代码描述(四) 算法流程图(五) 六个测试函数的运行结果及与GA算法结果的比较四 结论五. 致谢六参考文献一、 引 言混沌是一种有特点的非线形系统,它是一种初始时存在于不稳定的动态状态而且包含着无限不稳定时期动作的被束缚的行为。尽管它看起来好似有可能,但它注定是一种在非线形条件下的非线形系统。在最近几年里,随着物理学家,化学家,生物学家和工程师对其的日益增长的兴趣,刺激了基于control 1,2, synchronization 3 and optimization 46的研究。因为简单的投资和避免被陷入局限的最优化的特殊能力,混沌已经作为一种最优化技术,而且基于混沌的研究算法已经引起了人们相当的兴趣。 目前,混沌有两种面向最优化应用算法。第一种是混沌神经网络(CNN),通过将混沌算法动态地加入到神经网络中。通过丰富的非平衡各种各样的伴随注意成分,混沌动态神经系统能够被用来通过遵循混沌算法轨道来做普遍最优化的进一步研究。凌夷只能感混沌最优化算法是基于变量发展的。最简单的COA看法包括两步:首先从混沌空间到解决空间整体把握,然后用动态混沌代替随机查找来查找目标区域。然而,简单的CNN和COA经常需要大量的重复迭代来达到普遍最优并且它对初始条件很敏感。近来,一个新型的进化技术微粒群最优化算法,作为一种自动的基因算法被提出。粒子群优化(Particle SwarmOptimization,PSO)算法是一种基于群体的随机优化技术,最早在1995年由美国社会心理学家James Kennedy 和电气工程师Russell Eberhart 1 共同提出,基本思想源于对鸟群觅食行为的研究PSO 将每个可能产生的解都表述为群中的一个微粒,每个微粒都具有自己的位置向量和速度向量,和一个由目标函数决定的适应度,通过类似梯度下降算法使各粒子向适应度函数值最高的方向群游该算法控制参数少、程序相对简单,因此在应用领域表现出了很大的优越性。PSO被人口数量的随机解决方法而初始化。每个个体的随机化个体,可穿过多群空间,与GA相比较起来,PSO有一些吸引人的特点,PSO的主要特点为: 每一个体(称为一个粒子) 都被赋予了一个随机速度并在整个问题空间中流动;个体具有记忆功能; 个体的进化主要是通过个体之间的合作与竞争来实现的。作为一种高效并行优化方法,PSO可用于求解大量非线性、不可微和多峰值的复杂优化问题,再加上PSO算法的程序实现异常简洁,需要调整的参数少,因而发展很快。而在GA的任何地方,一旦人口数量变化了,以前问题的解决之道将会无效。这导致了GA算法的局限性和不稳定性。也是PSO算法优于GA算法的地方。在微粒之间有建设性的合作,群中的微粒共享信息,因为简单的概念,容易的执行和快速集中,今天的PSO已经在不同领域中得到了足够的关注和广泛的应用。 由于PSO 算法容易理解、易于实现,所以PSO 算法发展很快目前,多种PSO 改进算法已广泛应用于函数优化、神经网络训练、模式识别、模糊系统控制以及其他的应用领域。许多学者对PSO 算法进行研究,发现其容易出现早熟、最优解附近收敛慢等现象,并提出了一些改进方案,目前,通过科学家和学者不断的努力,已经出现了多种改进PSO算法,例如自适应PSO 算法、混合PSO 算法、杂交PSO 算法等2-4,并已应用于许多科学和工程领域,得到了众多学者的重视和研究。二、PSO算法的基本原理和描述(一) 概述粒子群优化算法( PSO) 是由James Kennedy 博士和R. C. Eberhart 博士于1995 年提出4 。该算法源于对鸟群、鱼群觅食行为的模拟。在PSO 中,首先初始化一群随机粒子,然后通过迭代寻找最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己的速度和位置。第一个极值是粒子本身所找到的最优解,这个解叫做个体极值(pbest) ;另一个极值是整个种群目前找到的最优解,这个极值是全局极值(gbest ) 。PSO算法简单易实现,不需要调整很多参数。 PSO 概念和参数调整都很简单而且容易编程,它既保持传统进化算法深刻的群体智慧背景,又有许多良好性能。在短短几年中,其获得快速发展,在诸多领域得到应用3-4。许多学者对PSO 算法进行研究,发现其容易出现早熟、最优解附近收敛慢等现象,并提出了一些改进方案,例如自适应PSO 算法、混合PSO 算法、杂交PSO 算法等2-4因此,本文从初始解和收敛精度两个角度出发对PSO 算法进行了改进,提高了算法的计算精度,有效的改善了算法的优化性能。与遗传算法和蚁群算法相类似,PSO 算法也是一种基于群集智能(swarm intelligence)的演化计算技术。作为一种高效的优化工具,该算法近年来已引起了优化及演化计算等领域的学者们的广泛关注。目前,PSO 已成功应用于函数优化、神经网络训练、控制器优化设计模式分类、模糊系统控制等诸多领域。研究和实践表明,PSO 在多维空间函数寻优、动态目标寻优等方面有着收敛速度快、非劣解质量高、鲁棒性好等优点,特别适合工程应用。PSO 算法收敛快,具有较强的通用性,但也存在早熟收敛、搜索精度不高、后期迭代效率不高3的缺点,尤其是当解空间为非凸集时,应用PSO 算法容易在后期陷入局部极优点。为改善算法性能,近年来出现了一些改进的PSO 算法,如文献4提出的模糊PSO、文献5中提出的混合PSO、文献6提出的智能PSO、文献7中基于协同进化的CPSO。针对PSO 算法的缺点,本文提出了一种基于遗传交叉因子的改进粒子群优化算法(GHPSO)。该算法采用一种新的粒子学习策略,通过自适应变化惯性权重来改善算法的收敛性能;同时借鉴遗传算法中的选择交叉操作,在每次迭代过程中选取适应度好的前一半粒子直接进入下一代,后一半粒子两两配对,产生子代,再和父代作比较,好的一半进入下一代。这样通过交叉可以增加粒子多样性,充分利用群体粒子的优良特性,跳出局部最优,同时加快收敛速度。仿真结果表明,与传统PSO 算法相比,GHPSO 算法能取得较好的优化性能,全局收敛性得到显著提高。(二) 粒子群优化算法PSO 算法模拟鸟集群飞行觅食的行为,通过鸟之间的集体协作使群体达到最优。在PSO 系统中,每个备选解被称为一个“粒子”(particle),多个粒子共存、合作寻优(近似鸟群寻找食物),每个粒子根据它自身的“经验”和相邻粒子群的最佳“经验”在问题空间中向更好的位置“飞行”,搜索最优解。PSO 算法本质上就是一种基于群体和适应度的优化算法。粒子群中每一个粒子代表了系统的一个潜在解,每个粒子用3 个指标来表征:位置,速度,适应度。粒子依据自身的历史最优位置和整个群体的最优位置来更新速度和位置,算法再计算出粒子的目标函数值,以此作为适应度来衡量粒子的优劣程度8。设搜索空间为D 维,粒子群中粒子数为n。对于某个粒子i,它的位置和速度分别为Xi ,Vi: (1) (2)其中,1in;1dD它所经历的解空间的最好位置为Pi=(Pi1,Pi2,.,PiD),群体中具有最优适应度的粒子的位置索引用g 表示,记为Pg =(Pg1 ,Pg2,.,PgD)。粒子进行每一步演化时,其速度和位置按以下公式进行更新: (3) (4)其中,w 为惯性权值,其大小决定了粒子对当前速度继承的多少,通过它可有效控制算法的探索和挖掘能力;c1, c2 是2个正常数学习因子,通常取值为2; r1 , r2 是在区间0, 1内均匀分布的随机数。更新过程中,粒子每一维的速度被限制在-Vmax, Vmax内,每一维的位置亦被限制在一定范围-Xmax, Xmax内。算法具体流程与一般进化算法相似,经过初始化、适应度计算、粒子状态(位置与速度)更新、停止准则判断等步骤,最终得到符合条件的解。基本PSO算法是函数优化的有力工具,其优点是收敛速度快且需设置的参数较少;其缺点是易陷入局部极小点,且搜索精度不高。据此当前典型的改进算法有:自适应PSO算法、模糊PSO算法、杂交PSO算法、混合粒子算法(CPSO)、离散PSO算法等等。其中自适应和模糊PSO算法是Eberhart Shi研究了惯性因子对优化性能的影响:发现较大的值有利于跳出局部极小点,较小的值有利于算法的收敛。自适应PSO算法通过线性地减小值动态的调整参数,而模糊PSO算法则在此基础上利用模糊规则动态调整参数的值,即构造一个2输入、1输出的模糊推理机来动态地修改惯性因子。模糊推理机的两个输入分别是当前值,以及其适应度;而输出是的增量。杂交和混合粒子算法(CPSO)是受遗传算法、自然选择机制的启示,将遗传算子与基本PSO相结合而得。其中,混合PSO算法是将基本PSO算法和选择机制相结合而成,基本PSO算法的搜索过程很大程度上依赖pbest和gbest,它的搜索区域受到pbest和gbest的限制。在通常的遗传算法中,选择机制用来选择相对较好的区域和淘汰较差的区域,可以更合理地分配有限的资源。杂交PSO在基本PSO中引入了杂交算子,两者均取得了满意的结果,改善了算法的性能。(三) 一种改进型PSO算法基于遗传交叉因子的粒子群优化算 法简介1 自适应变化惯性权重前面提及惯性权值w 的取值大小对算法性能有影响,文献7已通过实验证明,如果w 的取值随着算法迭代的进行而线性减小,可明显改善算法的收敛性能。若w 取值较大,则粒子的全局搜索能力较强,若w 取值较小,则粒子的局部挖掘能力得到增强。但是使用一般的线性减小策略时w 会快速减小,不能在算法初期长时间保持较大的值。鉴于此,本文通过自适应变化w 值来控制算法进程,以兼顾粒子全局及局部搜索能力。w 的计算公式如下: (5)其中,;比例因子 , , , wmax=0.9, wmin=0.2; Gmax为最大迭代次数。由式(5)可知,若w = ,则w(k) 按迭代步骤非线性减小,迭代初期w 较大,粒子在大范围寻找更好的解,迭代后期w 变化量很小,保持在较小的值以使粒子能仔细搜索周围空间;若|Vk+1|>|Vk| ,则 > 1 , w > ,惯性权重w 的减小量增大,速度Vk+1从Vk 继承较小的量,从而加强了粒子的局部搜索能力;反之,|Vk-1|>|Vk| 时,则 < 1, w < ,速度Vk+1从Vk继承较大的量,粒子的全局能力得到增强。利用式(5)可使惯性权重w 自适应非线性减小,符合粒子寻优的特点;引入比例因子后,粒子可以自适应选择如何继承前一时刻的速度,均衡了全局和局部搜寻能力。2 交叉因子法基于遗传交叉因子的改进粒子群优化算法借鉴了遗传算法中的组合交叉和变异思想,通过采用交叉因子产生出代表新的解集的种群9。该过程将导致种群像自然进化一样的后生代种群比前代更加适应环境,从而搜索到问题的全局最优解。在交叉因子法中,每次迭代选取适应度值较高的一半粒子直接进入下一代,同时用适应度好的前一半粒子的位置和速度矢量取代适应度较低的后一半粒子的相应矢量,而保持后者个体极值不变。在交叉机制中,后一半粒子作为待交因子两两随机组合配对,进行和遗传算法相同的交叉操作,产生子代,再和父代作比较,适应度值高的一半再进入下一代。这样通过交叉既可以增加粒子多样性,跳出局部最优,还可以加快收敛速度10。后代粒子的位置和速度矢量如下所示: (6) (7)其中,x 是D 维的位置向量;childk(x) 和parentk(x), k = 1, 2 ,分别指明是孩子粒子还是父母粒子的位置;p 是D 维均匀分布的随机数向量,p 的每个分量都在0, 1取值。 (8) (9) 综上所述,本文提出一种新的粒子群优化算法具有自适应性的部分随机学习粒子群算法(GHPSO),其具体步骤如下:(1)选定PSO 种群规模S;(2)初始化粒子速度和位移;(3)对每个粒子计算其适应度值;(4)比较各个粒子的适应度值,记录其自身最优值Pi 和群体最优粒子标号Pg;(5)根据式(3)和式(4)改变粒子的速度和位移,式(3)中惯性权重w 由w(k) 代替;(6)根据适应度值计算每个个体的选择概率,通常按线性排名计算;(7)执行选择、交叉操作,生成新一代种群;(8)检查是否满足PSO 算法终止条件,若否,转至第(4)步,继续;若是,则求出最优解。基于遗传交叉因子的改进PSO 算法与传统的PSO 算法的主要区别在于粒子群在进行速度和位置的更新后还要进行上述交叉操作,并用产生的后代粒子取代双亲粒子。交叉操作使后代粒子继承了双亲粒子的优点,在理论上加强了对粒子间区域的搜索能力。例如2个双亲粒子均处于不同的局部最优区域,那么二者交叉产生的后代粒子往往能够摆脱局部最优,而获得改进的搜索结果。近年来,通过各学者的不懈努力,探索出了许多改进型的PSO算法,克服了基本PSO算法的缺陷和不足,使PSO算法能更好地应用于现实生活和科学研究中。基于遗传交叉因子的改进型粒子群优化算法就是其中一种,对于这种算法,由于没做太多的研究,这里只是列举出来,作为改进型粒子群优化算法中的一个例子,只做简单介绍,供大家参考了解。(四) PSO与GA算法的比较1 PSO算法与GA算法GP来源于遗传算法(GA),但它采用了树型结构来描述层次问题,其解的描述长度不定,而且结构复杂。如果能够将GP所描述的层次型解转换为具有固定长度的线形结构的解,就可以利用GA改进算法对其进行优化。粒子群优化算法(Paiticle Swarm Optimization Algorithms,简称PSO)最早是由Kennedy和Eberhart于1995年提出的,受到人工生命的研究结果启发,其基本概念源于对鸟群捕食行为的研究。由于粒子群优化算法对解的“创新”加入了局部以及全局最优的启发式信息,较一般的遗传算法,PSO 算法具有收敛速度快的特征,而且需要用户确定的经验性参数少,使用比较方便,目前是解决优化问题的一个研究热点?。由于PSO需要利用全局以及局部最优位置信息更新当前的粒子的位置,解被描述为D维空间中的一个“点”,PSO 同样需要固定长度的线形结构的解的描述,因此不能够直接利用PSO 解决GA所描述的规划问题。2 PSO算法与GA算法的相同点:(1)都属于仿生算法。PSO算法主要模拟鸟类觅食、人类认知等社会行为提出;GA算法基于自然选择策略“适者生存,不适应者被淘汰”。(2)都属于全局优化方法。两种算法都在解空间随机产生初始种群,且在局的解空间性能高的部分集中进行搜索。(3)都属于随机搜索算法。PSO算法中速度更新公式中有随机数;而GA算中的选择、交叉和变异都是随机操作。(4)隐含并行性。搜索过程是一组解迭代到另一组解,可以同时处理群体多个个体,具有隐含并行搜索特性。并且这种并行性使算法易于在计机中实现,能够提高算法性能和效率。(5)不受函数约束条件的限制,如连续性、可导性等。(6)对高维复杂问题,往往会陷入局部极值,无法保证收敛到全局最优。 3 PSO算法与GA算法的不同点 (1)PSO算法有记忆,所有粒子都保存自己最好解的知识;而GA算法,粒不保存以前的知识,知识随着种群的改变被破坏。(2)信息共享机制不同。PSO算法历史最优粒子和全局最优粒子的信息共给其它粒子,是单向的信息流动。GA算法通过染色体共享信息,使整个种群都向最优区域移动。(3)PSO算法相对于GA算法,没有交叉和变异操作,粒子只是通过内部速进行更新,因此原理更简单、参数更少、实现更容易。(4)在收敛性方而,GA算法已经有了较成熟的收敛性分析方法,并且可对敛速度进行估计;而PSO算法在这方面的研究还比较溥弱。(5)在应用方面,PSO算法主要应用于连续问题,在离散问题方面的应用很少;而GA算法除了应用于连续问题之外,还可用于离散问题。三、PSO算法的实现及仿真实验结果(一)基本PSO算法粒子群优化算法( PSO) 的基本方法如下:首先令PSO 初始化为一群随机粒子(每个粒子每一维上都赋予其一个随机位置xi0,d 和初始速度vi0,d ) , 然后通过迭代找到最优解. 在每一次迭代中,粒子通过跟踪两个“极值”来更新自己. 第一个就是粒子本身所找到的最优解, 这个解称为个体极值pi , d ;另一个极值是整个种群目前找到的最优解,这个极值是全局极值pg . 基本PSO 每次迭代得到粒子当前的个体最优解后,对粒子的速度和位置进行更新,进行下一步的寻优,很可能使粒子逃离出最优解的区域,降低了搜索的收敛速度和解的精度本文采用了一种简单的方法,每次迭代得到了每个粒子的当前最优解后,并不急于更新粒子的速度和位置,而是分别对粒子个体最优解的某一维数方向分别取一定数值的增量或减量,然后分别对得到的解求适应度值,通过对所有维数方向上的变化,获得适应度值最小的那个解,与粒子当前解比较,记录下最好的解其中该增量或减量的数值,与当前的迭代次数有关,表示为,其中为当前迭代次数, 可以根据具体的搜索范围进行测试后选定, 的选定不同直接影响着解的精度采用该方程计算数值,可以在优化前期,扩大搜索解的范围,在优化后期,在最优解附近进行细致搜索此搜索方法,不仅简单合理,而且在每次迭代过程中提高了收敛速度,增强解的精度。(二) 算法步骤 1 根据搜索范围,自动确定步长,得到均匀化后的初始解;2 随机选取种群规模为M,迭代次数为T,空间为N维的一个粒子群,粒子的初始解由随机给定初始位置xi0和均匀化后的初始解组成,并初始速度vI0;定义个体最值Pi0 和个体最优位置xPi0;全局最优值Pg0 和全局最优位置xPg03 利用每个粒子的位置信息,根据目标函数,计算每个粒子的适应度Fik;4 利用公式对每个粒子的当前位置进行可行解变更,并计算变更后位置的粒子适应度,并将该适应度与Fik比较,用最小的适应度更替Fik,并且更替相应的位置信息;5 将Fik与自身粒子的优化解进行比较,如果Fik< Pi,则用新的适应度代替前一轮的个体优化值,用新的粒子位置取代前一轮的粒子位置即Pi=Fik ,xPi =xik ;6 将每个粒子的最好适应度Pi与所有粒子最好适应度Pg进行比较,如果Pi<Pg , 则用该粒子的最好适应值取代原群体最优适应值,同时用该粒子位置取代群体最优粒子位置即Pg=Pi ,xPg=xPi ;7 根据式(1) 和式(2) 的更新方程,更新每个粒子的速度,并对每个粒子进行速度越限检查,确保粒子速度在-Vimax,Vimax 之间,根据迭代式更新计算每个粒子的位置,对每个粒子进行位置越限检查,确保粒子位置在-Xmax , Xmax 之间;8 程序运行到达给定的迭代次数或精度要求时输出相关结果;否则返回步骤3)。(三) 伪代码描述PSO算法可用伪代码表示如下:初始化粒子群;DOFor 每个粒子计算其适应度;If (适应度优于粒子历史最佳值)用Xi更新历史最佳个体Pi;End 选取当前粒子群中最佳粒子;If (当前最佳粒子优于群历史最佳粒子)用当前群最佳粒子更新Pg;For 每个粒子按式(1)更新粒子速度;按式(2)更新粒子位置;EndWhile最大迭代数未达到或最小误差未达到。(四) 算法流程图PSO算法把优化问题的解抽象成粒子,如果把粒子想像成一只鸟,从一组解出发寻求最优解的过程就类似于鸟群寻找食物的过程. PSO算法的流程如图1所示.(五) 六个测试函数的运行结果及与GA算法结果的比较上面粗略的对程序主体功能进行了分析,要具体看程序的功能,需要进行具体的测试及仿真实验。这里选取了六个测试函数进行试验,作为目标函数,进行试验仿真。六个函数如下:1-2x2,i=1,2测得数据4.6202 ± 11.4554PSOGA4.6202 ± 11.45543.1471 ± 0.9860PSO与GA曲线对比图如下: 图 22 .搜索范围:-5xj10,j=1,n测得的数据41.832 104 348 216 82该函数没有进行GA计算,因此只有PSO与GHPSO结果数据对比曲线图如下: 图 33-5x110, 0x215测得的数据0.4960 ± 0.3703PSOGA0.4960 ± 0.37030.4021 ± 0.0153PSO与GA曲线对比图如下: 图 44-1x11,i=1,2.测得的数据-1.9702 ± 0.0366PSOGA-1.9702 ± 0.0366-1.9645 ± 0.0393PSO与GA曲线对比图如下: 图 55 -10x1,x210.测得的数据= -180.3265 ± 10.1718PSOGA-180.3265 ± 10.1718-182.1840 ± 5.3599PSO与GA曲线对比图如下:图66搜索范围:9.566170e-011综合上面的测试数据和PSO算法与GA算法结果数据对比曲线图可知:PSO经过初始化、适应度计算、粒子状态(位置与速度)更新、停止准则判断等步骤,最终得到符合条件的解。PSO的优点是PSO算法收敛快,具有较强的通用性。然而PSO的缺点也显现出来:的取值随着算法迭代的进行而线性减小,可明显改善算法的收敛性能。若取值较大,则粒子的全局搜索能力较强,若取值较小,则粒子的局部挖掘能力得到增强。但是使用一般的线性减小策略时会快速减小,不能在算法初期长时间保持较大的值。这样会导致早熟收敛、搜索精度不高、后期迭代效率不高,尤其是当解空间为非凸集时,应用PSO算法容易在后期陷入局部极优点。四、结 论 本篇论文先是讲述了粒子群优化算法(PSO)的由来及概念,接着描述了遗传PSO算法的基本原理和基本算法,提出了与传统遗传算法相比PSO算法的优点和长处,同时也发现了其不足和缺陷,并提到了多年来各学者为了克服传统PSO算法的不足和缺陷而探索出各类改进型粒子群优化算法,然后具体以一种改进型PSO算法基于遗传交叉因子的粒子群优化算法为例,简单介绍了其算法和特点。论文核心第三部分具体讲述了的PSO算法的具体步骤、公式及流程图。还将PSO算法与GA算法进行了对比,通过六个具体测试函数的运行结果及数据对比曲线图,充分体现了PSO算法的优点和长处,同时也反映出了其缺陷和不足之处,有待于我们进一步努力,探索出各种新型PSO算法,使其更优越更便捷,能更好的应用于生活和科研的各领域,更好地位人类科技和生产进步做出贡献。粒子群优化算法(Particle Swarm Optimization, PSO)是由Kennedy 和Eberhart 于1995 年提出的一种新的全局优化进化算法1-2,其基本概念源于对鸟类捕食行为的模拟。与遗传算法和蚁群算法相类似,PSO 算法也是一种基于群集智能(swarm intelligence)的演化计算技术。作为一种高效的优化工具,该算法近年来已引起了优化及演化计算等领域的学者们的广泛关注。但其在许多方面还存在缺陷与不足,其发展才刚刚开始,许多问题和难点还等着我们去发现、去解决。PSO 算法容易理解、易于实现,所以PSO 算法发展很快目前,多种PSO改进算法已广泛应用于函数优化、神经网络训练、模式识别、模糊系统控制以及其他的应用领域。此外,PSO算法还应用于机器人全局路径规划,原油含水率测量PSO-BP 非线性校正技术,运用GA-PSO混合规划算法设计国家助学贷款风险预警模型等。 研究和实践表明,PSO 在多维空间函数寻优、动态目标寻优等方面有着收敛速度快、非劣解质量高、鲁棒性好等优点,特别适合工程应用。PSO 算法收敛快,具有较强的通用性,但也存在早熟收敛、搜索精度不高、后期迭代效率不高3的缺点,尤其是当解空间为非凸集时,应用PSO 算法容易在后期陷入局部极优点。由于这些缺点,使得PSO算法在一些应用上存在缺陷或部分问题上的应用受到制约,为了克服这些缺点,改善算法性能,通过许多学者不断的努力和刻苦钻研探索,近年来出现了许多改进的PSO算法,它们各有各的有点,分别在不同的方面克服了传统PSO算法的缺点与不足,使算法更简捷,更准确。如局部和全局搜索相结合的粒子群算法(Local andGlobal Combine Particle Swarm Optimization, LGCPSO),使其能跳出局部最优位置,进入解空间的其他区域进行搜索,增强PSO 算法的全局搜索能力,加快搜索速度。将该算法应用于优化连续函数,优化效果更好。又如改进的混合粒子群算法. 通过更改现有的速度更新公式,加入扰动项,以及引入交叉和变异算子等措施,改进了粒群算法的性能. 数值试验表明,改进后的粒子群算法在全局寻优和局部寻优能力上均得到提高,是一种有效的优化算法。还有基于遗传交叉因子的改进粒子群优化算法,通过自适应变化惯性权重来改善算法的收敛性能,借鉴遗传算法中的选择交叉操作增加粒子多样性,通过引入交叉因子增强群体粒子的优良特性,减小了算法陷入局部极值的可能。对几个典型的测试函数进行仿真表明,该算法较标准粒子群优化算法(PSO)提高了全局搜索能力和收敛速度,改善了优化性能。综上所述,粒子群优化算法(PSO)在现实生活和工程应用都有广泛的应用,但由于其本身存在不少缺陷和不足,存在一些具体的应用问题,因此,许多学者和科研人员通过努力探索提出了许多改进型的PSO算法,克服了很多问题。实践证明,PSO算法是一种很有用处也很有发展前景的算法,它在应用和发展上还有广泛的空间,需要我们努力去钻研去开拓。 参考文献1 Ott E, Grebogi C, Yorke JA. Controlling chaos. Phys Rev Lett 1990;64:11969.2 Kapitaniak T. Continuous control and synchronization in chaotic systems. Chaos, Solitons & Fractals 1995;6:23744.3 Pecora L, Carroll T. Synchronization in chaotic systems. Phys Rev Lett 1990;64:8214.4 Aihara K, Takabe T, Toyoda M. Chaotic neural networks. Phys Lett A 1990;144:33340.5 Li B, Jiang WS. Optimizing complex functions by chaos search. Cybernet Syst 1998;29:40919.6 Lu Z, Shieh LS, Chen GR. On robust control of uncertain chaotic systems: a sliding-mode synthes