https://github.com/vroom-project/vroom-scripts
https://github.com/vroom-project/vroom-scripts
benchmark cvrp tsp vroom vrptw
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/vroom-project/vroom-scripts
- Owner: VROOM-Project
- License: bsd-2-clause
- Created: 2016-10-12T10:10:14.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-25T18:36:46.000Z (9 months ago)
- Last Synced: 2024-12-07T04:31:04.646Z (6 months ago)
- Topics: benchmark, cvrp, tsp, vroom, vrptw
- Language: Python
- Size: 94.9 MB
- Stars: 37
- Watchers: 5
- Forks: 23
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Scripts
The `src` folder contains a bunch of scripts to develop, benchmark,
debug or help in using `VROOM`.- **plot** generates a simple svg visualisation for a solution file.
- **overpass_to_json** generates a problem from all OSM nodes with a
specific `key=value` tag in a chosen bounding box or city.
- **random_problem** generates a ready-to-solve random problem based
on a bounding box.
- **global_indicators** collects indicators on all solutions contained
in a folder.
- **vehicle_stats** collects indicators on vehicle usage in a solution.
- **json_to_csv** dumps all locations coordinates from a json input
instance to a csv file.
- **tsplib_to_json** converts a TSPLIB file to json.
- **cvrplib_to_json** converts a CVRPLIB file to json.
- **vrptw_to_json** converts a VRPTW file to json.
- **pdptw_to_json** converts a PDPTW file to json.
- **hvrp_to_json** converts a HVRP file to json.
- **add_osrm_matrix** creates a "standalone" version of a json input
instance by adding a `matrices` key using OSRM.
- **add_ors_matrix** creates a "standalone" version of a json input
instance by adding a `matrices` key using Openrouteservice.
- **asap** reach out to a solution minimizing completion time or a set
of trade-offs between completion time and cost.# Benchmarks
The `benchmarks` folder contains everything required to reproduce
results on literature benchmarks with a single command. Detailed
instructions for:- [TSP](benchmarks/TSP)
- [CVRP](benchmarks/CVRP)
- [MDVRP](benchmarks/MDVRP)
- [VRPTW](benchmarks/VRPTW)
- [PDPTW](benchmarks/PDPTW)
- [HVRP](benchmarks/HVRP)
- [VRPB](benchmarks/VRPB)# Contributing
Contributions on existing (or new) scripts and benchmark classes are
highly appreciated! Feel free to use the bugtracker for any question,
especially if you're unsure about potential changes or additions.## Coding style
[](https://github.com/psf/black)
[](https://github.com/pre-commit/pre-commit)We use:
- [`black`](https://github.com/psf/black) for python code formatting in
order to forget about how the code looks like and focus on what it
does.- [`flake8`](https://flake8.pycqa.org) for style guide enforcement and
PEP8 compliance.A convenient way to automate the whole workflow is to setup a
pre-commit hook. [`pre-commit`](https://pre-commit.com/) can do that
for you based on our `.pre-commit-config.yaml` config file. Simply
install and run once:```bash
pip install pre-commit
pre-commit install
```