百篇读文计划|第三篇:基于分支切割的两阶段算法的寄存柜无人机配送总行程最小化研究

各位uu很久没见啦!

今天在这里给大家分享一下一篇发在 Transportation Research Part B (TRB) 的文章!文章中所使用到的建模技术和方法设计都非常值得一看,建议各位看一下原文哦!

预计读完只需 11分钟 !

嘿嘿嘿,那我们就开始叭 ~~~

1. 前言

近年来,物流无人机技术的迅猛发展和广泛应用为物流行业带来了巨大的变革。亚马逊、谷歌和UPS等企业纷纷布局这一领域,展示了无人机物流的巨大潜力。基于寄存柜的无人机配送 locker-based drone delivery LDD 通过将寄存柜的屋顶作为无人机的停靠平台,实现了更高效和协调的配送。然而,随着配送任务和站点数量的增加,优化无人机总飞行距离成为待解决的难题,尤其要面对着怎么把问题建模正正就是难题中的难题,可是是不是就一定解决不了呢?

1.1 什么是 LDDP ?

Locker-Based Drone Delivery Problem, LDDP 是指基于寄存柜的无人机配送问题。这一问题结合了路径规划停靠调度两个方面,旨在优化无人机的配送路线,以最小化总飞行距离。在 LDDP 中,无人机从一个寄存柜出发,载着包裹飞往目的地寄存柜,完成配送任务。寄存柜的屋顶被用作无人机的停靠平台,这增加了配送过程的灵活性和复杂性。LDDP 的挑战在于如何高效地协调多个无人机和寄存柜,以确保配送任务的顺利完成,并尽量减少运输成本和时间。

我们可以看一下下图更容易直观理解:

我们可以用一个例子代入一下上图:

在繁忙的现代城市里,“飞行速递”公司接到了一项紧急任务。客户李先生急需一份重要文件,这对他的商业谈判至关重要。

清晨,无人机“飞翼1号”被派往市中心的寄存柜。它稳稳降落在寄存柜的屋顶平台上,迅速取出文件,并飞向李先生的办公室。在飞行过程中,飞翼1号灵活地穿梭在高楼之间,避开了城市的繁忙交通。

几分钟后,飞翼1号精准降落在李先生办公室附近的寄存柜平台上,将文件放入柜中。李先生很快收到了通知,取出了文件,顺利参加了商业谈判,并成功达成了合作。

上图就是直接展示了这种无人机配送过程,其中一个单位容量的无人机在源寄存柜装载包裹,并在目的地寄存柜卸载包裹。这个过程涵盖了装载、飞行和卸载,且高度自动化并可远程监控。

不知道各位uu都懂了没有呢

1.2 LDDP 目前有什么困难问题需要解决?

  1. 路径规划复杂性问题:无人机需要在多个寄存柜之间进行配送,路径规划需要考虑载货和空载航段的最优安排,以最小化总飞行距离。然而,空载航段的详细信息在问题解决之前是未知的,增加了规划的复杂性。

  2. 混合问题的建模:LDDP 结合了路径规划停靠调度两个子问题,分别对应于车辆路径问题 VRPs 和机器调度问题。这种混合性质使得传统的路径规划公式难以直接应用,需要开发新的紧凑公式来有效建模。

啊!所以即便对象在空中,只要是最小化总行驶距离和多站点访问就可以用 VPR 的解决技术

机器调度问题的核心是如何在多个任务之间高效分配和调度有限的机器资源,而且涉及在特定时间和空间条件下安排任务,以最大化效率或最小化总完成时间,这里就可以代入进去为无人机和寄存柜类似于机器调度问题中的机器和任务。

无人机是“机器”,而配送任务是需要在不同寄存柜之间完成的“任务”,还需考虑无人机在不同寄存柜之间的调度,包括起飞、飞行、降落和装卸货物的时间安排。

  1. 实时调度需求:无人机配送系统需要实时生成和调整运输计划,以应对动态变化的配送需求和环境因素。这要求算法能够在短时间内生成高效的调度方案。

  2. 资源协调:随着 LDD 系统的规模扩大,无人机和寄存柜的协调变得更加复杂。需要确保在不同配送任务之间合理分配和调度无人机,避免资源冲突和浪费。

  3. 全局最优解的计算:由于 LDDP 是一个组合优化问题,找到全局最优解可能需要大量计算资源和时间。开发高效的算法,如分支切割算法,来解决这一问题是一个重要挑战。

  4. 灵活性的复杂性:LDDP 中的路径灵活性和停靠灵活性带来了额外的复杂性。路径灵活性涉及无人机可以选择的飞行路线,而停靠灵活性涉及无人机在不同寄存柜之间的停靠选择。灵活性增加了问题的维度和求解难度。

