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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

pyvrp-0.10.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (758.9 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

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

Uploaded CPython 3.12 Windows x86-64

pyvrp-0.10.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (758.5 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

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

Uploaded CPython 3.11 Windows x86-64

pyvrp-0.10.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (758.8 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 Windows x86-64

pyvrp-0.10.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (751.9 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pyvrp-0.10.1.tar.gz
  • Upload date:
  • Size: 545.3 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.1.tar.gz
Algorithm Hash digest
SHA256 e247117624cf63ee7af0320d2a32661f333290245abdb9471b7d95d4a0247f93
MD5 8d8d5be774f575241b0a698ec2f0f80a
BLAKE2b-256 c38fce992bc534624fb7b2f98b62f08898bca50d1624b885a69926402d3cebfa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.10.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 aef3fcea389b5b85176af47d07e9107c9b4cd7c1dd973456142e5926d2da9e8e
MD5 5affff8ec2b3a5b38e2e7ca6db21ae1c
BLAKE2b-256 70be44f8c4b092a0f520d041ddb7b30bff5d433c6e590e9af7014ce9c2c74c8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a8a94f9e9c41862ffb105f3dea3c7c8efc34f98ea93afe5395a260082367bd9
MD5 edf1a6b790254cd7ffa65decbcdfcee4
BLAKE2b-256 b33aa34e05c6861f7c12105e8c5d818e511ee4ca3153be17a6a5f9118885c81a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.10.1-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 758.9 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.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed70ad6ece3b9c5f534c813bc4b36f74317778247c5a7f734ae0669d963c2b13
MD5 9e904d181d98b539bfd4e939eb738fd1
BLAKE2b-256 1ca26d9440ef9b4b41e4c50ac3207cf3e9a244042ddab785e858e9bcbf32ac75

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.10.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 801f31633aae25cf52c4b2c22e3d4c65b98217b34537e8fad5f10aa445d09616
MD5 4c234416d50bb5d3da86e7374318edc9
BLAKE2b-256 21227ff1fcc4210c85e51bf225c49d1e05433a0dbc28aa3f247424ba7a004746

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bdf0474c8ba675eb0eaed37ccdfcf49e317f70de582c048eab5ffacc006c6b9a
MD5 13505b5e7d972fe36e2df376e78f2376
BLAKE2b-256 ffff3a8ff6fc7267e4cec792adabe10a617d5498257ec0f6589b25556946dbbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.10.1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 758.5 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.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0360461a4da98a8e74354f857ee451f13bbea30ef77e3fd5da95a72f27a6ee30
MD5 13ec14ac6e2560b402ce960e51e7058e
BLAKE2b-256 d0638586f0f9c1d0d23118345a0cc57060d8cbb0677f3780a46bfd7e9bb00ce4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.10.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cb2b64627b1d10f0f7b47aa10f2c7739afa07e5b371c74cdbafa5c3ca55c5c1b
MD5 bc513e3385a2439843ef4593146609d4
BLAKE2b-256 b07b01e9f24b9415d0f0c250d6bcce54fd2675b07836a3143e829368329ad16e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17b2c3abfb06039baa1786a8fb22de130d29be19a9dc2baab0a570d7bde43c69
MD5 0929e55339ce13443f090dbcafdd4326
BLAKE2b-256 bf2d08adef8956642a2752337e660190118b80cd9096d57a2e7db397751c6919

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.10.1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 758.8 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.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91d2a02484a7dc3c9f306370baecbca6ed7eb4ab9c150730a0dcc3111a9e7392
MD5 01d8a61a030721eb4f6df725522e52c5
BLAKE2b-256 e9849f1c2955b95fdc9875b9c4ad58cdeadace5581e1879b5869a7ff85a3cdb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.10.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0e76466479a28c9472285d7888414fede52d800dee9ae1bc98ec0aea692fb3e5
MD5 9b6edbfa8a0b063253ff2d2293eee0ef
BLAKE2b-256 c2c590e6d90ca3efd013c968739eb79d4db755dc016d5eafb6465d1faef7e1a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5500376e8ec9255c861e21e4d2e0b936605c46b4e42a19841dc469e5d30a3650
MD5 fa52614657d68e82f585fd7005f20482
BLAKE2b-256 c7f4ce4c2e2fe48e9c8ab78c742dc751e29797ad804e88f28813388922e07dcb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.10.1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 751.9 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.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 779dead09fb7e57a0aab5e8f6a9a713ac5b24bc67681b2386806c954bf03e45f
MD5 f297b116e9d177a80c13fac7783ba676
BLAKE2b-256 73c28717835028733f17785255f917ad31acdbb5042e4ffe7dfa485082333b2c

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