路由时动态调整边缘权重

时间:2016-10-03 11:03:19

标签: sumo

我目前正在研究如何通过调整边缘weight来改善交通状况。

目前的问题是,通过routes生成DUAROUTER时,它会在整个路由生成过程中保持固定的weight

如何以一种方式生成路线,以便我可以在整代中途调整weightDUAROUTER应该接受新weight以找到最短路径?

我想要实现的目标的粗略概念;

鉴于边缘的初始weighttraveltime,如果密度太高(表明拥塞),我想动态增加weight以反映它的'true 'traveltime

1 个答案:

答案 0 :(得分:0)

通常,duarouter能够读取重量文件,该文件可以为所有边缘提供(时间相关的)重量(行程时间)。格式为

<additional> <interval begin="0" end="3600"> <edge id="edge1" traveltime="120"/> ... more edges ... </interval> ... more intervals ... </additional>

并描述here。您可以使用模拟生成此权重文件,然后使用迭代过程运行交替模拟和路由以实现用户平衡。这个工具是duaIterate.py,它描述为here。您还可以修改此脚本以根据您的意愿调整重量文件。

如果您没有足够的时间进行这个有时很长的过程,您还可以在模拟中使用路由,这将始终是当前的行程时间,具体取决于边缘的负载。您可以先使用跳转文件,该文件通常会直接进入duarouter进行模拟, 而不是 duarouter -n net.xml -t trips.xml 你打电话给sumo -n net.xml -r trips.xml。 详情为here。这种方法的效果要快得多,但影响较小。