VRPy
VRPy: A Python package for solving a range of vehicle routing problems with a column generation approach - Published in JOSS (2020)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
○Committers with academic emails
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Scientific Fields
Repository
A python framework for solving the VRP and its variants with column generation.
Basic Info
Statistics
- Stars: 197
- Watchers: 11
- Forks: 43
- Open Issues: 33
- Releases: 6
Topics
Metadata Files
README.md
VRPy
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
```python from networkx import DiGraph from vrpy import VehicleRoutingProblem
Define the network
G = DiGraph() G.addedge("Source",1,cost=1,time=2) G.addedge("Source",2,cost=2,time=1) G.addedge(1,"Sink",cost=0,time=2) G.addedge(2,"Sink",cost=2,time=3) G.addedge(1,2,cost=1,time=1) G.addedge(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.bestvalue) 3 print(prob.bestroutes) {1: ["Source",2,1,"Sink"]} ```
Install
sh
pip install vrpy
Requirements
Documentation
Documentation is found here.
Running the tests
Unit Tests
sh
python3 -m pytest tests/
Benchmarks
To run some non-regression tests on some benchmarks instances (Solomon and Augerat) do
sh
python3 -m pytest benchmarks/
Note that running the benchmarks requires pandas and that it takes a while.
For more information and to run more instances, see the benchmarks.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Bugs
Please report any bugs that you find here. Or, even better, fork the repository on GitHub and create a pull request. Please read the Community Guidelines before contributing. Any contributions are welcome.
Owner
- Name: RomainM
- Login: Kuifje02
- Kind: user
- Location: Paris
- Website: https://www.linkedin.com/in/romain-montagn%C3%A9-b5925485/
- Repositories: 2
- Profile: https://github.com/Kuifje02
JOSS Publication
VRPy: A Python package for solving a range of vehicle routing problems with a column generation approach
Authors
Tags
Vehicle Routing Problems Networks Column generationGitHub Events
Total
- Watch event: 19
Last Year
- Watch event: 19
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 91
- Total pull requests: 12
- Average time to close issues: about 1 month
- Average time to close pull requests: 1 day
- Total issue authors: 51
- Total pull request authors: 5
- Average comments per issue: 4.29
- Average comments per pull request: 1.0
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Kuifje02 (11)
- torressa (9)
- piaulous (5)
- tcokyasar44 (4)
- mm04926412 (3)
- sumi1234 (2)
- shunana (2)
- prince4249 (2)
- rlacjfjin (2)
- Ilham-Akbar (2)
- ugirumurera (2)
- tomatoes-prog (2)
- mhdsyarif (2)
- rioaurachman (2)
- jignesh1010 (2)
Pull Request Authors
- kakiac (5)
- torressa (4)
- samuelefiorini (1)
- ecl996 (1)
- Halvaros (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 1,535 last-month
- Total dependent packages: 0
- Total dependent repositories: 3
- Total versions: 6
- Total maintainers: 2
pypi.org: vrpy
A python framework for solving vehicle routing problems
- Homepage: https://github.com/Kuifje02/vrpy
- Documentation: https://vrpy.readthedocs.io/
- License: MIT
-
Latest release: 0.5.1
published over 4 years ago
Rankings
Dependencies
- cspy *
- networkx *
- pulp *
- sphinx_copybutton *
- sphinxcontrib-bibtex <2.0.0
- cspy *
- networkx *
- numpy *
- pandas *
- pulp *
- pytest *
- cspy *
