作者注:
原文链接:http://sumo.dlr.de/wiki/DUAROUTER
1、简介
DAUrouter导入不同的需求定义,sumo计算车辆的路径得到最短的计算路径。当调用DUArouter时迭代执行动态用户分配(dynamic user assignment (DUA))。通过工具duaiterate.py(访问: duaiterate.py)是很方便实现的,最终到达一种平衡状态(DUE)。
目的:A)从需求定义中生成车辆路径;B)分配用户时计算路径C)修复现有rou文件的连接问题;
系统:win和linux
输入:A)道路文件,有netconvert或者netgenerate生成,具体访问Building Networks。
B)需求定义,具体访问Demand Modelling。
输出:rou.xml文件(具体细节访问:Definition ofVehicles, Vehicle Types, and Routes)
编程语言:c++
2、具体命令参数
2.1输出Outputs
最先通过命令-o生成文件.rou.xml;另外,用个相同名字但是后缀为.rou.alt.xml的文件生成。这个路径替代文件(route alternative file)有每辆车的相关信息。在DUA过程中routerDistribution被利用,也可以直接被sumo加载。
2.2配置文件
(此部分不赘述)
2.3输入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 |
-a <FILE> --alternative-files <FILE> | Read alternatives from FILE |
-f <FILE> --flow-files <FILE> | Read flow-definitions 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/ |
-t <FILE> --trip-files <FILE> | Read trip-definitions from FILE(s) |
-r <FILE> --route-files <FILE> | Read sumo-routes from FILE(s) |
2.4输出Output
Option | Description |
--output-prefix <STRING> | Prefix which is applied to all output files. The special string 'TIME' is replaced by the current time. |
-o <FILE> --output-file <FILE> | Write generated routes to FILE |
--vtype-output <FILE> | Write used vehicle types into separate FILE |
--exit-times <BOOL> | Write exit times (weights) for each edge; default: false |
2.5处理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 |
--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 |
--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 |
--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 |
2.6默认default
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 |
2.7时间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 |
2.8报告Report
(此部分不赘述)
2.9随机数字
(此部分不赘述)
3、路径算法
所有的路径算法都是给出旅行时间最短的路径。如果命令—weight-attribute被使用,路径将会试着从给定的—weight-file中取值给出最优的结果。
Ø 迪杰斯特拉算法:Dijkstra:Dijkstra's algorithm(时间依赖性)
Ø a星算法:astar:A*(时间依赖性)
Ø CH算法:Contraction hierarchies。这个算法不是时间依赖的,每次更新时间后就会根据—weight-period来规定优先级。每辆车偶都是单独的进行路径规划的。
Ø CHWrapper算法:和CH类似但是它是按照车的类型来进行处理的,并不是单独的车辆。在仿真的时候需要用到vClass。
4、更多文档内容
· 有关最短最优路径:Demand/Shortest_or_Optimal_Path_Routing
· 有关动态用户分配:Demand/Dynamic_User_Assignment
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)