1、而前述传统的优化算法面对这样的大型问题已无能为力,无论是在计算速度、收敛性、初值敏感性等方面都远不能满足要求。人们从生命现象中得到启示,发明了许多智能的优化方法来解决上述复杂优化问题。例如遗传算法(Genetic Algorithm)参考了生物种群通过遗传和自然选择不断进化的功能、人工免疫系统(Artificail Immune Systems)模拟了生物免疫系统的学习和认知功能、蚁群优化(Ant colony Optimization)算法模仿了蚂蚁群体在路径选择和信息传递方面的行为,粒子群优化(Particle swarm optimization)算法模拟了鸟群和鱼群觅食迁徙中个体与群体
2、协调一致的机理,群落选址算法(colony Location Algorithm)模拟了植物群落的形成机制等,这类借鉴模拟了生命系统的行为、功能和特性的科学计算方法称之为人工生命计算(Artifieial Life Computation)。人工生命计算是生命科学、信息科学和运筹学的交叉研究学科,是进化计算的一个新的分支,是由具有生命特性的多智能体以特定计算目标为依据,有序组合起来所形成的计算方法。按照此定义,人工神经网络(Artificial Neural Network),文化算法(Cultural Algorithm)、人工生命算法(Artifieial Life Algorithm)、
3、捕食搜索策略(Predatory Search Strategy)等都可以被归纳为人工生命计算。粒子群优化(PSO)算法是其中较新的一种人工生命计算方法。它同遗传算法类似,是一种基于迭代的优化工具。系统初始化为一组随机解,通过迭代搜索最优值。同遗传算法等其他人工生命计算方法相比,粒子群优化算法概念简单、容易实现,没有很多参数需要调节。目前粒子群算法越来越引起人们的关注,已成为国际上一个新的研究热点。粒子群优化算法的研究还处于初级阶段,还有很多领域需要研究。在这篇文章中,首先提出了标准的粒子群算法, 标准的粒子群算法由于其简单和解决问题的有效能力而被应用到很多的领域。但在实际应用当中,也表现出了
4、一些不尽人意的问题。这些问题中最主要的是它容易产生早熟收敛、局部寻优能力较差等。实际上这些缺点也是几乎所有随机算法的弊病。本文将梯度信息引入标准PSO算法,并在群体最优信息陷入停滞时将群体进行部分初始化来保持群体的活性,防止群体陷入局优,构造出带有梯度加速的PSO算法。带有梯度加速优化算法却具有很强的局部搜索能力,一种带有梯度加速的PSO算法是对标准PSO算法进行改进。并通过实验讨论了改进算法的适用范围。实验表明,对于单峰函数和多峰函数,带有梯度加速的PSO都能够取得更好的优化效果。2 粒子群优化算法及其理论基础2.1概述长久以来 ,人们向往着设计的人工系统像自然系统那样健壮,高效灵活,具有适
5、应性、自组织和再生能力。近几十年来,一些新颖的优化算法,如人工神经网络、遗传算法及蚁群算法、粒子群算法等通过模拟或揭示某些自然现象或过程而得到发展,其思想和内容涉及数学、生物进化、人工智能、神经科学和量子统计学等方面,为解决复杂工程问题提供了新的思路和手段.这些算法独特的优点和机制,引起了国内外学者的广泛重视并掀起了该领域的研究热潮,且在许多领域得到了成功应用。在优化领域,由于这些算法构造的直观性与自然机理,被称作为智能优化算法。在这些智能优化方法中,有一类是模拟某些群体的智能行为,虽然群体中的个体仅具有简单的智能,但通过个体与个体和个体与环境的信息交流以及个体的简单行为,从而使群体表现出复杂
6、的自组织、分布式控制、可扩展、健壮的智能体,实现对空间的高效搜索。也就是说,群体智能可以在适当的进化机制引导下通过个体交互以某种突现形式发挥作用,这是个体的智能难以做到的。在群体智能优化算法的框架下,大量基于不同物理背景的算法纷纷被提出,如,遗传算法,粒子群算法等,并进行了广泛的应用尝试。粒子群算法(Particle Swarm Optimization.简称PSO),是一种基于群体智能的进化计算方法.是由PSO由Kennedy和Eberhart博士于1995年提出。PSO的基本概念源于对鸟群捕食行为的研究:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有鸟都不知道食物在哪里。但是他们知道
7、当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域.PSO从这种模型中得到启示并用于解决优化问题.在PSO中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为“粒子”,即问题的解空间对应于搜索空间粒子群。所有的粒子都有一个由被优化的问题(如,函数)决定的适应值,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子群们就追随当前的最优粒子在解空间中搜索.PSO初始化为一群随机粒子也就是随机解,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪“两个极值”来更新自己。第一个就粒子本身所找到的最优解,这个解称为个体极值,另一个极值是整个种
8、群目前找到的最优解,这个极值是全局极值。另外也可以不用整个种群而是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。PSO一经提出,立刻引起了进化计算领域学者们的广泛关注,形成一个研究热点,目前己广泛应用于函数优化、神经网络训练、模式分类、模糊控制等领域,取得了较好的效果。2.2原始粒子群优化算法的基本概念为了更好地描述粒子群优化算法,在此作如下定义定义1 粒子类似于遗传算法中的染色体,PSO中粒子为基本的组成单位,代表解空间的一个候选解。定义2 种群粒子种群由n个粒子组成,代表n个候选解。定义3 粒子速度粒子速度表示粒子在单位迭代次数位置的变化即为代表解变量的粒子在d维空间的位
9、移。定义4 适应度函数一般由适应度函数由优化目标决定,用于评价粒子的搜索性能,指导粒子种群的搜索过程。算法迭代停止时适应度函数最优的解变量即为优化搜索的最优解。定义5 个体极值个体极值是单个粒子从搜索初始到当前迭代对应的适应度最优的解。定义6 全局极值全局极值是整个粒子种群从搜索开始到当前迭代对应的适应度最优的解。2.3粒子群优化算法的一般数学模型粒子群算法的基本思想是:用随机解初始化一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己:第一个就是粒子本身所找到的最好解,即个体极值(Pbest),另一个极值是整个粒子群中所有粒子在历代搜索过程中所达到的最优解
10、(Gbest),即全局极值,在找到这两个最好解后,接下来是PSO中最重要的“加速”过程,每个粒子不断地改变其在解空间中的速度,以尽可能地朝Pbest和Gbest所指向的区域“飞”去。基本的粒子群模型由一个m维变量空间内n个粒子(位置,速度)=(,)组成的群体构成,表示为: (2.1) (2.2)式中 , i=1,2,n,n为粒子群中粒子的个数:j=1,2,m,m 为解向量的维数;k是进化代数.粒子根据如下的式(2.3)和式(2.4)来更新自己的速度和位置.(2.3)(2.4)、分别表示第i个粒子在j维方向上的当前速度和修正后的速度;、分别为第i个粒子在j维方向上的当前坐标和修正后的坐标;c1,
11、 c2是加速系数,分别调节向全局最好粒子和个体最好粒子方向飞行的最大步长;是第i个粒子在第j维的个体极值点的位置,是到第k代为止,所有粒子在第j维的全局极值点的位置:rand1,和rand2为两个在0, 1范围内变化的随机函数。2.4粒子群优化算法的设计步骤和算法流程设计步骤:(1) 确定问题的表示方案粒子群算法在求解问题时,其首要步骤是将问题的解从解空间映射到具有某种结构的表示空间,即用特定的编码表示问题的解,这和遗传算法是类似的。粒子群算法的大部分研究均集中在数值优化领域中,其位置一速度计算模型使用于具有连续特征的问题函数,因此,目前算法大多采用实数向量的编码方式,以粒子的位置向量来表示问
12、题的解。(2) 确定优化问题的评价函数在求解问题时,必须根据问题的具体特征,选取适当的目标函数来计算适应值,适应值是唯一能够反映并引导优化过程不断进行的参量。(3) 选择控制参数粒子群算法的控制参数通常包括粒子种群数量、算法执行的最大代数、惯性权重系数其他一些辅助控制参数,如粒子位置和速度的控制范围等。(4) 选择粒子群模型目前 , 粒子群算法己经发展了多种位置一速度计算模型,如惯性权重PSO模型、二进制PSO模型等等,在求解不同类型优化问题时,不同PSO模型的优化性能也有差异。(5)确定算法的终止准则与其他进化算法一样,PSO算法中最常用的终止准则时预先设定一个最大的迭代次数,或者当搜索过程
13、中解的适应值在连续多少代后不再发生明显改变时,终止算法。PSO 的算法流程如下:Step 1 :设定加速常数C1和C2,最大进化代数等参数,将当前进化代数置为t=1,初始化一群微粒(群体规模为N),包括随机位置和速度;Step 2 :评价每个微粒的适应度;Step 3 :对每个微粒,将其适应值与其经历过的最好位置pbest作比较,如果较好,则将其作为当前的最好位置pbest;Step 4 :对每个微粒,将其适应值与全局所经历的最好位置gbest作比较,如果较好,则重新设置gbest;Step5 : 根据方程(2.3)和(2.4)变化微粒的速度和位置;Step6 :检查结束条件,若满足,则结束寻
14、优,如未达到结束条件(通常为足够好的适应值或达到一个预设最大代数T),则返回Step 2.从上述粒子群优化算法寻优过程可以看出其有如下特性:粒子群中的群体随着时间的变化而进行空间位置的计算;粒子群中的群体对环境中的品质因素做出响应,这种品质因素是通过PSO中每个粒子的最好位置和种群中的最优粒子来反映的;粒子群通过一定方式(即通过对个体最优粒子的记忆和对全局最优粒子的学习的方式)分配这种响应而体现出种群的多样性,仅仅当粒子群中的最优粒子发生改变时,粒子群中粒子的行为才发生改变,这正体现出了粒子群的稳定性和适应性。 2.5 标准的粒子群算法为了改善算法收敛性能,Shi和Eberhart在1998年的论文中引入了惯性权重
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1