Share your thoughts, 1 month free Claude Pro on usSee more
WorkDL logo mark

PyVRP: a high-performance VRP solver package

About

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 customisable at the Python level. PyVRP is a polished implementation of the algorithm that ranked 1st in the 2021 DIMACS VRPTW challenge and, after improvements, ranked 1st 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.

Niels A. Wouda, Leon Lan, Wouter Kool• 2023

Related benchmarks

TaskDatasetResultRank
Capacitated Vehicle Routing ProblemCVRP N=100
Objective Value15.628
73
Vehicle Routing ProblemVRP 100 Customers (100 instances)
Objective Value15.5
28
Vehicle Routing Problem with Time WindowsVRPTW 100 customers
Objective Value25.423
24
Asymmetric Capacitated Vehicle Routing ProblemReal-world ACVRP In-distribution
Cost69.739
22
Asymmetric Capacitated Vehicle Routing ProblemReal-world ACVRP Out-of-distribution city
Cost70.488
22
Asymmetric Capacitated Vehicle Routing ProblemReal-world ACVRP Out-of-distribution cluster
Cost22.553
22
Heterogeneous Fleet Capacitated Vehicle Routing ProblemHFCVRP (N=50, K=20) (test)
Objective Value3.45
20
Heterogeneous Fleet Open Vehicle Routing ProblemHFOVRP N=50, K=20 (test)
Objective Value2.54
20
Heterogeneous Fleet Vehicle Routing ProblemHFCVRP (N=80, K=30)
Objective Value4.71
20
Vehicle Routing ProblemOCVRP 48 standard 100-node benchmark instances
Objective Value9.72
18
Showing 10 of 131 rows
...

Other info

Follow for update