You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用randomTrips脚本按概率生成指定路线失效问题求助

解决SUMO randomTrips脚本route概率不生效的问题

问题出在你同时使用了<flows>配置,且脚本默认生成的是<trip>元素而非引用预定义路线的<vehicle>元素:

  • <flows>会强制脚本生成自动路径规划的trip,这类trip不会读取你定义的<route>的probability/number属性,而是随机选择起点终点并自动计算路径。
  • 你定义的<route>只有在生成引用它的vehicle时才会生效。

解决方案1:修改roucfg配置

移除<flows>,仅保留需要的路线并指定生成数量,同时禁用随机起点选择:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <routes>
        <!-- 只保留目标路线,设置生成数量为5 -->
        <route id="E01_E12" edges="E01 E12" number="5" />
        <!-- 直接删除概率为0的路线,无需保留 -->
    </routes>
    <begin value="0"/>
    <end value="1"/>
    <o value="baselineRoute.rou.xml"/>
    <n value="baselineNet.net.xml"/>
    <!-- 禁用随机选点,强制使用预定义路线 -->
    <random value="false"/>
</configuration>

解决方案2:直接使用命令行参数

如果不想修改配置文件,用命令行直接指定路线和数量更直观:

python randomTrips.py -n baselineNet.net.xml -o baselineRoute.rou.xml --route "E01 E12" --route-number 5 --begin 0 --end 1

验证效果

生成的路线文件会包含引用指定路线的<vehicle>元素,而非自动路径的<trip>,示例输出:

<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/routes_file.xsd">
    <route id="E01_E12" edges="E01 E12"/>
    <vehicle id="0" depart="0.00" route="E01_E12"/>
    <vehicle id="1" depart="0.00" route="E01_E12"/>
    <!-- 剩余3辆同路线的vehicle -->
</routes>

内容的提问来源于stack exchange,提问作者Mouad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 00:32:27