VEINS:动态重路由算法
VEINS: Dynamic re-routing algorithm
在 SUMO 中,在使用 DUAROUTER 将 OSM 文件转换为 SUMO 兼容道路网络时,我们可以传递 --routing.algorithm 参数以使用 these 之一(默认为 Dijkstra)。
在 veins 演示应用程序中,有一个逻辑可以模拟事故和车辆在收到警告消息后改道。我试图了解重新路由在那里是如何工作的。 post says re-routing is dynamic and 是对场景的更多解释。
我的问题是在重新路由时 veins 使用哪种路由算法?使用创建的道路网络是否相同?如果我必须在相同条件下检查不同路由算法的行为,我是否需要使用不同的值创建相同的道路网络 --routing.algorithm ?
最后对你的问题的简短回答是肯定的。
据我所知,你说的路由都是SUMO的,也就是VEINS使用的default。一旦您在 运行 时间更改了路线行为,VEINS 就会接管并告诉 SUMO 如何为其车辆安排路线。这对你的项目意味着你要么在 SUMO 中完全提前实现路由(即独立于 VEINS 中的代码),要么你实现一些完全在 VEINS 中的 re-routing 算法。 SUMO 不能根据应用程序知识进行动态 re-routing,因为 SUMO 不知道这些信息,因为 SUMO 是独立于任何车辆通信系统构建的。
在 SUMO 中,在使用 DUAROUTER 将 OSM 文件转换为 SUMO 兼容道路网络时,我们可以传递 --routing.algorithm 参数以使用 these 之一(默认为 Dijkstra)。
在 veins 演示应用程序中,有一个逻辑可以模拟事故和车辆在收到警告消息后改道。我试图了解重新路由在那里是如何工作的。
我的问题是在重新路由时 veins 使用哪种路由算法?使用创建的道路网络是否相同?如果我必须在相同条件下检查不同路由算法的行为,我是否需要使用不同的值创建相同的道路网络 --routing.algorithm ?
最后对你的问题的简短回答是肯定的。
据我所知,你说的路由都是SUMO的,也就是VEINS使用的default。一旦您在 运行 时间更改了路线行为,VEINS 就会接管并告诉 SUMO 如何为其车辆安排路线。这对你的项目意味着你要么在 SUMO 中完全提前实现路由(即独立于 VEINS 中的代码),要么你实现一些完全在 VEINS 中的 re-routing 算法。 SUMO 不能根据应用程序知识进行动态 re-routing,因为 SUMO 不知道这些信息,因为 SUMO 是独立于任何车辆通信系统构建的。