浙江大学学报(工学版), 2024, 58(11): 2258-2269 doi: 10.3785/j.issn.1008-973X.2024.11.007

计算机技术、控制工程

混合蛙跳算法求解车辆无人机协同配送问题

段浩浩,, 李晓玲,, 路庆昌, 林杉

长安大学 电子与控制工程学院,陕西 西安 710064

Hybrid shuffled frog leaping algorithm for solving vehicle-dronecooperative delivery problem

DUAN Haohao,, LI Xiaoling,, LU Qingchang, LIN Shan

School of Electronics and Control Engineering, Chang’an University, Xi’an 710064, China

通讯作者: 李晓玲,女,讲师. orcid.org/0000-0003-2054-1886. E-mail: xiaolingli@chd.edu.cn

收稿日期: 2023-10-8  

基金资助: 国家自然科学基金资助项目(62103062, 71971029);长安大学中央高校基本科研业务费专项资金资助项目(300102322101).

Received: 2023-10-8  

Fund supported: 国家自然科学基金资助项目(62103062,71971029);长安大学中央高校基本科研业务费专项资金资助项目(300102322101).

作者简介 About authors

段浩浩(1999—),男,硕士生,从事车辆路径优化的研究.orcid.org/0009-0009-5535-0503.E-mail:2022132066@chd.edu.cn , E-mail:2022132066@chd.edu.cn

摘要

为了充分发挥无人机与车辆各自的优势,研究无人机起飞后可服务多个客户的车辆-无人机协同配送问题,其中考虑了车辆因区域限制、无人机因载重和续航限制导致2类运输工具配送范围均受到限制的约束. 针对这类运输工具配送受限的车辆-多投递无人机协同配送问题(MDVCP-DR),以最小化总配送时间为优化目标,建立对应的数学模型,提出混合蛙跳算法(HSFLA)进行求解. 提出新的编码与预调整解码方法,得到满足各种约束的可行解. 建立基于4种交叉算子和精英表的个体生成方法,更新种群中的个体. 设计自适应局部搜索策略来增强算法的局部开发能力,通过种群多样性检测策略来保证个体的多样性. 通过仿真实验,验证了建立的数学模型的正确性和HSFLA的有效性.

关键词: 车辆-无人机 ; 协同配送 ; 配送限制 ; 蛙跳算法 ; 路径优化

Abstract

The vehicle-drone cooperative delivery problem was analyzed where a drone could service multiple customers after takeoff in order to fully utilize the respective advantages of drones and vehicles. The considered constraints include regional restrictions for vehicles and delivery range limitations due to the loading and endurance capabilities of the drone. A mathematical model of the problem was established to minimize the total delivery time, and a hybrid shuffled frog leaping algorithm (HSFLA) was proposed to solve it aiming at the multi-drop vehicle-drone cooperative problem with delivery restrictions (MDVCP-DR). A novel encoding and pre-adjusted decoding method was proposed to obtain feasible solutions so that the constraints involved in the problem can be satisfied. Then an individual generation method was developed to update individuals in the population based on four crossover operators and an elite list. An adaptive local search strategy was imbedded into the algorithm in order to enhance the local exploitation ability of HSFLA. A population diversity detection strategy was used to ensure the diversity of individuals in the population. Simulation experiments demonstrated the accuracy of the established mathematical model and the effectiveness of HSFLA.

Keywords: vehicle-drone ; cooperative delivery ; delivery restriction ; shuffled frog leaping algorithm ; routing optimization

PDF (928KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

段浩浩, 李晓玲, 路庆昌, 林杉. 混合蛙跳算法求解车辆无人机协同配送问题. 浙江大学学报(工学版)[J], 2024, 58(11): 2258-2269 doi:10.3785/j.issn.1008-973X.2024.11.007

DUAN Haohao, LI Xiaoling, LU Qingchang, LIN Shan. Hybrid shuffled frog leaping algorithm for solving vehicle-dronecooperative delivery problem. Journal of Zhejiang University(Engineering Science)[J], 2024, 58(11): 2258-2269 doi:10.3785/j.issn.1008-973X.2024.11.007

无人机在物流方面的应用得到了大量企业和研究者的关注. 2013年,亚马逊进行了无人机配送的测试;之后,谷歌、联邦物流、Zipline、顺丰、京东和美团等公司进行了相关研究[1-3]. 不同于传统的车辆配送,无人机具有高机动性、无接触性等优点,使得其在地形复杂或人员管制的地区进行配送时表现出很大的优越性,但是无人机存在载重有限、续航时间短的不足,导致现阶段只依靠无人机无法完成大规模的配送任务. 考虑到无人机的这些特点,Murray等[1]提出车辆-无人机协同配送问题(vehicle-drone cooperative problem, VCP). 车辆-无人机协同配送的模式极大地提高了配送效率,其应用价值吸引了越来越多研究者的关注.

近年来,考虑到实际配送中的各种约束,研究者们提出多种基于VCP的变体. Agatz等[4]提出以最小化总配送时间为目标的带无人机的旅行商问题,使用基于局部搜索和动态规划的启发式算法进行求解. Gonzalez-R等[5]在VCP的基础上考虑无人机单次起飞可服务多个客户的约束,提出迭代贪婪启发式方法,以最小化总配送时间. 柳伍生等[6]研究文献[5]的问题,利用模拟退火算法来最小化总里程. Luo等[7]在无人机单次起飞可服务多个客户的基础上,增加了同质多无人机的约束,提出多启动禁忌搜索算法,以最小化总配送时间. 伍国华等[8]在考虑无人机单次起飞可服务多个客户的基础上,进一步考虑多车辆和多无人机协同配送,设计自适应大规模邻域搜索算法,最小化配送时间. Gu等[9]针对无人机单次起飞可服务多个客户的多车辆VCP,提出混合了迭代局部搜索启发式算法和可变邻域下降的方法,最小化问题的总成本. Mara等[10]针对无人机起飞后可服务多个客户的VCP,以总配送时间为优化目标,提出新的数学模型. 此外,研究者们针对含有其他约束(如多车场、动态交通环境和时间窗等)的VCP展开研究,提出多种求解方法[11-16].

除上述研究外,研究者们开始关注道路条件和客户需求对运输工具的配送限制. 彭勇等[17]研究以最小化总配送时间为目标的包含3类客户的VCP,利用混合邻域搜索算法求解问题. 朱晓宁等[18]考虑区域限制,设计最短路与禁忌搜索相结合的算法,求解含有3类客户的VCP.

综上所述,现阶段VCP的研究很少涉及因区域限制或特殊事件导致运输工具配送受限的情况.本文结合客户属性和运输工具受到的限制,将客户分为3类(仅车辆可服务、仅无人机可服务以及车辆和无人机均可服务),研究了运输工具配送受限的车辆-多投递无人机协同配送问题(multi-drop vehicle-drone cooperative problem with delivery restrictions, MDVCP-DR). 本文的主要贡献如下.

1)研究以总配送时间为优化目标的MDVCP-DR,其中综合考虑了运输工具配送范围受限、无人机单次起飞后可服务多个客户、无人机和车辆可互相等待、客户的服务时间与货物需求质量相关等约束;建立问题的数学模型,通过Gurobi验证了模型的正确性.

