Skip to main content

A state-of-the-art vehicle routing problem solver.

Reason this release was yanked:

This version has a known bug involving client groups. Please upgrade to the otherwise identical release 0.10.1, where this bug has been fixed.

Project description

PyVRP logo

PyPI version CI DOC codecov DOI:10.1287/ijoc.2023.0055

PyVRP is an open-source, state-of-the-art vehicle routing problem (VRP) solver. It currently supports VRPs with:

  • Pickups and deliveries between depots and clients (capacitated VRP, VRP with simultaneous pickup and delivery, VRP with backhaul);
  • Vehicles of different capacities, costs, shift durations, routing profiles, and maximum distance and duration constraints (heterogeneous fleet VRP, site-dependent VRP);
  • Time windows, client service durations, and release times (VRP with time windows and release times);
  • Multiple depots (multi-depot VRP);
  • Optional clients with prizes for visiting (prize collecting, team orienteering problem);
  • Client groups imposing additional restrictions on multiple clients jointly (generalised VRP, VRP with multiple time windows).

PyVRP is available on the Python package index as pyvrp. It may be installed in the usual way as

pip install pyvrp

This also resolves the few core dependencies PyVRP has. The documentation is available here.

[!TIP] If you are new to vehicle routing or metaheuristics, you might benefit from first reading the introduction to VRP and introduction to HGS pages.

Examples

We provide some example notebooks that show how PyVRP may be used to solve vehicle routing problems. These include:

  • A short tutorial and introduction to PyVRP's modelling interface, here. This is a great way to get started with PyVRP.
  • A notebook solving classical VRP variants, here. In this notebook we solve several benchmark instances of the CVRP and VRPTW problems. We also demonstrate how to use the plotting tools available in PyVRP to visualise the instance and statistics collected during the search procedure.
  • A notebook implementing a solve method using PyVRP's components, here. This notebook is a great way to dive deeper into how PyVRP works internally.

Contributing

We are very grateful for any contributions you are willing to make. Please have a look here to get started. If you aim to make a large change, it is helpful to discuss the change first in a new GitHub issue. Feel free to open one!

Getting help

Feel free to open an issue or a new discussion thread here on GitHub. Please do not e-mail us with questions, modelling issues, or code examples. Those are much easier to discuss via GitHub than over e-mail. When writing your issue or discussion, please follow the instructions here.

How to cite PyVRP

If you use PyVRP in your research, please consider citing the following paper:

Wouda, N.A., L. Lan, and W. Kool (2024). PyVRP: a high-performance VRP solver package. INFORMS Journal on Computing, 36(4): 943-955. https://doi.org/10.1287/ijoc.2023.0055

Or, using the following BibTeX entry:

