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

文章目录

  • 粒子群优化算法及其离散二进制粒子群优化算法总结
  • 前言
  • 一、什么是粒子群优化算法?
  • 二、粒子群算法基本形式
  • 标准粒子群算法
  • 粒子群拓扑结构
  • 离散二进制粒子群算法(Binary PSO)
    • 背景
    • 算法
    • BPSO得出的结论

前言

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


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

粒子群算法的思想源于对鸟/鱼群捕食行为的研究,模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于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.

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

  1. 【优化布局】基于matlab粒子群算法求解充电站布局优化问题【含Matlab源码 012期】

    ⛄一.粒子群算法简介 1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都 ...

  2. 【优化求解】基于matlab粒子群算法和帝国殖民算法和萤火虫算法求解最小生成树优化问题【含Matlab源码 2376期】

    ⛄一.粒子群算法简介 1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都 ...

  3. 基于改进二进制粒子群算法的配电网重构(matlab实现)

    目录 一.引言 1.问题背景 2.二进制粒子群算法 2.1简介 2.2 S i g m o i d Sigmoid Sigmoid函数 2.3二进制粒子群算法 2.4算法的改进 二.配电网重构模型 1 ...

  4. 粒子群优化算法(2)离散粒子群算法

    在上一篇博客 粒子群优化算法(1)中介绍了基本的粒子群算法,基本粒子群算法是基于连续空间(区间)进行搜索,然而在一些实际的工程应用中,我们的待求解的变量可能并不是历需的,而实一种离散型的变量.这就需要 ...

  5. 粒子群算法组卷_概率表示的二进制粒子群算法在组卷中的应用

    概率表示的二进制粒子群算法在组卷中的应用 于庆梅 ; 杨争争 ; 雷景生 ; 刘怡乐 [期刊名称] <计算机仿真> [年 ( 卷 ), 期] 2012(029)009 [摘要] In or ...

  6. 【控制】粒子群优化(PSO,Particle Swarm Optimization)算法及 Matlab 仿真实现

    文章目录 定义 对比模拟捕食 通俗解释 粒子抽象 关于速度和位置 速度和位置的更新 标准PSO算法流程 标准PSO算法的流程 PSO流程图解 学习因子 c1.c2c_1.c_2c1​.c2​ 分析 仿 ...

  7. matlab虚拟力,31无线传感网络布局优化的虚拟力导向粒子群算法MATLAB源代码

    无线传感网络布局优化的虚拟力导向粒子群算法MATLAB源代码 本源代码主要参考了下面的文献:王雪, 王晟, 马俊杰. 无线传感器网络布局的虚拟力导向微粒群优化策略[J]. 电子学报, 2007, 11 ...

  8. PSO粒子群算法微电网优化调度(微电网孤岛运行优化调度)matlab程序

    PSO粒子群算法微电网优化调度(微电网孤岛运行优化调度)matlab程序 [含风电.光伏.微型燃机.储能蓄电池.燃料电池] 参考文献:基于改进粒子群算法的微电网优化调度 摘 要:当今全球普遍面临着能源 ...

  9. 【优化覆盖】基于matlab粒子群算法优化无人机编队布局求解车载网络通信覆盖优化问题【含Matlab源码 2021期】

    一.无人机简介 无人机的航迹规划是指在综合考虑无人机飞行油耗.威胁.飞行区域以及自身物理条件限制等因素的前提下, 为飞行器在飞行区域内规划出从初始点到目标点最优或者满意的飞行航迹, 其本质是一个多约束 ...

最新文章

  1. java过滤乱码 \u形式乱码 unicode乱码
  2. Mybatis深入了解(四)----输入输出映射
  3. js计算器代码加减乘除_如何用jQuery做一个简易版计算器
  4. 33.JAVA编程思想——JAVA IO File类
  5. Android 四种启动模式
  6. shell 查看Linux 进程 是否存在
  7. VisualTreeHelper不仅仅只是用来查看可视化树结构的
  8. CTF之做题总结(二)
  9. 51单片机波特率计算c语言,8051单片机波特率计算公式(配套C语言例程
  10. 密码学常见基本概念-随机数,伪随机数产生器
  11. 微软的苹果香味——专访微软MacBU组成员
  12. 22(线性方程组求解)高斯赛德尔迭代法
  13. Excel只删除开头和末尾空格,中间不管的2种操作
  14. 长虹 Watch FLY 智能手表 评测
  15. 大家一起来玩游戏-24点(递归)
  16. 32位计算机怎么安装ps,ps怎么安装到电脑上(免费教你安装ps)
  17. MATLAB SCI论文绘图及绘图窗口大小设置
  18. bazaar android app,Bazaart
  19. 信息与通信工程保研经验之上科大北理成电浙大东南西交
  20. 哈佛学生是如何度过大学4年的-----中国大学生的暮鼓晨钟

热门文章

  1. 【华人学者风采】张殷乾 南方科技大学
  2. image_retraining retrain.py缺失
  3. python实现最大矩形问题
  4. Scrollview回弹效果自定义控件
  5. 初探 jQuery 的 Sizzle 选择器
  6. 用Dockerfile定制镜像
  7. 银行虚拟人技术应用领域及作用介绍
  8. Java实现主线程与子线程访问临界资源同步模拟
  9. iOS开发正则表达式,验证是否是邮箱,手机号,银行卡号,URL等等
  10. 健身行业迎来全新洗牌,智能健身风暴席卷全国