【无人机协同】基于matlab无人飞行器协同车辆物资配送【含Matlab源码 1899期】

本文主要是介绍【无人机协同】基于matlab无人飞行器协同车辆物资配送【含Matlab源码 1899期】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

⛄一、单车单机映射模式简介

单车单机映射模式(traveling salesman problem with drone,TSP-D)的分析可以基于任新惠提出的无人机和车辆组合配送模式进行分析。

1 无人机和车辆同步配送模式
2015年,Murray和Chu引入了一种新型的旅行商问题,称为“飞行跟班旅行商问题”(flying sidekick traveling salesman problem, FSTSP)。作者提出了在车辆顶部安装一架无人机的想法,该无人机可以在车辆进行一项交付任务的同时进行另一项交付任务。一旦无人机完成交付,它需要在当前交付位置或沿其路线返回车辆到下一个交付位置。由于问题复杂,FSTSP只考虑一辆车辆和一架无人机,如图1所示。Agatz等提出的无人机旅行推销员问题是独立于FSTSP提出的,但仍然共享大多数常见的假设。在这个问题上,FSTSP的一个关键区别是无人机可以在车辆发射的相同位置被找回,并且无人机的操作受到飞行距离而不是时间的限制,然后采用局部搜索与动态规划相结合的算法求解模型。

Bouman等基于贝尔曼-霍尔德-卡普(Bellman-Held-Karp)动态规划算法介绍了一种求解FSTSP的三步精确式方法,并将该方法的最后一步推广到A*算法。此外,他们尝试将这精确式算法应用于限制车辆在与无人机分离时可能访问的位置数量的问题,这个限制导致更短的计算时间,但代价是可能从解空间中移除最优解。Ha等[9]提出了两种启发式方法——贪婪随机自适应搜索(greedy random adaptive search problem, GRASP)和旅行商问题-局部搜索(traveling salesman problem-local search, TSP-LS)启发式求解FSTSP。GRASP元启发式算法首先使用三种不同的启发式算法为车辆生成旅行推销员问题旅行,然后使用分割算法将一些客户从车辆旅行中移除,并将其分配给无人机。TSP-LS启发式算法改编自Murray和Chu提出的启发式算法,但在算法的每次迭代中,在无人机和车辆路线之间重新定位客户所节省的成本计算方面存在差异。在拥有100个客户的问题实例上的实验结果表明,GRASP启发式算法在求解质量上优于TSP-LS启发式算法,尽管它需要更多的计算时间。Es Yurek和Ozmutlu开发了一种基于两阶段分解的算法来求解FSTSP。在第一阶段,使用贪婪启发式方法将客户分配到车辆和无人机上。在第二阶段,求解一个数学规划模型,得到无人机的行程,使无人机在交会点的等待时间最小。Pedro等对FSTSP模型进行了扩展,允许无人机在与车辆的两次连续会合之间每次访问几个客户。除了多点假设之外,他们模型的其他特点是没有为车辆和无人机预先建立路线,并且将每个位置视为它们之间的潜在同步点,然后通过模拟退火算法的全局优化方案,求解了大规模的场景。

综上所述,FSTSP模式中车辆一般配送离供应点较近的需求点,而无人机是辅助车辆进行末端配送,以有效节省总的配送时间和成本。然而,由于无人机在配送过程中依赖于车辆,所以需要考虑在无人机和车辆何处对接,因此对协同性的要求很高,这可以参考传统的拖挂运输问题(truck and trailer routing problem, TTRP)。目前,针对FSTSP模式的研究还停留在基础阶段,较少考虑无人机和车辆对接时存在的实际问题,并且在其问题求解算法中通常基于动态规划的思想分阶段求解无人机和车辆的任务目标,未来需要耦合无人机和车辆的协同任务目标。
在这里插入图片描述
2 无人机和车辆并行配送模式
2015年,Murray和Chu除了提出FSTSP之外,文献中还提出车辆和无人机并行调度(parallel drone scheduling traveling salesman problem, PDSTSP),即车辆和无人机从仓库出发独立进行交付,如图2所示。无人机和车辆数量的不同不会对PDSTSP的模式运用带来任何变化,所以本小节不只是基于单车单机模式进行文献回顾,还包括了单车多机、多车多机模式的文献。Ham对PDSTSP问题进行了拓展,其中无人机可以实施连续多阶段的取件和配送任务,解决了多车多机保障多需求点的配送任务分配。Kim和Moon扩展PDSTSP并构建了TSP-DS(traveling salesman problem with a drone station)的MILP模型,考虑了一辆车和多架无人机,以允许无人机独立于车辆、从仓库以及从预先指定的无人机站进行调度,最后发现TSP-DS 比 PDSTSP 更为高效。Chauhan等针对PDSTSP问题的特点,构建了以配送无人机最大航程为直径,以最大范围覆盖用户为目标的仓库选址模型,并以三阶段贪婪算法求解。

