NeFut Logo NeFut
EN 管理员登录

[算法理论] 颠覆性C++库:解决资源约束下的最短路径问题

发布于:2026-07-01 22:00 最后更新:2026-07-02 03:08
#algorithm #C++ #Open Source

我们推出了 $\texttt{bucket-graph-spprc}$(简称 $\texttt{bgspprc}$),这是一款开源的、仅需头文件的 C++23 库,专门用于解决资源约束下的最短路径问题(SPPRC),它是车辆路径规划及相关问题中分支-切割-定价的核心子问题。该库实现了 Sadykov、Uchoa 和 Pessoa(2021)提出的桶图标记算法,支持双向标记、跨弧连接、桶固定和弧消除,并采用 SIMD 加速的数组结构标签存储。

其核心设计特征是编译时资源概念:通过实现一个固定的七函数接口,可以添加新的 SPPRC 变体,资源在标签状态中组合,无需运行时调度,状态布局在编译时固定。库内置了五种资源:时间/容量、ng-path 元素松弛、rank-1 切割、累积成本和取送货。

在共享公共实例上的可重复性对比中,$\texttt{bgspprc}$ 在相同边界下的表现优于主要的开源比较器 PathWyse(Salani、Basso 和 Giuffrida,2024),其 shifted geometric mean 性能提升幅度达到 $1.3\times$--$2.35\times$(即使在单线程运行时也能达到 $1.3\times$--$2.3\times$),并且在与并行拉标记(Petersen 和 Spoorendonk,2025)的比较中,性能差距仅为 $1.9\times$--$2.4\times$。该库、基准脚本和固定实例均已公开可用。

博主点评: 该库的设计充分利用了编译时特性,显著提高了算法的执行效率,尤其在资源约束问题的求解上展现出强大的性能优势。对于需要高效路径规划的应用场景,这一开源库无疑是一个重要的工具。其在对比测试中的卓越表现也为进一步的研究提供了良好的基础。

原文链接: https://arxiv.org/abs/2606.30847

[h] 返回首页