2025年COR SCI2区,双种群 NSGA-II 算法+卡车–无人机–调度车辆的多目标应急物资调度,深度解析+性能实测

目录


1.摘要

应急物资调度在灾害响应中至关重要,但现有研究大多仅考虑卡车运输。受无人机在军事与商业物流中成功应用的启发,本文提出了一种基于卡车--无人机--调度车辆协同配送的应急物资调度模型,实现了对传统无人机车辆路径问题(VRPD)拓展。通过引入可运输无人机的调度车辆,该模型更贴合实际灾害场景中的复杂需求。为高效求解该模型,本文构建了增强双种群 NSGA-II 算法,该算法融合面向模型特性的局部搜索算子以提升局部优化能力,并改进选择机制以增强种群多样性。同时,以原始种群的帕累托前沿构造精英种群,在其邻域开展深度搜索,从而显著提升收敛精度。

2.问题描述与建模

VRPDD 是一种基于卡车--无人机--调度车辆协同作业的应急物资配送模型,模型将配送区域表示为有向图,其中受灾点根据可达性分为:无路障点(可由卡车或无人机服务),有路障点(只能由无人机服务)。配送模式包括三类:卡车独立配送,无人机独立配送,卡车--无人机--调度车辆联合配送。联合配送用于服务超出无人机航程或卡车无法到达的受灾点,可提高应急场景下的可达性与效率。

模型主要假设包括:忽略起降与装卸时间、各点需求与位置已知、运输工具负载与飞行限制明确、存在可作为无人机调度点的无路障节点,并仅对实际使用的车辆计入固定成本。

3. 改进双群体NSGA-II算法

VRPDD 属于 NP-hard 问题,灾害中需在有限时间内获得高质量方案,精确算法难以适用。传统 NSGA-II 虽能求解多目标问题,但局部搜索弱、种群多样性不足且易陷入局部最优,导致帕累托前沿质量不佳。为提升求解性能,本文提出增强EDPNSGA-II算法,对 VRPDD 的编码/解码规则与两种初始化方法;定制化交叉与变异算子;对 NSGA-II 的三项改进:改进种群选择、加入局部搜索算子、引入基于帕累托前沿的额外精英种群。

编解码方案

本文采用二维表编码方式,第一行表示受灾点的配送顺序,其中 0 为配送中心;第二行表示各受灾点的运输方式:1:卡车服务,2:无人机服务,3:卡车在该点执行无人机起降的联合服务。

种群初始化

为获得既多样又高质量的初始种群,本文设计了两种互补的初始化方法:方法 1(增加多样性):随机排列所有受灾点,并在卡车与无人机的载重和航程限制下逐点分配形成子路径;超限则开启新的车辆与路线。该方法种群多样性高但质量不稳定。方法 2(提高质量):先随机排序无路障受灾点,再将每个有路障受灾点插入到距离最近的无路障点后,以减少无人机飞行距离。随后按方法 1 的规则生成路线,能得到更高质量的初始化种群。

交叉和变异

交叉算子结合多点交叉与 PMX,可在多个不连续位置交换基因,既增强信息交换,又确保受灾点不重复,并在交叉后自动修复运输方式,保证解的可行性。变异算子随机反转子路径的访问顺序与运输方式,再进行必要修正;若变异解更优则接受,否则以一定概率保留,以增强搜索跳跃性。改进选择算子仅保留拥挤距离非零的非支配解,并在缺额时再从前沿补充,避免重复个体进入下一代,从而提高种群多样性并减少早熟收敛。

双种群策略

为更充分利用精英解,本文提出了双种群策略。算法在初始化时创建两个种群:种群 1(主种群):通过交叉与变异正常进化;种群 2(辅助种群):不进行交叉变异,而是依据种群 1 的帕累托前沿生成邻域解。种群 2 对种群 1 的每个非支配解生成一个邻域个体,并按需重复,直到达到预设规模。种群 2 仅在帕累托前沿附近进行局部精细搜索,不影响种群 1 的多样性,却能提升寻找更优解的能力。

4.结果展示

5.参考文献

1\] Guo Q, Qiu Y, Shi Y, et al. An enhanced dual-population NSGA-II for solving multi-objective emergency supplies dispatch problem based on truck-drone-dispatch vehicle collaboration\[J\]. Computers \& Operations Research, 2025: 107324. ### 6.代码获取 xx ### 7.算法辅导·应用定制·读者交流 xx## 标题

相关推荐
我星期八休息10 分钟前
MySQL数据可视化实战指南
数据库·人工智能·mysql·算法·信息可视化
程序员-King.18 分钟前
day144—递归—平衡二叉树(LeetCode-110)
算法·leetcode·二叉树·递归
老鼠只爱大米20 分钟前
LeetCode经典算法面试题 #739:每日温度(单调栈、动态规划等多种实现方案详解)
算法·leetcode·面试·动态规划·单调栈·每日温度
老鼠只爱大米28 分钟前
LeetCode经典算法面试题 #394:字符串解码(递归、双栈、迭代构建等五种实现方案详解)
算法·leetcode·面试·递归··字符串解码
独自破碎E37 分钟前
【回溯+剪枝】字符串的排列
算法·机器学习·剪枝
Smart-佀43 分钟前
FPGA入门:CAN总线原理与Verilog代码详解
单片机·嵌入式硬件·物联网·算法·fpga开发
漫随流水1 小时前
leetcode算法(513.找树左下角的值)
数据结构·算法·leetcode·二叉树
囊中之锥.2 小时前
机器学习算法详解:DBSCAN 聚类原理、实现流程与优缺点分析
算法·机器学习·聚类
AlenTech2 小时前
152. 乘积最大子数组 - 力扣(LeetCode)
算法·leetcode·职场和发展
Piar1231sdafa2 小时前
基于yolo13-C3k2-RVB的洗手步骤识别与检测系统实现_1
人工智能·算法·目标跟踪