当前位置: 首页 > news >正文

2023年IEEE TITS SCI2区TOP,增强回溯搜索算法EBSA+多无人机辅助商业包裹递送系统飞行规划,深度解析+性能实测

目录

    • 1.摘要
    • 2.回溯搜索算法BSA原理
    • 3.模型定义
    • 4.增强回溯搜索算法EBSA
    • 5.结果展示
    • 6.参考文献
    • 7.算法辅导·应用定制·读者交流


1.摘要

利用无人机进行商业包裹投递可以显著推动物流行业的转型升级,这得益于节省了人力资源成本,而无人机正在成为智能交通运输系统的新组成部分。然而,由于电池容量有限,无人机的飞行距离通常受到限制。为应对这一挑战,本文设计了一种多无人机协作的商业包裹投递系统,该系统通过广义服务网络(GSN)支持长距离投递。GSN 的每个节点都配备有充电桩,为无人机提供充电服务。考虑到每个节点充电桩数量有限以及无人机电池容量有限,为了确保系统的高效运行,将无人机的飞行规划问题转化为一个基于优先级编码机制的大规模优化问题。为解决这一问题,本文提出了一种增强回溯搜索算法(EBSA),该算法受到所研究飞行规划问题特点的启发,并针对回溯搜索算法易陷入局部最优的弱点,增强了其逃逸能力,其核心组件是设计了综合学习机制和局部逃逸算子。

2.回溯搜索算法BSA原理

【智能算法】回溯搜索算法(BSA)原理及实现

3.模型定义

多无人机辅助商业包裹投递系统

多无人机辅助商业包裹递送系统

图中展示了多无人机协作的商业包裹投递系统,该系统包括一个仓库、三架无人机、三个投递取货站(DPS)和11个服务站(SS)。仓库和DPS配备有限数量的充电桩,而每个SS则提供充电服务,所有设施共同构成了一个包含15个节点的广义服务网络(GSN),这一网络使无人机能够执行长距离投递任务。

以无人机1为例,其飞行规划(FP)分为三个阶段:

  • 阶段1:无人机1从仓库起飞,达到设定高度后进入恒速飞行状态;
  • 阶段2:无人机1从SS 1飞行至SS 11,并在SS 1、SS 2、SS 7和SS 11充电;
  • 阶段3:无人机1从SS 11起飞,并完成投递任务后降落在DPS 1。

尽管GSN支持长距离投递,但充电桩数量的限制给系统带来了挑战。SS7为无人机1和无人机2提供充电服务,这使得无人机2的飞行规划可能会影响到无人机1的任务。随着无人机数量的增加,SS7的充电桩压力加大,进而影响整个系统的运行效率。

飞行规划数学模型

首先做出以下五个假设:

  • 所有用于执行投递任务的无人机完全相同,且电池在仓库已完全充电;
  • 每架无人机执行独立任务,不与飞行中的其他障碍物发生碰撞;
  • 无人机有三种飞行状态,起飞、着陆和正常飞行。无人机的起飞和着陆是垂直进行的,分别从起飞点和着陆点开始。无人机以恒定的速度和高度从一个节点飞行到另一个节点;
  • 影响无人机能量消耗的因素包括起飞、着陆、充电和正常飞行;
  • 影响无人机运行时间的因素包括起飞、着陆、正常飞行、充电及等待时间;
  • 未考虑包裹重量对无人机性能的影响。

充电函数

GSN中的每个节点都可以为无人机提供充电服务,无人机的充电速度通常遵循慢-快-慢的规则,充电函数定义为:
E=E01+exp⁡(6−t/5)E=\frac{E_0}{1+\exp(6-t/5)} E=1+exp(6t/5)E0

其中,ttt是充电时间,E0E_0E0是电池的总能量容量,EEE是电池的剩余能量。为了计算充电时间,计算方式:
t=30−5ln⁡(E0E−1)t=30-5\ln\left(\frac{E_0}{E}-1\right) t=305ln(EE01)
Ec,k,iE_{c,k,i}Ec,k,iEr,k,iE_{r,k,i}Er,k,i 分别为无人机kkk在节点iii的当前电量和所需电量,充电时间:
tc,k,i=5ln⁡(E0Ec,k,i−1)−5ln⁡(E0Er,k,i−1),k∈[1,n]t_{c,k,i}=5\ln(\frac{E_0}{E_{c,k,i}}-1)-5\ln(\frac{E_0}{E_{r,k,i}}-1),\quad k\in[1,n] tc,k,i=5ln(Ec,k,iE01)5ln(Er,k,iE01),k[1,n]
无人机k从仓库到DPS的FP