2) 提出混合蛙跳算法(hybrid shuffled frog leaping algorithm, HSFLA),其中设计了预调整解码方法、个体生成方法和局部搜索策略来保证算法的可行性和搜索能力.

3) 通过在不同规模算例上的仿真和对比实验,验证了算法的有效性.

1. 数学模型

1.1. 问题描述

研究的MDVCP-DR包含1个配送中心和n个客户,分别记作0和1, 2$, \cdots , $ n. 配送中心有一辆车和一架无人机,配送任务由车辆和无人机共同完成,其中车辆可以携带无人机进行配送,车辆和无人机可以各自进行配送. 无人机可以在配送中心或任意客户点从车辆上起飞,在满足约束的情况下服务一个或多个客户,在服务结束后降落至车辆,即飞至车辆所在客户点更换电池以准备下次起飞配送. 无人机单次起飞的起飞和降落点不能在同一个客户. 在完成配送服务后,车辆和无人机均返回配送中心. 该问题满足以下假设和约束.

1) 配送中心位置已知,客户的位置、货物需求量和服务时间均已知. 客户集中存在因区域限制导致车辆不可到达的客户点,即只能无人机配送的客户,也存在无人机无法配送的超重点、超远点.

2) 超重点为货物需求量超出无人机载重上限的客户点. 对于一个客户点,若到最邻近2个客户点的距离和超出无人机续航上限,则称为超远点. 超重点和超远点只能由车辆配送. 除超重点、超远点和车辆不可达客户点外,其余客户点车辆和无人机均可服务.

3) 在配送过程中,每个客户只能被车辆或无人机服务一次,车辆和无人机共同访问的客户(车辆载着无人机访问或无人机在该客户点从车辆起飞或降落)由车辆进行配送服务,车辆(无人机)单独访问的客户由车辆(无人机)服务.

4) 车辆无载重和续航限制,无人机的载重限制和续航时间已知.

5) 2个客户之间的实际配送距离取决于配送工具,即无人机的配送距离为客户之间的欧式距离,车辆的配送距离为曼哈顿距离.

6) 对于仅无人机可配送的客户,货物质量不会超过无人机的载重限制.

7) 无人机从车辆起飞后,车辆和无人机均可以服务多个客户.

8) 当无人机返回车辆时,无人机(车辆)在满足约束的前提下可以等待车辆(无人机).

9) 无人机的起飞、降落、服务客户及等待降落时的悬停飞行均消耗电量.

10) 在无人机起飞前,车辆须完成对当前客户的服务,降落时允许其打断车辆对当前客户的服务.

11) 无人机无电池数量或充电次数的约束.

图1所示为包含11个客户的车辆-无人机协同配送示意图. 车辆和无人机从配送中心出发到完成所有客户的配送服务并返回至配送中心为一次完全配送,一次完全配送由多个子配送构成. 例如,图1中车辆载着无人机从配送中心到客户1为一个子配送,车辆和无人机分别从客户3到客户5也为一个子配送.

图 1

图 1   车辆-无人机协同配送的示意图

Fig.1   Diagram of vehicle-drone cooperative distribution


1.2. 数学模型

以总配送时间为优化目标,建立MDVCP-DR的数学模型.

1) 目标函数为

$ \min \sum\limits_{k \in K} {t_k^{\text{c}}} . $

式中:$t_k^{\mathrm{c}} $为第k次子配送所需的时间;K为子配送次数的集合,K = {1, 2$, \cdots , $ Kmax},其中Kmax为子配送的总次数.

2) 配送约束.

根据客户属性和配送工具所受到的限制,可以将问题中的客户划分为3类:仅车辆可服务、仅无人机可服务以及车辆和无人机均可服务. 车辆和无人机服务客户须满足的约束条件如下.

$ \sum\limits_{k \in K} {\sum\limits_{j \in N,j \ne i} {{x_{ij,k}}} } = 1;\; i \in \{ 0\} \cup {N_{\text{t}}}. $

$ \sum\limits_{k \in K} {\sum\limits_{i \in N,i \ne j} {{x_{ij,k}}} } = 1;\; j \in \{ 0\} \cup {N_{\text{t}}}. $

$ \sum\limits_{k \in K} {\sum\limits_{j \in N,j \ne i} {{y_{ij,k}}} } = 1;\; i \in \{ 0\} \cup {U_{\text{d}}}. $

$ \sum\limits_{k \in K} {\sum\limits_{i \in N,i \ne j} {{y_{ij,k}}} } = 1;\; j \in \{ 0\} \cup {U_{\text{d}}}. $

$ \sum\limits_{k \in K} {\sum\limits_{j \in N,j \ne i} {{y_{ij,k}}} } = 1;\; i \in {N_{\text{u}}}. $

$ \sum\limits_{k \in K} {\sum\limits_{i \in N,i \ne j} {{y_{ij,k}}} } = 1;\; j \in {N_{\text{u}}}. $

$ \sum\limits_{k \in K} {\sum\limits_{j \in N,j \ne i} {{x_{ij,k}}} } = 0;\; i \in {N_{\text{u}}}. $

$ \sum\limits_{k \in K} {\sum\limits_{i \in N,i \ne j} {{x_{ij,k}}} } = 0;\; j \in {N_{\text{u}}}. $

$ \sum\limits_{k \in K} {\sum\limits_{i \in N,i \ne j} {{y_{ij,k}}} } \leqslant \sum\limits_{k \in K} {\sum\limits_{l \in N,l \ne j} {{x_{lj,k}}} } ;\; j \in {U_{\text{m}}}. $

$ 0 < \sum\limits_{k \in K} {\sum\limits_{j \in N,j \ne i} {\left( {{x_{ij,k}}+{y_{ij,k}}} \right)} } \leqslant 2;\; i \in {N_1}. $

$ 0 < \sum\limits_{k \in K} {\sum\limits_{i \in N,i \ne j} {\left( {{x_{ij,k}}+{y_{ij,k}}} \right)} } \leqslant 2;\; j \in {N_1}. $

式中:xij,k为决策变量,xij,k = 1表示第k次子配送中车辆从客户点i驶往j,否则xij,k = 0;yij,k为决策变量,yij,k = 1表示第k次配送中无人机从客户点i飞往,否则yij,k = 0;N = {0, 1, 2$, \cdots , $ n}为配送中心0和客户点1$, \cdots , $ n的集合;N1为车辆和无人机均可服务的客户集合;Um为超重点集合;Ud为超远点集合;Nt = UmUd为仅车辆可服务的客户集合;Nu为仅无人机可服务的客户集合. 式(2)、(3)表示车辆一定会访问配送中心和仅车辆可服务的客户. 式(4)、(5)表示无人机和车辆一定会共同访问配送中心和超远点. 式(6)、(7)表示无人机一定会访问仅无人机可服务的客户. 式(8)、(9)表示车辆一定不会访问仅无人机可服务的客户. 式(10)表示无人机一定不会单独访问超重点. 式(11)、(12)表示车辆和无人机均可服务的客户既可能由车辆和无人机共同访问,也可能由车辆或无人机单独进行访问.

3) 配送点集划分如下.

$ {s_1} = {e_{{K_{{\text{max}}}}}} = 0. $

