Scholion.ai

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

Patrick S. Klein, Maximilian Schiffer

INFORMS Journal on Computing · 2024 · Volume 36 · Issue 4

DOI: 10.1287/ijoc.2023.0104

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. This paper has been accepted for the INFORMS Journal on Computing Special Issue on Software Tools for Vehicle Routing.

Keywords

vehicle routing, metaheuristic algorithms, Python, open-source software

Enable JavaScript for citation tools and additional paper interactions.