【计算智能】读书笔记 第六章节 粒子群优化算法


1. 算法简介

粒子群优化算法( Particle Swarm Optimization, PSO) 作为进化计算的一个分支,是由Eberhart 和Kennedy 于1995 年提出的一种全局搜索算法,同时它也是一种模拟自然界的生物活动以及群体智能的随机搜索算法。

该算法融入了个体认知社会影响这些心理学的理论,粒子群算法是一种群体智能算法

其基本定义术语对照如下所示

鸟群觅食粒子群优化算法
鸟群搜索空间的一组有效解(表现为种群规模N)
觅食空间问题的搜索空间(表现为维数D)
飞行速度解的速度向量 v i = [ v i 1 , v i 2 , ⋯   , v i D ] \boldsymbol{v}_i=\left[v_i^1, v_i^2, \cdots, v_i^D\right] vi=[vi1,vi2,,viD]
所在位置解的位置向量 x i = [ x i 1 , x i 2 , ⋯   , x i D ] \boldsymbol{x}_i=\left[x_i^1, x_i^2, \cdots, x_i^D\right] xi=[xi1,xi2,,xiD]
个体认知与群体协作每个粒子 i i i根据自身历史最优位置和群体的全局最优位置更新速度和位置
找到食物算法结束, 输出全局最优解

2. 算法基本流程

粒子群优化算法(PSO) 要求每个个体(粒子)在进化的过程中维护两个向量,就是解的速度向量 v i = [ v i 1 , v i 2 , ⋯   , v i D ] \boldsymbol{v}_i=\left[v_i^1, v_i^2, \cdots, v_i^D\right] vi=[vi1,vi2,,viD]、解的位置向量 x i = [ x i 1 , x i 2 , ⋯   , x i D ] \boldsymbol{x}_i=\left[x_i^1, x_i^2, \cdots, x_i^D\right] xi=[xi1,xi2,,xiD]

pBest:果粒子到达了某个使得适应值更好的位置,则将该位置记录到该粒子的历史最优向量中,

  • 是一个位置向量(而非速度向量)
  • 每个粒子自己有一个

gBest:全局解的最优位置向量,算法仅仅通过速度的更新公式和位置更新公式来对算法进行求解

总体来说,分为以下几个步骤

  1. 初始化
  2. 计算适应度函数值
  3. 更新最优适应度函数值(自己的 + 全局的)
  4. 更新每个粒子的速度以及位置
  5. 看看是否满足约束条件,满足结束,否则跳转2

PSO算法的算法流程图和伪代码如下所示

算法流程图

在这里插入图片描述

伪代码

//功能: 粒子群优化算法伪代码
//说明: 本例以求问题最小值为目标
//参数: N为群体规模
procedure PSO
	for each particle i
		Initialize velocity Vi and position Xi for
		particle i
		Evaluate par ticlei and set pBesti= Xi
	end for
	gBest= min {pBesti}
	while not stop
		for i = l to N
			Update the velocity and position of
			particle i
			Evaluate particle i
			if fit (Xi )< fit (pBesti)
				pBesti= Xi
			if fit (pBesti) < fit (gBest)
				gBest= pBesti;
		end for
	end while
	print gBest
end procedure

3. 算法改进研究

PSO算法改进的5个难点问题

  • 算法的理论研究
  • 算法的参数研究
  • 算法的拓扑结构研究
  • PSO 与其他算法的混合
  • 算法的应用

3.1 算法理论研究的改进

作者特点
Clerc 与Kennedy设计了一个称为压缩因子的参数。在使用了此参数之后, PSO 能够更快地收敛
Trelea指出PSO 最终稳定地收敛千空间中的某一个点,但不能保证是全局最优点
Kadirkamanathan 等人在动态环境中对PSO 的行为进行研究,由静态分析深入到了动态分析
F. van den Bergh 等人对PSO 的飞行轨迹进行了跟踪,深入到了动态的系统分析和收敛性研究

3.2 算法拓扑结构的改进

3.2.1 静态拓扑结构的改进

Kennedy 和Eberhart提出了PSO算法应该有群体版本和局部版本之间的区别,分别是:

  • PSO(Global Version PSO,GPSO)
  • PSOC Local Version PSO, LPSO)

与群体版本不同的是,他们将大群体分为了多个小群体,并且每个小群体都有自己的里斯最好位置

LPSO 中能够被用作更新向导的位置将要比GPSO 要多(群体中不止一个lBest

所以LPSO 的多样性更好,往往能够在处理复杂的问题时表现出比GPSO 更好的性能。

下面是不同静态拓扑结构之间的对比

拓扑名称结构特点
星型结构任意两个粒子都相互连接, 如图a所示
环型结构每个粒子和左右两个粒子相连,如图b所示
齿形结构邻域中仅有一个粒子作为“焦点”,和其他粒子相连,如图c 所示
冯· 诺依曼结构每个粒子和平面网格中的上下左右四个粒子相连,如图d所示

2

3.2.2 动态拓扑结构的改变

名称特点
逐步增长法根据进化代数将其邻居从粒子自身逐渐扩大到整个群体
最小距离法每一代中选择m 个“距离”最近的粒子作为邻居
重新组合法随机分成多个小种群进化了一定代数后重新随机组合,继续进化
随机选择法随机为每个粒子选择K 个粒子(包括自身)作为邻域

3.3 离散版本改进

  • 二进制编码PSO
  • 整数编码PSO

2

第十九弹——23种标准测试函数解析~图像&公式&代码
Optimization Test Problems


写在最后

各位看官,都看到这里了,麻烦动动手指头给博主来个点赞8,您的支持作者最大的创作动力哟!
才疏学浅,若有纰漏,恳请斧正
本文章仅用于各位作为学习交流之用,不作任何商业用途,若涉及版权问题请速与作者联系,望悉知

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值