返回 文章 学习 CMS 文章

MilleMiglia:面向中间一英里物流的现实实例生成器

Google 开源 MilleMiglia,用合成数据填补中间一英里物流研究的基准空白。

中间一英里物流实例生成器车辆路径问题运筹学
成长分 / 100 72 综合收获、行动、留存与影响

MilleMiglia:面向中间一英里物流的现实实例生成器
为什么值得读了解中间一英里物流为何长期缺乏公开数据,以及它为何在运筹学中受到较少关注。

理解中间一英里问题与标准车辆路径问题(VRP)在数学结构上的关键差异。

关键洞察
  1. 中间一英里负责区域或大陆范围内配送中心之间的大批量货物运输,占物流总成本相当大一部分,但学术研究关注度远低于第一英里和最后一英里。
  2. 中间一英里作为接力赛运作,单批货物可能由多辆不同车辆运输,产生复杂的同步问题:货物必须在特定时间窗口内到达配送中心以赶上预定出站卡车。
  3. 中间一英里问题被建模为时空图上的多商品流问题,具有在卡车之间移动的额外灵活性,与标准 VRP 不同。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:9687

2026年9月18日

Aymane Lotfi,软件工程师,广告与商务部门,以及 Thibaut Cuvelier,软件工程师,Google Research

MilleMiglia 通过提供开源、贴近现实的基准测试,弥合了学术理论与工业物流之间的差距,使研究人员能够优化复杂的中间一英里网络,最终促成更稳健、更高效的全球供应链。

一块荷兰荷式松饼如何能在第二天就送达450英里(700公里)之外的你家门口?这要归功于精心的物流优化——尤其是中间一英里环节。这段旅程覆盖的距离最长,占总成本的很大一部分,而且最重要的是,它决定了你的

物流研究历来聚焦于第一英里(将货物从生产者运至初始集散点)和最后一英里(配送至消费者)。这两个阶段通常被建模为车辆路径问题(VRP)的变体。然而,中间一英里——负责在区域或大陆范围内配送中心之间的大批量货物运输——尽管占物流总支出的相当大一部分,在运筹学研究中受到的关注却明显少得多。中间一英里优化的学术进展一直受制于缺乏公开、高质量的数据。事实上,大多数物流公司将其网络拓扑和需求量为高度敏感的专有信息。

中间一英里物流在供应链中有许多应用。这些应用范围从电子商务中将货物从工厂运至消费者、以及将货物运至市中心的零售商,到将正确的零部件从各个工厂和中央仓库运至汽车制造商和商店。它还包括对时间敏感的运输,例如在存储设施和医院之间运输温控药品。

中间一英里物流弥合了第一英里和最后一英里之间的差距。

为解决该领域缺乏标准化数据的问题,在“一种用于模拟中间一英里物流网络的新型实例生成器”中,我们介绍了 MilleMiglia,一个旨在为中间一英里配送问题创建贴近现实基准的 C++ 实例生成器。这项工作为未来研究成果奠定了基础。在本文中,我们探讨中间一英里的独特约束,以及 MilleMiglia 如何成功捕捉这些约束以生成贴近现实、保护隐私的数据。源代码和文档可在 GitHub 上获取。

第一英里、中间一英里和最后一英里物流之间的区别在于单个货件的旅程。在整个旅程中,主要的运营目标是高效地使用车队访问多个地点。以一家在典型在线市场上销售商品以触达个体消费者的制造商为例。

在首公里和最后一公里物流中,特定货物从起点(首公里的工厂,最后一公里的配送中心)到终点(首公里的配送中心,最后一公里的客户)始终由同一辆车运输。这些车辆路径问题涉及在有限时间跨度内(通常为一天)优化多辆车的车队。优化挑战本质上是分配和排序问题:确定哪辆车处理哪组货物,以及以何种顺序处理。

在我们的示例中,首公里对应于收集制造商已售出的物品(例如,pofferts),而最后一公里则涵盖向消费者的最终交付(其中一些消费者已经相当饿了!)。在这两种情况下,一辆卡车将货物运送到区域配送中心或从区域配送中心运出。然而,如果制造商和消费者位于不同地区,中间一公里物流则弥合了遥远配送中心之间的差距。例如,来自格罗宁根(荷兰)制造商的货物将首先运往乌得勒支的区域配送中心,然后运往巴黎(法国)的另一个中心,最后交付给凡尔赛的消费者。

