Skip to main content

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

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 developed by RoutingLab. 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);
  • Reloading along routes at different reload depots (multi-trip 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

The documentation is available here.

[!TIP] Looking for professional support? RoutingLab provides consulting, custom development, and FastVRP - a production-ready route optimisation API built on PyVRP.

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.

If you are new to vehicle routing or metaheuristics, you might also benefit from reading the introduction to VRP and introduction to ILS pages.

Getting help

Feel free to open an issue or a new discussion thread here on GitHub. When writing your issue or discussion, please follow the instructions here. For professional support, contact us at info@routinglab.tech.

Contributing

While we are very grateful for any contributions you are willing to make, reviewing and maintaining third-party code takes a significant amount of our time. Before you start working on your contribution, please have a look here to get started. Make sure to discuss the change first in a GitHub issue. Feel free to open a new one if no appropriate issue already exists!

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.

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.13.2.tar.gz (550.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyvrp-0.13.2-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

pyvrp-0.13.2-cp314-cp314-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pyvrp-0.13.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (763.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvrp-0.13.2-cp314-cp314-macosx_11_0_arm64.whl (639.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyvrp-0.13.2-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

pyvrp-0.13.2-cp313-cp313-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pyvrp-0.13.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (762.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvrp-0.13.2-cp313-cp313-macosx_11_0_arm64.whl (639.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyvrp-0.13.2-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

pyvrp-0.13.2-cp312-cp312-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pyvrp-0.13.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (763.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvrp-0.13.2-cp312-cp312-macosx_11_0_arm64.whl (638.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyvrp-0.13.2-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pyvrp-0.13.2-cp311-cp311-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyvrp-0.13.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (758.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvrp-0.13.2-cp311-cp311-macosx_11_0_arm64.whl (633.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pyvrp-0.13.2.tar.gz
  • Upload date:
  • Size: 550.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.5

File hashes

Hashes for pyvrp-0.13.2.tar.gz
Algorithm Hash digest
SHA256 9f219e738c5268e04e91fffb7344cb37a5f17e18d41e9a1162cec134be8073bc
MD5 f178e9e287d5f1f0c4d88d1a685f486e
BLAKE2b-256 d671735623200c5265fa88c1810dc164e4229e2ff292af779e22c7c5529fbc63

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyvrp-0.13.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.5

File hashes

Hashes for pyvrp-0.13.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 cfd7d0be91dab6d4d6d7cb5a262d5a52cee8b7a0ad0f6a37da66fa0f6eb2c5a3
MD5 987ba55cd75bc6382e1181fec2ace81b
BLAKE2b-256 f9a39aebc0be8667896a68765efba8f5212a08c7118d9166497c28dbd30230cc

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c87185ccca07b85f6110738ac8ee8e183f5f827507e0b053c38136a617531d12
MD5 4dfdd4f617ed1f83494c5b58ecba72d8
BLAKE2b-256 30450200a954cde30e7014fc78f6f67f08a2467f15791c4c5ed5920180da325a

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff357c8e88cdc0db6ce8ca2584b8edfd761d2c0f7125c2fa152e3921a01c6850
MD5 fb004ac7da794bb74b77b0eb0298daa3
BLAKE2b-256 e0b9449aad01f60902af035b50a629063efafa871f164c3b588b014bf975dc0e

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c02eca85942a20725fe3ab181ccbe40f6ff54a7b950ea9189611a42567e81ba
MD5 1c210697ae7598749f24acd0ce6e6188
BLAKE2b-256 592612a5c0536b38da52ac77c6c7cae4200784b8bcc704d0d5998dd189065bdb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.13.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.5

File hashes

Hashes for pyvrp-0.13.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 31d902d05c2548665ae33fc6130d1d3d15f8f28287403c599ecfc1ed784eecfc
MD5 b2608622fb71c380499bea4e2d88cc69
BLAKE2b-256 0bb7274c9990fe9a4d551ceb2ea25606b696ea8a26467c29616055d891684a2c

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1d081d981615d849b3ebf4d6a6cb920446210e894cad78e45b11063bd0834ee
MD5 91edca55deafe47e5da4f08d439aab04
BLAKE2b-256 83e23fa6056ee32c0c3c85b7c7bd31a71e0cad992d7f3c16154ef2f5204fdb94

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ae449e5208d6a98f073a70d15d396af3b58674d107e9284602faa9e5e47cc33
MD5 264aadd87055bdf6e1b6bd1fd63c9323
BLAKE2b-256 5db771e9ac42590e2d494ca72ab32dcf4b6d789c33b2dacf23ac85e69ba57508

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1b32728478b93908df03b29b4dc8aa10ea4fa1eac615fc0eb52ecddd066f47b
MD5 b4a5b6b6855e72bf5827727d46efcf3f
BLAKE2b-256 d2bd2bc5c2c9b15f495c931bfbacf88cc581bb99a1446e72a4e52ad1a884ee83

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.13.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.5

File hashes

Hashes for pyvrp-0.13.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 adbb63580cbe74998f2a41f7e894a5f399d7aac906e853ce10f133cd0ac9fb57
MD5 423045a51ad379e72772463d490460a9
BLAKE2b-256 a2a2c09b283a83e9683716d4247e3e5d41bc9372227584b2f0ef16bcc05021f5

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ae6a97ca9a1009bb038cd4bef597a8ec8d40e0732ec4a16e5648266ee0c0edd
MD5 7984a6994583cdaa2c2c33f3d04feb79
BLAKE2b-256 f1664d77d687f1590b1911fcf75e9abedbe00e61bd20730295488f07ba2f72fc

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 230346e2dcbcc4ba9661debd011a87daa9b6a29f05731d42ca0fffcee50dac0e
MD5 a730a63d143966f24edd79889aaaf2bc
BLAKE2b-256 005a8bf6493069e8cdd397267ade75bde964a61596d64320ebe6913590797eef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 609ec29694993f0ec68a08241c6915301467d90018d3046fea1b8e4291dde65d
MD5 25fc5356d5afa10eda399a06ec71f72e
BLAKE2b-256 c3a99defb638917413e66710420962663f3401b7c4856bdeed30bb4de9e24f4f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.13.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.5

File hashes

Hashes for pyvrp-0.13.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3b16223a757135c2908434deb25111eba4f3c11adf6d21b40c45c5aa4ba0363a
MD5 3335efa55c81704b3b4f368e41be8802
BLAKE2b-256 d70828481d97be9bc67453d583a9f77f432b868e302982a6a0b9b1168c32c46c

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 38ff9254591a42e35af12f201ec22ca56f3f3f3d100b63017cef73744e5db9ba
MD5 ab4a0e9b40d33ec92301e2a8eaa7ec3d
BLAKE2b-256 7404702f1e8066880909cc7c5f647ca4bf518169f9820a2fc626899d677f7319

See more details on using hashes here.

File details

Details for the file pyvrp-0.13.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3bc6af01d7581c097b3547a9c31ce2148021f127e4055bae19c9cb11c41ac50d
MD5 e133f4b350e6421d09af2f92ef1584b0
BLAKE2b-256 1d4fba9fa9dfab1a79be78b3dbea22d5547052759bbd199fdd95939d86a66c6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 003fe821d710c87cc218f980e22e1d87342883614dc262ba208fada909593ada
MD5 cbe0249c77dbd94dc86ed9e258d1f593
BLAKE2b-256 37ff775601bd700cc2ff542382b5a2530b0ec9ea530f42b42532ef018fcfe920

See more details on using hashes here.

Supported by

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