由此看出,PDSTSP问题可以分解为两个经典的运筹学问题: TSP和并行机调度问题(parallel machine scheduling problem, PMS)。PDSTSP模式只需要基于上述两个问题考虑如何合理分配客户以实现完工时间最小化,求解难度较小,但其重点是如何判断先进行TSP问题求解还是PMS问题求解,这将会极大影响PSDTSP问题的求解质量。
在这里插入图片描述
图2 PDSTSP拓扑图

3 车辆保障无人机配送模式
Mathew等在研究多种运输工具配送问题(heterogeneous delivery problem, HDP)首次提出车辆只负责装载配送无人机与需求物资,对所有需求点的配送都由无人机完成,但其模型约束中事先设定了无人机配送的任务点,因此该问题是传统的旅行商问题。

Savuran和Karakaya提出了一个车辆保障无人机配送模式,其目标是通过找到车辆停靠点来发射一架无人机,从而在为所有客户提供服务的同时,最大限度地减少无人机的行驶距离。作者称这个问题为“仓库机动性问题”,因为车辆是无人机的移动仓库。他们开发了一种遗传算法,用一辆车辆和一架无人机来解决一些问题实例,并用最近邻和爬山算法来评估和比较所获得的结果。Othma等基于车辆保障无人机配送模式证明了单车辆和单无人机的多式联运是NP-hard问题,并提出了求解该问题的近似算法。

Luo等[18]在TSP-D的模型构建中,允许无人机单次发射实施多个客户的配送,并考虑了无人机与车辆同时在时间和空间上的协同约束。该问题被公式化为一个MILP模型,描述了一个两级位置路由问题。为了解决这个问题,开发了两种启发式方法,首先构建一个车辆旅行,然后将其分成几个子旅行,将每个子旅行分配给一个无人机。Carlsson和Song考虑将一辆货车携带一架无人机,拓展提出无人机配送的始发点与回收点可在车辆路线上的任一位置,通过连续逼近法找到车辆最佳保障无人机的路线。他们的一个关键发现是无人机与车辆协同使用的潜在好处(提高效率)与无人机和车辆之间的相对速度的平方根相关。

本文将上述这种无人机和车辆组合配送方式称为车辆保障无人机配送模式(vehicle guarantee drone traveling salesman problem, VGDTSP),如图3所示。这种模式属于给定车辆路线的无人机调度问题(drone scheduling problem, DSP)的拓展,并且包括DSP。这一模式适用于车辆无法直达客户地点的城市场景,也适合客户点分散、单位面积物流需求量小、道路条件较差的农村配送。
在这里插入图片描述
图3 VGDTSP拓扑图

4 无人机保障车辆配送模式
无人机保障车辆配送模式是指车辆执行配送任务,由无人机作为辅助为车辆补货,这种配送模式主要适用于车辆的途中补货。Dayarian等关注的是无人机补给的同一天交付问题,其中车辆监督交付订单,无人机的作用是向车辆提供补给,并将无人机保障车辆配送模式定义为VRPDR(vehicle routing problem with drone resupply)。最后作者提出了一种启发式方法来解决该问题,但为了简化研究模型,他们考虑了仅有一个配送中心、一辆货车和一架无人机的情况。McCunney和Cauwenberghe假设无人机为车辆提供包裹补给,以实现当天交付服务:无人驾驶飞机将包裹运送到一组预先指定的转运点,每辆车辆从专用转运点提取包裹,为客户所在地的特定区域提供服务,根据订单到达间隔时间、转运点数量、车辆数量和无人机数量的不同值进行综合分析。

⛄二、部分源代码

function sorted_tours = matlabTSPapp(num_stops, bs_x, bs_y, random_seed, app)

%load(‘usborder.mat’,‘x’,‘y’,‘xx’,‘yy’);
rng(3,random_seed) % makes a plot with stops in Maine & Florida, and is reproducible
nStops = num_stops; % you can use any number, but the problem size scales as N^2
stopsLon = zeros(nStops,1); % allocate x-coordinates of nStops
stopsLat = stopsLon; % allocate y-coordinates
n = 1;
while (n <= nStops)
if n==1
xp = bs_x;
yp = bs_y;
else
xp = randi([-10 10],1,1);
yp = randi([-10 10],1,1);
end
stopsLon(n) = xp;
stopsLat(n) = yp;
n = n+1;
end
%plot(x,y,‘Color’,‘red’); % draw the outside border
hold(app.UIAxes);
% Add the stops to the map
plot(app.UIAxes, stopsLon,stopsLat,‘*b’)
%grid on
%set(gca,‘Xtick’,-10 : 1 : 10); %sets the numbered ticks 1 apart
%set(gca,‘Ytick’,-10 : 1 : 10); %same as above
%%%%%

