Skip to main content

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

Reason this release was yanked:

This release is known broken on Windows. Please upgrade to 0.8.2, which patches the issue and is entirely compatible with 0.8.1.

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, and maximum distance and duration constraints (heterogeneous fleet 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

If you are looking for help, 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, forthcoming. 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},
  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.8.1.tar.gz (520.7 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.8.1-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pyvrp-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (950.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyvrp-0.8.1-cp312-cp312-macosx_14_0_arm64.whl (689.5 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

pyvrp-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (957.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyvrp-0.8.1-cp311-cp311-macosx_14_0_arm64.whl (691.0 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

pyvrp-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (948.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyvrp-0.8.1-cp310-cp310-macosx_14_0_arm64.whl (684.7 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

pyvrp-0.8.1-cp39-cp39-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.9Windows x86-64

pyvrp-0.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (949.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyvrp-0.8.1-cp39-cp39-macosx_14_0_arm64.whl (685.0 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: pyvrp-0.8.1.tar.gz
  • Upload date:
  • Size: 520.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1.tar.gz
Algorithm Hash digest
SHA256 43ba1ce9b13a4b24a4970bba84c770ed38ae4888a05fd91a4f9be6f6ec93cf0e
MD5 b290d0a22c804d5b3ada461e321b515d
BLAKE2b-256 7559efd8956bf83b56c0bc67512581c79f6076f7b73653166a80738c3374fa54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.8.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.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 81ccfadf1d5b0561c8e6bd8aedbe5e7162a5a0b596540889c02d6b232973d0c4
MD5 c2fd7f47a2801176eb266ee02686fb22
BLAKE2b-256 a817e5a7e141ed103aee7d137c183f93644187594247cdc2ae44305af7c6fef0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9aed4f414ddda501cfde450a8fe9c483b773c55c449bd09748e4235b4f516aea
MD5 fd2392b6bb478951c9eb94ab621251c0
BLAKE2b-256 c173118f36b713ac72c6bf3c9dfbbd467c5da4ba5684ada0dc956308a3c4f353

See more details on using hashes here.

File details

Details for the file pyvrp-0.8.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

  • Download URL: pyvrp-0.8.1-cp312-cp312-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 689.5 kB
  • Tags: CPython 3.12, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7e63af07232d0cf26c7b6121ad1b6fe7f12951846052c50efa79e8ae77454f9c
MD5 310c3711ea0f534485c1b9b81eaea0b6
BLAKE2b-256 d53c198e6e1cd65d4afd19a85d40af299de76ce7c02a157b569792134dd773f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.8.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.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9cba508921357c73603c077cc529cb47a99bb9887d5c37356db37829dca2b1fa
MD5 d603111932902646974b9e0064885bca
BLAKE2b-256 919644ad754f628c9cb9c210cb5cfdf137b0faf26370a37fec2089815c465e2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ffcc9d78ee82e400a78a4408cceb2cd66119904456e1bd5ad4fa57451f365b4
MD5 7d5f5a97291be6b1b662cd3fd4e2d230
BLAKE2b-256 cd7cc3bc5a5b81ec89e8dd6405f145065669451b0152fd612a2385ece390c9c8

See more details on using hashes here.

File details

Details for the file pyvrp-0.8.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

  • Download URL: pyvrp-0.8.1-cp311-cp311-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 691.0 kB
  • Tags: CPython 3.11, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ffe1829c5e702e1279a414c3ff70c3097c9f25c24e2b96af4da31aff108c70c0
MD5 a7eb32005ed5762f63dd1b1922bce359
BLAKE2b-256 39786fcdcfc5baeae77ea4ddae0af5a166ac062bafd1d7f49b39cea3f5362ad9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.8.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.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c62822e0cd0f2f13bd05d5d0ff064c6bc955506e235a0756450e27cdb6f9e441
MD5 d781db5e5b9c089b5b3376f7412ad069
BLAKE2b-256 b47ba10fca4ec6e844b69f26f2dfdd3c48ac301f8f8f4c0d2a4d9ad148160d2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e79c72ca4a9bc2c785b0b663339653dba21502bbf81be59d344335156b024ef5
MD5 ff59a7cfe341b66260ee9588873a729d
BLAKE2b-256 643db3dc122067ad6413766aadc15408fad5770f199a76f52d86021553d035b3

See more details on using hashes here.

File details

Details for the file pyvrp-0.8.1-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

  • Download URL: pyvrp-0.8.1-cp310-cp310-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 684.7 kB
  • Tags: CPython 3.10, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1746fb228116a32e4a57b3645706803793aa513c8f22e0f60ca911e917bd3c40
MD5 80ee9ade39b17b0d60dc461df1f22555
BLAKE2b-256 47e1c37eed778aaa3aa53ab6ffa9346518adc3fa86e4232d4e9cf7f4acc58525

See more details on using hashes here.

File details

Details for the file pyvrp-0.8.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyvrp-0.8.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 96f55c06a53300a2e3096b5a9fd8a99f280ef30f8fb58089f8ee40a84ccbd82b
MD5 2110a0176f552cab4f9369ea53528356
BLAKE2b-256 fd52504c48b3fd5fe164ed6dad05c1a0d7e142ae6302d6f92ba6ad51eb7e9369

See more details on using hashes here.

File details

Details for the file pyvrp-0.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04f5eecf8d616b8fb5cfad2ccf2476e185e31b14e0d68bd1ebbf2aa55856b3ef
MD5 ca2b2764792c191812232088b742170b
BLAKE2b-256 984a638a2f910934664b91c422995ad408eea98849fc8b6740df60c4a72e1549

See more details on using hashes here.

File details

Details for the file pyvrp-0.8.1-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

  • Download URL: pyvrp-0.8.1-cp39-cp39-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 685.0 kB
  • Tags: CPython 3.9, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for pyvrp-0.8.1-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 47e09f346968c87d40c5014fd695388ab516741536598d16b48150e63f43a556
MD5 be785b9ec882c7995eeebeddd9111835
BLAKE2b-256 76b5d3f279007d83a67968e7a2fe234962ba70ee4ea54dfdb6c74b8dfbbe0817

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