@article{Wouda_Lan_Kool_PyVRP_2024,
  doi = {10.1287/ijoc.2023.0055},
  url = {https://doi.org/10.1287/ijoc.2023.0055},
  year = {2024},
  volume = {36},
  number = {4},
  pages = {943--955},
  publisher = {INFORMS},
  author = {Niels A. Wouda and Leon Lan and Wouter Kool},
  title = {{PyVRP}: a high-performance {VRP} solver package},
  journal = {INFORMS Journal on Computing},
}

A preprint of this paper is available on arXiv. Since PyVRP extends HGS-CVRP, please also consider citing Vidal (2022).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvrp-0.10.0.tar.gz (544.8 kB view details)

Uploaded Source

Built Distributions

pyvrp-0.10.0-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13 Windows x86-64

pyvrp-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

pyvrp-0.10.0-cp313-cp313-macosx_11_0_arm64.whl (758.6 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

pyvrp-0.10.0-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12 Windows x86-64

pyvrp-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyvrp-0.10.0-cp312-cp312-macosx_11_0_arm64.whl (758.3 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyvrp-0.10.0-cp311-cp311-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11 Windows x86-64

pyvrp-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyvrp-0.10.0-cp311-cp311-macosx_11_0_arm64.whl (758.6 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyvrp-0.10.0-cp310-cp310-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10 Windows x86-64

pyvrp-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyvrp-0.10.0-cp310-cp310-macosx_11_0_arm64.whl (751.7 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

File details

Details for the file pyvrp-0.10.0.tar.gz.

File metadata

  • Download URL: pyvrp-0.10.0.tar.gz
  • Upload date:
  • Size: 544.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0.tar.gz
Algorithm Hash digest
SHA256 3db205dd42444dabb1fca2ef4768c38a8cc10b42d3fd68ddfe0cd135619da147
MD5 b93be82b8bb743d4d8251e6c0b206be8
BLAKE2b-256 e8659d265fb5de4dd825ad1b3e9204374155e00a1e0fd11824c54494c288262b

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyvrp-0.10.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 36f9ec17257f0e0ae43bb697a1effad0f61e605cf219228472fc4ba2551c434d
MD5 5fec1acbcc0a8404660b13f05d8fc044
BLAKE2b-256 4deaa26175f4823170775d50004a6a70adf941ce826bce2d356314ac0299c788

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8de8b8495aac25fa974699a6f77af6a0fc8cd97c91d2e643c607974ff34d2c53
MD5 f2a7c3a3e10b21a8fd3fa7706318d007
BLAKE2b-256 fd3ead01d3b5d06cbec235c4280ab0894e17b7a19458d003fce9dd85ec295163

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyvrp-0.10.0-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 758.6 kB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 165c686754ea99748390f1f4aefc750db6b605108c663f311fd66d0ab40b4718
MD5 6b35cf3e1f4160904c4797867cf9f5fd
BLAKE2b-256 7668e6c28fec577499f634efa55845077540d0c936a8f602925069bf9bc23218

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyvrp-0.10.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 beb55d9eeed0566b5f433dfae5d3f454d6042176405de47617ae1b24c7ea268d
MD5 f0e34f736fa16dec9a6647c6c40d8ef8
BLAKE2b-256 32448ab5492b4c6d432194c0d96536e38d8ebf9243867b74a0d1c92f2183fb63

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9ed6ab077832085ef8cf1928f9b618494d0c47147bb5b039c113849cda3e733
MD5 c9b2fc5ad9a00d7e144fb256a81699e1
BLAKE2b-256 8124dc634b1300a57acb48aaa9b8407b47e8ac3666dacdceed6349defa7d4fdf

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyvrp-0.10.0-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 758.3 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26623c7cca9c2d7caae685208e73d44588a6bbf13ab0d42a4031df282fc0c958
MD5 f8c59553cf713cde889120fc07707054
BLAKE2b-256 7ac716af32454ade10ddce37ffd919e3bd9460dfa0a866966e8b0823204dd5fc

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyvrp-0.10.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 327172992089de6c7e435443ec5a6eb03034e8d5f21936217fd37e0a1849028a
MD5 afa5b3453c762bb426795941bc1b7ecb
BLAKE2b-256 fdb7e5c7a232849135afa2c04666090f49009acc0762ea1009e8a2105d1ad6c5

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86baaef017befb54e6e52a88c3a0dcc51b5684af2369d00554d71c095004c3e4
MD5 ce2d97cabcb96b0c9b977eb2590bd7a8
BLAKE2b-256 bedd40d39f293ea425e586f4bdbfd6c3f9e6d195fa02f4c1076fc34da29869a1

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyvrp-0.10.0-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 758.6 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1512ac96b18ff2252f26a6ff948932543ab37eac1a20c8692f680b93b7f75f56
MD5 c1a9269eb8ae120eb034a25d89bfb51a
BLAKE2b-256 3cbaad316413a2b515aeabbb134c0470035b98d856c9f2b7ac5a43a632e55010

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyvrp-0.10.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 69062fa313af74eaa26880b5d0a5704936718fbd9c0af6cbd92866ff28bd4d66
MD5 f72c00fb3ea2edb5bcc7913d90af973f
BLAKE2b-256 f1c0b8144bd83912e3c72797cc8180a9d3fe9ae858ac011a17d3712539e8df2d

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae347d2d4fbbe8206f189def5fba2a0e78135b882ba69e02fba74df6c80951c3
MD5 c0cd5b4939ffc27ec683f2f7854da6ba
BLAKE2b-256 3d48ae0ce9e7ae14d5145bfc6f75df65c4f5be98f6247aead3832bd3c560f29d

See more details on using hashes here.

File details

Details for the file pyvrp-0.10.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyvrp-0.10.0-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 751.7 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Linux/6.5.0-1025-azure

File hashes

Hashes for pyvrp-0.10.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4625d50e34a0b2133a6ad8257b7f58daed6c21213e3c0f9d7fcec364eefcb691
MD5 094f8ba8480a2cbb1bb63842b88c0038
BLAKE2b-256 8c8a55edd28a27a2c974ca2e3ed827b1f7833e07f582c0174dac3f136e03ecac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page