idxs = nchoosek(1:nStops,2);

%%%%%%
dist = hypot(stopsLat(idxs(:,1)) - stopsLat(idxs(:,2)), …
stopsLon(idxs(:,1)) - stopsLon(idxs(:,2)));
lendist = length(dist);

%%%%%%
Aeq = spones(1:length(idxs)); % Adds up the number of trips
beq = nStops;

%%%%%%

Aeq = [Aeq;spalloc(nStops,length(idxs),nStops*(nStops-1))]; % allocate a sparse matrix
for ii = 1:nStops
whichIdxs = (idxs == ii); % find the trips that include stop ii
whichIdxs = sparse(sum(whichIdxs,2)); % include trips where ii is at either end
Aeq(ii+1,:) = whichIdxs’; % include in the constraint matrix
end

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]刘正元,王清华.无人机和车辆协同配送映射模式综述与展望[J].系统工程与电子技术

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

这篇关于【无人机协同】基于matlab无人飞行器协同车辆物资配送【含Matlab源码 1899期】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/675222

相关文章

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

高仿精仿愤怒的小鸟android版游戏源码

这是一款很完美的高仿精仿愤怒的小鸟android版游戏源码,大家可以研究一下吧、 为了报复偷走鸟蛋的肥猪们,鸟儿以自己的身体为武器,仿佛炮弹一样去攻击肥猪们的堡垒。游戏是十分卡通的2D画面,看着愤怒的红色小鸟,奋不顾身的往绿色的肥猪的堡垒砸去,那种奇妙的感觉还真是令人感到很欢乐。而游戏的配乐同样充满了欢乐的感觉,轻松的节奏,欢快的风格。 源码下载

基于Java医院药品交易系统详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W+,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码+数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人  Java精品实战案例《600套》 2023-2025年最值得选择的Java毕业设计选题大全:1000个热

美容美发店营销版微信小程序源码

打造线上生意新篇章 一、引言:微信小程序,开启美容美发行业新纪元 在数字化时代,微信小程序以其便捷、高效的特点,成为了美容美发行业营销的新宠。本文将带您深入了解美容美发营销微信小程序,探讨其独特优势及如何助力商家实现业务增长。 二、微信小程序:美容美发行业的得力助手 拓宽客源渠道:微信小程序基于微信社交平台,轻松实现线上线下融合,帮助商家快速吸引潜在客户,拓宽客源渠道。 提升用户体验:

风水研究会官网源码系统-可展示自己的领域内容-商品售卖等

一款用于展示风水行业,周易测算行业,玄学行业的系统,并支持售卖自己的商品。 整洁大气,非常漂亮,前端内容均可通过后台修改。 大致功能: 支持前端内容通过后端自定义支持开启关闭会员功能,会员等级设置支持对接官方支付支持添加商品类支持添加虚拟下载类支持自定义其他类型字段支持生成虚拟激活卡支持采集其他站点文章支持对接收益广告支持文章评论支持积分功能支持推广功能更多功能,搭建完成自行体验吧! 原文

HTML5文旅文化旅游网站模板源码

文章目录 1.设计来源文旅宣传1.1 登录界面演示1.2 注册界面演示1.3 首页界面演示1.4 文旅之行界面演示1.5 文旅之行文章内容界面演示1.6 关于我们界面演示1.7 文旅博客界面演示1.8 文旅博客文章内容界面演示1.9 联系我们界面演示 2.效果和源码2.1 动态效果2.2 源代码2.3 源码目录 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh

mediasoup 源码分析 (八)分析PlainTransport

mediasoup 源码分析 (六)分析PlainTransport 一、接收裸RTP流二、mediasoup 中udp建立过程 tips 一、接收裸RTP流 PlainTransport 可以接收裸RTP流,也可以接收AES加密的RTP流。源码中提供了一个通过ffmpeg发送裸RTP流到mediasoup的脚本,具体地址为:mediasoup-demo/broadcaste

Java并发编程—阻塞队列源码分析

在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。   在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了D

线程池ThreadPoolExecutor类源码分析

Java并发编程:线程池的使用   在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:   如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。   那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?