《粒子群算法vba》doc版

《粒子群算法vba》doc版

ID:34210362

大小:218.33 KB

页数:61页

时间:2019-03-04

《粒子群算法vba》doc版_第1页
《粒子群算法vba》doc版_第2页
《粒子群算法vba》doc版_第3页
《粒子群算法vba》doc版_第4页
《粒子群算法vba》doc版_第5页
资源描述:

《《粒子群算法vba》doc版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、水资源系统分析理论与应用课程论文学院:水文水资源专业:水利工程题目:粒子群算法(VBA)学号:171601010078指导老师:王建群姓名:张轶文2017年11月14日粒子群算法张轶文(学号:161601010078,专业:水利工程)一、粒子群算法的起源粒子群优化(ParticleSwarmOptimization,PSO)算法是Kennedy和Eberhart受人工生命研究结果的启发、通过模拟鸟群觅食过程中的迁徙和群聚行为而提出的一种基于群体智能的全局随机搜索算法,1995年IEEE国际神经网络学术会

2、议发表了题为“ParticleSwarmOptimization”的论文,标志PSO算法诞生(注:国内也有很多学者译为“微粒群优化”)。它与其他进化算法一样,也是基于“种群”和“进化”的概念,通过个体间的协作与竞争,实现复杂空间最优解的搜索;同时,PSO又不像其他进化算法那样对个体进行交叉、变异、选择等进化算子操作,而是将群体(swarm)中的个体看作是在D维搜索空间中没有质量和体积的粒子(particle),每个粒子以一定的速度在解空间运动,并向自身历史最佳位置pbest和邻域历史最佳位置pbest聚

3、集,实现对候选解的进化。PSO算法具有很好的生物社会背景而易理解、参数少而易实现,对非线性、多峰问题均具有较强的全局搜索能力,在科学研究与工程实践中得到了广泛关注。自然界中各种生物体均具有一定的群体行为,而人工生命的主要研究领域之一是探索自然界生物的群体行为,从而在计算机上构建其群体模型。自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣,生物学家CraigReynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体遵循:(1)避免与邻域个体相冲撞;(2)匹配邻域个体的速度

4、;(3)飞向鸟群中心,且整个群体飞向目标。仿真中仅利用上面三条简单的规则,就可以非常接近的模拟出鸟群飞行的现象。1990年,生物学家FrankHeppner也提出了鸟类模型,它的不同之处在于:鸟类被吸引飞到栖息地。在仿真中,一开始每一只鸟都没有特定的飞行目标,只是使用简单的规则确定自己的飞行方向和飞行速度(每一只鸟都试图留在鸟群中而又不相互碰撞),当有一只鸟飞到栖息地时,它周围的鸟也会跟着飞向栖息地,这样,整个鸟群都会落在栖息地。1995年,美国社会心理学家JamesKennedy和电气工程Russel

5、lEberhart共同提出了粒子群算法,其基本思想是受对鸟类群体行为进行建模与仿真的研究结果的启发。他们的模型和仿真算法主要对FrankHeppner的模型进行了修正,以使粒子飞向解空间并在最好解处降落。Kennedy在他的书中描述了粒子群算法思想的起源。自20世纪30年代以来,社会心理学的发展揭示:我们都是鱼群或鸟群聚集行为的遵循者。在人们的不断交互过程中,由于相互的影响和模仿,他们总会变得更相似,结果就形成了规范和文明。人类的自然行为和鱼群及鸟群并不类似,而人类在高维认知空间中的思维轨迹却与之非常类

6、似。思维背后的社会现象远比鱼群和鸟群聚集过程中的优美动作复杂的多:首先,思维发生在信念空间,其维数远远高于3;其次,当两种思想在认知空间会聚于同一点时,我们称其一致,而不是发生冲突。二、算法的基本原理PSO中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为粒子。所有的粒子都有一个由被优化的函数决定的适值(fitnessvalue),每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代中,

7、粒子通过跟踪两个极值来更新自己;第一个就是粒子本身所找到的最优解,这个解称为个体极值;另一个极值是整个种群目前找到的最优解,这个极值是全局极值。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。假设在一个维的目标搜索空间中,有m个粒子组成一个群落,其中第个粒子表示为一个维的向量,第个粒子的“飞行”速度也是一个维的向量,记为,第个粒子迄今为止搜索到的最优位置称为个体极值,记为,整个粒子群迄今为止搜索到的最优位置为全局极值,记为在找到这两个最优值时,粒子根据如下的公

8、式(2.1)和(2.2)来更新自己的速度和位置:(2.1)(2.2)其中:和为学习因子,也称加速常数,和为[0,1]范围内的均匀随机数。式(2.1)右边由三部分组成,第一部分为“惯性”或“动量”部分,反映了粒子的运动“习惯”,代表粒子有维持自己先前速度的趋势;第二部分为“认知”部分,反映了粒子对自身历史经验的记忆或回忆,代表粒子有向自身历史最佳位置逼近的趋势;第三部分为“社会”部分,反映了粒子间协同合作与知识共享的群体历史经验,代表粒子有向

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

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

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