TY - JOUR
T1 - RoutingBlocks
T2 - An Open-Source Python Package for Vehicle Routing Problems with Intermediate Stops
AU - Klein, Patrick S.
AU - Schiffer, Maximilian
N1 - Publisher Copyright:
© 2024 INFORMS.
PY - 2024/7
Y1 - 2024/7
N2 - 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.
AB - 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.
KW - metaheuristic algorithms
KW - open-source software
KW - Python
KW - vehicle routing
UR - http://www.scopus.com/inward/record.url?scp=85204044093&partnerID=8YFLogxK
U2 - 10.1287/ijoc.2023.0104
DO - 10.1287/ijoc.2023.0104
M3 - Article
AN - SCOPUS:85204044093
SN - 1091-9856
VL - 36
SP - 966
EP - 973
JO - INFORMS Journal on Computing
JF - INFORMS Journal on Computing
IS - 4
ER -