RoutingBlocks: An Open-Source Python Package for Vehicle Routing Problems with Intermediate Stops

Patrick S. Klein,Maximilian Schiffer
DOI: https://doi.org/10.1287/ijoc.2023.0104
IF: 3.288
2024-01-30
INFORMS Journal on Computing
Abstract:We introduce RoutingBlocks, a versatile open-source Python package designed to simplify the development of algorithms for vehicle routing problems with intermediate stops (VRPIS). The package offers a variety of modular algorithmic components and optimized data structures crafted specifically to address key challenges of VRPIS, such as a lack of exact constant-time move evaluations and difficult station visit decisions. By using a unified solution and instance representation that abstracts problem-specific behavior, for example, constraint checking, move evaluation, and cost computation, into well-defined interfaces, RoutingBlocks maintains a clear separation between algorithmic components and specific problem configurations, thus allowing the application of the same algorithm to a variety of problem settings. Leveraging an efficient C++ implementation for performance-critical core elements, RoutingBlocks combines the high performance of C++ with the user-friendliness and adaptability of Python, thereby streamlining the development of effective metaheuristic algorithms. As a result, researchers using RoutingBlocks can focus on their algorithms’ core features, allocating more resources to innovation and advancement in the VRPIS domain. History: Accepted by Ted Ralphs, Area Editor for Software Tools.
computer science, interdisciplinary applications,operations research & management science
What problem does this paper attempt to address?