$ {e_k} = {s_{k+1}};\; k \in K\backslash \{ {K_{{\text{max}}}}\} . $

$ S \subseteq N\backslash {N_{\text{u}}}. $

$ \{ {s_1}\} \cap \{ {s_2}\} \cap \cdots \cap \{ {s_{{K_{{\text{max}}}}}}\} = \varnothing . $

$ {\text{Se}}{{\text{t}}_1} \cup {\text{Se}}{{\text{t}}_2} \cup \cdots \cup {\text{Se}}{{\text{t}}_{{K_{{\text{max}}}}}} = N. $

$ {\text{Se}}{{\text{t}}_1} \cap {\text{Se}}{{\text{t}}_2} \cap \cdots \cap {\text{Se}}{{\text{t}}_{{K_{{\text{max}}}}}} = S. $

$ {\text{ }}N_k^{\text{t}} = \varnothing ;\; k \in K,\;\exists N_k^{\text{u}} = \varnothing . $

式中:sk为第k次子配送的起点;ek为第k次子配送的终点;S为所有子配送的起点集合,S = {sk | kK};Nku为第k次子配送中无人机单独访问的客户集合;Nkt为第k次子配送中车辆单独访问的客户集合;Setk为第k次子配送访问的客户集合,Setk = {sk}∪NktNku∪{ek} = CktCku,其中Ckt = {sk}∪Nkt∪{ek}为第k次子配送中车辆访问的客户集合,Cku = {sk}∪Nku∪{ek}为第k次子配送中无人机访问的客户集合. 式(13)~(16)表示子配送的起、终点约束,其中第k+1次子配送的起点为第k次子配送的终点. 式(17)、(18)保证客户可以全部被服务,且所有子配送的交集为它们起点的集合. 式(19)保证第k次子配送由车辆携带无人机完成,或者车辆、无人机分别完成.

4) 子配送路径载重及耗时约束如下:

$ t_k^{\text{u}} = \left\{ \begin{gathered} t_k^{\text{s}}+\sum\limits_{i \in N_k^{\text{u}} \cup \{ {s_k}\} } {\sum\limits_{j \in N,j \ne i} {{y_{ij,k}}\frac{{d_{ij}^{}}}{{{v^{\text{u}}}}}} } + \\ \qquad \sum\limits_{l \in N_k^{\text{u}}} {\sum\limits_{j \in N,j \ne l} {{y_{lj,k}}{f_l}} } ,\;N_k^{\text{u}} \ne \varnothing ,\;k \in K; \\ 0,{\text{ }}N_k^{\text{u}} = \varnothing ,\;k \in K.{\text{ }} \\ \end{gathered} \right.\;\;\;\;$

$ t_k^{\text{t}} = \left\{ \begin{gathered} t_k^{\text{s}}+\sum\limits_{i \in N_k^{\text{t}} \cup \{ {s_k}\} } {\sum\limits_{j \in N,j \ne i}^{} {{x_{ij,k}}\frac{{d_{ij}^{\text{m}}}}{{{v^{\text{t}}}}}} } + \\ \qquad \sum\limits_{l \in N_k^{\text{t}}} {\sum\limits_{j \in N,j \ne l}^{} {{x_{lj,k}}{f_l}} ,N_k^{\text{u}} \ne \varnothing },\;k \in K; \\ \sum\limits_{i \in \{ {s_k}\} } {\sum\limits_{j \in N,j \ne i}^{} {{x_{ij,k}}\frac{{d_{ij}^{\text{m}}}}{{{v^{\text{t}}}}}} } ,{\text{ }}N_k^{\text{u}} = \varnothing ,\;k \in K. \\ \end{gathered} \right. \qquad $

$ t_k^{\text{c}} = \left\{ \begin{gathered} \max \;\{ t_k^{\text{u}},t_k^{\text{t}}+{f_{{e_k}}}\} +t_k^{\text{e}},\;N_k^{\text{u}} \ne \varnothing ,\;k \in K\backslash \{ {K_{{\text{max}}}}\}; \\ t_k^{\text{t}}+{f_{{e_k}}},{\text{ }}N_k^{\text{u}} = \varnothing ,\;k \in K\backslash \{ {K_{{\text{max}}}}\}. \\ \end{gathered} \right.{\text{ }}$

$ t_k^{\text{c}} = \left\{ \begin{gathered} \max\; \{ t_k^{\text{u}}+t_k^{\text{e}},t_k^{\text{t}}\} ,N_k^{\text{u}} \ne \varnothing ,\; k = {K_{{\text{max}}}}; \\ t_k^{\text{t}},{\text{ }}N_k^{\text{u}} = \varnothing ,\;k = {K_{{\text{max}}}}. \\ \end{gathered} \right. $

$ \sum\limits_{i \in N_k^{\text{u}}} {\sum\limits_{j \in N,j \ne i} {{y_{ij,k}}{m_i}} } \leqslant {L_{\text{m}}};\; k \in K. $

$ \left. \begin{gathered} \max \;\{ t_k^{\text{u}},t_k^{\text{t}}\} +t_k^{\text{e}} \leqslant {L_{{\text{time}}}},\;k \ne {K_{{\text{max}}}},\;N_k^{\text{u}} \ne \varnothing; \\ t_k^{\text{u}}+t_k^{\text{e}} \leqslant {L_{{\text{time}}}},{\text{ }}k = {K_{{\text{max}}}},\;N_k^{\text{u}} \ne \varnothing. \\ \end{gathered} \right\}$

式中:dij为客户ij的欧式距离;dijm为客户ij的曼哈顿距离;vt为车辆的行驶速度;vu为无人机的飞行速度;fi为客户i的服务时间,fi = αmi,其中α为常数;mi为客户i的货物需求量;Lm为无人机的最大载重量;Ltime为无人机的最大飞行时间;tku为第k次子配送中无人机从开始配送到访问最后一个客户的时间;tkt为第k次子配送中车辆从开始配送到访问最后一个客户的时间;tke为第k次子配送中无人机回收所需的时间;tks为第k次子配送中无人机发射所需的时间. 式(20)、(21)分别为第k次子配送中无人机和车辆配送开始到访问最后一个客户的时间. 式(22)、(23)用于计算每次子配送所需的时间. 式(24)表示无人机携带货物不能超过最大载重量. 式(25)表示无人机须满足续航约束.

2. 求解算法的设计

本文研究的MDVCP-DR是NP难的,且含有很多强约束条件,使用精确算法无法在短时间内求解,因此基于蛙跳算法[19](shuffled frog leaping algorithm, SFLA)提出适于求解MDVCP-DR的HSFLA. HSFLA主要包括如下6个部分:编码与预调整解码、种群初始化、模因组搜索、自适应局部搜索、精英表更新和种群多样性检测. 在HSFLA中,令个体的适应度为目标函数值,则个体适应度越小,对应的解质量越高.

2.1. 编码与预调整解码

算法中的青蛙个体由序列X表示,X由客户集N\{0} = {1, 2$, \cdots , $ n}排列组成,记作X = {x1, x2$, \cdots , $ xn}. 对于一个包含10个客户的MDVCP-DR, X = {9, 6, 5, 2, 8, 7, 1, 3, 4, 10}可以表示一个个体,对应的客户顺序为0→9→6→5→ 2→8→7→1→3→4→10→0.

编码过程中没有考虑无人机和车辆的具体分配,也没有考虑问题中的客户配送约束、无人机载重和续航限制等强约束,因此编码得到的个体是不可行的,即不是最终的配送路径. 本文提出预调整策略和解码策略,称为预调整解码策略,保证解的可行性,即通过对个体进行预调整解码,得到可行的配送方案. 对于算法中的个体,均须执行预调整解码.

预调整策略. 由于问题中存在运输工具配送范围受限的约束,预调整策略旨在保证该约束得以满足. 为了方便说明,定义了2类路径:η类路径和θ类路径. η类路径表示为{nj,s, nj,1, nj,2$, \cdots , $ nj,l, nj,e},其中nj,snj,e分别为无人机的起飞和降落点且有{nj,s, nj,e}⊂N\Nu, nj,1, nj,2$, \cdots , $ nj,l (l ≥ 1)为仅无人机可服务的客户序列. θ类路径包含3个客户点,即无人机起飞点、配送客户点和降落点,如{nj,s, nj,1, nj,e}为θ类路径. 对于任意2个η(θ)类路径,只有其中的无人机起飞点、配送客户序列(客户)和降落点都相同时,它们才是相同的.

η类路径可拆分得到多个θ类路径,例如1个η类路径{nj,s, nj,1, nj,2$, \cdots , $ nj,l, nj,e}可以拆分为lθ类路径{nj,s, nj,1, nj,e}, {nj,s, nj,2, nj,e}$, \cdots , $ {nj,s, nj,l, nj,e}. 此外,假如存在多个nj,snj,e相同的θ类路径{nj,s, nj,1, nj,e}, {nj,s, nj,2, nj,e}$, \cdots , $ {nj,s, nj,l, nj,e},它们可合并为一个η类路径{nj,s, nj,1, nj,2$, \cdots , $ nj,l, nj,e}. 如图2所示为ηθ类路径示意图. 对于nuNu,对应的所有满足约束的θ类路径构成一个集合,记作Φu.

图 2

图 2   ηθ类路径的示意图

Fig.2   Illustration of η and θ paths


给定X,预调整策略的具体步骤如下.

1)∀nuNu,令Au = ∅,Au用于记录当无人机服务客户点nu时可以作为起飞、降落点的备选客户点. 寻找nu最邻近的一个客户nx,令Au = Au∪{nx}. 在剩余客户中找到满足续航约束的所有客户,即如果∃naN\ (Nu∪{nx})满足dxu+dauvuLtime,则Au = Au∪{na}. 在Au中选出2个满足续航约束的客户分别作为nj,snj,e,可得θ类路径{nj,s, nu, nj,e}. 类似地,可以找到所有满足约束的θ类路径,即得到Φu.

2)检查X中是否存在η类路径,对每个η类路径进行无人机载重、续航约束检验,若满足约束,则将η类路径拆分为θ类路径. 对于不满足约束的η类路径,为每个nuNuΦu中随机选择一个θ类路径.

3)检查Nu中每个客户对应的θ类路径,若存在多个nj,snj,e相同的θ类路径,则合并其为η类路径. 当只有一个θ类路径包含nj,snj,e时,该θ类路径可以直接作为η类路径.

