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.3.tar.gz (550.5 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.3-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

pyvrp-0.13.3-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.3-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.3-cp314-cp314-macosx_11_0_arm64.whl (639.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

pyvrp-0.13.3-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.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (762.8 kB view details)

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

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

pyvrp-0.13.3-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.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (763.2 kB view details)

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

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

pyvrp-0.13.3-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.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (758.5 kB view details)

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

pyvrp-0.13.3-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.3.tar.gz.

File metadata

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

File hashes

Hashes for pyvrp-0.13.3.tar.gz
Algorithm Hash digest
SHA256 0d688d5f1d5a7b2bed1549e2c326424f3eeff993b7f8b78284712fd988c9d454
MD5 951aa1a70509f2c4aac11fb648063dfa
BLAKE2b-256 c3c0cb07a095fb81cdbf8e49613feb47677a32bf32546cc9372a2f9e71048782

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.13.3-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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f4aeaaa86985f7b99e2408ad25639eb6784ff100c17d1708dbf33cdda2e1b13e
MD5 7e3cec8e1a2a2d060602577083f7beb6
BLAKE2b-256 8ea00a121646f31afc93866b6ff6161bb1ae60a462a49caab84d05bf535107a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 651d5e862bf4a45b5d60672e662bc6943e76eaf3f45dbc515b19d7ba469456ed
MD5 78a07dfb5a1980b8664e7fcb8cfbe68f
BLAKE2b-256 1c288463dc120e4c3276c2e66f8b9fb22aefbc4470e48d19bcdbe631d2b46b6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ede14fe2b40ac2a9a82121c492c195cc5db25b9bad4e075d5a4de326f8f4542
MD5 9d363a9dd4a98f19ad68f7ef71ec633a
BLAKE2b-256 f39b5ff6b06e6ea95addb0ebeb0108397a966db196945458e1eb1b8c3c5e2072

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa0ece41e6b1715b3b969bdc894dfe935f3b86d54b88434561369e7db9891996
MD5 22867a9e3057508a7eae64f57b456d82
BLAKE2b-256 3d6e9b0bfdfdf2e317a878bf7d1705d6cce35f5f9a62c5c5a115b2272c729104

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.13.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 74017985c4ae1c2f524dec1c5acf7d445ee444c2cc91706c536ea4a32b527d25
MD5 e5a6da5c6baaaf328796492a536e5eeb
BLAKE2b-256 af89b0430c754d239b955c8f0b277f58f4356b162663d0a2005c8ba699db318f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0d6a620b422ad0595e7f6ad3a794cdfeb1a1eba4fa25e582010be2697e84620f
MD5 c37a875dc80d434536447f7bac8afa02
BLAKE2b-256 0f3b775c19abd232f8cca5c4d21f4f621b832ec018de4044f5eb1d900c6fe5cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 819cdce5edad900fe65c8dd8194d63f1d97529ef665be0a55277887637da3352
MD5 581bd7ef8c1a597bc3f4bd528d1eff96
BLAKE2b-256 162842c53c56d2dca679c34841d3bc3df5d74e020f8f64819b448f071f704140

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4dfcbce74738e72b905768e60e8e7ffb1615450b49db45bc7226e227e637ceff
MD5 4505913de8a7a12bd1e4a7592f90abe6
BLAKE2b-256 d57d3dc11ecbdcfa95a7410b970c482e5aea8b16c8a426448fe219c2bbc3cbda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.13.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 504f1f8bbef520900414fdf547b8486dc31e4900fc9b3c121118b9f1ee78630a
MD5 0d97407a76301714ef31081b51e1360f
BLAKE2b-256 6eb4c7f80a3dc34b7a9a11be31d8bb4c520cc4f62df396b752a6925d5d8cb718

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e0800a96b8e335e370e1c36c410ca7ba06f9330b7cd19d9a8598819cf8f4a32d
MD5 c9cdb63bffed422852e3341de168129a
BLAKE2b-256 1c27eba45c1e14305e95c232d086f619d08bbeb19a6b9e5a162a22005c24ddee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 48525f469acac473d7f014720042fd2d74dd0fc7b870456059130499c825d461
MD5 05c161313ead2975e479076acd653cb2
BLAKE2b-256 570a4e1c7f69d309fac5de52b8b73aef04c6670c1694943895342ba2fe85fba6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 718f9d0d9cb3de1963b54d246512b94378318a4d5b9ccaa19418412f1f3d3154
MD5 0ad764eb42d01b94ecbc91006774d635
BLAKE2b-256 db3c38638eda79cf1cb05af47a22316e5f0c5e854538fd0005c664198f1ee1db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.13.3-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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ca61ff2954c84da491649a0da8de2592575bd43a650383be363b515280bc71e4
MD5 3345e46b3e4e43bfa807f4ce6b1ebadc
BLAKE2b-256 8f56f0a526fdce17985795251caf377add17c256bca9694093481b4c47f35956

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5b5f2b9e48f7395d43da1c1c2412549fedd8328330b5cf1c87b89f130da971a3
MD5 94298384b13d392fdb90228a2ec08d0a
BLAKE2b-256 233e7585e89cb397b05334aea2ad843b085a8884779c9524f28bc171f0b6bf55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 376a473568671c0a063d3fc158e3eb1aada718878cd92ba4056c4f717ebe29a1
MD5 c8320b7a614c226fb4ef10e7283f9208
BLAKE2b-256 8d623da8aa12a4c89d271e4ba76b03394a8f402f749fcb10527e83119a56bdbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.13.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 283aab290da26095f932dc4724db21c6e15bcb515fe92597e5fd4dbfd5027025
MD5 e5cac1dbdb921e1cf1c633a9ff069242
BLAKE2b-256 31c8265d6d70bf9d3cf5c76b1656978cd2b8b2d16f65c4ac5f60720ec5230b98

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