1.理论基础

粒子群算法(particle swarm optimization,PSO)是计算智能领域中的一种生物启发式方法,属于群体智能优化算法的一种,常见的群体智能优化算法主要有如下几类:
  (1)蚁群算法(Ant Colony Optimization,简称ACO)[1992年提出];
  (2)粒子群优化算法(Particle Swarm Optimization,简称PSO)[1995年提出](简单易于实现,也是目前应用最为广泛的群体智能优化算法);
  (3)菌群优化算法(Bacterial Foraging Optimization,简称BFO)[2002年提出];
  (4)蛙跳算法(Shuffled Frog Leading Algorithm,简称SFLA)[2003年提出];
  (5)人工蜂群算法(Artificial Bee Colony Algorithm,简称ABC)[2005年提出];
  除了上述几种常见的群体智能算法以外,还有一些并不是广泛应用的群体智能算法,比如萤火虫算法、布谷鸟算法、蝙蝠算法以及磷虾群算法等等。

而其中的粒子群优化算法(PSO)源于对鸟类捕食行为的研究,鸟类捕食时,找到食物最简单有限的策略就是搜寻当前距离食物最近的鸟的周围。

举个通俗的例子:

一群鸟在寻找食物,在这个区域内有一个食物,所有的鸟都不知道食物在哪里,但食物发出了香味,鸟通过香味的浓烈能判断出自己的当前位置距离食物有多远,同时鸟群之间是可以交流并告知离食物最近的鸟的位置的。试想一下这个时候会发生什么?

鸟甲:哈哈哈,原来我离食物最近!

鸟乙、丙、丁…:我得赶紧往鸟甲那里过去看看!

同时各自鸟在位置不停变化的时候,离食物的距离也不断的变化,所以一定有过离食物最近的位置,这是他们的一个参考。

鸟某某:我刚才的位置好像离食物很近了,我得往那里再靠近点!

通过这样一个过程,不断的变化,最终鸟群会向食物方向聚集,达到目标。在这个变化的过程中,影响鸟的运动状态变化的有两个因素:

离食物最近的鸟的位置
自己之前达到过的离食物最近的位置
而鸟的每次的位置变化,除了考虑以上的两个因素还有一个因素就是惯性。而对位置的变化,通过变化量(速度)来表示。

通过以上的例子,我们可以把鸟抽象为没有质量和体积的微粒(点),并延伸到N维空间,粒子I 在N维空间的位置表示为矢量Xi=(x1,x2,…,xN),飞行速度表示为矢量Vi=(v1,v2,…,vN).每个粒子都有一个由目标函数决定的适应值(fitness value),并且知道自己到目前为止发现的最好位置(pbest)和现在的位置Xi.这个可以看作是粒子自己的飞行经验.除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(gbest)(gbest是pbest中的最好值).这个可以看作是粒子同伴的经验.粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。

看过的博客:
https://blog.csdn.net/qq_37913997/article/details/81807532

路径规划:粒子群算法相关推荐

  1. 粒子群算法求解物流配送路线问题(python)

    粒子群算法求解物流配送路线问题(python) 1.查找论文文献 找一篇物流配送路径优化+粒子群算法求解的论文 参考文献:基于混沌粒子群算法的物流配送路径优化 2.了解粒子群算法的原理 讲解通俗易懂, ...

  2. 【TWVRP】基于matlab粒子群算法求解带时间窗的车辆路径规划问题(总成本最低)【含Matlab源码 2590期】

    ⛄一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简 ...

  3. MATLAB粒子群算法求解带充电站(桩)的电动车辆路径规划EVRP问题代码实例

    MATLAB粒子群算法求解带充电站(桩)的电动车辆路径规划EVRP问题代码实例 问题实例描述: 现有一个配送中心需要向20个客户点进行送货.每个客户点有不同货物需求量和卸货服务时间.配送中心和客户点的 ...

  4. jeremy的路径规划学习-1.三维地图定义,散点拟合插值与粒子群算法(matlab实现)

    jeremy的路径规划学习-1.三维地图定义,散点拟合插值与粒子群算法(matlab实现) 本文基于小黎的ally学习资料实现,感谢该博主的无私奉献 三维地图与二维地图的差别 1.二维无高度信息,多用 ...

  5. 六自由度机器人(机械臂)运动学建模及运动规划系列——避障路径规划算法补充:粒子群算法(PSO)

    上一篇介绍了遗传算法,本篇接着介绍应用于路径规划的另一种算法--粒子群算法(PSO),主要介绍算法的理论基础以及实现流程等. 本篇目录 1. 算法起源与理论基础 2. 算法实现流程 (1)粒子群初始化 ...

  6. 【PSO三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 192期】

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

  7. 【路径规划】基于粒子群算法求解VRPTW模型

    1 粒子群算法 1.1 研究背景 粒子群算法的发展过程.粒子群优化算法(Partical Swarm Optimization PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单 ...

  8. 【PSO三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 015期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

  9. 【PSO三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 1260期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

  10. 基于粒子群算法的智能车辆避障路径规划方法研究

    基于粒子群算法的智能车辆避障路径规划方法研究 1.环境生成 1.1 环境生成方法的选择 1.2 坐标法生成环境 1.3 车辆简化 1.4 障碍物数据 2.粒子初始化 2.1 速度迭代设置 2.2 避障 ...

最新文章

  1. Spring Boot 中实现跨域的 5 种方式,你一定要知道!
  2. Fiddler 发送post 请求失败
  3. 关于C++中的虚拟继承的一些总结
  4. 【Groovy】编译时元编程 ( 方法拦截时用到的 AST 语法树节点 MethodNode 节点 | MethodNode 节点分析 | MethodNode 节点中的BlockStatement)
  5. mysql递归查询 缓存_MySQL-递归查询方法解析
  6. LeetCode 1825. 求出 MK 平均值(set + queue)
  7. 安卓学习第9课——计时器chronometer
  8. 【Selenium】之谷歌、IE、火狐浏览器各个版本的浏览器驱动下载地址
  9. 云计算实战系列七(管道及重定向)
  10. C++ 递归算法解析(演示语言:c++/c#/python/lua)(用博主会的所有语言来演示一波)
  11. 关于链表逆置的递归和迭代方法
  12. 如何评价程序员相亲约在肯德基反被拉黑?
  13. 845. 数组中的最长山脉
  14. 版本控制工具(GIT)
  15. RocketMQ源码解析:Message存储
  16. 国外各厂家Visio素材搜集网站--系统集成必备
  17. Zune软件教程 Windows Phone同步攻略
  18. 学习笔记 | 非负矩阵分解(NMF)浅析
  19. 大数据分析-第十二章 Spark与数据分析
  20. python泰坦尼克号生存预测论文_Kaggle 泰坦尼克号生存预测--8%(Python)

热门文章

  1. 大一第一学期生活学习总结
  2. D:/Vitis/export/RF47DR/RF47DRxpfm‘ is invalid. please choose a valid platform.
  3. 手把手教你学51单片机-如何学习单片机
  4. 【TARS】TARS-CPP客户端学习二
  5. 研磨设计模式 配套源代码发放
  6. DX9光照效果-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(12)
  7. plsql dev 12 版下载地址
  8. 44个Java编码规范与常用知识点
  9. 【设计模式-手写源码-附1】-简单工厂模式-基于魔兽争霸冰封王座
  10. 零基础可以学习PLC自动化吗?从哪里入手学习PLC自动化,自动化编程用到什么编程软件呢?凭良学校-西门子S7-200/SMART 200 PLC编程自动化应用培训