4)对每个η类路径进行无人机载重和续航约束检验,若满足约束,则将nj,snj′,e相同的2个η类路径进行拼接操作,即如果一个η类路径{nj,s, nj,1, nj,2, nj,e}的nj,s(nj,e)与另一个η类路径{nj′,s, nj′,1, nj′,2, nj′,e}的nj′,e(nj′,s)重合,则拼接得到η′路径{nj′,s, nj′,1, nj′,2, nj′,e, nj,1, nj,2, nj,e}({nj,s, nj,1, nj,2, nj,e, nj′,1, nj′,2, nj′,e});否则,为每个nuΦu中随机选择一个θ类路径,并返回步骤3).

5)对于每个η′路径,将其中首个客户点记为nu′,将η′路径序列插入到Xnu′所在位置并删除X中的冲突元素,新得到的序列记为Xnew.

解码策略. 解码策略旨在保证解序列能够满足无人机的载重和续航约束,得到可行解. 为了保证解的质量,在解码过程中使用无人机优先配送原则以及子配送路径中车辆与无人机耗时尽可能相近的原则. 给定预调整得到的Xnew,若其中包含配送中心0(nj,snj,e为配送中心0),则将Xnew中0之前子序列移动至最后一个元素之后,并删除0,例如由Xnew = {xn-1, xn, 0, x1, x2$, \cdots , $ xn-2}得到新的Xnew = {x1, x2$, \cdots , $ xn-2, xn-1, xn},并令X = Xnew. X的解码过程如下所示.

算法1 基于启发式规则的个体解码

