Research on Cooperative Path Planning of Trucks and Unmanned Aerial Vehicles Based on Multi-Objective Evolutionary Algorithm
The collaboration of trucks and drones for delivery has emerged as a new logistics model widely applied in last-mile delivery. This study addresses the multi-truck, multi-drone collaborative delivery routing problem under flexible time windows. Based on the specific needs of logistics companies, a multi-objective optimization model is established to minimize transportation costs and customer dissatisfaction. To solve this model, an improved MOEA/D algorithm based on objective space decomposition (MOEA/D-OSD) is proposed. This approach enhances population diversity through various strategies, including objective space decomposition, parent selection for mating, and subspace updating. Additionally, it accelerates algorithm convergence by combining multiple crossover and mutation operators while designing chromosome encoding, decoding methods, and genetic operators tailored to the specific problem characteristics. Finally, the algorithm’s performance is evaluated through a set of benchmark instances, demonstrating its effectiveness in solving the truck-drone collaborative routing problem.
Coordinated Delivery
卡车无人机协同配送作为一种新型的物流配送模式,为最后一公里配送提供了一个较为经济的配送方式
上述研究仅涉及单一目标优化,但在实际的卡车无人机协同配送问题中,单一目标优化往往无法完全满足现实需求。为了增强决策的多样性和灵活性,需要同时考虑多个优化目标。当前对于使用多目标演化算法求解多目标卡车无人机协同配送问题的研究尚不充分。2020年Wang等人
本文针对柔性时间窗下的多目标多卡车多无人机协同路径问题(Multi-Objective Multi-Truck Multi-Drone Collaborative Routing Problem with Flexible Time Windows, MO-MTMDCRP-TW),构建了一个最小化运输成本和最小化客户不满意度的多目标优化模型,并提出基于目标空间分解的改进MOEA/D算法(MOEA/D-OSD)来求解该模型。
为了解决MO-MTMDCRP-TW,本节构建了一个多目标优化模型,旨在最小化运输成本的同时最小化客户不满意度。
在该问题中,存在一个仓库和多个顾客,每个顾客的需求量,仓库与顾客之间以及任意两个顾客之间的距离是已知的。仓库拥有数量不限的相同类型的卡车,每辆卡车携带R辆无人机。单个无人机可以在其最大载荷容量和最远飞行距离内将货物运送给多个顾客。每个顾客只能由一辆卡车或一架无人机服务一次。由仓库派遣多辆卡车和无人机向顾客运送货物。卡车从仓库出发,卡车的货物负载必须不超过其最大载荷容量。无人机可以从携带它的卡车上起飞,在向多个顾客交付和接收货物后返回仓库或所属卡车。当无人机到达客户节点时,无人机会自动卸载包裹并立即离开。在完成无人机交付后,无人机可以再次从卡车上发射新包裹。虽然无人机可以多次发射,但在同一节点只允许发射一次。卡车配送与无人机配送有些许不同,卡车在客户节点处需要一段服务时间,这段服务时间包含驾驶员手动卸载包裹可能需要的时间以及为无人机安装新包裹和新电池的时间。此外由于多种不确定因素,很难确保卡车和无人机同时到达同一个客户节点。因此,首先到达汇合节点的卡车或无人机需要等待未到达的。
MO-MTMDCRP-TW模型中涉及的参数和决策变量见
在建立数学模型之前,必须建立一些基本假设:
1) 所有顾客的位置已知,且一位顾客每次只能由一辆卡车或一架无人机服务一次。
2) 在一次无人机行程中,每架无人机在容量和续航里程约束内可以携带多个包裹,访问一个或者多个客户点。
3) 无人机在被取回之前不能重新发射。
4) 无人机在被卡车取回后立即更换电池。
5) 无人机只能由卡车在客户节点处取回,而不能沿着卡车路径中两个节点之间的弧取回。
6) 无人机派送完之后回到了仓库点,则无人机停止服务。
7) 每个客户点都有一个期望时间窗口和允许时间窗口。
8) 只有一个仓库作为派送的起点和终点。
9) 除了在客户节点处之外,卡车处于连续匀速运动中。
10) 无人机在服务之后立即离开客户节点,用于发射和取回无人机以及向无人机供应电池和包裹的时间很短,并且由卡车的服务时间覆盖。
11) 无人机在等待为客户服务过程中以及提前到达汇合点等待卡车过程中降落在安全着陆区。
12) 由于城市道路网的限制,卡车的路线使用曼哈顿距离测量。
13) 无人机在两个节点之间沿直线行驶,其路线使用欧几里得距离测量。无人机的路线仅由水平行进组成,不考虑垂直移动。
14) 不考虑无人机轻件点的配送时间。
集合、符号参数、决策变量 |
|
|
所有客户点的集合 ,其中0和c + 1代表仓库点 |
|
只能由卡车服务的客户点的集合 |
|
可以由卡车或无人机服务的客户点的集合 |
|
所有客户节点的集合 |
|
弧集 |
|
同类卡车组成的车队集合 |
|
每辆卡车携带的无人机数目 |
|
卡车 携带的无人机的行程 |
|
客户点 的货物需求量 |
|
与弧 相关的卡车行驶距离 |
|
与弧 相关的无人机行驶距离 |
|
与弧 相关的卡车行驶时间 |
|
与弧 相关的无人机行驶时间 |
|
无人机的飞行耐力 |
|
卡车载重 |
|
无人机载重 |
|
无人机自重 |
|
卡车每单位距离运输成本 |
|
无人机每单位距离运输成本 |
|
卡车在客户点 的服务时间 |
|
很大的正数 |
|
客户点 的期望时间窗 |
|
客户点 的允许时间窗 |
|
车辆到达客户点 时的客户时间不满意度 |
|
在客户点 的货物损坏程度 |
|
车辆到达客户点 时的客户货损不满意度 |
|
,若客户点 被卡车 服务,否则 |
|
,若客户点 被卡车 的无人机行程 服务,否则 |
|
,如果卡车 的无人机行程 沿着弧 行驶,否则 |
|
,如果卡车 沿着弧 行驶,否则 |
|
卡车 在 处携带的无人机数目 |
|
卡车 到达节点 的时间 |
|
卡车 的无人机行程 到达节点 的时间 |
|
卡车 离开节点 的时间 |
|
卡车 的无人机行程 离开节点 的时间 |
|
,如果 为卡车 的无人机行程 的发射节点,否则 |
|
,如果 为卡车 的无人机行程 的回收节点,否则 |
|
卡车 在 处等待无人机的时间长度 |
|
卡车 的无人机行程 在 处等待卡车的时间长度 |
本文旨在以最低的运输成本和最小的客户不满意度找到多卡车多无人机的协同配送路线。由于运输成本与无人机和卡车的行进距离有关,所以第一个目标可以表示为:
(1)
第二个目标是最小化客户不满意度(即最大化客户满意度),目的是提高客户服务水平。高满意度通常带来更多的业务机会和收入增长。客户满意度与车辆到达客户点时间和货物损坏程度有关。
由于各种外部因素(如交通状况、交通拥堵等)的影响,可能导致车辆无法准确按照预定的时间到达客户点。因此,在实际配送中,通常会采用柔性时间窗的概念,允许一定的时间窗口来容纳车辆的到达。由车辆交付的节点i处的客户时间不满意度 可以表示为:
(2)
关于货损满意度
(3)
其中 为客户点i的货物损失率, 是从仓库出发的时间, 为货物单位时间货损系数。假设货物货损率范围 ,客户可容忍的货损率范围为 ,车辆交付的节点i处的货损不满意度函数为:
(4)
所以第二个目标可以表示为最小化客户的总体不满意度(即最大化满意度):
下面是约束条件:
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
约束(6)和(7)确保每个客户点恰好被服务一次;约束(8)确保由无人机服务的客户都有相应的无人机行程访问;约束(9)确保由卡车 访问的每个客户都直接由卡车 服务;约束(10)和(11)确保每个客户节点被无人机访问最多一次;约束(12)平衡无人机行程访问的所有节点;约束(13)确保每条边被无人机最多访问一次;约束(14)、(15)确保每个无人机行程至少服务于每一个客户,防止无人机沿着卡车路径飞行;约束(16)确保无人机行程只有一个发射点和一个回收点;约束(17)确保同一发射点发射的无人机在另一相同点取回;约束(18)确保同一无人机行程发射点和回收点不同;在卡车 的路径中,无人机发射节点和汇合节点由约束(19)和(20)确定;约束(21)平衡节点的卡车流;约束(22)确保每辆车离开仓库最多一次;约束(23)确保每辆车返回仓库最多一次;约束(24)禁止卡车从仓库直接到仓库;约束(25)确保每辆卡车只能在离开仓库后使用;约束(26)禁止无人机独立完成任务;约束(27)确保无人机飞行期间不能超过其负载能力;约束(28)确保卡车不超过其负载能力。
由于无人机是同质的,只跟踪整个物流过程中的无人机数量。约束(29)确保每辆卡车携带的无人机总数目为R;约束(30)确保离开j点时无人机数量不能超过在j点的无人机数目;约束(31)确保最终每辆车的无人机数目。约束(32)确保无人机飞行不能超过其飞行耐力;约束(33)捕获无人机在节点处的到达时间;约束(34)限制无人机从节点i的离开时间;约束(35)捕获卡车在节点i处到达时间;约束(36)、(37)规定卡车从节点i的出发时间;约束(38)、(39)规定卡车与无人机同时离开节点的时间;约束(40)代表卡车可能的等待时间;约束(41)代表无人机可能的等待时间。
基于分解的多目标演化算法(Multi-Objective Evolutionary Algorithm Based on Decomposition, MOEA/D)
1) 提出了适合卡车无人机协同配送问题的染色体解码、编码方式,以保证进化过程中产生可行的高质量解;
2) 集成目标空间分解策略、交配亲本选择策略、子种群更新策略等多个策略提高种群多样性;
3) 集成多个交叉变异算子以加速算法收敛。
MOEA/D-OSD算法的框架如
初始阶段通过对目标空间中均匀分布的权向量进行聚类,将目标空间分解为若干个子空间
问题分配权重向量。值得注意的是:1) 在初次将解决方案分配到其相关联的子空间时,许多解的目标向量可能与相同的单位向量具有相同的最小角度,导致子空间相关联的解的数目可能超过
;2) 原MOEA/D算法中进化前期子问题和解的匹配具有随机性,匹配度较差。为解决以上两个问题,在初始进化阶段使用稳定匹配
进化阶段,各子空间的子种群进化相对独立,且在每个子空间中,对多个子问题同时进行选择、交叉和变异操作,从而生成对应的新解。在选择操作中,各子问题以较低的概率 选择PF中的部分稀疏解作为交配亲本,以较高的概率 选择对应子问题的邻域解作为该子问题的交配亲本;在交叉和变异操作中,随机使用多种交叉算子和变异算子。
新解分配阶段,将各个子空间产生的新解分配到相应子空间。
子种群更新阶段,选择稳定匹配策略作为子种群更新策略,保持每个子空间所关联解的数量不变的同时平衡收敛性与多样性。
每个子问题的父代种群选取方法与
算法1. MOEA/D-OSD框架 |
输入:所有节点V,种群大小N,最大迭代次数iter,邻域大小T,子空间数目K |
输出:近似帕累托前沿PF |
1 初始化:
|
2 生成N个均匀分布的权重向量 |
3利用K均值聚类法将权重向量划分成K个聚类的集合 |
4 通过算法2生成N个初始解,并进行解码得到具体解决方案,计算目标函数 |
5 更新PF |
6 使用二元锦标赛算法选择PF的q个稀疏解,构成解集Q |
7 将初始种群中的解分配到不同的子空间 中得到子种群 , |
8 使用稳定匹配算法将各子空间中的解与子问题一一对应 |
9 While do: |
10 |
11 K个子种群协同并行进化: |
12 中各子问题以概率 从其邻域中选择交配亲本,以 从Q中选择交配亲本进行遗传操作 |
13 子空间中新生成的个体重新分组分配到不同的子空间 |
14 各子空间利用稳定匹配算法选择出个体以形成新的 |
15 更新PF |
16 更新Q |
17 end |
与MOEA/D、NSGA-III算法
染色体编码是算法流程中至关重要的一步,编码的优劣会影响优化问题的解决速率。因此应合理设计染色体编码策略。
卡车无人机协同配送问题涉及卡车和无人机两种类型的路线,解决方案较为复杂。为此,本文采用包含所有客户节点的巨型路径编码来表示该问题的一个解决方案。巨型路径编码的使用简化了遗传操作的实现。
本文构造初始解以及解码的方法,类似于
在解码过程中,以
本文采用
算法2. 编码解码过程 |
输入:所有节点V |
输出:无人机行程 ,修改后的卡车路线 , |
1 客户点随机进行排列,构建巨型路径编码 |
2 利用卡车路径分割算法将巨型路径分割成多条卡车路径 |
3 对于每条卡车路径 执行: |
4 初始化:无人机行程 |
5 设置l为1 |
6 当 时: |
7 设置r为 |
8 对于i从1到 |
9 如果 可行,则: |
10 如果 则: |
11 如果 可以被插入到以 为发射点的现有行程中则: |
12 将 插入到以 为发射点的现有行程中 |
13 否则如果此时使用的无人机数小于R则: |
14 将 作为以 为发射点的新行程加入 |
15 从 中删除无人机服务的客户 |
16 设置 为 |
为了加快算法收敛速度,在MOEA/D-OSD的交叉操作中随机使用部分匹配交叉(PMX)算子和顺序交叉(OX)算子
图4. 交叉操作示意图
本文采用与
图5. 变异操作示意图
由于真实的Pareto前沿是未知。因此本文使用超体积(HV)和覆盖率(C度量)来评估算法的性能
超体积(HV)是测量算法多样性和收敛性的一个指标,表示解集和参考点之间的体积。
覆盖度量是一种比较两组非支配解质量的指标。C (A, B)表示B中的解被A中的任何解支配的百分比。
在评估所提出的算法之前,本文扩展了大仲马等人提出的TSPTW实例。从中提取出20个实例,客户节点数分别为20、40、80、100。为了模拟并非所有包裹都可以通过无人机交付的真实情况,在这些实例中,可以由无人机服务的客户百分比均为70%。每个大小的实例由5个数据集组成。所使用的实例信息是与客户节点i相关联的时间窗口的坐标、需求量、最早开始时间 和最晚结束时间 。由于原始实例要求所有客户节点必须在最早开始时间和最晚结束时间之间得到服务,因此为每个节点i生成一个灵活的时间窗口 ,以获得本文模型所需要相关的实例,其中 和 。特别地, 和 是用于设置时间窗口的最大允许违反的两个分数。
设置卡车最大装载能力为200千克,参考
实验设置:为了评估MOEA/D-OSD算法解决MO-MTMDCRP-TW模型的性能,需将其与一些多目标演化算法进行比较。由于MO-MTMDCRP-TW的复杂性,没有现有的精确方法可以直接求解,需要使用本文的编码和解码方法以及多个交叉和突变运算符扩展三个具有代表性的多目标演化算法(MOEA/D
算法 |
MOEA/D-OSD |
MOEA/D-M2M |
MOEA/D |
NSGA-II |
N |
200 |
200 |
200 |
200 |
K |
3 |
3 |
— |
— |
T |
8 |
— |
16 |
— |
iter |
20 |
20 |
20 |
20 |
|
0.2 |
0.2 |
0.2 |
0.2 |
|
0.2 |
0.2 |
0.2 |
0.2 |
R |
3 |
3 |
3 |
3 |
|
0.8 |
0.8 |
0.8 |
0.8 |
|
0.1% |
0.1% |
0.1% |
0.1% |
h |
0.2% |
0.2% |
0.2% |
0.2% |
H |
1 |
1 |
1 |
1 |
交叉率 |
0.8 |
0.8 |
0.8 |
0.8 |
变异率 |
0.3 |
0.3 |
0.3 |
0.3 |
q |
50 |
— |
— |
— |
实验结果:对上述描述的20个实例进行了四种算法的独立运行,每个实例重复20次。1) 由于目标的取值范围不同,必须对其进行归一化。2) 每个实例的名称表示节点数量和组别(例如,n20-01表示有20个客户节点的第一组实例)。对于每个实例,
基准实例 |
MOEA/D-OSD |
NSGA-II |
MOEA/D |
MOEA/D-M2M |
||||
HV |
HV |
HV |
HV |
|||||
Avg |
Std.dev |
Avg |
Std.dev |
Avg |
Std.dev |
Avg |
Std.dev |
|
n20-01 |
0.710 |
0.055 |
0.554 |
0.102 |
0.583 |
0.068 |
0.562 |
0.067 |
n20-02 |
0.768 |
0.053 |
0.654 |
0.073 |
0.645 |
0.067 |
0.677 |
0.080 |
n20-03 |
0.747 |
0.051 |
0.671 |
0.105 |
0.690 |
0.076 |
0.695 |
0.060 |
n20-04 |
0.742 |
0.032 |
0.646 |
0.096 |
0.606 |
0.076 |
0.650 |
0.075 |
n20-05 |
0.744 |
0.056 |
0.674 |
0.073 |
0.668 |
0.080 |
0.675 |
0.050 |
n40-01 |
0.728 |
0.044 |
0.607 |
0.090 |
0.587 |
0.111 |
0.647 |
0.064 |
n40-02 |
0.721 |
0.053 |
0.648 |
0.093 |
0.658 |
0.090 |
0.678 |
0.084 |
n40-03 |
0.685 |
0.057 |
0.645 |
0.79 |
0.675 |
0.097 |
0.608 |
0.080 |
n40-04 |
0.692 |
0.049 |
0.567 |
0.119 |
0.611 |
0.097 |
0.644 |
0.102 |
n40-05 |
0.733 |
0.028 |
0.653 |
0.092 |
0.636 |
0.079 |
0.629 |
0.072 |
n80-01 |
0.711 |
0.062 |
0.633 |
0.095 |
0.644 |
0.072 |
0.593 |
0.095 |
n80-02 |
0.606 |
0.057 |
0.595 |
0.079 |
0.623 |
0.094 |
0.636 |
0.090 |
n80-03 |
0.780 |
0.050 |
0.626 |
0.088 |
0.619 |
0.883 |
0.602 |
0.105 |
n80-04 |
0.702 |
0.042 |
0.567 |
0.091 |
0.595 |
0.095 |
0.589 |
0.066 |
n80-05 |
0.713 |
0.046 |
0.633 |
0.099 |
0.634 |
0.080 |
0.644 |
0.079 |
n100-01 |
0.717 |
0.039 |
0.576 |
0.113 |
0.612 |
0.145 |
0.602 |
0.096 |
n100-02 |
0.712 |
0.033 |
0.602 |
0.086 |
0.585 |
0.110 |
0.664 |
0.055 |
n100-03 |
0.701 |
0.053 |
0.640 |
0.070 |
0.615 |
0.103 |
0.622 |
0.084 |
n100-04 |
0.721 |
0.039 |
0.626 |
0.069 |
0.613 |
0.088 |
0.608 |
0.052 |
n100-05 |
0.721 |
0.044 |
0.611 |
0.077 |
0.607 |
0.145 |
0.626 |
0.084 |
每个实例的平均C度量值见
基准实例 |
C (MOEA/D-OSD, -) |
C (-, MOEA/D-OSD) |
||||
NSGA-II |
MOEA/D |
MOEA/D-M2M |
NSGA-II |
MOEA/D |
MOEA/D-M2M |
|
n20-01 |
0.636 |
0.962 |
0.625 |
0.468 |
0.086 |
0.494 |
n20-02 |
0.682 |
0.951 |
0.644 |
0.446 |
0.076 |
0.545 |
n20-03 |
0.743 |
0.963 |
0.691 |
0.420 |
0.093 |
0.515 |
n20-04 |
0.630 |
0.970 |
0.701 |
0.464 |
0.068 |
0.435 |
n20-05 |
0.590 |
0.960 |
0.984 |
0.740 |
0.146 |
0.149 |
n40-01 |
0.711 |
0.952 |
0.603 |
0.352 |
0.097 |
0.563 |
n40-02 |
0.671 |
0.993 |
0.895 |
0.355 |
0.001 |
0.106 |
n40-03 |
0.629 |
0.970 |
0.638 |
0.374 |
0.058 |
0.451 |
n40-04 |
0.689 |
0.963 |
0.616 |
0.330 |
0.044 |
0.470 |
n40-05 |
0.471 |
0.977 |
0.598 |
0.472 |
0.032 |
0.492 |
n80-01 |
0.617 |
0.948 |
0.591 |
0.482 |
0.160 |
0.519 |
n80-02 |
0.524 |
0.947 |
0.590 |
0.517 |
0.049 |
0.438 |
n80-03 |
0.627 |
0.962 |
0.568 |
0.412 |
0.048 |
0.438 |
n80-04 |
0.620 |
0.934 |
0.470 |
0.361 |
0.075 |
0.559 |
n80-05 |
0.631 |
0.901 |
0.611 |
0.521 |
0.199 |
0.590 |
n100-01 |
0.832 |
0.990 |
0.861 |
0.781 |
0.381 |
0.814 |
n100-02 |
0.825 |
0.990 |
0.795 |
0.739 |
0.334 |
0.743 |
n100-03 |
0.843 |
0.962 |
0.857 |
0.772 |
0.393 |
0.787 |
n100-04 |
0.889 |
0.996 |
0.804 |
0.520 |
0.323 |
0.807 |
n100-05 |
0.784 |
0.983 |
0.845 |
0.739 |
0.358 |
0.750 |
本文基于路径优化的思想,探讨了柔性时间窗下的多卡车多无人机协同配送路径问题。以现有的卡车无人机协同配送模型为基础,综合考虑配送成本、客户总体不满意度,设计了适合多卡车多无人机协同配送问题的数学模型,并提出基于目标空间分解的改进MOEA/D算法(MOEA/D-OSD)来对模型进行求解。经过仿真检验了改进算法的可行性,为求解多卡车多无人机协同配送路径优化问题进行了有益探索。
本文提出的MOEA/D-OSD算法在获得高质量的非支配解方面表现出色,能够有效解决卡车无人机协同配送问题。未来可以将Pareto局部搜索算法与MOEA/D-OSD算法结合,探索是否可以提高多目标优化算法在处理复杂问题时的效率和性能。此外,模型中还可以考虑碳排放、限飞区域等因素,以更好地适应现实世界场景。