文远
知行

Robotaxi 调度回放

同一份订单数据 · 两套调度策略 · 一套指标体系

  1. 1订单数据早高峰 07:30–09:30 叫车记录
  2. 2回放 + 决策同一份数据喂给两套策略,每 30 秒决策一次
  3. 3指标体系北极星 → 体验 / 效率 / 稳定
  4. 4结论回放结束后自动生成
07:30
选好对照策略,点「开始回放」
对照策略
接驾成功率—
平均等待—
正在等车—
超时撤单—
ALNS 全局重优化
接驾成功率—
平均等待—
正在等车—
超时撤单—
空车 调往缺车区 去接人 载客 拼车 等车乘客(空心 = 还没派到车,外圈 = 剩余耐心) 超时撤单 封路 / 管制

事件与系统响应

路网事件 → 系统如何应对
  1. 尚未开始

思路:用数据回放驱动调度策略迭代

调度策略好不好,不靠直觉,靠同一份真实需求下的指标对比。这个演示把这条链路做成了闭环:

订单数据叫车时间、起终点、人数;加上封路、管制等路网事件
回放仿真按时间推进,车辆真实在路网上移动,每 30 秒做一次派单决策
策略对照:最近空车 / 贪心插入
候选:ALNS 全局重优化
指标同一口径计算,分北极星 / 体验 / 效率 / 稳定四层
结论 → 迭代收益和代价一起看,再调目标权重、约束、参数

指标体系

北极星
接驾成功率 = 接到 ÷(接到 + 超时撤单)。撤单规则:乘客走到上车点后,等待超过「乘客耐心」(默认 8 分钟)仍没上车就撤单;已派到车的再宽限 3 分钟。高峰期运力不够时,它最直接反映调度能力
乘客体验
平均 / P90 等待(含步行到上车点)、平均绕路率、ETA 偏差(承诺接驾时间 vs 实际)
运营效率
载客里程占比、空驶里程、车辆载客时长占比
系统稳定
改派次数(乘客看到的车换了)、每轮决策耗时

指标之间有冲突:拼车能提高成功率和效率,但会增加绕路。所以不是一个数字说了算,而是先守住北极星,再在体验和效率之间权衡——左侧「优化偏好」就是这个权衡的旋钮。

算法:ALNS 大邻域搜索 · 滚动时域重优化

  • 建模:每辆车一条路线,每个订单是一对「上车 → 下车」停靠,带座位容量、最长等待、最大绕路约束。
  • 破坏:随机选一个订单,把它附近几辆车路线上的一段连续停靠拿掉。
  • 重建:把拿掉的订单逐个插回代价最小的位置;配合模拟退火,偶尔接受更差的解来跳出局部最优。
  • 滚动:每 30 秒以上一轮计划为起点再优化 200 ms;快到的接驾锁定不改,改派计入代价,保证计划稳定。
  • 路网事件:封路后重算最短路,失效的上车点就近改到可用位置,下一轮自动绕开。

局限与上线路径

  • 城市路网和订单是合成数据;接真实数据只需要替换订单日志和路网 / 路况矩阵,回放和指标不变。
  • 行驶时间是静态的,真实系统要接分时段路况;再平衡目前是启发式,可以换成基于需求预测的优化。
  • 上线:影子模式(只算不派)对比指标 → 小流量灰度 → 按区域 / 时段放量;护栏指标是成功率、P90 等待、改派率。