输入: 待解码个体X = {x1, x2, …, xn}输出: 可行解B = (ID, NA)
1: 初始化: i = 0, k = 1, td = 0, td′ = 0, seq = ∅, sequ = ∅, seqt = ∅, Ntemp = ∅, flag = 0, flagUF = 0, flagNu = 0;令ID = {id0, id1$, \cdots , $ idn+1} = {0, x1, x2$, \cdots , $ xn, 0}.2: while(i < |ID|){/*|ID|表示ID中元素个数*/3: if(idiNu){将idi插入seq的末端, i = i+1, flagNu = 1, Ntemp = ∅;} 4: else{5:  将idi插入seq的末端, i = i+1; 6:  if(|seq| = 2){sequ := seq, seqt := seq, Ckt:= seq, td = abs (tkutkt);}/*|seq|表示seq中的元素个数, abs表示绝对值*/7:  if(|seq| > 2){ 8:   if(flagUF = 0){/*执行无人机优先配送原则*/9:    sequ := seq, seqt := seq; 保留seqt中第一个和最后一个元素, 其余置−1; sequ中的配送序列满足无人机载重和续航约束,则flag =0, 否则flag = 1; td′ = abs (tkutkt); /*−1表示无客户*/10:   if(flag = 0){11:    Ckt:= seqt, Cku:= sequ, td = abs (tkutkt);12:    if(flagNu = 1){Ntemp := Ntemp∪{idi};}13:    if(|Ntemp| ≥ 2){flagNu = 0;}/*sequ中最后一个nuNu之后分配了2个以上满足naN1的客户*/14:   else{15:    if(flagNu = 1){保存CktCku, k = k+1; flagNu = 0; 在ID中找到CktCku中最后一个元素的位置, 记作i′; i := i′; seq := {idi};}/*出现了必须由无人机服务的客户, 则当前子配送路径划分结束*/16:    else{/*flag = 1且flagNu = 0, 尝试将无人机最后配送的客户分配给车辆*/17:     seqt中倒数第2个点与sequ中倒数第2个点交换; 若sequ中的配送序列满足无人机载重和续航约束则flag = 0, 否则flag = 1; td′ = abs(tkutkt);18:     if(flag = 0 & (td′< td)){Ckt:= seqt, Cku:= sequ; flagUF = 1; td = td′;}/*通过将客户分配给车辆得到满足约束的路径, 则中止无人机优先配送的规则*/19:     else{保存CktCku, k = k+1; 在ID中找到CktCku中最后一个元素的位置, 记作i′; i := i′; seq :={idi};}}20:   }/*end if-else(flag = 0)*/ }21:  else{/*flagUF = 1, 基于子配送路径中车辆与无人机路径耗时尽可能相近的原则,更改无人机的降落点并增加车辆服务的客户*/22:   if(flagNu = 1){保存CktCku, k = k+1; flagNu = 0, flagUF = 0; 在ID中找到CktCku中最后一个元素的位置, 记作i′; i := i′; seq:= {idi};} 23:   else{24:    sequ最后一个元素置−1, 将seq最后一个元素分别添加到sequ和seqt末端; 若sequ中的配送序列满足无人机载重和续航约束,则flag = 0, 否则flag = 1; td′ = abs (tkutkt); 25:    if(flag = 0 & td′< td){Ckt:= seqt, Cku:= sequ; td = td′;}26:    else{保存CktCku, k = k+1; 在ID中找到CktCku中最后一个元素的位置, 记作i′; i:= i′; seq:={idi}; flagUF = 0;}}27:  }/*end if-else(flagUF = 0)*/28: }/*end if(|seq| > 2)*/29:}}/*end while*/30: 根据CktCku(kK)可得ID对应的配送属性序列NA, 其中当idi为共同访问点时nai = 0, idi由车辆配送时nai = 1, idi由无人机配送时nai = 2.End

算法的输出为可行解B = (ID, NA),其中ID = {id0, id1$, \cdots , $ idn+1}为客户访问顺序,NA ={na0, na1$, \cdots , $ nan+1}为ID中各客户点的配送属性.

算法1中使用到的符号及对应含义如下. seq用于记录当前子配送路径中的客户,seqt和sequ分别用于记录子配送路径中分配给车辆和无人机的客户,td和td′用于记录tkutkt差的绝对值,Ntemp用于记录在sequ中最后一个客户点nuNu之后所分配的客户点naN1. flag、flagUF和flagNu的取值为{0, 1},其中无人机配送不违反约束则flag = 0,否则flag = 1. 应用无人机优先配送原则时flagUF = 0,否则flagUF = 1. flagNu = 1表示正在规划Nu中客户的路径,flagNu = 0表示没有在规划Nu中客户的路径或Nu中客户在无人机上的配送顺序已确定.

2.2. 种群初始化和模因组搜索

种群规模为NPOP,种群初始化过程如下. 利用扫描算法生成个体,即放宽对客户的约束(假设所有客户都由车辆配送),以配送中心为极点建立极坐标系,顺时针扫描客户,其扫描顺序构成序列XS;随机生成NPOP−1个个体.

为了更好地引导算法进化,构建容量为Meme的精英表,以存储种群中最好的Meme个个体,将其中的个体用于种群更新.

将种群中的个体按适应度升序排序后,用精英表中的个体替换种群前Meme个个体,然后划分到Meme个模因组中. 具体过程如下:将排在第1(Meme+1, 2Meme+1, 3Meme+1,$\; \cdots \; $)的个体分配到第1个模因组,排在第2(Meme+2, 2Meme+2, 3Meme+2,$\; \cdots \; $)的个体分配到第2个模因组,以此类推,直到所有个体划分完毕.

模因组内搜索分为2个步骤.

1) 新个体生成. 采用4种交叉算子(order crossover, OX)来生成新个体,其中每个模因组选定一种OX. 4种OX如图3所示,其中X1X2为2个选定个体,Snew1Snew2为新生成个体.

图 3

图 3   不同的OX操作

Fig.3   Different OX operations


OX1. 在[1, n]随机生成r1r2 (r2 > r1)作为交叉段的起点和终点. 将X1的交叉段复制到Snew1相应的位置,对X2进行冲突性检测,即将X2中与交叉段相同的元素删除. 将X2中的剩余元素从左到右依次填入Snew1. 由X2提供交叉段,类似地,可以生成Snew2.

OX2. 在[1, n]随机生成r1r2 (r2 > r1),作为交叉段的起点和终点. 将X1的交叉段复制到Snew1相应的位置,对X2进行冲突性检测. 将X2中的剩余元素从位置r3+1(X1的第r1r2个元素对应X2中的第r1′和r2′个元素,r3 = max{r1′, r2′})开始依次填入Snew1. 类似地,由X2提供交叉段来生成Snew2.

OX3. 在[1, n]随机生成r1r2 (r2 > r1),作为交叉段的起点和终点. 将X1的交叉段复制到Snew1相应的位置,对X2进行冲突性检测. 将X2中的剩余元素从左到右依次填入Snew1. 在[1, n]随机生成r3r4 (r4 > r3)作为交叉段的起点和终点,由X2提供交叉段,类似地可生成Snew2.

OX4. 在[1, n]随机生成r1r2r3r4 (r4 > r3> r2> r1),分别将r1r3(r2r4)作为2个交叉段的起点(终点). 将X1的2个交叉段复制到Snew1相应的位置,对X2进行冲突性检测. 将X2中的剩余元素从左到右依次填入Snew1. 采用类似的方式,由X2提供2个交叉段,可以生成另一个新个体Snew2.

2) 个体更新. 每个模因组执行NM次组内搜索. 在每次搜索中,基于个体适应度的倒数采用轮盘赌法选择精英表中的一个个体,记作pl. 对pl和模因组内最差的个体pw执行交叉操作,得到2个新解. 若新解优于pw,则替换pw;否则对全局最优个体gbpw执行交叉操作,得到2个新解,若新解优于pw,则替换pw;否则随机生成一个个体,并将其与gb进行交叉操作,得到2个新解,若新解优于pw,则替换pw.

2.3. 自适应局部搜索

为了提升算法的搜索能力,提出自适应局部搜索策略,其中采用4种邻域搜索操作.

1) 单元素交换操作(single point swap, SPS). 随机在X中选择2个客户进行交换,如图4(a)所示.

图 4

图 4   不同的邻域结构

Fig.4   Different neighborhood structure


2) 随机插入操作(random insert, RI). 随机选取一个客户,插入到其他任意位置,如图4(b)所示.

3) 最邻近插入操作(nearest insert, NI). 随机选取1—n/10个客户,将每个客户插入到其最邻近客户点的前/后一个位置,如图4(c)所示.

4) 2元素优化(2-optimization, 2-opt). 随机选取一段序列进行反转,如图4(d)所示.

在局部搜索中,精英表中的每个个体执行LS次邻域搜索操作,每次使用的操作算子自适应选定. 每次搜索后,若新个体更优,则保留,否则保留原来的个体. 具体过程如下:令ρhPh(h = 1, 2, 3, 4)分别为SPS、RI、NI和2-opt的选择权重和概率,初始化为ρh = 1和Ph = 0.25. 在迭代过程中,操作算子的选择概率Ph按下式更新,且采用轮盘赌法选取操作算子.

$ {P_h} = \frac{{\max \left({\rho _h},0.1\displaystyle \sum\nolimits_{i = 1}^4 {{\rho _i}} \right)}}{{\displaystyle \sum\nolimits_{i = 1}^4 {{\rho _i}} }};\;h = 1,2,3,4. $

Ph<0.1时,将其重置为Ph = 0.1,从而保证4类邻域搜索算子均能够得以应用.

此外,每个邻域搜索算子的选择权重ρh根据搜索操作前、后解的质量和算法的运行时间动态更新,如下所示:

