IDEAS home Printed from https://ideas.repec.org/a/inm/orijoc/v36y2024i4p943-955.html
   My bibliography  Save this article

PyVRP: A High-Performance VRP Solver Package

Author

Listed:
  • Niels A. Wouda

    (Department of Operations, University of Groningen, 9747 AE Groningen, Netherlands)

  • Leon Lan

    (Department of Mathematics, Vrije Universiteit Amsterdam, 1081 HV Amsterdam, Netherlands)

  • Wouter Kool

    (ORTEC, 2719 EA Zoetermeer, Netherlands)

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.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.

Suggested Citation

  • Niels A. Wouda & Leon Lan & Wouter Kool, 2024. "PyVRP: A High-Performance VRP Solver Package," INFORMS Journal on Computing, INFORMS, vol. 36(4), pages 943-955, July.
  • Handle: RePEc:inm:orijoc:v:36:y:2024:i:4:p:943-955
    DOI: 10.1287/ijoc.2023.0055
    as

    Download full text from publisher

    File URL: http://dx.doi.org/10.1287/ijoc.2023.0055
    Download Restriction: no

    File URL: https://libkey.io/10.1287/ijoc.2023.0055?utm_source=ideas
    LibKey link: if access is restricted and if your library uses this service, LibKey will redirect you to where you can use your library subscription to access this item
    ---><---

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:inm:orijoc:v:36:y:2024:i:4:p:943-955. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    We have no bibliographic references for this item. You can help adding them by using this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: Chris Asher (email available below). General contact details of provider: https://edirc.repec.org/data/inforea.html .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.