粒子群算法与遗传算法的比较

粒子群算法与遗传算法的比较

ID:19205838

大小:29.54 KB

页数:15页

时间:2018-09-27

粒子群算法与遗传算法的比较_第1页
粒子群算法与遗传算法的比较_第2页
粒子群算法与遗传算法的比较_第3页
粒子群算法与遗传算法的比较_第4页
粒子群算法与遗传算法的比较_第5页
资源描述:

《粒子群算法与遗传算法的比较》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、粒子群算法介绍  优化问题是工业设计中经常遇到的问题,许多问题最后都可以归结为优化问题.为了解决各种各样的优化问题,人们提出了许多优化算法,比较著名的有爬山法、遗传算法等.优化问题有两个主要问题:一是要求寻找全局最小点,二是要求有较高的收敛速度.爬山法精度较高,但是易于陷入局部极小.遗传算法属于进化算法(EvolutionaryAlgorithms)的一种,它通过模仿自然界的选择与遗传的机理来寻找最优解.遗传算法有三个基本算子:选择、交叉和变异.但是遗传算法的编程实现比较复杂,首先需要对问题进行编码

2、,找到最优解之后还需要对问题进行解码,另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验.1995年Eberhart博士和kennedy博士提出了一种新的算法;粒子群优化(ParticleSwarmOptimization-PSO)算法.这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。  粒子群优化(ParticleSwarmOptimization-PSO)算法是近年来发展起来

3、的一种新的进化算法(EvolutionaryAlgorithm-EA).PSO算法属于进化算法的一种,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质.但是它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover)和“变异”(Mutation)操作.它通过追随当前搜索到的最优值来寻找全局最优。1.引言  粒子群优化算法(PSO)是一种进化计算技术(evolutionarycomputation),由Eberhart博士和kennedy博士提出。源于

4、对鸟群捕食的行为研究。  PSO同遗传算法类似,是一种基于迭代的优化算法。系统初始化为一组随机解,通过迭代搜寻最优值。但是它没有遗传算法用的交叉(crossover)以及变异(mutation),而是粒子在解空间追随最优的粒子进行搜索。同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域2.背景:人工生命  "人工生命"是来研究具有某些生命基本特征的人工系统。人工生命包括两方面的内容:  1.研究如何利用

5、计算技术研究生物现象  2.研究如何利用生物技术研究计算问题  我们现在关注的是第二部分的内容.现在已经有很多源于生物现象的计算技巧.例如,人工神经网络是简化的大脑模型.遗传算法是模拟基因进化过程的.  现在我们讨论另一种生物系统-社会系统.更确切的是,在由简单个体组成的群落与环境以及个体之间的互动行为.也可称做"群智能"(swarmintelligence).这些模拟系统利用局部信息从而可能产生不可预测的群体行为  例如floys和boids,他们都用来模拟鱼群和鸟群的运动规律,主要用于计算机视觉

6、和计算机辅助设计.  在计算智能(computationalintelligence)领域有两种基于群智能的算法.蚁群算法(antcolonyoptimization)和粒子群算法(particleswarmoptimization).前者是对蚂蚁群落食物采集过程的模拟.已经成功运用在很多离散优化问题上.  粒子群优化算法(PSO)也是起源对简单社会系统的模拟.最初设想是模拟鸟群觅食的过程.但后来发现PSO是一种很好的优化工具.3.算法介绍  如前所述,PSO模拟鸟群的捕食行为。设想这样一个场景:一

7、群鸟在随机搜索食物。在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。  PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。  PSO初始化为一群随

8、机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个"极值"来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest。另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。  在找到这两个最优值时,粒子根据如下的公式来更新自己的速度和新的位置:  v[]=w*v[]+c1*rand()*(pbest[]-present[])

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。