$ {\rho _h} = \left\{ \begin{gathered} \rho _h^{{\text{old}}}+0.01{t^*},\;{w_h} = 1; \\ 0.95\rho _h^{{\text{old}}},{\text{ }}{w_h} = 0. \\ \end{gathered} \right. $

式中:wh表示执行一次第h种邻域搜索操作后解质量是否改善,即wh = 1对应获得更好的新解,否则wh = 0;ρhold 为更新前的权重;t*为当前运行时间.

2.4. 精英表更新和种群多样性检测

精英表的更新过程如下. 当模因组每次组内搜索后得到的组内最优解pb优于表中最差解且不在表中时,将pb添加到精英表中. 在所有模因组完成搜索后,若种群中最优的Meme个个体优于表中的最差解且不在表中,则添加到精英表. 当经过自适应局部搜索后得到的个体优于表中最差解且不在表中时,将其添加到精英表. 当精英表超出容量时,从表中删除最差解.

为了保证种群个体的多样性,当全局最优个体在算法迭代5次后未得到改善时,检测种群中是否存在重复个体,将重复个体替换为随机生成个体.

2.5. HSFLA算法的步骤

图5给出HSFLA算法的流程图,HSFLA算法的具体步骤如下.

图 5

图 5   HSFLA算法的流程图

Fig.5   Flowchart of HSFLA


1)初始化算法种群及精英表.

2)对精英表执行局部搜索并更新精英表.

3)模因组划分.

4)开展模因组内搜索并更新精英表.

5)模因组合并.

6)开展种群多样性检测.

7)判断终止条件是否满足,若满足,则算法终止并输出最优结果;否则转至2).

3. 实验仿真与分析

为了测试HSFLA求解MDVCP-DR的性能,在不同算例上进行仿真实验. 与Gurobi求解器得到的最优解进行对比,再与SA[6]、ALNS[8]和IPGA[20]进行对比研究. 所有的测试算法均用MATLAB 2021a编程实现,运行环境为Inter-Core i5-10500H CPU @ 2.50 GHz、内存为16 GB的PC.

3.1. 实验算例及模型参数的设置

由于目前无直接可用的基准算例,参考开源网站http://www.vrp-rep.org/variants/item/cvrp. html设置算例,在数据集augerat-1995中的set-a、set-p和数据集christofides-et-al-1979-cmt中共选取12个算例,对这些算例进行调整,以满足实验要求. 具体调整如下. 随机选取10%的客户,将其属性改为只能由无人机访问. 所有客户对应的包裹质量调整为原质量的10%. 为每个算例添加2个客户,即超重点(坐标为[50, 50],包裹质量为20 kg)与超远点(坐标为[185, 185],包裹质量为5 kg). 调整后的算例记作FP01-121. 问题中涉及的客户、车辆及无人机的相关参数如表1所示.

表 1   客户、车辆和无人机的参数设置

Tab.1  Parameter setting of customer, vehicle and drone

参数数值
服务时间系数α/(h·kg−1)0.01
无人机发射时间tks/h0.03
无人机回收时间tke/h0.03
车辆行驶速度vt/(km·h−1)75
无人机飞行速度vu/(km·h−1)100
无人机最大载重量Lm/kg[5, 6, 7, 8, 9]
无人机最大飞行时间Ltime/h[0.50, 0.75, 1.00, 1.25, 1.50]

新窗口打开| 下载CSV


3.2. HSFLA算法的参数设置

HSFLA中有4个关键参数:种群规模NPOP、模因组个数Meme、模因组内搜索次数NM和局部搜索中邻域搜索次数LS. 采用实验设计方法(design of experiment, DOE)来确定4个关键参数的设置,选用FP08作为测试算例. 每个参数设置3个水平,参数水平设置和所使用的正交表见表23. 在每种参数组合下,算法在算例上独立运行10次,算法的终止条件设置为n秒(n为FP08的客户数,即为102 s). 将10次运行的平均结果作为响应值(response variable, RV)记录在表3中,其中最好RV标记为粗体. 基于表3的结果,将HSFLA算法的参数设置为NPOP = 72, Meme = 4, NM = 4, LS = 15.

表 2   HSFLA算法的参数设置

Tab.2  Parameter settings of HSFLA

参数水平
123
NPOP487296
Meme4812
NM246
LS51015

新窗口打开| 下载CSV


表 3   正交表L9(34)

Tab.3  Orthogonal table L9(34)

实验号参数水平RV
NPOPMemeNMLS
1111116.16
2122216.18
3133316.26
4212316.08
5223116.53
6231216.23
7313216.20
8321316.28
9332116.32

新窗口打开| 下载CSV


3.3. 算法性能验证

对于每个算例,每种仿真算法的终止条件均设置为最大运行时间n秒,即与问题的规模(客户点总数)相关,且算法单独运行10次. 算法在10次运行中的最好结果和平均结果分别记作BST和AVG,结果均保留2位小数.

3.3.1. HSFLA与Gurobi求解器的对比

为了验证模型的正确性和HSFLA的有效性,在不同规模的算例上开展HSFLA和Gurobi求解器的对比实验. 基于FP11生成分别含有6~17个客户点的算例,记作FP11_06~FP11_17,选择FP12和FP01为测试算例. FP11_06~FP11_17分别包含FP11中前4~15个客户点及超重点、超远点. 令Lm = 5 kg, Ltime = 0.5 h,Gurobi的终止时间设置为1 800 s. 表4中,每个算例对应的最好结果用粗体标注,‘*’表示Gurobi未找到算例的最优解,‘−’表示Gurobi在运行终止时未找到可行解,t为时间.

表 4   Gurobi和HSFLA算法的仿真结果

Tab.4  Simulation results of Gurobi and HSFLA

算例客户规模Gurobi 10.0HSFLA
BSTt/sBSTAVGt /s
FP11_0668.323.418.328.326.00
FP11_0778.4121.818.418.417.00
FP11_0888.41213.468.448.448.00
FP11_0998.441 311.378.448.449.00
FP11_10108.47*1 800.008.478.4710.00
FP11_11118.53*1 800.008.518.5611.00
FP11_12128.56*1 800.008.528.5912.00
FP11_13138.61*1 800.008.698.6913.00
FP11_14148.72*1 800.008.738.7414.00
FP11_15158.81*1 800.008.698.6915.00
FP11_16168.99*1 800.008.938.9516.00
FP11_17178.94*1 800.008.958.9617.00
FP12219.77*1 800.009.099.1321.00
FP01331 800.0013.0513.3133.00

新窗口打开| 下载CSV


表4可知,Gurobi能够为FP11_06~FP11_09寻得最优解,对于其余算例都无法获得最优解. 对比发现,HSFLA可以在短时间内求得最优解或高质量解,可见其具有较高的计算效率和寻优能力.

3.3.2. 消融实验

为了验证HSFLA算法中各个策略的有效性,在不同规模算例上开展算法的消融实验,即测试了HSFLA和其他3种HSFLA (HSFLA1、HSFLA2和HSFLA3)的性能. HSFLA1是将HSFLA的初始化策略除去后获得的,HSFLA2是将HSFLA中的自适应局部搜索策略除去后获得的,HSFLA3是将HSFLA中的种群多样性检测策略除去后获得的.

