【问题标题】:How to randomly generate flow in SUMO simulation given a fixed vehicle number?如何在给定车辆编号的情况下在 SUMO 模拟中随机生成流量?
【发布时间】:2018-09-21 11:16:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: omnet++ veins sumo


    【解决方案1】:

    你应该像这样在路由文件中定义一个流

    <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 中,并在运行模拟时将其作为附加文件加载。

    【讨论】:

    • 谢谢,迈克尔。这正是我所需要的。这里还有一个问题。对于&lt;vType id="1" length="1"/&gt;中的概率,除了手动设置,还有随机的方式吗?
    • 随机概率是什么意思?您的意思是选择一个值的概率本身就是一个随机变量吗?不,这是不可能的(老实说,我怀疑它的用处),除非您当然使用脚本生成该文件。
    猜你喜欢
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多