当前位置: 首页 > web >正文

配送算法17 AFramework for Multi-stage Bonus Allocation in meal delivery Platform

AFramework for Multi-stage Bonus Allocation in meal delivery Platform


       本文针对美团每日数十万单因无人接单而被取消的痛点,提出“多阶段动态奖金分配”框架:先用半黑盒模型预估奖金—接单概率关系,再用拉格朗日对偶动态规划离线算出阶段乘子,最后在线实时为每一单分配合适奖金;离线与线上 A/B 测试均表明,该方案可在预算内将订单取消率降低 25% 以上。

问题场景

平台每天约 16.5 万单因无人接单而被取消(NA-canceled)。
一笔订单从推送到司机端开始,最多可以经历 |T| 次奖金调整(阶段)。
每阶段:
– 若司机接单,则订单成功;
– 若顾客取消,则订单失败;
– 若二者均未发生,则进入下一阶段继续等待。
平台需在月度总奖金预算 B 之内,为每单在每个阶段实时决定奖金 c_i,t,以最大化最终被接单的期望订单量。

在这里插入图片描述

在这里插入图片描述

状态转移与概率拆解

接受概率 p_i,t(c_i,t)

采用 Logistic 形式:
在这里插入图片描述

其中:
α_i,t<0(奖金越高,概率越大);
α_i,t、β_i,t 由神经网络同时学习,但使用不同隐藏层:
– α_i,t 仅用“有奖金样本”更新;
– β_i,t 仅用“无奖金样本”更新,以避免样本不平衡。
输入特征:
c_i,t:阶段 t 分配的奖金;
x_i,t:订单上下文(距离、ETA、供需、天气、司机密度等)。

取消概率 q_i,t

用 XGBoost 对已进入阶段 t 的订单建模;
将预测概率按 0.05 区间分桶,统计桶内正样本比例作为最终 q_i,t。

阶段转移概率

订单能进入阶段 t 的概率:
Π_{k=1}^{t-1}(1-p_i,k-q_i,k)。
因此在阶段 t 被接单的联合概率:
[Π_{k=1}^{t-1}(1-p_i,k-q_i,k)] · p_i,t。

在这里插入图片描述

在这里插入图片描述

数学规划模型

在这里插入图片描述

关键建模假设

阶段独立:阶段 t 的接受概率仅受该阶段奖金 c_i,t 影响,不受其他阶段奖金或其他订单奖金影响(经 0–3.5 元区间 A/B 验证,司机在前 10 分钟内行为无显著差异,假设成立)。
奖金只在订单被最终接单时才实际支付,因此约束采用“期望成本”而非“实际成本”。

在这里插入图片描述

模型特色

同时刻画“接单-取消-继续等待”三重随机事件;
利用 Logistic + XGBoost 的半黑盒结构兼顾解释性与精度;
训练时针对奖金/非奖金样本分别更新不同网络层,解决极端样本不平衡。

总体思路

把原非凸多阶段问题拆成两步:
(1) 阶段间预算切分:用离散动态规划(DP)离线决定“每一阶段最多花多少钱”;
(2) 阶段内订单级奖金:用拉格朗日对偶理论在线实时决定“给每一单多少奖金”。
通过一维降维(把高维概率向量压缩成平均概率)和凸等价变换,将 DP 状态转移公式化成 O(B·|T|) 的递推;再用二分法求单阶段最优乘子 λ_t(·)。
在线阶段直接代入离线求得的 λ_t*,把整体问题拆成 |N_t| 个独立的一维枚举,复杂度 O(1)/单,可并行。

离线算法流程

在这里插入图片描述

单阶段子问题 BA(N_t, B̃):

决策变量:概率向量 p_i,t,c_i,t(p_i,t) 为凸函数。
目标:max Σ p_i,t
约束:Σ p_i,t·c_i,t(p_i,t) ≤ B̃
通过凸对偶(零对偶间隙)与二分法(Algorithm 2)求最优 λ_t(B̃) 与最优值 g_t(B̃)。

DP 递推:

G_t(B̃)=max_{k=0…B̃} {g_t(k)+(|N_{t+1}|/|N_t|)·G_{t+1}(⌊|N_t|/|N_{t+1}|·(B̃-k)⌋)}
其中 |N_{t+1}|=|N_t|−g_t(k)−Q_t 反映剩余订单量。
复杂度:O(B·|T|) 存储 + O(B·|T|·|N_t|) 计算,B 为离散预算级数。

在线算法

代入离线 λ_t*,把原问题拆成 |N_t| 个独立一维问题:
min_{0≤c_i,t≤C_i^u} [λ_t*·p_i,t(c_i,t)·c_i,t − p_i,t(c_i,t)]
枚举有限候选奖金(0…C_i^u)即可得最优 c_i,t*,复杂度 O(1)/单,可并行。

