《Large-Scale Order Dispatch in On-Demand Ride-Hailing Platforms: A Learning and Planning Approach》论文精读笔记
- 论文来源:滴滴,KDD CUP2018
- 主要涉及方法:马尔科夫决策过程(MDP)、KM算法。
- 本篇也是出行领域非常经典的一篇派单算法,有必要精读!
- 参考解读
摘要
- 背景:网约车、滴滴打车平台
- 传统方法及不足:传统方法只关注于当下的乘客满意度(比如给当前乘客分配最近的司机,可以满足当下乘客,但是把这个司机分配到别的稍远的订单,可能会缓解别的区域的供需问题,带来更大收益)
- 改进思路:设计一种更有效的方式来从全局和更长期的角度来优化资源利用以及用户体验
- 改进方法:把派单过程建模为一个大规模的序列决策问题,每一个派单都有由一个集中式算法以协调的方式确定。
- 方法简述:采用了learning and planning的方式来求解问题:
- 基于历史数据,利用时空价值来量化供需关系(对应了司机在该时空状态下的期望收益)
- planning步骤是在线进行的,每个司乘匹配分都考虑了当下回报和未来收益,然后使用组合优化算法来解决调度问题。
1、引言
- 近年来,打车软件得到了快速发展。在无线通信、GPS等加持下,网约车在空驶问题、乘客等待时间方面都得到了较大改进(相较于传统出租车系统)。同时这些打车软件还提供了关于乘客需求和出租车出行模式的丰富信息,这有利于各种研究领域,包括需求预测、路线规划、供应链管理和交通灯控制。
- 本论文关注于网约车的派单问题(或者叫订单分配、司乘匹配都可)。以前往往会采用给乘客最近的司机等方法,这些方法易于实施和管理,但并非做的是全局优化。由于网约车司机和乘客需求之间的时空错配(打个比方,把一个离你很近的司机分配给你,当下时空获得了最大收益,但是如果把他分配给别的稍微远一点的乘客,可能在之后的时空下获得更大收益,从而给平台带来更大的利润),从长远来看,这可能会导致次优结果。
- 作者们的目标是从长远的角度来进行订单分配,同时考虑当下乘客的满意度,并且考虑未来的预期收益。这依赖于从时空层面上对乘客和网约车模式的建模。
- 为了达到上述目标,滴滴将其建模成了一个序列决策问题。并且将用于决策的司乘匹配分拆分为即时奖励和未来收益两部分。并以时空状态价值函数来量化未来收益(也就是后面主要介绍的MDP方法得到的状态价值函数)。并利用组合优化的方法来根据司乘匹配分进行派单,主要框图如论文图一所示。
- 本论文提出的主要贡献如下:
- 提出了一种订单调度算法,可以优化大规模应用的长期平台效率。该算法在一个统一的决策框架中同时考虑了乘客的即时满意度和预期的未来收益。
- 通过将订单调度建模为具有集中控制的顺序决策问题,属于强化学习的范畴。该算法在学习和规划框架中实现,是强化学习在大规模实时系统中的首批应用之一。
- 考虑了计算效率、实验设计等问题,并且已经上线取得了收益。
2、派单背景和系统概述
- 从司机抢单模式到平台分发模式,平台效率显著提高,订单完成率提高了10%以上。
- 派单就是要做好司乘之间的最优匹配,自然对打车服务非常重要。
- 略
3、LEARNING(离线学习部分)
概述:该步骤就是利用离线数据,通过马尔可夫过程为每个时空过程学习出一个未来价值,存在查找表中,然后在线上调用。
3.1 问题定义、建模
背景:马尔可夫决策过程(MDP)通常用于建模连续决策问题。在MDP中,智能体需要在环境中根据自身所处的状态通过某个策略做出动作,相应的动作会有奖励。该智能体的目标就是最大化整个过程中收到的奖励。