粒子群算法(PSO)

1.简介

粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究 。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。

2.算法

2.1问题抽象

鸟被抽象为没有质量和体积的微粒,并延伸到N维空间,粒子i在N维空间的位置表示为矢量Xi=(x1,x2,...,xn),飞行速度表示为矢量Vi=(v1,v2,...,vn)。每个粒子都有一个目标函数决定的适应值(fitness value),并且知道自己目前为止发现的最好位置(pbest)和现在的位置Xi。这个可以看做是粒子的飞行经验。除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(gbest--gbest是所有pbest中最佳值),这个可以看做是粒子同伴的经验。粒子就是通过自己的经验和同伴中的最好经验来决定下一步运动。

2.2更新规则

PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。每一次迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。在找到这两个最优值后,粒子通过下面的下面的公式来更新自己的速度和位置。


公式(1)的第一部分称为【记忆项】,表示上次速度大小和方向影响;公式(1)的第二部分称为【自身认知项】,从当前点指向粒子自身经验最好点的一个矢量;公式(1)的第三部分称为【群体认知项】,是一个从当前点指向种群最好点的矢量。

公式(1)和(2)形成了PSO的标准形式。


公式(2)和(3)被视为标准PSO算法。

2.3PSO算法的流程图和伪代码

以上摘录于其他博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 姓名:车文扬 学号:16020199006 转载至:https://www.cnblogs.com/yncxzdy...
    o錯覺_42a1阅读 9,388评论 0 1
  • 1 原理 粒子群算法是群智能一种,是基于对鸟群觅食行为的研究和模拟而来的。假设在鸟群觅食范围,只在一个地方有食物,...
    yiekue阅读 14,660评论 4 19
  • [->点击访问个人博客,相互交流学习<-](https://jackhcc.github.io/) 1 研究背景 ...
    JackHCC阅读 5,595评论 0 2
  • 晚上宝贝放学回家,特别高兴的跟我说,在托付把作业都做完了!宝贝积极完成作业我也是很开心的,吃完饭我给宝贝检查作...
    赵羽斐阅读 767评论 2 3
  • 第一组 第一组 第二组 第二组 第三组 第三组 第四组 第四组 第五组 第五组 第六组 第六组
    246任晶璐阅读 1,599评论 2 3