在这里插入图片描述

预算滚动修正(Periodic Control)

每日离线重算:用“上月同日”数据训练,预算=剩余预算/预计剩余单量×过去 30 天单量。
实时微调:支出>110%预算时按比例下调奖金,<90%时上调,确保月度不超支。

离线实验设计

数据集

• 4 座典型城市:兰州(46 978 单)、南昌(71 427 单)、威海(120 017 单)、成都(258 612 单),覆盖一周内全部订单。
• 预算口径:统一折算为“每单平均可用奖金”,保证不同城市可比。
• 订单生命周期:0–50 min,8 个阶段,每阶段约 6 min 可调一次奖金。

核心指标

• NA-canceled 订单量(无人接单导致顾客取消)。
• 总奖金消耗曲线。

在这里插入图片描述

在这里插入图片描述

结果对比

• 无奖金:NA-canceled 为基线 100%。
• 统一奖金(每单固定额度):NA-canceled 降幅 ≈30%。
• 单阶段奖金(只在第 1 阶段一次性加价):NA-canceled 降幅 ≈45%。
• MSBA 多阶段动态:NA-canceled 降幅 >60%;与单阶段相比再降 ≈20%,与统一奖金相比再降 ≈40%。
• 订单量越大的城市,MSBA 优势越显著。

在这里插入图片描述

奖金-阶段分布

• 第 1 阶段奖金占比低:高接受概率的“订单 A”立即被接,无需补贴。
• 第 2–4 阶段奖金占比高:大量“订单 B”需激励。
• 第 5 阶段后奖金递减:剩余订单减少,边际收益下降。

预算敏感性

• 低预算(<0.15 元/单):MSBA 仍可将 NA-canceled 降至单阶段/统一奖金的 50% 以下。
• 高预算(>0.3 元/单):三种方法趋同,但 MSBA 仍保持 5–8% 的额外优势。

阶段数敏感性

• 阶段数从 2 增至 10,接受订单量单调上升;>10 后增益趋缓且司机体验下降(奖金调整过频)。
• 推荐:8–10 阶段为最佳折中。

结论

针对外卖平台“无人接单”导致的巨额取消单量,本文提出 MSBA 框架:用半黑盒模型刻画接单概率,离线 LDDP 算法求阶段乘子,在线 O(1) 实时为每单定价;离线与线上 A/B 均验证其可在 0.2 元/单预算内将取消单量再降 25% 以上,现已全量部署于国内最大外卖平台。

http://www.xdnf.cn/news/19118.html

相关文章:

  • 嵌入式研发工程师成长路线图,基础入门 → 中级提升 → 高级进阶 → 专家方向
  • 【笔记ing】大模型算法架构
  • Ollama 是否适合生产环境部署支持业务总结
  • [ICCV25]TRACE:用3D高斯直接学习物理参数,让AI“推演”未来场景
  • UML状态图中entry/do/exit动作的深入解析与C/C++实现
  • C++学习笔记之异常处理
  • 驱动开发系列67 - NVIDIA 开源GPU驱动open-gpu-kernel-modules分析-驱动初始化
  • Redis实战-点赞的解决方案
  • CodeSouler v2.4.0 版本更新
  • 20250828_学习JumpServer开源堡垒机使用:统一访问入口 + 安全管控 + 操作审计
  • 8.28日QT
  • Linux并发与竞争
  • 专项智能练习(图形图像基础)
  • 97、23种设计模式之桥接模式(6/23)
  • Flink Redis广播方案
  • LVDS系列26:Xilinx 7系 OSERDESE2原语(二)
  • Cubemx+Vscode安装与环境配置
  • Shell 脚本编程规范与变量
  • Spring Boot + KingbaseES 连接池实战
  • 【C#/Cpp】CLR项目搭建的内联和托管两选项
  • 基于uni-app的iOS应用上架,从打包到分发的全流程
  • 大模型推荐系统新标杆!EGA-V2端到端大模型驱动推荐系统
  • Ansys Electronics Desktop 2025 R2 软件界面介绍
  • Java线程池深度解析:从原理到实战的完整指南
  • orbslam2语义分割
  • 工业级TF卡NAND+北京君正+Rk瑞芯微的应用
  • 人工智能-python-深度学习-过拟合与欠拟合:概念、判断与解决方法
  • 【Bluedroid】A2DP Source设备音频数据读取机制分析(btif_a2dp_source_read_callback)
  • Solidity合约编程基础知识
  • Java 多线程环境下的全局变量缓存实践指南