粒子群算法(PSO)基本原理

一、、基本概念
每个寻优的问题解都被想像成一只鸟,称为“粒子”。所有粒子都在一个D维空间进行搜索。

  • 所有的粒子都由一个fitness-function确定适应值以判断目前的位置好坏。
  • 每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。
  • 每一个粒子还有一个速度以决定飞行的距离和方向。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。

二、基本公式
a. D维空间中,有m个粒子;
粒子ii位置:
xi=(xi1,xi2,…xiD)
xi=(xi1,xi2,…xiD)

粒子ii速度:
vi=(vi1,vi2,…viD),1≤i≤m,1≤d≤D
vi=(vi1,vi2,…viD),1≤i≤m,1≤d≤D

粒子ii经历过的历史最好位置:
pi=(pi1,pi2,…piD)
pi=(pi1,pi2,…piD)

群体内(或领域内)所有粒子所经历过的最好位置:
pg=(pg1,pg2,…pgD)
pg=(pg1,pg2,…pgD)

一般来说,粒子的位置和速度都是在连续的实数空间内进行取值。
b. 基本公式
vk+1iD=vkiD+c1r1(pkiD−xkiD)+pkgD−xkiD
viDk+1=viDk+c1r1(piDk−xiDk)+pgDk−xiDk

xk+1iD=xkiD+vk+1iD
xiDk+1=xiDk+viDk+1

其中,c1c1, c2c2 是学习因子和加速因子,r1r1, r2r2 取值范围是[0,1][0,1], 是该区间范围内的随机数,vmaxvmax是例子速度能达到的最大值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值