在这里文章后面也通过灵敏度分析发现,在 LDDP 问题中,路径选择的多样性和灵活性对问题的复杂性影响更大。**就是如何规划无人机的飞行路线比决定无人机在哪个寄存柜停靠更具挑战性和复杂性。**这个发现对于优化 LDDP 的算法设计具有重要意义,因为它表明优化路径规划应当成为解决问题的重点。

  1. 实际应用的可行性:尽管理论上的优化方法可以在模拟测试中表现良好,但在实际应用中,系统需要考虑多种现实因素,如天气、无人机电池续航、寄存柜的物理位置和容量等,这些因素增加了问题求解的复杂性和不确定性。

这七个目前的问题,大家一起可以思考一下哈~~~


2. 问题描述

LDDP 的核心在于如何在有限的停车资源和无人机负载能力的限制下,高效安排无人机的递送任务,以最小化总飞行距离或总飞行时间。所以需要在资源调度路径规划任务分配等方面进行优化。

1. 问题背景

在城市中有一组物流站点 V V V 。每个站点 v v v 都部署了一些储物柜,这些储物柜用于收发包裹,并且每个储物柜的顶部可以停放一架无人机。

2. 基本设定

  • 储物柜:每个站点 v v v c v c_v cv 个储物柜。每个储物柜一次只能容纳一架无人机,且不允许同时停放多架无人机。
  • 无人机:每架无人机 j ∈ j \in j 由于其有限的负载能力,只能承载一个包裹。
  • 任务:任务集合 T T T 需要递送的包裹。每个任务 t t t 有一个起始站点 n t n_t nt 和一个目的站点 q t q_t qt ,包裹从 n t n_t nt 发出,送到 q t q_t qt

3. 飞行动作流程

  1. 初始状态:无人机停在某些储物柜上。
  2. 装载包裹:无人机从起始站点 n t n_t nt 的储物柜上装载包裹。
  3. 飞行:无人机从 n t n_t nt 飞行到目的站点 q t q_t qt
  4. 卸载包裹:无人机在 q t q_t qt 的储物柜上降落并卸载包裹。
  5. 返回或继续任务:无人机可以返回起始站点或继续执行下一个任务。