连接图

为了描述GSN中节点之间的空间关系,每个节点都有一个编号。设np为仓库数量,ns为服务站数量,nd为投递取货站数量,Sn为所有节点的编号序列。Sn可表示为:
Sn=[1,2,…,np,np+1,np+2,…,np+ns,np+ns+1,np+ns+2,…,np+ns+nd]\begin{aligned} S_{\mathrm{n}}=[1,2,\ldots,n_{\mathrm{p}},n_{\mathrm{p}}+1,n_{\mathrm{p}}+2,\ldots,n_{\mathrm{p}}+n_{\mathrm{s}},n_{\mathrm{p}} & +n_\mathrm{s}+1,n_\mathrm{p}+n_\mathrm{s}+2,\ldots,n_\mathrm{p}+n_\mathrm{s}+n_\mathrm{d}] \end{aligned} Sn=[1,2,,np,np+1,np+2,,np+ns,np+ns+1,np+ns+2,,np+ns+nd]

仓库的节点编号为1到np;服务站的节点编号为np + 1到np + ns;投递取货站的节点编号为np + ns + 1到np + ns + nd,每个节点都有唯一的编号。设m为GSN中节点的总数,m满足m = np + ns + nd。为了衡量GSN中两个节点的空间关系,定义连接距离Dc为:
Dc=(1−θ)×Lmax⁡D_{\mathfrak{c}}=(1-\theta)\times L_{\max} Dc=(1θ)×Lmax

其中,θ\thetaθ为连接因子,Lmax为无人机的最大飞行范围。如果两个节点之间的距离小于Dc,则这两个节点是连接的(无需充电即可飞行);否则,两个节点不可连接(没有充电的情况下无人机无法飞行)。

充电桩状态图

在GSN中,每个节点配备有限数量的充电桩为无人机提供充电服务。设nc为某个节点的充电桩数量。使用充电桩的规则如下:所有需要充电的无人机按到达顺序排队。当排队的无人机数量超过nc时,一些无人机必须等待空闲的充电桩。为描述充电桩的状态,设计了充电桩状态图:
Si,j=[ts,i,jte,i,j],i∈[1,ns+nd+np],j∈[1,nc]S_{i,j}=[t_{\mathrm{s},i,j}t_{\mathrm{e},i,j}],\quad i\in[1,n_\mathrm{s}+n_\mathrm{d}+n_\mathrm{p}],j\in[1,n_\mathrm{c}] Si,j=[ts,i,jte,i,j],i[1,ns+nd+np],j[1,nc]

目标函数

无人机kkk的FP可以用GSN中的一个节点序列来表示。设λk\lambda_kλk表示无人机kkk的FP所对应的序列的节点数,lkl_klk表示λk\lambda_kλk中的节点数。λk\lambda_kλk表示为:
λk=[λk,1,λk,2,…,λk,lk],lk≥3,λk,p∈Sn,p∈[1,lk].\begin{aligned} \lambda_{k} & =[\lambda_{k,1},\lambda_{k,2},\ldots,\lambda_{k,l_{k}}],\quad l_{k}\geq3, \\ \lambda_{k,p} & \in S_{\mathrm{n}},\quad p\in[1,l_{k}]. \end{aligned} λkλk,p=[λk,1,λk,2,,λk,lk],lk3,Sn,p[1,lk].

td,kt_{d,k}td,k 表示无人机k在包裹投递过程中的旅行时间。td,kt_{d,k}td,k 可以表示为:
td,k=ttl,k+ttf,k+ttc,k+ttw,kt_{d,k}=t_{tl,k}+t_{tf,k}+t_{tc,k}+t_{tw,k} td,k=ttl,k+ttf,k+ttc,k+ttw,k

FP问题的目标函数可以定义为:
min⁡Tatt=f(λ1,λ2,…,λn)=1n∑k=1ntd,k.\min T_{att}=f(\lambda_1,\lambda_2,\ldots,\lambda_n)=\frac{1}{n}\sum_{k=1}^nt_{d,k}. minTatt=f(λ1,λ2,,λn)=n1k=1ntd,k.

4.增强回溯搜索算法EBSA

综合学习机制

