🧭 背景:为什么路径优化对美团至关重要?
作为一个日均配送单量突破 6000 万单的平台,配送路径的精度直接决定了:
| 影响项 | 描述 |
|---|---|
| 用户体验 | ETA是否准确,是否延迟提醒 |
| 骑手效率 | 是否能在高峰时段避开拥堵/封路 |
| 平台成本 | 更少等待/绕路 = 更高履约效率,节省人力成本 |
| 商家好评率 | 配送是否能“刚刚好”抵达,影响商家评分 |
我们打造了一个融合高精地图引擎、动态路线感知模型、ETA 实时预估系统的 路径优化平台 PathOptimizer,每天调度超 5 亿次路线计算任务。
一、系统架构全景图
二、路径规划引擎 PathCore:路线不是最短,是“最优”
传统导航只考虑“最短距离 / 最短时间”,我们要考虑:
- 道路等级(主路 vs 小巷)
- 骑手熟悉度
- 红绿灯权重
- 外卖特殊道路(“近路”)
- 历史通行经验(时间段维度)
🧩 路径打分核心逻辑(Python伪代码)
def score_path(path, time_slot):
score = 0
for segment in path.segments:
score += (
segment.length * segment.road_weight
+ segment.traffic_delay
+ red_light_penalty(segment)
)
if is_shortcut(segment, time_slot):
score -= 10
return score
我们还训练了一个 Reroute GNN 模型 用于识别“极端高峰异常路径”场景。
三、动态距离感知:实时路况与区域堵点建模
我们使用高德/百度原始数据,同时结合自研“骑手轨迹热力图”建模交通拥堵指数。
🚦 实时路况感知服务:
// 获取实时道路速度
GET /traffic/speed?lat=23.1245&lng=113.3234&radius=500
→ 返回:[{road_id: 111, speed: 18.2, congestion: "heavy"}]
将该信息灌入“路径评分”计算体系中:
const adjustETA = (baseTime, congestionLevel) => {
switch(congestionLevel) {
case 'light': return baseTime;
case 'medium': return baseTime * 1.2;
case 'heavy': return baseTime * 1.5;
}
}
四、ETA 预估引擎:从规则到机器学习再到深度模型演进
我们经历了如下演进路线:
| 版本 | 技术 | 精度表现 | 描述 |
|---|---|---|---|
| V1 | 规则 + 历史均值 | MAE = 4.3min | 不考虑实时性,精度低 |
| V2 | XGBoost 模型 | MAE = 2.1min | 特征工程复杂,维护成本高 |
| V3 | Wide&Deep 模型 | MAE = 1.1min | 当前主力架构,兼顾泛化能力与个性路径预测 |
✅ 当前主模型输入特征:
| 特征类别 | 示例 |
|---|---|
| 骑手行为 | 最近10单平均速度、接单时长 |
| 商户特征 | 取餐等待时长分布、商户评分 |
| 路况特征 | 当前时间段区域拥堵系数 |
| 路线特征 | segment 分段统计,信号灯数量、交叉口数量 |
📦 模型伪代码(TensorFlow)
deep_input = tf.concat([
tf.nn.embedding_lookup(rider_embedding, rider_id),
tf.nn.embedding_lookup(merchant_embedding, merchant_id),
tf.convert_to_tensor(route_stats),
tf.convert_to_tensor(traffic_features),
], axis=-1)
x = tf.keras.layers.Dense(128, activation='relu')(deep_input)
x = tf.keras.layers.Dense(64, activation='relu')(x)
eta_output = tf.keras.layers.Dense(1, activation='linear')(x)
实测效果(线上实验):
| 指标 | 原模型 V2 | 当前模型 V3 |
|---|---|---|
| 平均误差(MAE) | 2.1 分钟 | 1.1 分钟 |
| 用户投诉率 | 0.92% | ↓到 0.51% |
| 骑手等待超时率 | 7.4% | ↓到 3.2% |
五、调度系统联动:路径变动自动回流 ETA 预估
路径推荐系统不是孤立的,它会与派单系统实时联动:
- 某区域突发雨天,道路预估延迟 → 动态调整该区域派单优先级
- 某骑手常用路径与系统路径偏离较大 → 模型回流重训练 + 经验路径推送
六、部署架构与高并发支撑
🏗️ 工程架构:
| 模块 | 实现方案 |
|---|---|
| 地图引擎 | 高德 SDK + 自研 RiderMap(定制骑手路网) |
| 路况服务 | Flink + Redis + 自建 TrafficBroker |
| ETA 模型服务 | TensorFlow Serving + 特征KV缓存(RocksDB) |
| 调度系统 | 基于 Apache Pulsar 的事件驱动派单 |
| 日志 & A/B | Kafka + ClickHouse + 自研 A/B 平台 |
七、总结:路径只是开始,智能配送才是未来
路径优化不只是单点技术问题,而是端到端高智能配送系统的一环。
| 能力模块 | 核心价值 |
|---|---|
| 路线评估 | 拥堵/偏好/熟练度等多维考虑 |
| ETA 预估 | 多目标深度融合,不仅准,还要稳 |
| 路况感知 | 全网实时感知 + 热力建模 |
| 调度联动 | 智能策略自动触发派单级别调整 |
美团骑手路径优化系统的每一毫秒提升,背后都是数十亿次路线的微调与数百万级数据建模的积累。