表5可知,HSFLA的表现明显优于HSFLA1和HSFLA2,验证了初始化策略、自适应局部搜索策略对于提升HSFLA性能的有效性. HSFLA和HSFLA3均为12个算例中的8个提供了最优BST,但是HSFLA在AVG方面表现更优,即利用种群多样性检测策略提高了HSFLA的稳定性.

表 5   消融实验的仿真结果

Tab.5  Simulation result of ablation study

算例客户规模HSFLA1HSFLA2HSFLA3HSFLA
BSTAVGBSTAVGBSTAVGBSTAVG
FP013313.1413.5613.0213.4712.9113.3813.1313.36
FP024614.5315.4014.3814.9313.5114.1713.5213.77
FP035614.5115.5214.0915.0814.0614.5813.8914.23
FP046615.5616.8915.9116.4914.8415.5014.7615.39
FP058119.1220.1221.9023.6418.1319.1316.2417.90
FP065212.7613.3613.0413.4612.3512.7512.3612.67
FP077715.8316.6015.7116.7514.2114.7214.2114.59
FP0810218.4819.7017.3818.2115.7516.2315.7516.16
FP0915221.9324.4322.7224.1418.8420.3319.3620.24
FP1020128.8331.8127.1928.7921.8122.6621.5722.44
FP11178.958.998.959.038.958.978.958.96
FP12219.189.299.099.349.099.209.099.21

新窗口打开| 下载CSV


3.3.3. HSFLA与不同算法的对比

为了验证算法的性能,选用SA[6]、ALNS[8]和IPGA[20]作为对比算法,对比算法的参数设置如表6所示. 表中,tp为运行时间,T0为初始温度,λ为反应参数,q为降温系数,L为链长.

表 6   对比算法的参数设置

Tab.6  Parameter setting of comparison algorithm

算法tp/sNPOPT0λqL
SAn10.010.902 000
ALNSn10.010.90.981
IPGAn100

新窗口打开| 下载CSV


考虑到MDVCP-DR中存在多种复杂约束,目前暂无其他策略可用于保证解的可行性,故对比算法中初始解的生成与编码解码均采用本文所提出的方法. SA的初始温度为T0 = 1 000[6],由于文献[6]的优化目标与本文考虑的目标不同,原参数不再适用,故参考文献[8]调整为0.01. 由于本文编码未包含客户由无人机或车辆服务的信息,须解码后获取,故ALNS邻域结构不再指定插入无人机路径还是车辆路径. Zhou等[20]采用顺序-断点的编码方式,本文仅使用顺序编码,故只采用IPGA中针对顺序的调整操作. 比较算法的其他方面与来源文献保持一致.

Lm = 5 kg, Ltime = 0.5 h,HSFLA、SA、ALNS和IPGA在FP01-12上的结果如表7所示. 每个算例对应的最好结果标记为粗体.

表 7   Lm = 5 kg, Ltime = 0.5 h时不同算法的仿真结果

Tab.7  Simulation result of different algorithm with Lm = 5 kg, Ltime = 0.5 h

算例原始算例客户规模SAALNSIPGAHSFLA
BSTAVGBSTAVGBSTAVGBSTAVG
FP01A-n32-k053313.3813.5713.3313.7515.5316.3613.1313.36
FP02A-n45-k064613.8014.6914.1514.8917.8018.7113.5213.77
FP03A-n55-k095614.1315.0513.9815.2918.8520.4313.8914.23
FP04A-n65-k096615.5816.5315.0416.3220.8422.0414.7615.39
FP05A-n80-k108119.5420.8919.0620.9528.9031.2216.2417.90
FP06CMT015213.0413.4113.1213.4214.9915.4012.3612.67
FP07CMT027715.2216.0815.6516.3219.7920.2714.2114.59
FP08CMT0310217.3817.8617.1217.7020.9421.5915.7516.16
FP09CMT0415222.8523.7121.4622.7628.7229.9019.3620.24
FP10CMT0520123.8524.5025.8627.5333.6434.7021.5722.44
FP11P-n016-k08178.969.048.959.049.279.408.958.96
FP12P-n020-k02219.169.339.109.419.599.859.099.21

新窗口打开| 下载CSV


表7可知,HSFLA在所有算例上的BST与AVG结果均优于其他比较算法,表明HSFLA对求解MDVCP-DR具有优异的性能. 随着客户规模的增大,HSFLA相较于其他算法的优势更加明显.

3.3.4. 灵敏度分析

为了探究算法在不同无人机参数下的灵敏度,测试算法在不同的无人机续航和载重上限组合下的性能. 选取具有102个客户的大规模算例FP08作为测试算例. 所有算法在每个LmLtime组合下单独运行10次,10次运行的AVG记录到表8中,每个实验对应的最好结果标记为粗体. 为了更直观地展示结果,如图6所示为每个实验的AVG结果. 图中,tF为平均总配送时间.

表 8   不同无人机参数下算法在算例FP08上的结果

Tab.8  Result of different algorithm on FP08 under different drone parameter

实验号Lm/kgLtime/hAVG实验号Lm/kgLtime/hAVG
SAALNSIPGAHSFLASAALNSIPGAHSFLA
150.517.0916.7821.1816.091471.2515.2315.1817.7014.91
250.7516.0215.9418.9815.581571.515.2815.3217.7914.90
35115.9315.8818.3615.281680.517.2416.7520.9415.74
451.2515.7315.7318.3715.281780.7516.1215.7118.2615.09
551.515.9015.9318.3515.09188115.4515.4518.0514.79
660.517.1816.6521.4316.001981.2515.2615.2917.9014.68
760.7516.0715.9618.6615.112081.515.2715.1417.6214.75
86115.7115.5518.0515.092190.517.1516.6820.8015.85
961.2515.5115.6117.9714.962290.7516.0916.0118.3015.16
1061.515.5715.4817.9215.06239115.3615.6218.0615.01
1170.516.8316.8621.0616.172491.2515.2915.3217.4914.78
1270.7515.8816.0118.4615.212591.514.9814.8717.4114.67
137115.5415.4817.9914.87

新窗口打开| 下载CSV


图 6

图 6   不同算法的对比

Fig.6   Comparison of different algorithm


表8的实验结果可知,HSFLA的结果均优于其他对比算法,说明无人机参数的变动对算法性能无干扰,即HSFLA的优化性能不会因为问题中参数的变动而受到影响. HSFLA在求解具有不同无人机参数的MDVCP-DR时有很好的稳定性,能够求得优质解.

图6可知,随着LmLtime的增大,配送完成时间下降. 当一个参数值保持不变,只增大另一个参数值时,增大参数对配送时间的改善效果会逐渐下降. 结果表明,当无人机续航和载重上限同时增大时,无人机能够完成更多的配送任务,可以更大幅度地减少总配送时间.

4. 结 语

本文解决了运输工具配送范围受到限制的无人机起飞后可服务多个客户的VCP,提出HSFLA,以最小化总配送时间.建立所研究问题的数学模型,设计HSFLA的编码与预调整解码、种群初始化、模因组搜索、自适应局部搜索、精英表更新和种群多样性检测6个部分,通过仿真实验验证了HSFLA的有效性.

