在电商与制造业供应链中,货物从区域分拨中心到另一区域中心的“中程运输”(middle-mile)往往跨越数百甚至数千公里,承担整体物流成本的主要部分。然而,由于物流企业普遍将网络拓扑和需求数据视为核心商业机密,学术界在中程物流优化上的研究长期受限于高质量公开数据的缺失。
为解决这一问题,Google Research 在与意大利布雷西亚大学(UniBrescia)和法国国立桥路学校(ENPC Paris)的合作中推出了 MilleMiglia。这是一个用 C++ 编写的实例生成器,旨在为中程配送问题创建逼真的基准测试数据,相关源码与文档已在 GitHub 上开源。
中程物流为何无法复用传统路径求解器
首程与末程物流通常被建模为车辆路径问题(VRP),即一辆车在一天内完成特定路线的收派件。中程物流则更像接力赛:同一批货物可能在数天内由多辆卡车在不同分拨中心之间转运,期间经历卸货、分拣与重新拼载。
这种模式要求货物必须在严格的时间窗口内抵达中转节点以衔接下一班车次,否则只能等待下一个周期,造成显著延误。在数学结构上,这不再是单纯的车辆调度,而是时空图上的多商品流问题。节点代表特定时间区间内的分拨中心,边代表车辆移动或货物滞留。固定时刻表、分拨中心每小时处理吞吐量上限以及跨车辆同步依赖等硬性约束,使得现有的 VRP 求解器(如 OR-Tools 或 GMPRO)无法直接应用于中程场景。
MilleMiglia 如何生成逼真且合规的数据
MilleMiglia 通过多种统计分布合成数据,在不泄露任何企业真实信息的前提下还原实际网络特征:
- 空间分布:利用引力模型或空间聚类放置分拨中心,反映真实的人口与工业密度。
- 需求生成:按照符合实际的体积和重量分布生成起讫点对。
- 班次编排:构建结构化的车辆时刻表,连接主要枢纽或枢纽与周边小型节点,而非任意连线。
这些分布插值了工业界的公开信息与私下披露数据。在工程实现上,MilleMiglia 使用 Protocol Buffers 进行数据序列化,将包含固定时刻表、吞吐量限制和同步前提在内的所有约束统一封装在单个紧凑文件中,便于不同编程语言编写的求解器读取。
覆盖从算法验证到机器学习的规模
该生成器能够输出不同规模的实例,以适应多种研究需求:
- 小规模实例:相当于学术“玩具”问题,用于测试精确算法。
- 中等规模与难度实例。
- 工业级实例:覆盖大陆级别的大规模网络,需借助高级启发式或元启发式算法寻找可行解。
- 海量数据集:可用于训练机器学习模型。
根据 Google Research 的介绍,MilleMiglia 是迈向中程物流标准化基准套件的第一步,其定位类似于 VRP 领域的 CVRPLIB。团队目前正在开发专门针对中程运营问题的求解器和 API,并计划发起相关挑战赛,以吸引更多学术界和工业界求解器开发者关注这一亟待优化的物流环节。

