粒子群优化算法及其离散二进制粒子群优化算法总结

粒子群优化算法及其离散二进制粒子群优化算法总结


前言

总结一下粒子群优化算法的一些知识点,回顾综述的文章,这将对我下一篇在写的论文有帮助!仅供学习共勉!
本文的知识点引用的文章和博客将会标注给出,如有不适合请指出!


一、什么是粒子群优化算法?

粒子群算法的思想源于对鸟/鱼群捕食行为的研究,模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法。它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) 操作,它通过追随当前搜索到的最优值来寻找全局最优。粒子群算法与其他现代优化方法相比的一个明显特色就是所需要调整的参数很少、简单易行,收敛速度快,已成为现代优化方法领域研究的热点。

在这里插入图片描述

https://blog.csdn.net/xiaofalu/article/details/100576488?spm=1001.2014.3001.5501

二、粒子群算法基本形式

==我经常将基本形式和标准形式混淆,特此提出标记 ==
一个由个粒子组成的群体在D维搜索空间中以一定速度飞行,每个粒子在搜索时,考虑到了自己搜索到的历史最好点和群体内或邻域内其他粒子的历史最好点,在此基础上变化位置(位置也就是解)。粒子群的第i粒子(i = 1,2,3…n)是由三个维向量组成,其三部分分别为:

在这里插入图片描述

其中加速常数c1和c2是两个非负值,这两个常数使粒子具有自我总结和向群体中优秀个体学习的能力,从而向自己的历史最优点以及群体内或领域内的全局最优点靠近。c1和c2通通常等于2。rand()是在范围[0,1]内取值的随机函数。

在这里插入图片描述

标准粒子群算法

为了进一步提高算法的性能,Y,Shi和R.Eberhart在1998年的论文中将惯性权重w引入,将速度更新方程修改为

在这里插入图片描述
w为惯性权重,它决定了粒子先前速度对当前速度的影响程度,从而起到平衡算法全局搜索和局部搜索能力的作用. ,Y,Shi和R.Eberhart通过实验指出权重为1.4-0.4线性变化,优化的效果较好。
`

粒子群拓扑结构

对于拓扑结构,算法创始者最早就对此进行了研究。提出几中不同结构模型其全局模型、环形模型和局部模型。全局模型将整个群体作为粒子的邻域,速度快,不过有时会陷入局部最优局部模型将索引号相近或者位置相近的个体作为粒子的邻域,收敛速度慢一点,不过很难陷入局部最优。在实际应用中,可以先用全局找到大致的结果,再用局部进行搜索。

离散二进制粒子群算法(Binary PSO)

背景

标准算法适应在连续搜索空间进行计算,而对于离散的搜索空间,其不能直接加以应用,必须对标准算法改进。为了使算法能解决离散合优化问题,J. Kenedy和R.Eberhart在1997年开发出一个算法的离散二进制版本简称(BPSO).

算法

粒子是由二进制编码组成,每个二进制位置利用下面的公式产生位置

在这里插入图片描述
对于粒子的当前位置公式做了更改,为了表示速度的值是二进制位取1的概率,速度的值被映射到区间[0,1],映射的方法一般采用sigmoid函数:
在这里插入图片描述
这里s(Vid)表示位置Xid取1的概率,粒子通过下列公式改变它的位值:

在这里插入图片描述
为了避免s(Vid)太靠近1或0,一个参数Vmax作为最大速度值,用于限制Vid的范围,即 。速度的限制最终是限制了位Xid取1或0的概率。例如,如果Vmax = 6,那么就限制s(Vid)的值在0.9975和0.0025之间。在连续算法中,大的Vmax值有利于粒子的全局开拓能力,而在离散算法二进制版本中,小的Vmax值才会增加位的变异率。

BPSO得出的结论

离散二进制算法的粒子不太可能收敛于全局最优粒子。如果其收敛到全局最优粒子,则其速度为0。此时,位发生改变机会最大,即为0.5,搜索更加随机性,没有方向性。所以,可以得出的结论是离散二进制算法是全局性随机搜索算法,算法随迭代运行,其随机性更强,没有收敛性。因此,离散二进制算法缺少局部探测性。

在这里插入图片描述
本篇详细内容可以详查下面的论文

刘建华. 粒子群算法的基本理论及其改进研究[D].中南大学,2009.

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
离散二进制粒子群算法(Binary Particle Swarm Optimization,BPSO)是一种基于群体智能的优化算法,用于解决背包问题。BPSO算法的原理如下: 1. 初始化:首先,随机生成一群粒子,每个粒子代表一个解,即一个可行解。每个粒子都有一个二进制向量,表示是否选择对应的物品放入背包中。 2. 适应度计算:对于每个粒子,根据其二进制向量计算适应度函数值。适应度函数可以根据具体的背包问题定义,通常是考虑物品的重量和价值的线性组合。 3. 全局最优和个体最优更新:记录全局最优解以及每个粒子的个体最优解。个体最优解是该粒子自身历史上最好的解,全局最优解是所有粒子历史上最好的解。 4. 粒子位置更新:根据公式更新粒子的二进制向量位置。位置更新公式包括三个部分:个体认知部分(根据个体最优解调整位置)、社会认知部分(根据全局最优解调整位置)和惯性部分(根据当前位置调整位置)。 5. 重复步骤2-4直到满足停止条件:重复执行适应度计算、全局最优和个体最优更新以及粒子位置更新的步骤,直到满足停止条件,如达到最大迭代次数或找到满意的解。 6. 输出结果:输出全局最优解作为问题的最优解。 BPSO算法通过不断调整粒子的位置来搜索最优解,其中个体最优和全局最优的信息共享使得算法能够在搜索空间中快速收敛到较好的解。通过将问题表示为二进制向量,BPSO算法可以应用于背包问题等离散优化问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值