A python framework for solving vehicle routing problems
Project description
VRPy is a python framework for solving Vehicle Routing Problems (VRP) including:
the Capacitated VRP (CVRP),
the CVRP with resource constraints,
the CVRP with time windows (CVRPTW),
the CVRP with simultaneous distribution and collection (CVRPSDC),
the CVRP with heterogeneous fleet (HFCVRP).
Check out the docs to find more variants and options.
Simple example
>>> from networkx import DiGraph
>>> from vrpy import VehicleRoutingProblem
# Define the network
>>> G = DiGraph()
>>> G.add_edge("Source",1,cost=1,time=2)
>>> G.add_edge("Source",2,cost=2,time=1)
>>> G.add_edge(1,"Sink",cost=0,time=2)
>>> G.add_edge(2,"Sink",cost=2,time=3)
>>> G.add_edge(1,2,cost=1,time=1)
>>> G.add_edge(2,1,cost=1,time=1)
# Define the customers demands
>>> G.nodes[1]["demand"] = 5
>>> G.nodes[2]["demand"] = 4
# Define the Vehicle Routing Problem
>>> prob = VehicleRoutingProblem(G, load_capacity=10, duration=5)
# Solve and display solution value
>>> prob.solve()
>>> print(prob.best_value)
3
>>> print(prob.best_routes)
{1: ["Source",2,1,"Sink"]}
Install
pip install vrpy
Requirements
Documentation
Documentation is found here.
Running the tests
Unit Tests
cd tests
pytest unittests/
Bugs
Please report any bugs that you find in the issues section. Or, even better, fork the repository on GitHub and create a pull request. Any contributions are welcome.
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
File details
Details for the file vrpy-0.5.1.tar.gz
.
File metadata
- Download URL: vrpy-0.5.1.tar.gz
- Upload date:
- Size: 140.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 953d5cabe6ae7d4b58439f9e85cb899b3ce912bddc5ca9184947abef39bfbd7e |
|
MD5 | 734cbfa1ce8e965d3ec3b6e531a80bd5 |
|
BLAKE2b-256 | b98415ebdf4ed4a250c28bae25e98a31b7fda78abd0b5d713d48e7843b18dc93 |