DUAROUTER

From Sumo
Jump to: navigation, search

From 30.000 feet

DUAROUTER imports different demand definitions, computes vehicle routes that may be used by SUMO using shortest path computation; When called iteratively DUAROUTER performs dynamic user assignment (DUA). This is facilitated by the tool duaiterate.py which converges to an equilibrium state (DUE).

Purpose:
A) Building vehicle routes from demand definitions
B) Computing routes during a user assignment
C) Repairing connectivity problems in existing route files
System: portable (Linux/Windows is tested); runs on command line
Input (mandatory):
A) a road network as generated via NETCONVERT or NETGENERATE, see Building Networks
B) a demand definition, see Demand Modelling
Output: Definition of Vehicles, Vehicle Types, and Routes usable by SUMO
Programming Language: C++

Usage Description

Outputs

The primary output of DUAROUTER is a .rou.xml file which has its name specified by the option -o). Additionally a .rou.alt.xml with the same name prefix as the .rou.xml file will be generated. This route alternative file holds a routeDistribution for every vehicle. Such a routeDistribution is used during dynamic user assignment (DUA) but can also be loaded directly into SUMO.

Options

You may use a XML schema definition file for setting up a DUAROUTER configuration: duarouterConfiguration.xsd.


Configuration

All applications of the SUMO-suite handle configuration options the same way. These options are discussed at Basics/Using the Command Line Applications#Configuration Files.

Option Description
-c <FILE>
--configuration-file <FILE>
Loads the named config on startup
--save-configuration <FILE> Saves current configuration into FILE
--save-template <FILE> Saves a configuration template (empty) into FILE
--save-schema <FILE> Saves the configuration schema into FILE
--save-commented <BOOL> Adds comments to saved template, configuration, or schema; default: false

Input

Option Description
-n <FILE>
--net-file <FILE>
Use FILE as SUMO-network to route on
-d <FILE>
--additional-files <FILE>
Read additional network data (districts, bus stops) from FILE(s)
-t <FILE>
--route-files <FILE>
Read sumo routes, alternatives, flows, and trips from FILE(s)
-w <FILE>
--weight-files <FILE>
Read network weights from FILE(s)
--lane-weight-files <FILE> Read lane-based network weights from FILE(s)
-x <STRING>
--weight-attribute <STRING>
Name of the xml attribute which gives the edge weight; default: traveltime
--phemlight-path <FILE> Determines where to load PHEMlight definitions from.; default: ./PHEMlight/

Output

Option Description
--output-prefix <STRING> Prefix which is applied to all output files. The special string 'TIME' is replaced by the current time.
--precision <INT> Defines the number of digits after the comma for floating point output; default: 2
--precision.geo <INT> Defines the number of digits after the comma for lon,lat output; default: 6
-o <FILE>
--output-file <FILE>
Write generated routes to FILE
--vtype-output <FILE> Write used vehicle types into separate FILE
--keep-vtype-distributions <BOOL> Keep vTypeDistribution ids when writing vehicles and their types; default: false
--exit-times <BOOL> Write exit times (weights) for each edge; default: false

Processing

