1 研究背景

粒子群算法的发展过程。粒子群优化算法(Partical Swarm Optimization PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。由于PSO操作简单、收敛速度快,因此在函数优化、 图像处理、大地测量等众多领域都得到了广泛的应用。 随着应用范围的扩大,PSO算法存在早熟收敛、维数灾难、易于陷入局部极值等问题需要解决,主要有以下几种发展方向。

1、基本思想

  粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独的搜寻最优解,并将其记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,找到最优的那个个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置。下面的动图很形象地展示了PSO算法的过程:

2、更新规则

  PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。 公式(1)的第一部分称为【记忆项】,表示上次速度大小和方向的影响;公式(1)的第二部分称为【自身认知项】,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于自己经验的部分;公式(1)的第三部分称为【群体认知项】,是一个从当前点指向种群最好点的矢量,反映了粒子间的协同合作和知识共享。粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。以上面两个公式为基础,形成了PSO的标准形式 公式(2)和 公式(3)被视为标准PSO算法

3、PSO算法的流程和伪代

clc;
close all
clear
load('data4.mat')
S=(S_coo(2)-0.5)*num_shange+(S_coo(1)+0.5);%起点对应的编号
E=(E_coo(2)-0.5)*num_shange+(E_coo(1)+0.5);%终点对应的编号PopSize=20;%种群大小
OldBestFitness=0;%旧的最优适应度值
gen=0;%迭代次数
maxgen =200;%最大迭代次数c1=0.5;%认知系数
c2=0.7;%社会学习系数
c3=0.2;%反向因子
w=0.96;%惯性系数
%%
%初始化路径
w_min=0.5;
w_max=1;
Group=ones(num_point,PopSize);  %种群初始化
flag=1;%最优解
figure(3)
hold on
for i=1:num_shangefor j=1:num_shangeif sign(i,j)==1y=[i-1,i-1,i,i];x=[j-1,j,j,j-1];h=fill(x,y,'k');set(h,'facealpha',0.5)ends=(num2str((i-1)*num_shange+j));text(j-0.95,i-0.5,s,'fontsize',6)end
end
axis([0 num_shange 0 num_shange])%限制图的边界
plot(S_coo(2),S_coo(1), 'p','markersize', 10,'markerfacecolor','b','MarkerEdgeColor', 'm')%画起点
plot(E_coo(2),E_coo(1),'o','markersize', 10,'markerfacecolor','g','MarkerEdgeColor', 'c')%画终点
set(gca,'YDir','reverse');%图像翻转
for i=1:num_shangeplot([0 num_shange],[i-1 i-1],'k-');plot([i i],[0 num_shange],'k-');%画网格线
end
for i=2:index1Q1=[mod(route_lin(i-1)-1,num_shange)+1-0.5,ceil(route_lin(i-1)/num_shange)-0.5];Q2=[mod(route_lin(i)-1,num_shange)+1-0.5,ceil(route_lin(i)/num_shange)-0.5];plot([Q1(1),Q2(1)],[Q1(2),Q2(2)],'r','LineWidth',3)
end
title('改进后的粒子群算法-最优路线');%进化曲线
figure(4);
plot(BestFitness);
xlabel('迭代次数')
ylabel('适应度值')
grid on;
title('改进后的进化曲线');
disp('改进后的粒子群算法-最优路线方案:')
disp(num2str(route_lin))
disp(['起点到终点的距离:',num2str(BestFitness(end))]);
figure(5);
plot(BestFitness*100);
xlabel('迭代次数')
ylabel('适应度值')
grid on;
title('改进后的最佳个体适应度值变化趋势');

【路径规划】基于改进粒子群实现机器人栅格地图路径规划相关推荐

  1. 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 1618期】

    ⛄一.蚁群算法及栅格地图简介 1 蚁群算法 1.1 蚁群算法的提出 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来寻找优化路径的机率型算法.它由Marc ...

  2. 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 119期】

    ⛄一.简介 路径规划是实现移动机器人自主导航的关键技术,是指在有障碍物的环境中,按照一定的评价标准(如距离.时间.能耗等),寻找到一条从起始点到目标点的无碰撞路径,这里选取最短距离路径规划的评价标准, ...

  3. 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 1580期】

    ⛄一.简介 路径规划是实现移动机器人自主导航的关键技术,是指在有障碍物的环境中,按照一定的评价标准(如距离.时间.能耗等),寻找到一条从起始点到目标点的无碰撞路径,这里选取最短距离路径规划的评价标准, ...

  4. 【路径规划】基于matlab GUI蚁群算法机器人栅格地图最短路径规划【含Matlab源码 927期】

    ⛄一.蚁群算法简介 1 引言 在自然界中各种生物群体显现出来的智能近几十年来得到了学者们的广泛关注,学者们通过对简单生物体的群体行为进行模拟,进而提出了群智能算法.其中, 模拟蚁群觅食过程的蚁群优化算 ...

  5. 【路径规划】基于和声算法改进灰狼算法实现机器人栅格地图路径规划

    一.和声搜索算法介绍 和声搜索(Harmony Search, HS)算法是一种新颖的智能优化算法.类似于遗传算法对生物进化的模仿.模拟退火算法对物理退火的模拟以及粒子群优化算法对鸟群的模仿等,和声算 ...

  6. 【路径规划】基于和声算法改进灰狼算法实现机器人栅格地图路径规划matlab源码

    1 简介 1.1 和声搜索算法介绍 和声搜索(Harmony Search, HS)算法是一种新颖的智能优化算法.类似于遗传算法对生物进化的模仿.模拟退火算法对物理退火的模拟以及粒子群优化算法对鸟群的 ...

  7. 【路径规划】基于matlab帝国企鹅算法机器人栅格地图最短路径规划【含Matlab源码 1262期】

    ⛄一.帝企鹅算法简介 目前,关于帝企鹅算法在国内外研究较少,在中对该算法进行了分析,并且与常见的粒子群算法.萤火虫算法进行了对比分析. 帝企鹅从事各种活动,如狩猎.群体觅食,是群居性动物.每当恶劣的气 ...

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

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

  9. 【布局优化】基于改进粒子群算法实现充电桩选址优化问题附matlab代码

    1 简介 当前世界环境污染和能源危机问题凸显,电动汽车以零排放和低耗能的优势得到各国的大力关注和支持.以电动汽车为代表新能源汽车产业,成为国家七大战略性新兴产业之一.电动汽车具有良好的发展前景,市场规 ...

  10. 【Matlab路径规划】蚁群算法求解机器人栅格地图最短路径规划问题【含源码 1580期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]蚁群算法求解机器人栅格地图最短路径规划问题[含源码 1580期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

最新文章

  1. WinCE设置多国语言支持
  2. django view
  3. STL - Unorderedset - 自定义哈希函数
  4. Windows on Device 项目实践 4 - 智能风扇制作
  5. 38、C++ Primer 4th笔记,特殊工具与技术,嵌套类
  6. Java NIO 之 I/O基本概念(二)
  7. 《机器视觉算法与应用》第3章 机器视觉算法之模板匹配——学习笔记
  8. 校园虚拟服务器设备配置规划,校园高性能虚拟化服务器平台建设规划.doc
  9. 期刊论文公式编号、居中技巧
  10. 如何在HTML标题中添加或改变图片
  11. power bi条件格式_Power BI中的条件格式
  12. 程序员投入时间和精力实现财富增长之道,这可能会伴随你程序员整个生涯(请不要连续点赞)
  13. PDFbox-PDF解析(坐标定位,分页读取)
  14. Java实现 for循环输出空心的菱形 在main方法中调用printHollowRhombus()方法完成10行的空心菱形输出,其中 printHollo
  15. 国产网页在线编辑器kindeditor的使用
  16. 三角形计算c语言代码,C语言计算三角形面积代码
  17. fastunit中使用MapList一个注意例子
  18. 硬盘的种类、区别、运行原理
  19. Rocketmq同项目多个生产者多个消费者问题
  20. 【Vue3+vite+Element-UI Plus 】

热门文章

  1. CRT团队组员博客地址统计
  2. html 颜色代码_HTML颜色(颜色代码)
  3. 【## 1、浏览器及内核-】
  4. Flink源码篇,作业提交流程、作业调度流程、作业内部转换流程图
  5. 好用的android高清播放器,720p谁更流畅?安卓五款视频播放器对比
  6. 回溯法——旅行商(TSP)问题
  7. java中的Character和char的区别
  8. 出国常用必备英语口语
  9. wiresshark抓包
  10. 奇兔recovery卡刷教程_如何使用recovery进行双清教程