4. 约束和假设

  • 储物柜的使用:每个储物柜一次只能停放一架无人机,必须协调无人机的使用时间,避免冲突。

  • 飞行范围:假设无人机的飞行范围足够覆盖城市中的任意两个站点之间的距离,任意站点 v v v 都可以飞行到任意站点 v ′ v^{'} v

  • 电池更换:每次无人机在储物柜上降落时可以更换电池,因此不考虑电池续航问题。

  • 任务的重复性:类似于 Dial-a-Ride 问题 中的用户,是允许重复的任务,即相同起始和目的站点的任务可以重复。对于任何 t ≠ t ′ t \neq t' t=t t ∈ T t \in T tT t ′ ∈ T t' \in T tT ,可能存在 n t = n t ′ n_t = n_t' nt=nt q t = q t ′ q_t = q_t' qt=qt 的情况。因此,无人机可能多次访问同一个储物柜。

  • 距离和成本:两站点之间的航线长度按欧几里得距离计算,运营成本与无人机的飞行距离或时间呈线性关系

5. 问题目标

  • 最小化所有无人机完成所有任务的总飞行距离或总飞行时间。

6. 复杂性和挑战

  • 合理调度储物柜和无人机的使用时间,避免冲突。
  • 为每架无人机规划最优路径,最小化飞行距离。
  • 合理分配任务给每台无人机,确保高效完成所有任务。


跟大家科普一下什么是 Dial-a-Ride 问题哈~~

Dial-a-Ride 问题

Dial-a-Ride问题 Dial-a-Ride Problem, DARP 是一种经典的运输和物流问题,广泛应用于实际的接送服务、医疗运输、快递服务等场景。其主要目标是在满足用户需求的同时,优化车辆的行驶路线,通常是为了最小化总行驶距离、总行驶时间或运营成本。

一些典型的例子

  • 接送服务:为老年人或残障人士提供从家到医院的接送服务,要求车辆在指定时间内到达接送点,并在不超过最大行驶时间的情况下将乘客送达目的地。
  • 共享出行:共享出租车服务,根据乘客的需求和位置,优化出租车的路线,以便同时接送多名乘客,并在尽量短的时间内将他们送到各自的目的地。

与LDDP的关系

在 LDDP 中,任务可以看作是 Dial-a-Ride 问题 中的用户请求:

  • 起始站点和目的站点:LDDP 中的每个任务都有一个起始站点(类似于用户的上车地点)和一个目的站点(类似于用户的下车地点)。
  • 资源共享:与 Dial-a-Ride 问题 中车辆的容量约束类似,LDDP 中储物柜的有限容量和无人机的单个包裹载荷能力也是需要考虑的资源约束。所以因为有相似性,LDDP可以借鉴Dial-a-Ride问题的解决方法,来优化无人机的调度和路径规划。

7. 问题定义

Locker-Based Drone Delivery Problem (LDDP) :给定一个基于储物柜的无人机递送系统一组任务,问题包括为每架无人机选择一系列连续的飞行段,并确定每个飞行段的起飞和降落时间,确保完成所有任务,同时在每个储物柜没有停车冲突,并最小化无人机的总飞行距离。

飞行段类型

  1. 有载飞行段:无人机携带包裹进行飞行。由于不允许中继递送,每个任务需要安排一个有载飞行段。有载飞行段的数量是固定的,等于任务的数量(| T T T|),因此所有有载飞行段的总距离也是固定的。
  2. 空载飞行段:无人机不携带包裹进行飞行,目的是连接有载飞行段。例如,如果源储物柜上没有无人机,则需要从其他储物柜调来无人机;如果目的储物柜上有无人机,则需要将其移走以提供空闲的停车平台。空载飞行段的总距离是需要最小化的目标。

关键问题

  • 如何为无人机规划飞行路径,确定其起飞和降落时间?
  • 如何安排储物柜的使用,避免停车冲突?

问题的转换

LDDP 可以转化为一个问题,其目标是创建可行的运输计划,最小化空载飞行段的总距离。

与其他问题的关系

  • 路径规划子问题具有多次旅行VRP的特征。
  • 储物柜调度子问题具有机器调度问题的特征。

❗ 这两个子问题不能独立解决 ❗

  • 储物柜的停车计划是路径规划子问题的优化输出。每个储物柜只能同时停放一架无人机,因此需要在路径规划时考虑哪些储物柜是空闲的,可以用来起飞或降落。因此,储物柜的停车计划(即哪些储物柜的哪些时间段内可以停放无人机)实际上是路径规划问题的优化输出之一。优化的路径规划不仅考虑如何有效地完成任务,还考虑了如何最大程度地利用空闲的储物柜资源。
  • 无人机的可行路径需要使用停车状态作为输入。
    在规划无人机的飞行路径时,无人机的起飞和降落必须考虑储物柜的当前使用状态。所以无人机的可行路径规划过程中,需要实时地了解和使用储物柜的停车状态信息。这些信息直接影响了无人机的路径选择和飞行行为。

详细建模方式请阅读原文,尤其是结合行程模型与时间索引的技术。经过了问题描述,不知道大家都理解透了吗 ~~~


❗ ❗不要因为看到复杂的数学符号就怕了不敢读下去,其实他只是个符号,跟我们平时用的 x x x y y y 是一样的❗ 读到这里已经很棒了,还有一半,加油❗❗


3. 算法流程

文中的解决方法是一个两阶段解决方法,顾名思义是包括两个阶段,在第一阶段,开发了一个 分支切割算法 B&C 来解决转换问题。从这个阶段获得的飞行段作为第二阶段的输入,再采用 启发式方法 来构建 LDDP 的实际调度。

完全单一模 Totally Unimodular, TU

简单介绍一下,这是线性代数和整数线性规划中的一个重要概念。一个矩阵是完全单一模的,如果它的每一个子矩阵的行列式都等于0、1或-1。这种矩阵在求解整数规划问题时非常有用,因为它保证了某些类型的线性规划问题的最优解是整数解。

  • 完全单一模矩阵的定义:一个矩阵 A A A 被称为完全单一模的,如果它的每个子矩阵的行列式都是0、1或-1。这里的子矩阵可以是通过删除某些行和列从 A A A 中获得的任意大小的矩阵。

1.转换问题的公式

转换问题旨在找到最佳的空飞行段,使得初始状态的有向图满足文中定理1的条件。

  • e ∈ E e \in \mathcal{E} eE 是一个空飞行段,其中 E \mathcal{E} E 是所有候选空飞行段的集合。 e e e 的飞行距离记为 λ e \lambda_e λe。一个非负整数变量 x e ∈ N x_e \in \mathbb{N} xeN 用来表示 e e e 的选择次数。则转换问题的目标可以重写为:

min ⁡ z = ∑ e ∈ E λ e x e \min z = \sum_{e \in \mathcal{E}} \lambda_e x_e minz=eEλexe

文中定理1的条件(ii) 揭示了初始状态与可行解的度差之间的关系。可以分析得出,根据这个条件可以创建整数线性约束

  • μ e v \mu_e^v μev 是一个二元参数,表示飞行段 e ∈ E e \in \mathcal{E} eE 和站点 v ∈ V v \in V vV 之间的关系。具体来说,如果 e e e 对应于 v v v 的进入飞行段,则 μ v e = 1 \mu_v^e = 1 μve=1;如果 e e e 对应于 v v v 的离开飞行段,则 μ v e = − 1 \mu_v^e = -1 μve=1;否则 μ v e = 0 \mu_v^e = 0 μve=0

  • d v ( Y ) d_v(\mathcal{Y}) dv(Y) 为有向图 G Y G_{\mathcal{Y}} GY 中顶点 v ∈ V v \in V vV 的度差,其中 Y \mathcal{Y} Y 是通过为每个交付任务 t ∈ T t \in T tT 分配一个满载飞行段创建的初始飞行段集。在选择 e e e x e x_e xe 次后的 v v v 的总度差为:

d v = d v ( Y ) + ∑ e ∈ E x e μ v e d_v = d_v(\mathcal{Y}) + \sum_{e \in \mathcal{E}} x_e \mu_v^e dv=dv(Y)+eExeμve

与条件(ii)对应的约束可以写为:

∑ e ∈ E x e μ v e ≥ − r v − d v ( Y ) , v ∈ V \sum_{e \in \mathcal{E}} x_e \mu_v^e \geq -r_v - d_v(\mathcal{Y}), \quad v \in V eExeμvervdv(Y),vV
∑ e ∈ E x e μ v e ≤ s v − d v ( Y ) , v ∈ V \sum_{e \in \mathcal{E}} x_e \mu_v^e \leq s_v - d_v(\mathcal{Y}), \quad v \in V eExeμvesvdv(Y),vV

x e ∈ N , e ∈ E x_e \in \mathbb{N}, \quad e \in \mathcal{E} xeN,eE

这样我们就可以容易地分析出,目标函数与约束可以构成了一个 LB 公式。为了描述的方便,这个程序表示为 F 1 F1 F1

F 1 F1 F1 的系数矩阵的规模相对较小。每一列对应于 E \mathcal{E} E 的一个飞行段。因此,所有列的数量等于 ∣ E ∣ |\mathcal{E}| E 。所有行的数量等于 2 ∣ V ∣ 2|V| 2∣V 。系数矩阵是一个行双倍的入度矩阵。每列正好有四个非零元素。除了规模比较容易处理之外,系数矩阵还具有 完全单一模性(文中命题1)。

  • 在整数规划中有一个基本理论,指出 if and only if 对应的整数规划的系数矩阵是完全单一模的,则线性松弛程序表示的多面体将是整数的。因此,通过求解 F 1 F1 F1 的线性松弛程序,必须获得一个整数解。❗ 尽管它是整数的,但这个解可能违反定理1的条件(i)❗ 。所以文中是通过公式化 UB 模型来解决这个问题。

对于 LDDP 的给定实例,可以基于初始飞行段集 Y \mathcal{Y} Y 构建一个有向图 G Y G_{\mathcal{Y}} GY。显然, G Y G_{\mathcal{Y}} GY 的基础图可能不是连通的。回想一下,定理1的条件(i) 要求构建的有向图可以划分为具有连通基础图和活动顶点的子图集。为了满足这一条件,自然的方法是将 G Y G_{\mathcal{Y}} GY 划分为子图,并使用空飞行段将它们连接起来。可以容易得出,为了实现目标,使用的空飞行段的数量应尽可能少。因此,我们需要最小化从 G Y G_{\mathcal{Y}} GY 划分出的子图的数量。所以我们将 G Y G_{\mathcal{Y}} GY 划分为一组独立的子图。这里,‘独立’意味着任何两个子图的基础图是不连通的。一个独立的子图要么是活跃的,要么是非活跃的。

  • G a c \mathcal{G}^{ac} Gac G i n \mathcal{G}^{in} Gin 分别表示活跃和非活跃子图的集合。然后我们规定至少添加一个飞行段来连接 G a c \mathcal{G}^{ac} Gac 的子图和 G i n \mathcal{G}^{in} Gin 的每个子图。设 ϕ \phi ϕ 为子图索引, V ϕ V_{\phi} Vϕ ϕ \phi ϕ 的顶点集。设 e u , v e_{u,v} eu,v 表示从站点 u u u 出发并通向 v v v 的飞行段。子图 ϕ ∈ G i n \phi \in \mathcal{G}^{in} ϕGin 的飞行段集合表示为:

Θ ϕ = { e u , v ∈ E ∣ u ∈ ⋃ ϕ ′ ∈ G a c V ϕ ′ , v ∈ V ϕ } \Theta_{\phi} = \{e_{u,v} \in \mathcal{E} | u \in \bigcup_{\phi' \in \mathcal{G}^{ac}} V_{\phi'}, v \in V_{\phi}\} Θϕ={eu,vEuϕGacVϕ,vVϕ}

约束可以表示为:

∑ e ∈ Θ ϕ x e ≥ 1 , ϕ ∈ G i n \sum_{e \in \Theta_{\phi}} x_e \geq 1, \quad \phi \in \mathcal{G}^{in} eΘϕxe1,ϕGin

将上面约束添加到 F 1 F1 F1 中产生一个新的公式,称为 F 2 F2 F2 。显然,通过求解 F 2 F2 F2,总是可以获得转换问题的一个可行解。因此, F 2 F2 F2 是一个 UB 公式。

显然,约束中的行数等于 ∣ G i n ∣ |\mathcal{G}^{in}| Gin,这比顶点的总数要少,所以 F 2 F2 F2 的公式也非常紧凑。此外,约束的系数矩阵也是完全单一模的(文中命题2)。

F 2 F2 F2 的系数矩阵由两个子矩阵组成,每个子矩阵都是完全单一模的,所以非常可能计算出整数解。文中的数值测试表明 F 2 F2 F2 可以有效地求解。

2. Branch-and-Cut for Transformed Problem

我们先看一幅图,看看能不能理解哈

通过求解 F 2 F2 F2 模型可能得到次优解,如上图所示。

  • 图2(a)中,三个非活动子图由三个从活动子图出发的航段连接。
  • 图2(b)中,这三个子图由一条路径连接。如果三段航程的总距离大于路径的距离,那么2(a)中的解劣于2(b)中的解。

但是由于约束条件过于严格,因此提出了一个松弛版本。

约束的松弛版本

  • 使用符号 V ˉ ϕ = { V \bar{V}_\phi = \{ V Vˉϕ={V \ V ϕ } V_\phi \} Vϕ} 表示子图 ϕ \phi ϕ 的剩余顶点。
  • 集合 Ω ϕ = { e u , v ∈ E ∣ u ∈ V ˉ ϕ , v ∈ V ϕ } \Omega_\phi = \{ e_{u,v} \in \mathcal{E} \mid u \in \bar{V}_\phi, v \in V_\phi \} Ωϕ={eu,vEuVˉϕ,vVϕ} 包含从 V ˉ ϕ \bar{V}_\phi Vˉϕ 中的点出发到达 V ϕ V_\phi Vϕ 中点的航段。
  • 新的约束要求每个非活动子图至少增加一个这样的空航段,如下面公式所示。
    ∑ e ∈ Ω ϕ x e ≥ 1 , ϕ ∈ G i n \sum_{e \in \Omega_\phi} x_e \geq 1, \phi \in \mathcal{G}^{in} eΩϕxe1,ϕGin

替换约束

  • F 2 F2 F2 中的之前的约束替换为上面约束可以防止排除最优解。
  • 仅强加上面约束无法保证可行性。例如:增加的空航段可能连接多个非活动子图,导致仍存在非活动子图。
  • 如果出现这种情况,需要更新集合 G i n \mathcal{G}^{in} Gin 包含任何新识别的非活动子图,并添加更新版本的约束。这个操作可以重复进行。

PC剪切平面

  • 上面约束可以被视为转换问题的一种 cut plane,称为 PC 切平面。
  • 当添加了一组 PC 切平面后,系数矩阵可能不再是完全单一模的,因此线性松弛的解可能不是整数。
  • 如果得到小数解,则难以识别新的 PC 切平面。这表明需要使用Branch-and-Bound (B&B) 框架并开发 B&C 算法

❗ 重点来了 ❗
B&B 框架和 B&C 算法

  • B&B 搜索从根节点开始,通过扩展分支继续进行。
  • 在每个节点,求解 F 1 F1 F1 的线性松弛问题 LRP。
    • if solution 是整数,则检查是否满足条件。
    • and if solution 满足条件,则节点被完全处理(fathomed)。
    • else,必须存在至少一个非活动子图,然后可以识别并添加新的 PC 切平面,随后再次求解节点的新 LRP 。这一过程重复进行直到解满足条件或解为小数。
  • if 得到小数解,则进行分支操作。结合使用三种搜索策略(最小LB优先,最大LB优先,广度优先)来寻找下一个分支节点。
    • 初始使用其中一个策略,当LB改善不明显时切换到另一个策略,以实现更稳健的搜索。

F 2 F2 F2 的优点

  • 由于 F 2 F2 F2 是 UB 模型,其最优目标值可用于剪枝。
  • B&B 框架隐式枚举变量的可能值,提出的 B&C 算法是一个精确算法。
  • 一个节点识别的 PC 切平面可以用于其他节点。
  • 该方法的主要优点在于 F 1 F1 F1 的简洁结构。虽然添加 PC 切平面的 F 1 F1 F1 的线性松弛可能不再保证整数性,但仍很可能产生整数解。
  • 因此,可能很少需要分支操作,一个小规模的 B&B 树就足够了,使得算法效率很高。

3. Heuristic for Practical Schedules

在方法的第一阶段,通过解决转换问题可以得到最优的空航段。这些空航段与已载货的航段(最优航段)作为第二阶段的输入。根据定理1,基于这些输入,LDDP必须存在一个可行解。所以文中设计了一种启发式方法来构建 LDDP 的实际调度。

步骤

  1. 构建有向图:根据输入的航段构建有向图。
  2. 划分有向图:将有向图划分为三个子图集合,即路径集合 P P P、活跃循环集合 O A O_A OA 和非活跃循环集合 O I O_I OI
  3. 生成调度:制定执行相应航段的调度计划。

  • 第3到14行展示了有向图划分的过程。
  • 第15到25行展示了制定调度的过程。

调度执行细节

  • 执行航段时,首先选择一架无人机,然后确定起飞飞行降落操作的时间。
  • 启发式方法的输出是一个实际的调度,说明哪架无人机在何时执行哪些航段。
  • 文中定理1保证了可以基于这些航段构建至少一个实际调度。

说了这么多所以启发式方法的优点是什么?

  • 它遵循定理1的证明过程,因此可以得到一个实际的调度,并且在构建过程中不会添加额外的航段。
  • 无人机的总飞行距离等于这些航段的总距离,不会增加。
  • 这个启发式方法是可以得到最优的 LDDP 解,并且非常高效。
  • 最耗时的步骤是从有向图中找到一条路径或一个循环。但在最坏情况下,这一步骤也只是对所有顶点的完全遍历。
  • 数值测试表明,这个启发式方法在一些高度模拟的应用中足够快速。

算法的总结

阶段一:解决转换问题

  • 目标:确定最优空航段,使得构建的有向图满足特定条件。
  • 方法:使用完全单一模矩阵来保证线性松弛解的整数性。
  • 模型F1:通过线性约束和目标函数形成基本模型。
  • 模型F2:在 F 1 F1 F1 基础上增加约束,确保所有非活动子图至少被一个空航段连接,形成完整模型。
  • Branch-and-Cut算法:为解决 F 2 F2 F2 的次优解问题,引入放松约束和 PC 切平面,并结合 Branch-and-Bound 框架进行求解。

这里有一个比较 tricky 的点,有没有想过这里为什么是次优解问题问题不是最优解问题呢?知道的朋友可以在评论区评论噢

阶段二:构建实际调度

  • 目标:基于阶段一的最优航段,生成 LDDP 的实际调度计划。
  • 方法:开发启发式方法,根据定理1的证明过程来构建调度。
  • 步骤:上面的算法图
  • 优点:调度过程高效且不增加总飞行距离,能够快速生成实际调度。

这里比较复杂,涉及的技术比较多,可能需要大家多看几次才会理解清楚哦


4. 算法优势

模拟实例测试

为了验证算法在解决实际问题中的有效性,选择了九个中国城市作为测试区域。这些城市中一些已经运营或计划运营轻型无人机配送业务 LDD。在每个城市选择了住宅区、医院、餐馆和商业中心作为备选站点。站点的位置信息(经纬度)和距离数据通过地图软件计算。测试采用了目前在杭州使用的 Antwork RA3 无人机的飞行速度,装载或卸载时间设定为 2 分钟,即 120 秒。

小规模实例测试
构建了 45 个小规模实例来验证方法的正确性和效率。每个实例包含 5 个站点和不超过 40 个任务。任务数据均匀分布随机生成。测试结果列在 T a b l e 1 Table 1 Table1 中:

  • 模拟实际应用的实例生成:生成了三组实例。 S E T 1 SET 1 SET1 模拟餐饮快递场景, S E T 2 SET 2 SET2 模拟样本提交场景, S E T 3 SET 3 SET3 模拟即时快递场景。所有 81 个实例均在一秒内解决,表明两阶段方法的高效性。空载与装载飞行段的距离比率在三个集合中差异显著, S E T 1 SET 1 SET1 S E T 2 SET 2 SET2 需要额外的 72% 和 48% 的距离,而 S E T 3 SET 3 SET3 仅为 12%。

所有 81 个实例的统计结果列在 T a b l e 2 Table 2 Table2 中。结果表明,每个模拟实例在一秒内得到解决。

均匀分布生成的随机实例测试

对一组三十个随机实例进行了测试,标记为 S E T 4 SET 4 SET4。这组包括十个组,每组包含三个具有相同站点数量的实例。最小的实例包含 100 个站点和 50 个任务,最大的实例包含 1000 个站点和 1500 个任务。所有随机数据均按照均匀分布生成。

  • 计算结果:所有 30 个实例在可接受的 CPU 时间内被解决,通常花费不到 50 秒。无人机数量几乎是寄存柜数量的 50%,表明几乎一半的寄存柜处于闲置状态。这是因为寄存柜和无人机的数量是均匀生成的。总 CPU 时间随站点数量增加而增加,范围从 1 秒到 49 秒,表明该算法解决这些实例的效率非常高。

  • F1 模型验证:通过求解模型 F1 获得 28 个实例的最优解,表明 F1 是一个非常紧的下界 LB 公式。30 个实例中有 28 个在不需要额外切割的情况下被解决到最优,其余两个实例需要添加一个切割。空载和装载飞行段的比例从 54% 到 77% 不等,平均为 69%。

T a b l e 3 Table 3 Table3 包含了 S E T 4 SET 4 SET4 的统计实例数据和计算结果。

T a b l e 4 Table 4 Table4 比较了 S E T 4 SET 4 SET4 的空载和装载飞行段的数据,展示了空载与装载飞行段的比例,以及这些数据如何影响最终的运输计划。


今天的分享到这里结束咯。不知道你看明白了吗 ~~~

文章中资料更详细,大家可以先看看文章哈

(看得懂或看不懂的小伙伴记得点赞收藏慢慢看多几次哦)


参考文献:

原论文:

Zhu, W., Hu, X., Pei, J., & Pardalos, P. M. (2024). Minimizing the total travel distance for the locker-based drone delivery: A branch-and-cut-based method. Transportation Research Part B: Methodological, 184, 102950.

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值