欢迎来到 < Haoh-Smile > 的博客,觉得受用客官就点个赞评论一下呗!

Dijkstra算法结合时间窗规划无冲突路径

前面的几篇文章简单的介绍了Dijkstra算法的原理及MATLAB实现,在这篇文章开始系统的将规划无冲突路径(2条路径为例)的代码整体的呈现,功能整体考虑,需要对之前几篇文章中的功能代码需要修修补补,在之后的几篇文章中会更新,这篇文章先给大家呈现一个大体框架,详细的各功能代码文与讲解会后续更新。
后续也会有多AGV的无冲突路径规划,请查阅专栏多AGV无冲突路径规划
整个功能流程图如下:

执行文件代码如下:

%%%%%%%%%%%%%%%%%%%%%%建立环境矩阵map及参数初始化%%%%%%%%%%%%%%%%%%%%%
clear;
clc;
map=[0 0 0 1 0 0 1 0 0 0;1 0 0 0 0 1 1 0 0 0;0 0 1 0 0 0 1 1 0 0;0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 1 0 0 1 0;1 0 0 0 0 1 1 0 0 0;0 0 0 1 0 0 0 0 0 0;1 1 1 0 0 0 1 0 0 0;0 0 0 0 0 1 1 0 0 0;0 0 0 0 0 1 1 0 0 0;];SD1 = [1,65];               %AGV1起止点
SD2 = [10,41];              %AGV2起止点
L = 100;                    %AGV2路径备用条数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%以上是参数可更改区域,以下所有功能函数已封装%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[W,Q,I,C] = MapInit(map);                      %环境初始化
[L1,sp1,spcost1]=dijkstraR(W,SD1(1),SD1(2),1); %设置始末栅格及路径条数(1)
[X1,Y1]=Get_xy(spcost1,sp1,map);               %得到X,Y坐标
[T1,N1] = GetTrastion(X1,Y1,sp1);              %得到所有路径的转弯次数矩阵
[R1] = rank(T1);                               %对转弯矩阵从小到大排序
[P1]=GetPath(L1,spcost1,R1);                   %得到约束条数的路径
[TW1] = Get_TimerWindow(spcost1,sp1,P1,N1,T1); %得到每条路径时间窗矩阵
[Q,I]=plotTW(map,TW1,sp1,1,P1,Q,C,I);          %画出时间窗
plotMap_Path(map,spcost1,1,P1,X1,Y1,C,I);  %得到环境地图
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AGV2路径 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[L2,sp2, spcost2]=dijkstraR(W,SD2(1),SD2(2),L);%设置始末栅格及路径条数
[X2,Y2]=Get_xy(spcost2,sp2,map);               %得到X,Y坐标
[T2,N2] = GetTrastion(X2,Y2,sp2);              %得到所有路径的转弯次数矩阵
[R2] = rank(T2);                               %对转弯矩阵从小到大排序
[P2]=GetPath(L2,spcost2,R2);                   %得到约束条数的路径
[TW2] = Get_TimerWindow(spcost2,sp2,P2,N2,T2); %得到每条路径时间窗矩阵
[TW2,OUT,sp,P,spcos2,X2,Y2] = Detection_TW(map,SD2,P1,P2,sp1,sp2,spcost2,X2,Y2,TW1,TW2);
[Q,I]=plotTW(map,TW2,sp2,OUT,P2,Q,C,I);        %画出时间窗
plotMap_Path(map,spcost2,OUT,P2,X2,Y2,C,I);%得到环境地图

该工程的所有功能函数会后续更新,MATLAB执行效果如下图:

