混合蛙跳算法求解车辆无人机协同配送问题
Hybrid shuffled frog leaping algorithm for solving vehicle-dronecooperative delivery problem
通讯作者:
收稿日期: 2023-10-8
基金资助: |
|
Received: 2023-10-8
Fund supported: | 国家自然科学基金资助项目(62103062,71971029);长安大学中央高校基本科研业务费专项资金资助项目(300102322101). |
作者简介 About authors
段浩浩(1999—),男,硕士生,从事车辆路径优化的研究.orcid.org/0009-0009-5535-0503.E-mail:
为了充分发挥无人机与车辆各自的优势,研究无人机起飞后可服务多个客户的车辆-无人机协同配送问题,其中考虑了车辆因区域限制、无人机因载重和续航限制导致2类运输工具配送范围均受到限制的约束. 针对这类运输工具配送受限的车辆-多投递无人机协同配送问题(MDVCP-DR),以最小化总配送时间为优化目标,建立对应的数学模型,提出混合蛙跳算法(HSFLA)进行求解. 提出新的编码与预调整解码方法,得到满足各种约束的可行解. 建立基于4种交叉算子和精英表的个体生成方法,更新种群中的个体. 设计自适应局部搜索策略来增强算法的局部开发能力,通过种群多样性检测策略来保证个体的多样性. 通过仿真实验,验证了建立的数学模型的正确性和HSFLA的有效性.
关键词:
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:
本文引用格式
段浩浩, 李晓玲, 路庆昌, 林杉.
DUAN Haohao, LI Xiaoling, LU Qingchang, LIN Shan.
无人机在物流方面的应用得到了大量企业和研究者的关注. 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].
综上所述,现阶段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
1) 配送中心位置已知,客户的位置、货物需求量和服务时间均已知. 客户集中存在因区域限制导致车辆不可到达的客户点,即只能无人机配送的客户,也存在无人机无法配送的超重点、超远点.
2) 超重点为货物需求量超出无人机载重上限的客户点. 对于一个客户点,若到最邻近2个客户点的距离和超出无人机续航上限,则称为超远点. 超重点和超远点只能由车辆配送. 除超重点、超远点和车辆不可达客户点外,其余客户点车辆和无人机均可服务.
3) 在配送过程中,每个客户只能被车辆或无人机服务一次,车辆和无人机共同访问的客户(车辆载着无人机访问或无人机在该客户点从车辆起飞或降落)由车辆进行配送服务,车辆(无人机)单独访问的客户由车辆(无人机)服务.
4) 车辆无载重和续航限制,无人机的载重限制和续航时间已知.
5) 2个客户之间的实际配送距离取决于配送工具,即无人机的配送距离为客户之间的欧式距离,车辆的配送距离为曼哈顿距离.
6) 对于仅无人机可配送的客户,货物质量不会超过无人机的载重限制.
7) 无人机从车辆起飞后,车辆和无人机均可以服务多个客户.
8) 当无人机返回车辆时,无人机(车辆)在满足约束的前提下可以等待车辆(无人机).
9) 无人机的起飞、降落、服务客户及等待降落时的悬停飞行均消耗电量.
10) 在无人机起飞前,车辆须完成对当前客户的服务,降落时允许其打断车辆对当前客户的服务.
11) 无人机无电池数量或充电次数的约束.
图 1
1.2. 数学模型
以总配送时间为优化目标,建立MDVCP-DR的数学模型.
1) 目标函数为
式中:
2) 配送约束.
根据客户属性和配送工具所受到的限制,可以将问题中的客户划分为3类:仅车辆可服务、仅无人机可服务以及车辆和无人机均可服务. 车辆和无人机服务客户须满足的约束条件如下.
式中: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
3) 配送点集划分如下.
式中:sk为第k次子配送的起点;ek为第k次子配送的终点;S为所有子配送的起点集合,S = {sk | k∈K};Nku为第k次子配送中无人机单独访问的客户集合;Nkt为第k次子配送中车辆单独访问的客户集合;Setk为第k次子配送访问的客户集合,Setk = {sk}∪Nkt∪Nku∪{ek} = Ckt∪Cku,其中Ckt = {sk}∪Nkt∪{ek}为第k次子配送中车辆访问的客户集合,Cku = {sk}∪Nku∪{ek}为第k次子配送中无人机访问的客户集合. 式(13)~(16)表示子配送的起、终点约束,其中第k+1次子配送的起点为第k次子配送的终点. 式(17)、(18)保证客户可以全部被服务,且所有子配送的交集为它们起点的集合. 式(19)保证第k次子配送由车辆携带无人机完成,或者车辆、无人机分别完成.
4) 子配送路径载重及耗时约束如下:
式中:dij为客户i到j的欧式距离;dijm为客户i到j的曼哈顿距离;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
编码过程中没有考虑无人机和车辆的具体分配,也没有考虑问题中的客户配送约束、无人机载重和续航限制等强约束,因此编码得到的个体是不可行的,即不是最终的配送路径. 本文提出预调整策略和解码策略,称为预调整解码策略,保证解的可行性,即通过对个体进行预调整解码,得到可行的配送方案. 对于算法中的个体,均须执行预调整解码.
预调整策略. 由于问题中存在运输工具配送范围受限的约束,预调整策略旨在保证该约束得以满足. 为了方便说明,定义了2类路径:η类路径和θ类路径. η类路径表示为{nj,s, nj,1, nj,2
η类路径可拆分得到多个θ类路径,例如1个η类路径{nj,s, nj,1, nj,2
图 2
给定X,预调整策略的具体步骤如下.
1)∀nu∈Nu,令Au = ∅,Au用于记录当无人机服务客户点nu时可以作为起飞、降落点的备选客户点. 寻找nu最邻近的一个客户nx,令Au = Au∪{nx}. 在剩余客户中找到满足续航约束的所有客户,即如果∃na∈N\ (Nu∪{nx})满足dxu+dau ≤ vuLtime,则Au = Au∪{na}. 在Au中选出2个满足续航约束的客户分别作为nj,s和nj,e,可得θ类路径{nj,s, nu, nj,e}. 类似地,可以找到所有满足约束的θ类路径,即得到Φu.
2)检查X中是否存在η类路径,对每个η类路径进行无人机载重、续航约束检验,若满足约束,则将η类路径拆分为θ类路径. 对于不满足约束的η类路径,为每个nu∈Nu在Φu中随机选择一个θ类路径.
3)检查Nu中每个客户对应的θ类路径,若存在多个nj,s和nj,e相同的θ类路径,则合并其为η类路径. 当只有一个θ类路径包含nj,s和nj,e时,该θ类路径可以直接作为η类路径.
4)对每个η类路径进行无人机载重和续航约束检验,若满足约束,则将nj,s和nj′,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′,将η′路径序列插入到X中nu′所在位置并删除X中的冲突元素,新得到的序列记为Xnew.
解码策略. 解码策略旨在保证解序列能够满足无人机的载重和续航约束,得到可行解. 为了保证解的质量,在解码过程中使用无人机优先配送原则以及子配送路径中车辆与无人机耗时尽可能相近的原则. 给定预调整得到的Xnew,若其中包含配送中心0(nj,s或nj,e为配送中心0),则将Xnew中0之前子序列移动至最后一个元素之后,并删除0,例如由Xnew = {xn-1, xn, 0, x1, x2
算法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
算法的输出为可行解B = (ID, NA),其中ID = {id0, id1
算法1中使用到的符号及对应含义如下. seq用于记录当前子配送路径中的客户,seqt和sequ分别用于记录子配送路径中分配给车辆和无人机的客户,td和td′用于记录tku与tkt差的绝对值,Ntemp用于记录在sequ中最后一个客户点nu∈Nu之后所分配的客户点na∈N1. 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,
模因组内搜索分为2个步骤.
1) 新个体生成. 采用4种交叉算子(order crossover, OX)来生成新个体,其中每个模因组选定一种OX. 4种OX如图3所示,其中X1和X2为2个选定个体,Snew1和Snew2为新生成个体.
图 3
OX1. 在[1, n]随机生成r1和r2 (r2 > r1)作为交叉段的起点和终点. 将X1的交叉段复制到Snew1相应的位置,对X2进行冲突性检测,即将X2中与交叉段相同的元素删除. 将X2中的剩余元素从左到右依次填入Snew1. 由X2提供交叉段,类似地,可以生成Snew2.
OX2. 在[1, n]随机生成r1和r2 (r2 > r1),作为交叉段的起点和终点. 将X1的交叉段复制到Snew1相应的位置,对X2进行冲突性检测. 将X2中的剩余元素从位置r3+1(X1的第r1和r2个元素对应X2中的第r1′和r2′个元素,r3 = max{r1′, r2′})开始依次填入Snew1. 类似地,由X2提供交叉段来生成Snew2.
OX3. 在[1, n]随机生成r1和r2 (r2 > r1),作为交叉段的起点和终点. 将X1的交叉段复制到Snew1相应的位置,对X2进行冲突性检测. 将X2中的剩余元素从左到右依次填入Snew1. 在[1, n]随机生成r3和r4 (r4 > r3)作为交叉段的起点和终点,由X2提供交叉段,类似地可生成Snew2.
OX4. 在[1, n]随机生成r1、r2、r3和r4 (r4 > r3> r2> r1),分别将r1和r3(r2和r4)作为2个交叉段的起点(终点). 将X1的2个交叉段复制到Snew1相应的位置,对X2进行冲突性检测. 将X2中的剩余元素从左到右依次填入Snew1. 采用类似的方式,由X2提供2个交叉段,可以生成另一个新个体Snew2.
2) 个体更新. 每个模因组执行NM次组内搜索. 在每次搜索中,基于个体适应度的倒数采用轮盘赌法选择精英表中的一个个体,记作pl. 对pl和模因组内最差的个体pw执行交叉操作,得到2个新解. 若新解优于pw,则替换pw;否则对全局最优个体gb与pw执行交叉操作,得到2个新解,若新解优于pw,则替换pw;否则随机生成一个个体,并将其与gb进行交叉操作,得到2个新解,若新解优于pw,则替换pw.
2.3. 自适应局部搜索
为了提升算法的搜索能力,提出自适应局部搜索策略,其中采用4种邻域搜索操作.
1) 单元素交换操作(single point swap, SPS). 随机在X中选择2个客户进行交换,如图4(a)所示.
图 4
2) 随机插入操作(random insert, RI). 随机选取一个客户,插入到其他任意位置,如图4(b)所示.
3) 最邻近插入操作(nearest insert, NI). 随机选取1—n/10个客户,将每个客户插入到其最邻近客户点的前/后一个位置,如图4(c)所示.
4) 2元素优化(2-optimization, 2-opt). 随机选取一段序列进行反转,如图4(d)所示.
在局部搜索中,精英表中的每个个体执行LS次邻域搜索操作,每次使用的操作算子自适应选定. 每次搜索后,若新个体更优,则保留,否则保留原来的个体. 具体过程如下:令ρh和Ph(h = 1, 2, 3, 4)分别为SPS、RI、NI和2-opt的选择权重和概率,初始化为ρh = 1和Ph = 0.25. 在迭代过程中,操作算子的选择概率Ph按下式更新,且采用轮盘赌法选取操作算子.
当Ph<0.1时,将其重置为Ph = 0.1,从而保证4类邻域搜索算子均能够得以应用.
此外,每个邻域搜索算子的选择权重ρh根据搜索操作前、后解的质量和算法的运行时间动态更新,如下所示:
式中:wh表示执行一次第h种邻域搜索操作后解质量是否改善,即wh = 1对应获得更好的新解,否则wh = 0;ρhold 为更新前的权重;t*为当前运行时间.
2.4. 精英表更新和种群多样性检测
精英表的更新过程如下. 当模因组每次组内搜索后得到的组内最优解pb优于表中最差解且不在表中时,将pb添加到精英表中. 在所有模因组完成搜索后,若种群中最优的Meme个个体优于表中的最差解且不在表中,则添加到精英表. 当经过自适应局部搜索后得到的个体优于表中最差解且不在表中时,将其添加到精英表. 当精英表超出容量时,从表中删除最差解.
为了保证种群个体的多样性,当全局最优个体在算法迭代5次后未得到改善时,检测种群中是否存在重复个体,将重复个体替换为随机生成个体.
2.5. HSFLA算法的步骤
图5给出HSFLA算法的流程图,HSFLA算法的具体步骤如下.
图 5
1)初始化算法种群及精英表.
2)对精英表执行局部搜索并更新精英表.
3)模因组划分.
4)开展模因组内搜索并更新精英表.
5)模因组合并.
6)开展种群多样性检测.
7)判断终止条件是否满足,若满足,则算法终止并输出最优结果;否则转至2).
3. 实验仿真与分析
3.1. 实验算例及模型参数的设置
由于目前无直接可用的基准算例,参考开源网站
表 1 客户、车辆和无人机的参数设置
Tab.1
参数 | 数值 |
服务时间系数α/(h·kg−1) | 0.01 |
无人机发射时间tks/h | 0.03 |
无人机回收时间tke/h | 0.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] |
3.2. HSFLA算法的参数设置
HSFLA中有4个关键参数:种群规模NPOP、模因组个数Meme、模因组内搜索次数NM和局部搜索中邻域搜索次数LS. 采用实验设计方法(design of experiment, DOE)来确定4个关键参数的设置,选用FP08作为测试算例. 每个参数设置3个水平,参数水平设置和所使用的正交表见表2、3. 在每种参数组合下,算法在算例上独立运行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
参数 | 水平 | ||
1 | 2 | 3 | |
NPOP | 48 | 72 | 96 |
Meme | 4 | 8 | 12 |
NM | 2 | 4 | 6 |
LS | 5 | 10 | 15 |
表 3 正交表L9(34)
Tab.3
实验号 | 参数水平 | RV | |||
NPOP | Meme | NM | LS | ||
1 | 1 | 1 | 1 | 1 | 16.16 |
2 | 1 | 2 | 2 | 2 | 16.18 |
3 | 1 | 3 | 3 | 3 | 16.26 |
4 | 2 | 1 | 2 | 3 | 16.08 |
5 | 2 | 2 | 3 | 1 | 16.53 |
6 | 2 | 3 | 1 | 2 | 16.23 |
7 | 3 | 1 | 3 | 2 | 16.20 |
8 | 3 | 2 | 1 | 3 | 16.28 |
9 | 3 | 3 | 2 | 1 | 16.32 |
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
算例 | 客户规模 | Gurobi 10.0 | HSFLA | ||||
BST | t/s | BST | AVG | t /s | |||
FP11_06 | 6 | 8.32 | 3.41 | 8.32 | 8.32 | 6.00 | |
FP11_07 | 7 | 8.41 | 21.81 | 8.41 | 8.41 | 7.00 | |
FP11_08 | 8 | 8.41 | 213.46 | 8.44 | 8.44 | 8.00 | |
FP11_09 | 9 | 8.44 | 1 311.37 | 8.44 | 8.44 | 9.00 | |
FP11_10 | 10 | 8.47* | 1 800.00 | 8.47 | 8.47 | 10.00 | |
FP11_11 | 11 | 8.53* | 1 800.00 | 8.51 | 8.56 | 11.00 | |
FP11_12 | 12 | 8.56* | 1 800.00 | 8.52 | 8.59 | 12.00 | |
FP11_13 | 13 | 8.61* | 1 800.00 | 8.69 | 8.69 | 13.00 | |
FP11_14 | 14 | 8.72* | 1 800.00 | 8.73 | 8.74 | 14.00 | |
FP11_15 | 15 | 8.81* | 1 800.00 | 8.69 | 8.69 | 15.00 | |
FP11_16 | 16 | 8.99* | 1 800.00 | 8.93 | 8.95 | 16.00 | |
FP11_17 | 17 | 8.94* | 1 800.00 | 8.95 | 8.96 | 17.00 | |
FP12 | 21 | 9.77* | 1 800.00 | 9.09 | 9.13 | 21.00 | |
FP01 | 33 | — | 1 800.00 | 13.05 | 13.31 | 33.00 |
从表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
算例 | 客户规模 | HSFLA1 | HSFLA2 | HSFLA3 | HSFLA | |||||||
BST | AVG | BST | AVG | BST | AVG | BST | AVG | |||||
FP01 | 33 | 13.14 | 13.56 | 13.02 | 13.47 | 12.91 | 13.38 | 13.13 | 13.36 | |||
FP02 | 46 | 14.53 | 15.40 | 14.38 | 14.93 | 13.51 | 14.17 | 13.52 | 13.77 | |||
FP03 | 56 | 14.51 | 15.52 | 14.09 | 15.08 | 14.06 | 14.58 | 13.89 | 14.23 | |||
FP04 | 66 | 15.56 | 16.89 | 15.91 | 16.49 | 14.84 | 15.50 | 14.76 | 15.39 | |||
FP05 | 81 | 19.12 | 20.12 | 21.90 | 23.64 | 18.13 | 19.13 | 16.24 | 17.90 | |||
FP06 | 52 | 12.76 | 13.36 | 13.04 | 13.46 | 12.35 | 12.75 | 12.36 | 12.67 | |||
FP07 | 77 | 15.83 | 16.60 | 15.71 | 16.75 | 14.21 | 14.72 | 14.21 | 14.59 | |||
FP08 | 102 | 18.48 | 19.70 | 17.38 | 18.21 | 15.75 | 16.23 | 15.75 | 16.16 | |||
FP09 | 152 | 21.93 | 24.43 | 22.72 | 24.14 | 18.84 | 20.33 | 19.36 | 20.24 | |||
FP10 | 201 | 28.83 | 31.81 | 27.19 | 28.79 | 21.81 | 22.66 | 21.57 | 22.44 | |||
FP11 | 17 | 8.95 | 8.99 | 8.95 | 9.03 | 8.95 | 8.97 | 8.95 | 8.96 | |||
FP12 | 21 | 9.18 | 9.29 | 9.09 | 9.34 | 9.09 | 9.20 | 9.09 | 9.21 |
3.3.3. HSFLA与不同算法的对比
表 6 对比算法的参数设置
Tab.6
算法 | tp/s | NPOP | T0 | λ | q | L |
SA | n | 1 | 0.01 | — | 0.90 | 2 000 |
ALNS | n | 1 | 0.01 | 0.9 | 0.98 | 1 |
IPGA | n | 100 | — | — | — | — |
令Lm = 5 kg, Ltime = 0.5 h,HSFLA、SA、ALNS和IPGA在FP01-12上的结果如表7所示. 每个算例对应的最好结果标记为粗体.
表 7 当Lm = 5 kg, Ltime = 0.5 h时不同算法的仿真结果
Tab.7
算例 | 原始算例 | 客户规模 | SA | ALNS | IPGA | HSFLA | |||||||
BST | AVG | BST | AVG | BST | AVG | BST | AVG | ||||||
FP01 | A-n32-k05 | 33 | 13.38 | 13.57 | 13.33 | 13.75 | 15.53 | 16.36 | 13.13 | 13.36 | |||
FP02 | A-n45-k06 | 46 | 13.80 | 14.69 | 14.15 | 14.89 | 17.80 | 18.71 | 13.52 | 13.77 | |||
FP03 | A-n55-k09 | 56 | 14.13 | 15.05 | 13.98 | 15.29 | 18.85 | 20.43 | 13.89 | 14.23 | |||
FP04 | A-n65-k09 | 66 | 15.58 | 16.53 | 15.04 | 16.32 | 20.84 | 22.04 | 14.76 | 15.39 | |||
FP05 | A-n80-k10 | 81 | 19.54 | 20.89 | 19.06 | 20.95 | 28.90 | 31.22 | 16.24 | 17.90 | |||
FP06 | CMT01 | 52 | 13.04 | 13.41 | 13.12 | 13.42 | 14.99 | 15.40 | 12.36 | 12.67 | |||
FP07 | CMT02 | 77 | 15.22 | 16.08 | 15.65 | 16.32 | 19.79 | 20.27 | 14.21 | 14.59 | |||
FP08 | CMT03 | 102 | 17.38 | 17.86 | 17.12 | 17.70 | 20.94 | 21.59 | 15.75 | 16.16 | |||
FP09 | CMT04 | 152 | 22.85 | 23.71 | 21.46 | 22.76 | 28.72 | 29.90 | 19.36 | 20.24 | |||
FP10 | CMT05 | 201 | 23.85 | 24.50 | 25.86 | 27.53 | 33.64 | 34.70 | 21.57 | 22.44 | |||
FP11 | P-n016-k08 | 17 | 8.96 | 9.04 | 8.95 | 9.04 | 9.27 | 9.40 | 8.95 | 8.96 | |||
FP12 | P-n020-k02 | 21 | 9.16 | 9.33 | 9.10 | 9.41 | 9.59 | 9.85 | 9.09 | 9.21 |
从表7可知,HSFLA在所有算例上的BST与AVG结果均优于其他比较算法,表明HSFLA对求解MDVCP-DR具有优异的性能. 随着客户规模的增大,HSFLA相较于其他算法的优势更加明显.
3.3.4. 灵敏度分析
表 8 不同无人机参数下算法在算例FP08上的结果
Tab.8
实验号 | Lm/kg | Ltime/h | AVG | 实验号 | Lm/kg | Ltime/h | AVG | |||||||
SA | ALNS | IPGA | HSFLA | SA | ALNS | IPGA | HSFLA | |||||||
1 | 5 | 0.5 | 17.09 | 16.78 | 21.18 | 16.09 | 14 | 7 | 1.25 | 15.23 | 15.18 | 17.70 | 14.91 | |
2 | 5 | 0.75 | 16.02 | 15.94 | 18.98 | 15.58 | 15 | 7 | 1.5 | 15.28 | 15.32 | 17.79 | 14.90 | |
3 | 5 | 1 | 15.93 | 15.88 | 18.36 | 15.28 | 16 | 8 | 0.5 | 17.24 | 16.75 | 20.94 | 15.74 | |
4 | 5 | 1.25 | 15.73 | 15.73 | 18.37 | 15.28 | 17 | 8 | 0.75 | 16.12 | 15.71 | 18.26 | 15.09 | |
5 | 5 | 1.5 | 15.90 | 15.93 | 18.35 | 15.09 | 18 | 8 | 1 | 15.45 | 15.45 | 18.05 | 14.79 | |
6 | 6 | 0.5 | 17.18 | 16.65 | 21.43 | 16.00 | 19 | 8 | 1.25 | 15.26 | 15.29 | 17.90 | 14.68 | |
7 | 6 | 0.75 | 16.07 | 15.96 | 18.66 | 15.11 | 20 | 8 | 1.5 | 15.27 | 15.14 | 17.62 | 14.75 | |
8 | 6 | 1 | 15.71 | 15.55 | 18.05 | 15.09 | 21 | 9 | 0.5 | 17.15 | 16.68 | 20.80 | 15.85 | |
9 | 6 | 1.25 | 15.51 | 15.61 | 17.97 | 14.96 | 22 | 9 | 0.75 | 16.09 | 16.01 | 18.30 | 15.16 | |
10 | 6 | 1.5 | 15.57 | 15.48 | 17.92 | 15.06 | 23 | 9 | 1 | 15.36 | 15.62 | 18.06 | 15.01 | |
11 | 7 | 0.5 | 16.83 | 16.86 | 21.06 | 16.17 | 24 | 9 | 1.25 | 15.29 | 15.32 | 17.49 | 14.78 | |
12 | 7 | 0.75 | 15.88 | 16.01 | 18.46 | 15.21 | 25 | 9 | 1.5 | 14.98 | 14.87 | 17.41 | 14.67 | |
13 | 7 | 1 | 15.54 | 15.48 | 17.99 | 14.87 | — | — | — | — | — | — | — |
图 6
从表8的实验结果可知,HSFLA的结果均优于其他对比算法,说明无人机参数的变动对算法性能无干扰,即HSFLA的优化性能不会因为问题中参数的变动而受到影响. HSFLA在求解具有不同无人机参数的MDVCP-DR时有很好的稳定性,能够求得优质解.
从图6可知,随着Lm和Ltime的增大,配送完成时间下降. 当一个参数值保持不变,只增大另一个参数值时,增大参数对配送时间的改善效果会逐渐下降. 结果表明,当无人机续航和载重上限同时增大时,无人机能够完成更多的配送任务,可以更大幅度地减少总配送时间.
4. 结 语
本文解决了运输工具配送范围受到限制的无人机起飞后可服务多个客户的VCP,提出HSFLA,以最小化总配送时间.建立所研究问题的数学模型,设计HSFLA的编码与预调整解码、种群初始化、模因组搜索、自适应局部搜索、精英表更新和种群多样性检测6个部分,通过仿真实验验证了HSFLA的有效性.
本文研究的MDVCP-DR中运输工具配送范围受到的限制比较符合现实中由环境、政策及特殊事件带来的配送影响,因此具有很好的现实性和应用价值. 鉴于目前对MDVCP-DR的研究仍处于初步阶段,后续研究中将继续关注以下几个方面. 1)建立具有更好优化能力的求解算法. 2)考虑符合现实需求的其他约束,如多车辆、多无人机、时间窗约束及道路情况变动对客户的动态影响. 3)考虑优化其他性能指标,如费用、能耗.
参考文献
The flying sidekick traveling salesman problem: optimization of drone-assisted parcel delivery
[J].DOI:10.1016/j.trc.2015.03.005 [本文引用: 2]
The use of drones to deliver rift valley fever vaccines in rwanda: perceptions and recommendations
[J].
Heterogeneous multi-drone routing problem for parcel delivery
[J].DOI:10.1016/j.trc.2022.103763 [本文引用: 1]
Optimization approaches for the traveling salesman problem with drone
[J].DOI:10.1287/trsc.2017.0791 [本文引用: 1]
Truck-drone team logistics: a heuristic approach to multi-drop route planning
[J].DOI:10.1016/j.trc.2020.02.030 [本文引用: 2]
“无人机-车辆”配送路径优化模型与算法
[J].
“Drone-Vehicle” distribution routing optimization model
[J].
The multi-visit traveling salesman problem with multi-drones
[J].DOI:10.1016/j.trc.2021.103172 [本文引用: 1]
基于自适应大规模邻域搜索算法的多车辆与多无人机协同配送方法
[J].
The cooperative delivery of multiple vehicles and multiple drones based on adaptive large neighborhood search
[J].
A hierarchical solution evaluation method and a hybrid algorithm for the vehicle routing problem with drones and multiple visits
[J].DOI:10.1016/j.trc.2022.103733 [本文引用: 1]
An adaptive large neighborhood search heuristic for the flying sidekick traveling salesman problem with multiple drops
[J].DOI:10.1016/j.eswa.2022.117647 [本文引用: 1]
基于多车场的车载无人机协同配送路径优化
[J].
Research on cooperative delivery route optimization of vehicle-carried drones based on multi-depot
[J].
时变路网下多中心电动车-无人机协同配送路径优化
[J].
Multi-depot electric vehicle routing problem with drones under time-dependent networks
[J].
“卡车+无人机”模式下带时间窗的取送货车辆路径问题
[J].
Pickup and delivery problem with time windows in mode of “truck +drone”
[J].
Synchronized truck and drone routing in package delivery logistics
[J].
Vehicle routing problem with drones considering time windows
[J].DOI:10.1016/j.eswa.2021.116264
Hybrid multi-objective optimization approach with pareto local search for collaborative truck-drone routing problems considering flexible time windows
[J].
考虑疫情影响的卡车无人机协同配送路径优化
[J].
Optimization of truck-drone collaborative distribution route considering impact of epidemic
[J].
考虑区域限制的卡车搭载无人机车辆路径问题研究
[J].
Research on vehicle routing problem with truck and drone considering regional restriction
[J].
Shuffled frog-leaping algorithm: a memetic meta-heuristic for discrete optimization
[J].DOI:10.1080/03052150500384759 [本文引用: 1]
A comparative study of improved GA and PSO in solving multiple traveling salesmen problem
[J].DOI:10.1016/j.asoc.2017.12.031 [本文引用: 3]
/
〈 |
|
〉 |