第一种学习策略与BSA的相同;第二种策略通过随机交换信息来改进解,并引导无人机朝着全局最优解前进;第三种策略通过使用种群信息来提高算法的整体性能,结合了种群均值和局部信息。
Mw=ϕ4×(ϕ5×xi+(1−ϕ5)×xj)+(1−ϕ4)×1N∑i=1NxiM_w=\phi_4\times(\phi_5\times x_i+(1-\phi_5)\times x_j)+(1-\phi_4)\times\frac{1}{N}\sum_{i=1}^Nx_i Mw=ϕ4×(ϕ5×xi+(1ϕ5)×xj)+(1ϕ4)×N1i=1Nxi
xi=xi+ϕ6×(x∗−Mw)x_i=x_i+\phi_6\times(x^*-M_w) xi=xi+ϕ6×(xMw)

局部逃逸算子

利用标准正态分布的随机数,随机替换解 x∗x^{*}x 中部分模块的元素。设 γ∗\gamma^{*}γ 表示在 x∗x^{*}x 中被选中模块的数量:
γ∗=⌈n×ϕ7⌉\gamma^*=\lceil n\times\phi_7\rceil γ=n×ϕ7
被选中模块内被替换的元素数量用hs∗h_s^*hs表示:
hs∗=⌈m×ϕ8⌉,s∈[1,γ∗]h_s^*=\lceil m\times\phi_8\rceil,\quad s\in[1,\gamma^*] hs=m×ϕ8,s[1,γ]

其中,hs∗h_s^*hs是第sss个被选中模块中被替换元素的数量,ϕ8\phi_8ϕ8是[0,1]之间的随机数。令xe,s,j∗x_{e,s,j}^*xe,s,j表示第sss个被选中
模块中第jjj个被选中的元素,则局部逃逸算子的定义为:
xe,s,j∗=μ×xe,s,j∗,j∈[1,hs∗]x_{e,s,j}^*=\mu\times x_{e,s,j}^*,\quad j\in[1,h_s^*] xe,s,j=μ×xe,s,j,j[1,hs]

EBSA伪代码

5.结果展示

论文仿真

6.参考文献

[1] Zhang Y, Zhou G, Hang P, et al. An enhanced backtracking search algorithm for the flight planning of a multi-drones-assisted commercial parcel delivery system[J]. IEEE Transactions on Intelligent Transportation Systems, 2023, 24(10): 11396-11409.

7.算法辅导·应用定制·读者交流

http://www.dtcms.com/a/270751.html

相关文章:

  • NLP:初识RNN模型(概念、分类、作用)
  • HarmonyOS应用开发者高级试题2025年7月部分单选题
  • 【深度学习】【入门】Sequential的使用和简单神经网络搭建
  • Selenium+Pytest自动化测试框架实战前言#
  • 使用LLaMA-Factory微调Qwen2.5-VL-3B 的目标检测任务-数据集格式转换(voc 转 ShareGPT)
  • Mac mini 高性价比扩容 + Crossover 游戏实测 全流程手册
  • SpringCloud系列 - Seata 分布式事务(六)
  • AJAX 学习
  • 如何将华为手机中的照片传输到电脑
  • Django核心知识点详解:JSON、AJAX、Cookie、Session与用户认证
  • 【Kafka】登录日志处理的三次阶梯式优化实践:从同步写入到Kafka多分区批处理
  • 2311. 小于等于 K 的最长二进制子序列— day98
  • 数字大脑的培育法则:深度解读监督学习神经网络
  • (C++)任务管理系统(正式版)(迭代器)(list列表基础教程)(STL基础知识)
  • 【Gin】HTTP 请求调试器
  • C/C++ 高频八股文面试题1000题(二)
  • Java中Map、List 和 Set 之间的常见转换方法总结
  • vcpkg交叉编译qt等过程记录(未完成)
  • HarmonyOS应用开发者高级试题2025年7月部分单选题(带答案)
  • 学习日记-spring-day44-7.9
  • C++随机打乱函数:简化源码与原理深度剖析
  • leetcode11.盛最多水的容器
  • Webpack、Vite配置技巧与CI/CD流程搭建全解析
  • 【RTSP从零实践】9、多播传输AAC格式的RTP包(附带源码)
  • mac m1安装大模型工具vllm
  • kotlin学习,val使用get()的问题
  • mysql 安装实战
  • Claude Code 开发使用技巧
  • User手机上如何抓取界面的布局uiautomatorviewer
  • Linux的`if test`和`if [ ]中括号`的取反语法比较 笔记250709