Dijkstra算法结合时间窗规划无冲突路径相关推荐

  1. 时间窗车辆路径问题matlab代码,【图片】蚁群算法求解有时间窗约束的车辆路径问题matlab程序_蚁群算法吧_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 蚁群算法求解有时间窗约束的车辆路径问题matlab程序 1 简介 带时间窗的车辆路径问题(VRPTW)一般描述为从某一物流配送中心出发,用多台车辆向多个顾 ...

  2. 【TWVRP】基于matlab模拟退火算法求解带时间窗的多车型路径规划问题【含Matlab源码 913期】

    ⛄一.模拟退火算法简介 1 引言 模拟退火算法(Simulated Annealing,SA)的思想最早由Metropolis等人于1953年提出:Kirkpatrick于1983年第一次使用模拟退火 ...

  3. 【路径规划】基于遗传算法求解带时间窗多电动车充电路径规划问题附matlab代码

    1 简介 电动车在物流领域中取代燃油车是一个广泛的发展趋势.但电动车的电池利用率低,充电时间长,相关充电配套设施建设不完善,存在"续驶里程焦虑"等现象成为了电动车推广和应用的重要制 ...

  4. 【数据结构笔记31】Dijkstra算法例题:旅游规划(双权重),以及其他推广

    本次笔记内容: 图习题1 核心算法 图习题2 其他推广 文章目录 旅游规划问题 核心算法 Dijkstra算法推广问题 要求数最短路径有多少条 要求边数最少的最短路 旅游规划问题 如上图,优先看权重1 ...

  5. java dijkstra算法 指定源宿_一种路径计算的方法和装置与流程

    本发明涉及网络通信技术,尤其涉及一种路径计算的方法和装置. 背景技术: 随着软件定义网络(Software Defined Network,SDN).网络功能虚拟化(Network Function ...

  6. 【TWVRP】模拟退火算法求解带时间窗的多车型路径规划问题【含Matlab源码 913期】

    ⛄一.模拟退火算法简介 1 引言 模拟退火算法(Simulated Annealing,SA)的思想最早由Metropolis等人于1953年提出:Kirkpatrick于1983年第一次使用模拟退火 ...

  7. 【VRPTW】基于蚁群算法实现时间窗车辆配送问题附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  8. Matlab车辆配送路径规划问题 各类vrp代码 带时间窗的路径规划问题

    Matlab车辆配送路径规划问题 各类vrp代码 带时间窗的路径规划问题 遗传算法 蚁群算法 模拟退火算法 混合粒子群算法解决 tsp cvrp dvrp cdvrp vrptw问题 tsp:旅行商问 ...

  9. 标号法(label-setting algorithm)求解带时间窗的最短路问题(ESPPRC)

    以下文章来源于数据魔术师 ,作者邓发珩.周航 前言 哈罗大家好~! 想必大家在刚开始学习运筹学模型时,会觉得有些茫然不知所措吧?比如一大堆神奇的名词,各种各样的约束...反正我一开始是很懵的状态. 那 ...

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

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

最新文章

  1. Eclipse下编译Android自带联系人应用
  2. oracle给换服务器,Oracle数据库更换服务器10分钟切换方案
  3. mysql increment by 2_关于mysql auto-increment
  4. Memcached通用类(基于enyim.com Memcached Client)
  5. python是谁维护的_Python 库从开发到维护
  6. hdu 6200 mustedge mustedge mustedge(dfs序+树状数组+并查集)
  7. Powershell进阶学习(6) 部署 Windows PowerShell Web 访问
  8. 读DL论文心得之RCNN
  9. prisma1.0实践
  10. 计算机网络(自我学习)
  11. HFC网、FTTx技术、PON
  12. 在BuildConfig中添加自定义字段
  13. Android Lost RAM的统计方法
  14. 网站cookie和曲奇饼干_谷歌扔饼干和营销人员感到恶心
  15. 如何从一个完全自动化的交易系统获利
  16. 存储管理——段式存储管理
  17. top 命令参数使用说明
  18. js实现搜索关键字高亮
  19. 现实世界的映射与超越:电子游戏的叙事研究
  20. DMA方式、中断方式的传输速率比较

热门文章

  1. Visual Studio 2010下载 + 附破解方法
  2. 微模块、冷通道监控系统解决方案
  3. 2022-08-20 mysql范围查询技术专利交底书
  4. 关于新APP,从交底书入手
  5. 《Spring实战》读书笔记
  6. 架构系列---发号器(全局唯一ID生成器)系统设计方案和思路
  7. CentOS下安装JDK7
  8. 日志易使用系列三:仪表盘的创建与使用
  9. Java拦截器和过滤器
  10. 连接linux工具Mtr,Mac、linux和windows mtr路径探测工具安装使用