PyVRP: A High-Performance VRP Solver Package

Niels A. Wouda,Leon Lan,Wouter Kool
DOI: https://doi.org/10.1287/ijoc.2023.0055
IF: 3.288
2024-01-30
INFORMS Journal on Computing
Abstract:We introduce PyVRP, a Python package that implements hybrid genetic search in a state-of-the-art vehicle routing problem (VRP) solver. The package is designed for the VRP with time windows (VRPTW) but can be easily extended to support other VRP variants. PyVRP combines the flexibility of Python with the performance of C++ by implementing (only) performance-critical parts of the algorithm in C++ while being fully customizable at the Python level. PyVRP is a polished implementation of the algorithm that ranked first in the 2021 DIMACS VRPTW challenge and, after improvements, ranked first on the static variant of the EURO meets NeurIPS 2022 vehicle routing competition. The code follows good software engineering practices and is well documented and unit tested. PyVRP is freely available under the liberal MIT license. Through numerical experiments, we show that PyVRP achieves state-of-the-art results on the VRPTW and capacitated VRP. We hope that PyVRP enables researchers and practitioners to easily and quickly build on a state-of-the-art VRP solver. History: Accepted by Ted Ralphs, Area Editor for Software Tools. Funding: Funding was provided by TKI Dinalog, Topsector Logistics, and the Dutch Ministry of Economic Affairs and Climate Policy. Supplemental Material: The software that supports the findings of this study is available within the paper and its Supplemental Information ( https://pubsonline.informs.org/doi/suppl/10.1287/ijoc.2023.0055 ) as well as from the IJOC GitHub software repository ( https://github.com/INFORMSJoC/2023.0055 ). The complete IJOC Software and Data Repository is available at https://informsjoc.github.io/ . There is a video associated with this paper. Click here to view the Video Overview . To save the file, right click and choose “Save Link As” from the menu.
computer science, interdisciplinary applications,operations research & management science
What problem does this paper attempt to address?