1 vehicle 2 optimal routes to cross all positions
2 Vechicles, the numbers above the markers represent the quantity of material to be loaded on the vehicle
3 Vehicles that deliver material of various quantities
References to OpenRouteService Optimization API https://openrouteservice.org/dev/#/api-docs/optimization/post
- ./docker-compose.yml
- ./ors/conf/app.config
- ./vroom/conf/config.yml
- ./ors-proxy/config.js
https://github.com/GIScience/openrouteservice/wiki/Configuration-(app.config)
ors-proxy is a work-around to manage osm road restrictions in vroom results
--------- ------------- --------- -----------
| ORS | <= | ORS-PROXY | <= | VROOM | <= | JUPYTER |
--------- ------------- --------- -----------
| ^ ^
v | |
LOGGING config.yml test.ipynb
To test restrictions use this volume: ./data/mezzocorona_restrictions.osm.pbf:/ors-core/data/osm_file.pbf
run ors-proxy service: docker-compose up -d ors-proxy
and in file vroom/conf/config.yml replace 'ors' with 'ors-proxy' port 9090
Download this reporitory
git clone https://github.com/DigitalCommonsLab/docker-ors-vroom.git
cd docker-ors-vroom
docker-compose up -d
first time the images building require some minutes... first time graphs generation require some minutes... and require one restart of container
monitoring of routing engines
docker logs -f smartbin-ors
monitoring data packets from VROOM to ORS(optional require ors-proxy started) configure VROOM to port 9090
docker-compose logs -f ors-proxy
vehicles actives: "hgv","car" look at /ors/conf/app.config
check if running, brownser in:
http://localhost:8080/ors/health
brownser in: http://localhost:8084/optimization
if respose is http 200 ok, http://localhost:8081/optimization/health
brownser in: http://localhost:8082
upload json file problems inside jupyter/data/xxx.json
brownser in: http://localhost:8083
- ./jupyter/test.ipynb python notebook to test Routing Algorithms by OpenRouteService python binding
brownser in: http://localhost:8090
load test3.ipynb notebook to test
https://github.com/VROOM-Project/vroom/blob/master/docs/API.md#shipments
OpenRouteService python binding, clone or install via pip https://github.com/DigitalCommonsLab/openrouteservice-py
pip install openrouteservice
import openrouteservice as ors
client = ors.Client(base_url='http://ors:8080/ors', key='')
#TSP only openrouteservice routing engine
route = client.directions(...)
#VRP vroom vrp engine
routes = client.optimization(...)
simple VRP problem to test vroom instance(on port 3000)
brownser in: http://localhost:8083
git clone https://github.com/VROOM-Project/vroom-scripts.git
cd vroom-scripts/src/
./random_problem.py -j2 --top 46.07 --bottom 46.02 --left 11.14 --right 11.18
include custom parameters in file ./ors/HeavyVehicleFlagEncoder.java