Skip to main content

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

Project description

PyVRP logo

PyPI version CI DOC codecov

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

  • Client demands (capacitated VRP);
  • Vehicles of different capacities, costs, and shift durations (heterogeneous fleet VRP);
  • Time windows, client service durations, and release times (VRP with time windows and release times);
  • Optional clients with prizes for visiting (prize collecting).

The implementation builds on Thibaut Vidal's HGS-CVRP, but has been completely redesigned to be easy to use as a highly customisable Python package, while maintaining speed and state-of-the-art performance. Users can customise various aspects of the algorithm using Python, including population management, crossover strategies, granular neighbourhoods and operator selection in the local search. Additionally, for advanced use cases such as supporting additional VRP variants, users can build and install PyVRP directly from the source code.

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.

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

TODO

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.6.3.tar.gz (421.6 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.6.3-cp311-cp311-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pyvrp-0.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyvrp-0.6.3-cp311-cp311-macosx_11_0_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

pyvrp-0.6.3-cp310-cp310-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.10Windows x86-64

pyvrp-0.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyvrp-0.6.3-cp310-cp310-macosx_11_0_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

pyvrp-0.6.3-cp39-cp39-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.9Windows x86-64

pyvrp-0.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyvrp-0.6.3-cp39-cp39-macosx_11_0_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

pyvrp-0.6.3-cp38-cp38-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.8Windows x86-64

pyvrp-0.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pyvrp-0.6.3-cp38-cp38-macosx_11_0_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8macOS 11.0+ x86-64

File details

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

File metadata

  • Download URL: pyvrp-0.6.3.tar.gz
  • Upload date:
  • Size: 421.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3.tar.gz
Algorithm Hash digest
SHA256 3ed571ca5e862eb8ac0b5f59f994b66177dba82dcd35af4d0e8754eccf8cebfa
MD5 834ffddcc9fe7fa340ad2cbae63648c8
BLAKE2b-256 1c1c6a7a2c8db39ed1f1107aa789fd622fdb2029cc85ec2c56f1998835cb661d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.6.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0529c15942aa5db5737e4c574a93417b9a9c6eefa7a3e2ff0c5431d92669eb02
MD5 0b02f619f85f100e0f5280102fe80a5e
BLAKE2b-256 158c8b1820d65f2b1bcd4c13ce8b8ac5d7fb6cd50fbf3de405f0f53f937b12d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 228843b8fa6f41a2d65bbec8be3854e93955e493f89a4080f916a0582d878d88
MD5 41473cbb5398cd49d8ae11172c222ca3
BLAKE2b-256 f832e09b33ae2d641c38e29b99e888dbed8e352d0b5b1fa2f759ab146b6e612d

See more details on using hashes here.

File details

Details for the file pyvrp-0.6.3-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: pyvrp-0.6.3-cp311-cp311-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.11, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 8fdb4a89ab21478776e5843e8547829b7196e320b0af44b261a4d19b520a12dd
MD5 4cc91dac794ca7a56864d6bb20c0eb3b
BLAKE2b-256 9ba9954e4aec823c16c1059407f49c33288ea8ee86806ec2498f840fb22dbdee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.6.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8a1c2a5f6bebc65d2ebbf47407b07b85958380e78fcbe6e0ef9dc05351d374fd
MD5 a4fbb258997b95a9c0b1db9de8ceb014
BLAKE2b-256 0d39a57da75216bf54549d6a15dee7daf0042993ca43863d4182209cc07acc5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c48c4257c4b459982b91185cb5b5287f0d78ca325b416003de5d0703f3de3de
MD5 9ef602396d0df26eafbbfc77df94789e
BLAKE2b-256 4a920c15c339a5c04ce48d6dff15310f660aa7f42bbeabed9a42896fd865cab3

See more details on using hashes here.

File details

Details for the file pyvrp-0.6.3-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: pyvrp-0.6.3-cp310-cp310-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.10, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4b439798151a7b5de164c504552d01ebdff06919cad2cda5cd82eac362ad6a7b
MD5 97466f94c04a13e5324c7cce15f0207d
BLAKE2b-256 f3f2ea931547b42294dedac5e1c07370797cfa6be810480f7d28824b046d880e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvrp-0.6.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 72224d74064803b49d2ac732f627bd5507c927b6fa0309c439241a26e4859481
MD5 5b8c71274823a9a8bae2897384e69806
BLAKE2b-256 d9c431cf34c35ddc7c6668f5e1a54dbd1b7a764d24132531d048344e8d070782

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyvrp-0.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a6b99de852f33ba183e767fa75f38279064a3c814d95bab25e57f25022f4939
MD5 fc721963b7de448f6a380ca1ce3c5ca9
BLAKE2b-256 dda9fa242e4bdf5af281adca3af7d8e5e89f6c99b05070cccbd0a36c03682c9f

See more details on using hashes here.

File details

Details for the file pyvrp-0.6.3-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: pyvrp-0.6.3-cp39-cp39-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.9, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 579b9ae12ece1a22091955cea7829807126de17fea3a7bc9d2ea37874d7f8e7d
MD5 ef0174494a1b94b5dc53588ad13a8f9f
BLAKE2b-256 7e84ea141b0b692dc6e628cba005893e23f6778b393f4dce01b257cc6c3a7ba7

See more details on using hashes here.

File details

Details for the file pyvrp-0.6.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pyvrp-0.6.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 bc303c4b21401dea23361a0d6a01391867ff0b82578f5a4bb43b1430fdfc1eba
MD5 1be8ef38d9549bc62058c42dbe4e775c
BLAKE2b-256 8ae99b8c045d57c89896153895aa4c99349a6511e13df4f47c48f7575941401f

See more details on using hashes here.

File details

Details for the file pyvrp-0.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvrp-0.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08d2ffc7e8ab9d278089e6158950815ec4b60b502ad20d7c3ae87cdf89441393
MD5 48328fd06872441848546f2e9947a05d
BLAKE2b-256 44a02baac727da1b57c4f438e29a669129f069e41576be4aea02322ec5d88188

See more details on using hashes here.

File details

Details for the file pyvrp-0.6.3-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: pyvrp-0.6.3-cp38-cp38-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.8, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for pyvrp-0.6.3-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 332a65e30aae7650acc3615ccca2fec692c12900e13d90ef174438f5e2370305
MD5 ce8eb039d668a9c203e3109580888e35
BLAKE2b-256 cd0bbcc9d40fa966b471e8bd18091bfa51e330a8aff390f288da68d8f63ffdb4

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