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.pswp.cn/diannao/90663.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

window wsl 环境下编译openharmony,HarmonyOS 三方库 FFmpeg

1.wsl 创建 C:\Users\Administrator>wsl --list --online 以下是可安装的有效分发的列表。 使默认分发用 “*” 表示。 使用 wsl --install -d <Distro> 安装。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ub…

Kubernetes服务暴露与负载均衡深度探析

目录 Kubernetes服务基础 服务类型与适用场景 服务发现与DNS 负载均衡机制 kube-proxy IPVS Ingress控制器 Ingress与服务暴露 Ingress资源 Ingress控制器 负载均衡策略与配置 服务配置 Ingress配置 IPVS配置 高可用性设计 服务冗余 Ingress控制器高可用 负载…

探索飞算 JavaAI 进阶:解锁高效Java开发的新维度

前引&#xff1a;在当今快速迭代的软件开发领域&#xff0c;Java作为企业级应用的基石&#xff0c;持续推动着技术创新。随着性能需求的提升&#xff0c;“飞算JAVA”应运而生&#xff0c;它融合了现代优化理念&#xff0c;为开发者提供了一套简洁、高效的解决方案。本文将深入…

Java大厂面试故事:谢飞机的互联网医疗系统技术面试(Spring Boot、MyBatis、Kafka、Spring Security、AI等)

Java大厂面试故事&#xff1a;谢飞机的互联网医疗系统技术面试&#xff08;Spring Boot、MyBatis、Kafka、Spring Security、AI等&#xff09;本文以互联网医疗场景为主线&#xff0c;模拟Java大厂真实面试流程&#xff0c;由严肃面试官与"水货"程序员谢飞机展开有趣…

Deekseek 学习笔记

目录 比较全的微调笔记&#xff0c;推荐&#xff1a; ds 硬件gpu测试网站&#xff1a; 比较全的微调笔记&#xff0c;推荐&#xff1a; 零基础入门&#xff1a;DeepSeek微调教程来了&#xff01;_deepseek微调训练-CSDN博客 r1微调笔记&#xff1a; https://zhuanlan.zhihu…

aksk前端签名实现

需求&#xff1a; 页面和后台使用aksk进行签名校验&#xff0c;普通JSON参数签名没问题&#xff0c;但使用formData上传文件时签名总是无法通过后台校验 关键点&#xff1a; 1、浏览器在传递formData格式数据时会自动随机boundary&#xff0c;这样页面无法在请求发起前拿到随机…

基于物联网的智能体重秤设计与实现

标题:基于物联网的智能体重秤设计与实现内容:1.摘要 随着物联网技术的飞速发展&#xff0c;智能设备在人们日常生活中的应用越来越广泛。本研究的目的是设计并实现一款基于物联网的智能体重秤&#xff0c;以满足人们对健康数据实时监测和管理的需求。方法上&#xff0c;采用高精…

安全领域的 AI 采用:主要用例和需避免的错误

作者&#xff1a;来自 Elastic Elastic Security Team 安全领域的 AI 采用&#xff1a;主要用例和需避免的错误 人工智能&#xff08;artificial intelligence - AI&#xff09;在安全领域的广泛应用呈现出一种矛盾。一方面&#xff0c;它帮助安全专家大规模应对高级威胁&…

Element-Plus-全局自动引入图标组件,无需每次import

效果图配置如下1、核心代码修改main.js/ts//main.js // 全局注册图标组件 import * as ElementPlusIconsVue from element-plus/icons-vue for (const [key, component] of Object.entries(ElementPlusIconsVue)) {app.component(key, component) } app.use(ElementPlusIconsVu…

日历插件-FullCalendar的详细使用

一、介绍FullCalendar 是一个功能强大、高度可定制的 JavaScript 日历组件&#xff0c;用于在网页中显示和管理日历事件。它支持多种视图&#xff08;月、周、日等&#xff09;&#xff0c;可以轻松集成各种框架&#xff0c;并提供丰富的事件处理功能。二、实操案例具体代码如下…

【A题解题思路】2025APMCM亚太杯中文赛A题解题思路+可运行代码参考(无偿分享)

注&#xff1a;该内容由“数模加油站”原创&#xff0c;无偿分享&#xff0c;可以领取参考但不要利用该内容倒卖&#xff0c;谢谢&#xff01;A 题 农业灌溉系统优化问题1思路框架&#xff1a;1.1 研究背景与问题意义土壤湿度是农业生产中影响作物根系水分供应的关键环境指标。…

【JAVA】面向对象三大特性之继承

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、继承的概念和使用细则1.1 继承的基本使用和含义1.2 关于子类访问父类成员的问题1.3 super关键的引出1.4 super调用父类当中指定的构造方法1.5 关于super和th…

基于深度学习的自动调制识别网络(持续更新)

基于卷积神经网络架构 CNN 参考文献 T.J. O’Shea, J. Corgan, T.C. Clancy, Convolutional radio modulation recognition networks, in: Proc. Int. Conf. Eng. Appl. Neural Netw., Springer, 2016, pp. 213–226. MCNet 参考文献 T. Huynh-The, C.-H. Hua, Q.-V. Pha…

Java进阶---并发编程

一.线程复习1.什么是线程&#xff0c;进程进程是操作系统分配资源的基本单位线程是进程中的一个执行单元(一个独立执行的任务)&#xff0c;是cpu执行的最小单元2.Java中如何创建线程1.继承Thread类&#xff0c;重写run()&#xff0c;直接创建子类的对象2.类实现Runnable接口&am…

小车循迹功能的实现(第六天)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-削好皮的Pineapple! &#x1f468;‍&#x1f4bb; hello 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 削好皮的Pineapple! 原创 &#x1f468;‍&#x1f4…

C++ auto与 for循环

一、数组 #include <iostream> #include <vector> using namespace std; int main() {int vec[6] {1,2,3};for (auto num : vec) { /* num 是 int */ cout << "Hello, world!" << num <<endl;}return 0; }二、STL容器与迭代器 for 循…

【RK3568+PG2L50H开发板实验例程】FPGA部分 | ROM、RAM、FIFO 的使用

本原创文章由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处&#xff08;www.meyesemi.com) 1.实验简介 实验目的&#xff1a; 掌握紫光平台的 RAM、ROM、FIFO IP 的使用 实验环境&#xff1a; Window11 PDS2022…

力扣-21.合并两个有序链表

题目链接 21.合并两个有序链表 class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode p1 list1;ListNode p2 list2;ListNode p new ListNode(0);ListNode cur p;while (p1 ! null && p2 ! null) {if (p1.val > p2.val) …

MoE混合专家模型:千亿参数的高效推理引擎与架构革命

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 从稀疏激活到多模态协同的智能计算范式 &#x1f9e9; 一、核心思想与…

【论文笔记】BlockGaussian:巧妙解决大规模场景重建中的伪影问题

论文地址&#xff1a;https://arxiv.org/pdf/2504.09048 大规模场景的重建方法不仅仅对于高空航拍数据有效&#xff0c;而且对于地面大中场景也有增强效果&#xff0c;故专门来学习一下这一方向的知识。感谢作者大佬们的great work。 Abstract 三维高斯泼溅&#xff08;3DGS…