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

2024年Engineering SCI2区,面向工程管理的无人机巡检路径与调度,深度解析+性能实测

目录

    • 1. 摘要
    • 2. 问题描述
    • 3. 数学模型
    • 4.求解方法
    • 5.结果展示
    • 6.参考文献
    • 7.代码获取
    • 8.算法辅导·应用定制·读者交流


1. 摘要

无人机(UAV)技术的进步已革新多个行业,特别是在工程管理中,基于无人机的检查方法成为识别高风险建筑环境隐患的高效手段,远超传统技术。本文聚焦于无人机检查路径和调度优化,解决了禁飞区、监测时间窗口及多轮监测等带来的复杂问题。因此,本文提出了一个混合整数线性规划(MILP)模型,旨在优化检查任务分配、监测顺序调度及充电决策,该模型与传统车辆路径问题(VRP)不同,在大规模实例下,对于商业求解器具有较高的数学复杂性。为解决这一问题,本文设计了定制化变量邻域搜索算法(VNS),并通过广泛的数值实验验证了该算法的有效性与可扩展性。

2. 问题描述

An example of two UAVs performing inspection missions at four sites

本文研究了多轮无人机检查路径规划问题,考虑了充电决策和禁飞区的影响。工程管理者需要为异构无人机分配检查任务,并规划访问各监测站点的路径以此最小化总工作时间。目前主要挑战包括电池限制、禁飞区、以及多轮检查的时间窗口要求,优化目标是确保无人机按时访问各站点,减少充电和等待时间,同时避免绕行。问题复杂性在于多次访问、路径限制和时间约束,使得路径规划和调度决策更加困难。

3. 数学模型

本节提出了一个混合整数线性规划(MILP)模型,旨在最小化完成周期性检查任务的总时间,包括飞行、等待、检查和充电时间。模型采用标准的运输网络方法,考虑起点-终点对之间的直接连接,且无人机只能在没有禁飞区的情况下飞行。

参数定义

该模型的目标是最小化所有无人机完成周期性检查任务的总时间,包括飞行、等待、检查和充电时间。约束条件包括:每个任务只能分配给一架无人机;确保飞行路径符合流量守恒和禁飞区要求;充电操作在检查任务后进行;每次检查任务之间的时间间隔符合要求;电量守恒;确保无人机有足够电量完成任务或到达充电站。

4.求解方法

本文在VRP框架内综合考虑了充电决策、禁飞区约束和周期性时间窗口,使得初始模型即使在小规模实例下也难以通过CPLEX或其他商业求解器高效求解。因此,本节提出了一种基于变量邻域搜索算法(VNS),通过简化模型的构建与嵌入高效求解该问题。VNS能够有效探索解空间,避免局部最优解,并通过迭代优化提高解的质量。算法框架将问题分为三个子问题:任务分配、无人机调度和充电站选择。通过生成可行的初始解和实施有效的邻域搜索策略,VNS算法通过迭代优化获得最佳解。

初始解生成

An example of the procedure for generating the initial inspection plan

本文采用滚动优化方法生成初始解,解决了时间间隔、功率限制和禁飞区约束问题。每次迭代求解一个子模型M1nM1_nM1n,模拟经典电动汽车路径问题(EVRP)和带时间窗口的电动汽车路径问题(EVRPTW)。

邻域结构

在VNS过程中,为了充分探索搜索空间,必须考虑多样的邻域结构。本文设计了四种策略来寻找新解,同时考虑多轮监测和禁飞区约束。

  • 策略1:交换监测任务,策略1通过交换两个监测任务来改变检查计划,从而调整任务分配或监测顺序以获得改进的检查计划。

  • 策略2:插入监测任务,策略2会改变分配给无人机的任务数量,还会局部改变无人机的任务顺序,使检查路径更为合理。

  • 策略3:插入监测轮次,策略3通过插入属于同一监测轮次的监测任务来改变解决方案,从监测轮次的角度改变任务分配和监测顺序。策略3随机选择一轮监测任务,并将一些任务重新分配给另一架无人机。

  • 策略4:交换检查路径,策略4通过交换两架无人机的检查路径来改变解决方案。

5.结果展示

论文仿真

6.参考文献

[1] Zhen L, Yang Z, Laporte G, et al. Unmanned aerial vehicle inspection routing and scheduling for engineering management[J]. Engineering, 2024, 36: 223-239.

7.代码获取

xx

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

xx

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

相关文章:

  • Vue 2 中的 v-model和Vue3中的v-model
  • 设计模式:原型模式(Prototype Pattern)
  • 使用 HandlerMethodReturnValueHandler 在SpringBoot项目 实现 RESTful API 返回值自动封装,简化开发
  • 数据结构青铜到王者第三话---ArrayList与顺序表(2)
  • 零知开源——基于STM32F103RBT6和ADXL335实现SG90舵机姿态控制系统
  • three.js+WebGL踩坑经验合集(9.1):polygonOffsetUnits工作原理大揭秘
  • 【数据结构】LeetCode160.相交链表 138.随即链表复制 牛客——链表回文问题
  • [SC]SystemC动态进程概述及案例
  • LinkedIn 自动消息发送工具
  • 网络编程——TCP、UDP
  • 人工智能(AI)与网络安全
  • 【Linux】协议的本质
  • 一键脚本:自动安装 Nginx + Certbot + HTTPS(Let‘s Encrypt)
  • QT-QSS样式表
  • 面试:计算机网络
  • 《输赢》电视剧总结学习
  • 数据结构:红黑树(Red-Black Tree)
  • 电商秒杀场景下,深挖JVM内存泄漏与多线程死锁的解决方案
  • Python3.14安装包下载与保姆级图文安装教程!!
  • PyTorch实战(1)——深度学习概述
  • 【动态规划】309. 买卖股票的最佳时机含冷冻期及动态规划模板
  • webpack文件指纹:hash、chunkhash与contenthash详解
  • 基于 OpenCV 与 Mediapipe 的二头肌弯举追踪器构建指南:从环境搭建到实时计数的完整实现
  • 【CV】图像基本操作——①图像的IO操作
  • 系统架构设计师-计算机系统存储管理-页式、段氏、段页式模拟题
  • [系统架构设计师]专业英语(二十二)
  • Python爬虫第四课:selenium自动化
  • Qwt7.0-打造更美观高效的Qt开源绘图控件库
  • macbook国内源安装rust
  • leetcode LCR 012.寻找数组的中心下标