Skip to content
Julien Coupey edited this page Jan 16, 2024 · 24 revisions

API documentation

Documentation for:

Input and output

The problem can be read from standard input:

vroom INPUT

or from a file, using the -i flag.

vroom -i myfile

The solution is written to standard output unless a file name is specified with -o.

Use with OSRM

VROOM will default to using OSRM for all routing-related matters, such as computing the cost matrix and getting the detailed route geometry once the solution is computed. See how to build your own OSRM instance.

If the OSRM server is running on the same machine on the default port (5000), all is fine. Otherwise the -a and -p options are required to set the corresponding address and port for the server (see complete usage and options list below).

Important: if you plan to use a number of locations that overpass the default maximum in OSRM table and route plugins, you have to set the --max-table-size and --max-viaroute-size options accordingly for osrm-routed.

User-defined cost matrix

VROOM can solve user-defined problems where the cost matrix comes from any other source.

Complete usage and options list for v1.14.0

$ vroom -h
VROOM Copyright (C) 2015-2022, Julien Coupey
Version: 1.14.0

A command-line utility to solve complex vehicle routing problems.

Usage:
  vroom [OPTION...] OPTIONAL INLINE JSON

 Solving options:
  -a, --host arg     host for the routing profile, optionally with a URL path, 
                     e.g 'routing.openstreetmap.de/routed-car' (default: 
                     car:0.0.0.0)
  -c, --choose-eta   choose ETA for custom routes and report violations
  -g, --geometry     add detailed route geometry and distance
  -h, --help         display this help and exit
  -i, --input arg    read input from a file rather than from stdin
  -l, --limit arg    stop solving process after 'limit' seconds
  -o, --output arg   write output to a file rather than stdout
  -p, --port arg     host port for the routing profile (default: car:5000)
  -r, --router arg   osrm, libosrm, ors or valhalla (default: osrm)
  -t, --threads arg  number of available threads (default: 4)
  -v, --version      output version information and exit
  -x, --explore arg  exploration level to use (0..5) (default: 5)