与首公里和最后一公里不同,中间一公里作为接力赛运作。单批货物在到达最终目的地之前,可能由多辆不同的车辆通过大陆网络运输,可能在出发一周后到达。在中间配送中心,货物可能会被卸载、按目的地分类,并与其他货物合并,然后装载到下一辆车上。这产生了一个复杂的同步问题:货物必须在特定时间窗口内到达配送中心,以赶上其预定的出站卡车。如果错过预定的连接,它将不得不在配送中心等待下一个周期,导致严重延误。

在我们的示例中,一旦制造商的货物到达乌得勒支区域中心,它们就被装载到第一辆开往安特卫普(比利时)的卡车上,以便当天到达。由于前往巴黎的最直接卡车已满,并且假设客户选择了标准运输,货物在第二天从安特卫普乘坐第二辆卡车前往巴黎。包裹在第二天晚上到达巴黎,在那里进入最后一公里网络,以便第二天最终交付给客户。

货物的生命:从格罗宁根(荷兰)的制造商到凡尔赛(法国)的客户,一个poffert的大部分旅程都在货运代理的中间一公里网络中完成。

中间一公里配送的数学结构在几个关键方面与标准车辆路径问题不同。

在传统的车辆路径问题中,例如由OR-Tools等开源工具或Google Maps Platform Route Optimization(GMPRO)等专用API解决的问题,目标通常是优化车队的路线。重点在于车辆路径和停靠点排序,以满足紧迫的客户截止时间。与最后一公里配送不同,中间一公里物流具有在卡车之间移动的额外灵活性。我们将这一额外维度建模为时空图上的多商品流问题。在这些模型中:

虽然许多学术性的 VRP 定义中约束很少,但中间一英里的运营约束很难在不扭曲当前运营问题结构的情况下放宽:

由于这些依赖关系,现有的 VRP 求解器无法应用于中间一英里。该问题需要一系列中间配送中心以及跨多辆车辆的分配,通常涉及多天的时间跨度。

MilleMiglia 使用多种统计分布来确保合成网络看起来像实际的配送网络,同时不泄露任何私有信息:

这些分布在来自工业参与者的公开信息和私下披露的数据之间进行插值。

MilleMiglia 使用 C++ 编写。它使用 Protocol Buffers 进行数据序列化,因此其多样化的数据可以存储在每个实例的单个文件中。这样,生成的实例紧凑,并且可以被用不同编程语言编写的求解器轻松使用。

与 VRP 实例不同——后者有许多变体,如 CVRP(带容量)、VRPTW(带时间窗)或 PDPTW(带时间窗的取货和送货),以捕捉多样化的运营需求——我们的中间一英里数据格式将所有有趣的约束嵌入同一种文件格式中:固定的车辆时间表、配送中心吞吐量限制以及复杂的同步前提条件都是问题结构的基本要素。

其目的是为社区提供一系列实例:

该生成器还支持学习场景,因为它可以创建庞大的数据集来训练机器学习算法。

MilleMiglia 是迈向中间一英里物流标准化基准测试套件的第一步,类似于 CVRPLIB(容量约束车辆路径问题库)为 VRP 社区提供的内容。

该项目来自 Google 与 UniBresciaENPC Paris 学术合作伙伴之间的持续合作。除了实例生成之外,我们目前正在开发专门针对中间一英里运营问题的专用求解器和 API。该求解器旨在利用中间一英里流的独特结构。

通过开源我们的实例生成器,我们希望鼓励更广泛的研究社区关注中间一英里的运营挑战,从而打造更稳健、更高效的全球供应链。我们希望发起一项关于中间一英里问题的挑战,以提高学术界和工业求解器开发者对这一被忽视但亟需优化的领域的兴趣。任何对该领域感兴趣的人都可以从查看GitHub 仓库中托管的示例实例开始。

这项研究主要由 Aymane Lotfi 在 Google 担任学生研究员期间以及 Matteo Petris(现就职于 ENPC Paris)作为持续合作的一部分进行。感谢 Thibaut Cuvelier 和 Bruno De Backer 对这项工作的贡献。特别感谢 Claudia Archetti(现就职于 UniBrescia)的领导和支持。