PSO(粒子群算法)

核心思想

粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出

是根据鸟类的捕食行为简化出的一种模型

假设一只鸟在捕食时,会和种群中其他的鸟类共享信息,并且根据自己寻找到的最优位置以及群体中给出的最优位置来改变自己的速度(包括大小与方向),从而从无序寻找到最终变成有序飞行。

其速度的改变遵循三条原则

  • 飞离离自己最近的目标,避免相撞
  • 整个群体飞向目标,并且飞向鸟群中心
  • 匹配邻域个体的速度

直观感受

在这里插入图片描述

具体实现

  1. 在全局随机分布几个粒子
  2. 每个粒子有初始位置和初始速度
  3. 根据自己的位置,计算每个粒子当前的适应值
  4. 如果当前适应值超过了粒子的局部最优值对应的适应值,就用当前位置代替个体局部最优值
  5. 如果当前适应值超过了全局最优值对应的适应值,就用当前粒子的位置代替全局最优值
  6. 根据粒子的局部最优值和全局最优值来调整各个粒子的速度(包括大小和方向)
  7. 如果迭代次数达到预期或者全局最优值满足了预期的阈值,那么就结束迭代,否则从第3点开始重新迭代

数学公式

第 i 个粒子的第 k 次速度更新公式为:
在这里插入图片描述

  • 这只鸟第 k + 1 步的速度=上一步自身的速度惯性+自我认知部分+社会认知部分

  • pbestik 表示第 i 个粒子k-1次迭代后的局部最优值

  • gbestk表示k-1次迭代后的全局最优值

  • ω 表示速度的惯性系数 ,惯性系数越大,寻找全局最优值的能力越强,惯性系数越小,寻找局部最优值的能力越强
    ω通常是实时变化的,常用线性递减权值策略:
    在这里插入图片描述
    在这里插入图片描述

  • c1表示个体学习因子,c2表示社会学习因子

流程图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值