Skip to main content

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

Project description

PyVRP logo

PyPI version CI Documentation Status codecov

The pyvrp package is an open-source, state-of-the-art vehicle routing problem (VRP) solver. It currently supports the capacitated VRP (CVRP), the VRP with time windows (VRPTW), and 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 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 the pyvrp package may be used to solve vehicle routing problems. These include:

  • The vehicle routing problem with time windows (VRPTW), here. We solve several instances from the literature, including a large 1000 customer instance.
  • The capacitated vehicle routing problem (CVRP), here. We solve an instance with 439 customers to near optimality within 30 seconds.

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.4.4.tar.gz (371.7 kB view hashes)

Uploaded Source

Built Distributions

pyvrp-0.4.4-cp311-cp311-win_amd64.whl (2.2 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

pyvrp-0.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyvrp-0.4.4-cp311-cp311-macosx_11_0_x86_64.whl (854.7 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ x86-64

pyvrp-0.4.4-cp310-cp310-win_amd64.whl (2.2 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

pyvrp-0.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyvrp-0.4.4-cp310-cp310-macosx_11_0_x86_64.whl (854.1 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ x86-64

pyvrp-0.4.4-cp39-cp39-win_amd64.whl (2.2 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

pyvrp-0.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyvrp-0.4.4-cp39-cp39-macosx_11_0_x86_64.whl (854.5 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ x86-64

pyvrp-0.4.4-cp38-cp38-win_amd64.whl (2.2 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

pyvrp-0.4.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyvrp-0.4.4-cp38-cp38-macosx_11_0_x86_64.whl (865.2 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ x86-64

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