Option Description
--ignore-errors <BOOL> Continue if a route could not be build; default: false
--unsorted-input <BOOL> Assume input is unsorted; default: false
-s <TIME>
--route-steps <TIME>
Load routes for the next number of seconds ahead; default: 200
--randomize-flows <BOOL> generate random departure times for flow input; default: false
--max-alternatives <INT> Prune the number of alternatives to INT; default: 5
--remove-loops <BOOL> Remove loops within the route; Remove turnarounds at start and end of the route; default: false
--repair <BOOL> Tries to correct a false route; default: false
--repair.from <BOOL> Tries to correct an invalid starting edge by using the first usable edge instead; default: false
--repair.to <BOOL> Tries to correct an invalid destination edge by using the last usable edge instead; default: false
--weights.interpolate <BOOL> Interpolate edge weights at interval boundaries; default: false
--with-taz <BOOL> Use origin and destination zones (districts) for in- and output; default: false
--bulk-routing <BOOL> Aggregate routing queries with the same origin; default: false
--routing-threads <INT> The number of parallel execution threads used for routing; default: 0
--weights.expand <BOOL> Expand weights behind the simulation's end; default: false
--routing-algorithm <STRING> Select among routing algorithms ['dijkstra', 'astar', 'CH', 'CHWrapper']; default: dijkstra
--weight-period <TIME> Aggregation period for the given weight files; triggers rebuilding of Contraction Hierarchy; default: 3600
--astar.all-distances <FILE> Initialize lookup table for astar from the given file (generated by marouter --all-pairs-output)
--astar.landmark-distances <FILE> Initialize lookup table for astar ALT-variant from the given file
--astar.save-landmark-distances <FILE> Save lookup table for astar ALT-variant to the given file
--gawron.beta <FLOAT> Use FLOAT as Gawron's beta; default: 0.3
--gawron.a <FLOAT> Use FLOAT as Gawron's a; default: 0.05
--keep-all-routes <BOOL> Save routes with near zero probability; default: false
--skip-new-routes <BOOL> Only reuse routes from input, do not calculate new ones; default: false
--logit <BOOL> Use c-logit model (deprecated in favor of --route-choice-method logit); default: false
--route-choice-method <STRING> Choose a route choice method: gawron, logit, or lohse; default: gawron
--logit.beta <FLOAT> Use FLOAT as logit's beta; default: -1
--logit.gamma <FLOAT> Use FLOAT as logit's gamma; default: 1
--logit.theta <FLOAT> Use FLOAT as logit's theta (negative values mean auto-estimation); default: -1
--persontrip.walkfactor <FLOAT> Use FLOAT as a factor on pedestrian maximum speed during intermodal routing; default: 0.9

Defaults

Option Description
--departlane <STRING> Assigns a default depart lane
--departpos <STRING> Assigns a default depart position
--departspeed <STRING> Assigns a default depart speed
--arrivallane <STRING> Assigns a default arrival lane
--arrivalpos <STRING> Assigns a default arrival position
--arrivalspeed <STRING> Assigns a default arrival speed
--defaults-override <BOOL> Defaults will override given values; default: false

Time

Option Description
-b <TIME>
--begin <TIME>
Defines the begin time; Previous trips will be discarded; default: 0
-e <TIME>
--end <TIME>
Defines the end time; Later trips will be discarded; Defaults to the maximum time that SUMO can represent; default: 9223372036854774

Report

All applications of the SUMO-suite handle most of the reporting options the same way. These options are discussed at Basics/Using the Command Line Applications#Reporting Options.

Option Description
-v <BOOL>
--verbose <BOOL>
Switches to verbose output; default: false
--print-options <BOOL> Prints option values before processing; default: false
-? <BOOL>
--help <BOOL>
Prints this screen; default: false
-V <BOOL>
--version <BOOL>
Prints the current version; default: false
-X <STRING>
--xml-validation <STRING>
Set schema validation scheme of XML inputs ("never", "auto" or "always"); default: auto
--xml-validation.net <STRING> Set schema validation scheme of SUMO network inputs ("never", "auto" or "always"); default: never
-W <BOOL>
--no-warnings <BOOL>
Disables output of warnings; default: false
-l <FILE>
--log <FILE>
Writes all messages to FILE (implies verbose)
--message-log <FILE> Writes all non-error messages to FILE (implies verbose)
--error-log <FILE> Writes all warnings and errors to FILE
--stats-period <INT> Defines how often statistics shall be printed; default: -1
--no-step-log <BOOL> Disable console output of route parsing step; default: false

Random Number

All applications of the SUMO-suite handle randomisation options the same way. These options are discussed at Basics/Using the Command Line Applications#Random Number Options.

Option Description
--random <BOOL> Initialises the random number generator with the current system time; default: false
--seed <INT> Initialises the random number generator with the given value; default: 23423

Routing Algorithms

All available routing algorithms return the path with the shortest travel time by default. If the option --weight-attribute is used, routing will try to optimize an alternative attribute from the given --weight-file instead.

'dijkstra' 
Dijkstra's algorithm (time dependent)
'astar' 
A* (time dependent)
'CH' 
Contraction hierarchies. This routing algorithm is not strictly time dependent. Instead a new hierarchy is built for each time interval according to the option --weight-period. Each vehicle is routed according to the conditions at its departure.
'CHWrapper' 
Like 'CH' but builds a separate contraction hierarchy for each vClass. This is needed when using vClasses in the simulation.

Further Documentation