粒子群算法综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

粒子群算法综述

【摘要】:粒子群算法(pso)是一种新兴的基于群体智能的启发式全局搜索算法,具有易理解、易实现、全局搜索能力强等特点,倍受科学与工程领域的广泛关注,已得到广泛研究和应用。为了进一步推广应用粒子群算法并为深入研究该算法提供相关资料,本文对目前国内外研究现状进行了全面分析,在论述粒子群算法基本思想的基础上,围绕pso的运算过程、特点、改进方式与应用等方面进行了全面综述,并给出了未来的研究方向展望。

【关键词】:粒子群算法优化综述

优化理论的研究一直是一个非常活跃的研究领域。它所研究的问题是在多方案中寻求最优方案。人们关于优化问题的研究工作,随着历史的发展不断深入,对人类的发展起到了重要的推动作用。但是,任何科学的进步都受到历史条件的限制,直到二十世纪中期,由于高速数字计算机日益广泛应用,使优化技术不仅成为迫切需要,而且有了求解的有力工具。因此,优化理论和算法迅速发展起来,形成一门新的学科。至今已出现线性规划、整数规划、非线性规划、几何规划、动态规划、随机规划、网络流等许多分支。这些优化技术在诸多工程领域得到了迅速推广和应用,如系统控制、人工智能、生产调度等。随着人类生存空间的扩大,以及认识世界和改造世界范围的拓宽,常规优化法如牛顿法、车辆梯度法、模式搜索法、单纯形法等已经无法处理人们所面的复杂问题,因此高效的

优化算法成为科学工作者的研究目标之一。

1.粒子群算法的背景

粒子群算法(particle swarm optimization,pso)是一种新兴的演化算法。该算法是由j.kennedy和r.c.eberhart于1995年提出的一种基于群智能的随机优化算法。这类算法的仿生基点是:群集动物(如蚂蚁、鸟、鱼等)通过群聚而有效的觅食和逃避追捕。在这类群体的动物中,每个个体的行为是建立在群体行为的基础之上的,即在整个群体中信息是共享的,而且在个体之间存在着信息的交换与协作。如在蚁群中,当每个个体发现食物之后,它将通过接触或化学信号来招募同伴,使整个群落找到食源;在鸟群的飞行中,每只鸟在初始状态下处于随机位置,且朝各个方向随机飞行,但随着时间推移,这些初始处于随机状态的鸟通过相互学习(相互跟踪)组织的聚集成一个个小的群落,并以相同的速度朝着相同的方向飞行,最终整个群落聚集在同一位置──食源。这些群集动物所表现的智能常称为“群体智能”,它可表述为:一组相互之间可以进行直接通讯或间接通讯(通过改变局部环境)的主体,能够通过合作对问题进行分布求解。换言之,一组无智能的主体通过合作表现出智能行为特征。粒子群算法就是以模拟鸟的群集智能为特征,以求解连续变量优化问题为背景的一种优化算法。因其概念简单、参数较少、易于实现等特点,自提出以来已经受到国内外研究者的高度重视并被广泛应用于许多领域。

2.国内外研究现状

粒子群算法一经提出就吸引了各国学者的注意,各种关于pso算法的理论与应用研究的成果不断涌现,有力地推动了pso算法的研究。研究主要从下面两个方向开展:一个是从具体优化的应用着手,根据具体情况,对算法进行改进,以满足应用要求;另外一个是粒子群算法的理论方面着手,分析算法的收敛性能,提高算法的优化性。

3.粒子群算法概述

3.1粒子群算法的基本思想

粒子群算法是基于群体的演化算法。reynolds对鸟群飞行的研究发现,鸟仅仅是追踪它有限数量的邻居,但最终的整体结果是整个鸟群好像在一个中心的控制之下,即复杂的全局行为是由简单规则的相互作用引起的。pso即源于对鸟群捕食行为的研究,一群鸟在随机搜寻食物,如果这个区域里只有一块食物,那么找到食物的最简单有效的策略就是搜寻目前离食物最近的鸟的周围区域。pso就是从这种模型中得到启示而产生的,并用于解决优化问题。另外,人们通常是以他们自己及他人的经验作为决策的依据,这就构成了pso的基本概念。

算法采用速度一位置搜索模型,每个粒子代表解空间的一个候选解,解的优劣程度由适应度函数决定。速度vi=(vi1,vi2,…,vid)决定粒子在搜索空间迭代时的位移。其中,适应度函数根据优化目

标定义。粒子群算法随机初始化为一群粒子,其中第i个粒子在d 维解空间的位置表示为xi=(xi1,xi2,…,xin)。与进化算法比较,粒子群算法保留了基于种群的全局搜索策略,但是其采用的速度一位置模型,操作简单,避免了复杂的遗传操作。它特有的记忆使其可以动态跟踪当前整个种群的最优粒子。

3.2粒子群算法的运算过程

粒子群算法的主要运算过程描述如下:

①种群初始化。随机生成m个个体作为初始群体p(0)。由于粒子群群体为运算对象,所以我们必须为粒子群操作准备一个由若干初始解组成群体。

②个体评价(适应度评价)。计算群体中各个个体的适应度。粒子群算法在搜索进化过程中一般不需要其他外部信息,仅用评估函数值来评价个体或优劣,并作为以后粒子群操作的依据。评估函数值又称为适应度。

③根据图1-1、图1-2更新粒子群的速度和位置。这是整个粒子群最关键的一步,种群的“个体学习”和“社会学习”都在这一步实现。

④终止条件判断。若满足终止条件(达到最大迭代次数或满足最小),则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算;否则,转至第一步,继续迭代。

3.3粒子群算法的特点

粒子群算法有很强的鲁棒性,与传统的优化技术相比,它采用了许多独特的方法和技术。

①传统的优化算法都是从一个初始点出发,再逐步迭代以求最优解。pso则不然,它是以一个群体,多点同时出发经过不断迭代求得满意解。

②传统的优化算法不仅需要利用目标函数值,而且往往需要目标函数的导数值等其它一些辅助信息才能确定搜索方向。粒子群算法仅使用由目标函数值变换来的适应度函数值就可以确定进一步的搜索方向和搜索范围,无需目标函数的导数值等其他一些辅助信息。

③传统的优化算法大都采用确定性的搜索方法,一个点到另一个点的搜索转移有确定的转移关系和转移方向,这种确定性往往使得搜索可能永远达不到最优点,因而限制了算法的应用范围。而粒子群算法属于一种群体搜索方法,具有潜在的自适应性。

4.粒子群算法的几种改进方式

现在的粒子群算法大都在收敛速度与摆脱局部最优这两个方面下功夫,其实这又是两个矛盾的方面。如何平衡这两方面,各国研究人员相继提出了各种改进措施,概括起来主要有以下四点:变更公式法、分群方法、混合算法和扰动方法。

5.粒子群算法的应用

kennedy和eberhart首先将pso算法应用到非线性函数优化及神

相关文档
最新文档