具有概率的重新路由表现得很奇怪

时间:2018-04-22 14:18:36

标签: sumo traffic-simulation

我有两个网络连接。所有汽车从左侧开始,在第一个交叉点开始,它们驱动底部(概率= 0.2)或右侧(概率= 0.8)。这完全没问题。执行这些操作的代码如下(hello.rou.xml):

<?xml version="1.0" encoding="UTF-8"?>
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/routes_file.xsd">
  <vType accel="1.0" decel="5.0" id="Car" length="5.0" minGap="2.0" maxSpeed="50.0" sigma="0" />
  <flow id="type1" color="1,1,0"  begin="0" end= "7200" period="3" type="Car">
    <routeDistribution id="routedist1">
        <route id="route0" edges="gneE7 gneE8" probability="0.2"/>
        <route id="route1" edges="gneE7 gneE10" probability="0.8"/>
    </routeDistribution>
</flow>
</routes>

因此我们有很多汽车可以进入gneE10边缘。我想在此刻指定上/右/下的概率。所以我用rerouter附加了附加文件:

   <?xml version="1.0" encoding="UTF-8"?>
<additional>
   <routeDistribution id="reRouteE10">
      <route id="routeX0" edges="gneE10 -gneE14" probability="0.34" /><!--UP-->
      <route id="routeX1" edges="gneE10 gneE15" probability="0.33" /><!--STRAIGHT-->
      <route id="routeX2" edges="gneE10 gneE12" probability="0.33" /><!-- DOWN -->
   </routeDistribution>
   <rerouter id="rerouterE10" edges="gneE10">
      <interval begin="0" end="100000">
         <routeProbReroute id="reRouteE10" />
      </interval>
   </rerouter>
</additional>

如果我们有上述概率,我总是有这样的行为:

enter image description here

每辆车都下降了!为什么?最有可能的原因是代码中的最后一个是诚实的。 我指定了一点点不同的密度。 enter image description here

即使有非常大的数字0.7 - 所有的汽车仍然是直的。 (它随0.9变化 - 然后全部上升)。 enter image description here

不确定错误或我是否误解了某些内容。完整代码适用于Github

1 个答案:

答案 0 :(得分:1)

重新路由器不会将路由分发作为参数。我同意这是合乎逻辑的做法,但SUMO的做法是:

<rerouter id="rerouterE10" edges="gneE10">
  <interval begin="0" end="100000">
    <routeProbReroute id="routeX0" probability="0.34" />
    <routeProbReroute id="routeX1" probability="0.33" />
    <routeProbReroute id="routeX2" probability="0.33" />
  </interval>
</rerouter>

在您的示例中,sumo在创建重新路由时从给定分布中绘制一条路线,然后始终使用此路线。