如何在给定固定车辆编号的情况下在 SUMO 模拟中随机生成流量?

How to randomly generate flow in SUMO simulation given a fixed vehicle number?

在我的交通模拟网络中,我有几段高速公路由十条相连的道路组成(例如,id 从 1 到 10)。我想尽可能多地随机生成一个满足以下要求的流:

  1. 车辆总数是固定的,例如1000辆。
  2. 车辆的出发时间在模拟时间内是随机的。
  3. 所有车辆预计从 1 号路开始,到 10 号路结束(如果达到模拟时间,则不必到达)。
  4. 如果车辆类型也能随机化就更好了

我已经阅读了 SUMO 的文档 Simulation/Randomness,但仍然不知道如何满足上述要求。任何建议表示赞赏。

您应该像这样在路由文件中定义流程

<routes>
    <flow id="myflow" begin="0" end="3600" number="1000" from="1" to="10"/>
</routes>

(根据需要调整开始和结束时间)。你把它放在一个名为 myflow.rou.xml 的文件中,然后像这样调用 duarouter

$ duarouter -n mynet.net.xml -r myflow.rou.xml --randomize-flows -o myroutes.rou.xml

然后您可以在模拟中使用网络加载生成的路线。

要随机化车辆类型,最简单的方法是给出默认车辆类型的分布:

<additional>
    <vTypeDistribution id="DEFAULT_VEHTYPE">
         <vType id="1" length="1"/>
         <vType id="2" length="2"/>
         <vType id="3" length="3"/>
    </vTypeDistribution>
</additional>

你当然可以添加比长度更多的参数,也可以添加概率。将其保存在单独的文件中 mytypes.add.xml 并在 运行 模拟时将其作为附加文件加载。