本文研究的MDVCP-DR中运输工具配送范围受到的限制比较符合现实中由环境、政策及特殊事件带来的配送影响,因此具有很好的现实性和应用价值. 鉴于目前对MDVCP-DR的研究仍处于初步阶段,后续研究中将继续关注以下几个方面. 1)建立具有更好优化能力的求解算法. 2)考虑符合现实需求的其他约束,如多车辆、多无人机、时间窗约束及道路情况变动对客户的动态影响. 3)考虑优化其他性能指标,如费用、能耗.

1算例详情见https://pan.baidu.com/s/12K-Z03DyMnqpkqmYlUhneQ?pwd=1111. 提取码:1111.

参考文献

MURRAY C C, CHU A G

The flying sidekick traveling salesman problem: optimization of drone-assisted parcel delivery

[J]. Transportation Research Part C: Emerging Technologies, 2015, 54: 86- 109

DOI:10.1016/j.trc.2015.03.005      [本文引用: 2]

GRIFFITH E F, SCHURER J M, MAWINDO B, et al

The use of drones to deliver rift valley fever vaccines in rwanda: perceptions and recommendations

[J]. Vaccines, 2023, 11 (3): 605

DOI:10.3390/vaccines11030605     

WEN X P, WU G H

Heterogeneous multi-drone routing problem for parcel delivery

[J]. Transportation Research Part C: Emerging Technologies, 2022, 141: 103763

DOI:10.1016/j.trc.2022.103763      [本文引用: 1]

AGATZ N, BOUMAN P, SCHMIDT M

Optimization approaches for the traveling salesman problem with drone

[J]. Transportation Science, 2018, 52 (4): 965- 981

DOI:10.1287/trsc.2017.0791      [本文引用: 1]

GONZALEZ-R P L, CANCA D, ANDRADE-PINEDA J L, et al

Truck-drone team logistics: a heuristic approach to multi-drop route planning

[J]. Transportation Research Part C: Emerging Technologies, 2020, 114: 657- 680

DOI:10.1016/j.trc.2020.02.030      [本文引用: 2]

柳伍生, 李旺, 周清, 等

“无人机-车辆”配送路径优化模型与算法

[J]. 交通运输系统工程与信息, 2021, 21 (6): 176- 186

[本文引用: 5]

LIU Wusheng, LI Wang, ZHOU Qing, et al

“Drone-Vehicle” distribution routing optimization model

[J]. Journal of Transportation Systems Engineering and Information Technology, 2021, 21 (6): 176- 186

[本文引用: 5]

LUO Z H, POON M, ZHANG Z Z, et al

The multi-visit traveling salesman problem with multi-drones

[J]. Transportation Research Part C: Emerging Technologies, 2021, 128: 103172

DOI:10.1016/j.trc.2021.103172      [本文引用: 1]

伍国华, 毛妮, 徐彬杰, 等

基于自适应大规模邻域搜索算法的多车辆与多无人机协同配送方法

[J]. 控制与决策, 2023, 38 (1): 201- 210

[本文引用: 4]

WU Guohua, MAO Ni, XU Binjie, et al

The cooperative delivery of multiple vehicles and multiple drones based on adaptive large neighborhood search

[J]. Control and Decision, 2023, 38 (1): 201- 210

[本文引用: 4]

GU R X, POON M, LUO Z H, et al

A hierarchical solution evaluation method and a hybrid algorithm for the vehicle routing problem with drones and multiple visits

[J]. Transportation Research Part C: Emerging Technologies, 2022, 141: 103733

DOI:10.1016/j.trc.2022.103733      [本文引用: 1]

MARA S T W, RIFAI A P, SOPHA B M

An adaptive large neighborhood search heuristic for the flying sidekick traveling salesman problem with multiple drops

[J]. Expert Systems with Applications, 2022, 205: 117647

DOI:10.1016/j.eswa.2022.117647      [本文引用: 1]

杜茂康, 罗娟, 李博文

基于多车场的车载无人机协同配送路径优化

[J]. 系统工程, 2021, 39 (6): 90- 98

[本文引用: 1]

DU Maokang, LUO Juan, LI Bowen

Research on cooperative delivery route optimization of vehicle-carried drones based on multi-depot

[J]. Systems Engineering, 2021, 39 (6): 90- 98

[本文引用: 1]

范厚明, 张跃光, 田攀俊

时变路网下多中心电动车-无人机协同配送路径优化

[J]. 管理工程学报, 2023, 37 (2): 131- 142

FAN Houming, ZHANG Yueguang, TIAN Panjun

Multi-depot electric vehicle routing problem with drones under time-dependent networks

[J]. Journal of Industrial Engineering and Engineering Management, 2023, 37 (2): 131- 142

吴廷映, 陶新月, 孟婷

“卡车+无人机”模式下带时间窗的取送货车辆路径问题

[J]. 计算机集成制造系统, 2023, 29 (7): 2440- 2448

WU Tingying, TAO Xinyue, MENG Ting

Pickup and delivery problem with time windows in mode of “truck +drone”

[J]. Computer Integrated Manufacturing Systems, 2023, 29 (7): 2440- 2448

DAS D N, SEWANI R, WANG J W, et al

Synchronized truck and drone routing in package delivery logistics

[J]. IEEE Transactions on Intelligent Transportation Systems, 2020, 22 (9): 5772- 5782

KUO R J, LU S H, LAI P Y, et al

Vehicle routing problem with drones considering time windows

[J]. Expert Systems with Applications, 2022, 191: 116264

DOI:10.1016/j.eswa.2021.116264     

LUO Q Z, WU G H, JI B, et al

Hybrid multi-objective optimization approach with pareto local search for collaborative truck-drone routing problems considering flexible time windows

[J]. IEEE Transactions on Intelligent Transportation Systems, 2021, 23 (8): 13011- 13025

[本文引用: 1]

彭勇, 黎元钧

考虑疫情影响的卡车无人机协同配送路径优化

[J]. 中国公路学报, 2020, 33 (11): 73- 82

[本文引用: 1]

PENG Yong, LI Yuanjun

Optimization of truck-drone collaborative distribution route considering impact of epidemic

[J]. China Journal of Highway and Transport, 2020, 33 (11): 73- 82

[本文引用: 1]

颜瑞, 陈立双, 朱晓宁, 等

考虑区域限制的卡车搭载无人机车辆路径问题研究

[J]. 中国管理科学, 2022, 30 (5): 144- 155

[本文引用: 1]

YAN Rui, CHEN Lishuang, ZHU Xiaoning, et al

Research on vehicle routing problem with truck and drone considering regional restriction

[J]. Chinese Journal of Management Science, 2022, 30 (5): 144- 155

[本文引用: 1]

EUSUFF M, LANSEY K, PASHA F

Shuffled frog-leaping algorithm: a memetic meta-heuristic for discrete optimization

[J]. Engineering Optimization, 2006, 38 (2): 129- 154

DOI:10.1080/03052150500384759      [本文引用: 1]

ZHOU H L, SONG M L, PEDRYCZ W

A comparative study of improved GA and PSO in solving multiple traveling salesmen problem

[J]. Applied Soft Computing, 2018, 64: 564- 580

DOI:10.1016/j.asoc.2017.12.031      [本文引用: 3]

/