Large-Scale Order Dispatch in On-Demand Ride-Hailing Platforms: A Learning and Planning Approach

[Large-Scale Order Dispatch in On-Demand Ride-Hailing Platforms: A Learning and Planning Approach]-2021.07.12

《Large-Scale Order Dispatch in On-Demand Ride-Hailing

Platforms: A Learning and Planning Approach》论文

Abstract

我们在大型按需叫车平台中提出了一种新颖的订单调度算法。虽然传统的订单调度方法通常侧重于即时的客户满意度,但所提出的算法旨在提供一种更有效的方法,以从全局和更有远见的角度优化资源利用率和用户体验。特别地,我们将订单调度建模为一个大规模的顺序决策问题,其中将订单分配给司机的决定由集中式算法以协调的方式确定。问题是通过学习和规划的方式解决的:
1)基于历史数据,我们首先将需求和供应模式总结为一个时空量化,每个都表示一个司机在特定状态下的期望值;
2)实时进行规划步骤,其中考虑到即时奖励和未来收益,对每个驾驶员订单对进行评估,然后使用组合优化算法解决调度问题。通过大量的离线实验和在线AB测试,所提出的方法显着提高了平台的效率,并已成功部署在滴滴出行的生产系统中

1 Introduction

近年来,我们见证了 Uber、Lyft 和滴滴出行等按需乘车服务的快速发展。随着无线通信工具、全球定位系统 (GPS) 和强大的移动应用程序的出现,这些叫车服务在减少出租车巡航时间和乘客等待时间方面比传统出租车系统有了显着改进 [7, 13, 23]。同时,它们还提供了关于乘客需求和出租车移动模式的丰富信息,可以使需求预测、路线规划、供应链管理和交通灯控制等各个研究领域受益。
在本文中,我们关注现代出租车网络中的订单调度 [4, 12, 17, 24, 26],这对应于寻找合适的司机来满足乘客请求的过程。此前,基于局部性的贪婪方法广泛应用于大型出租车公司,例如寻找最近的司机为乘客提供服务[8],或采用先到先服务原则的排队策略[25]。尽管这些方法易于实施和管理,但它们自然是不协调的,并且倾向于将乘客的即时满意度置于全局供应利用率之上。由于出租车供应和乘客需求之间的时空不匹配,从长远来看,这可能会导致次优结果。
我们的目标是通过满足当前乘客的需求来优化长期(例如,几个小时或一天)的订单调度需求并优化预期的未来收益。它依赖于对时空乘客需求和出租车移动模式的仔细建模,以及实时环境中的快速感知和控制。据我们所知,这是第一个考虑订单调度的工作,目标是在像滴滴出行这样的大型平台上优化长期的全球效率。
为了实现这一点,我们将订单调度建模为一个顺序决策问题。将司机与订单匹配的每个单独决定都基于两个方面:从实时信息中获得的对服务该订单的司机的即时奖励,以及代表该决定对未来的影响。基于历史数据中的乘客需求和出租车供应模式,我们建立了一个关于时空状态的统一评估指标,以量化上述未来收益(即学习步骤)。多个司机和订单之间的实时匹配被表述为多代理系统中的决策问题,并使用组合优化算法解决,该算法以集中和协调的方式(即规划步骤)找到全局最优解。图 1 说明了建议的学习和规划算法。
我们克服了几个实际问题,使所提出的算法在大规模系统中有效,包括计算效率、多目标优化以及平衡用户体验和平台效率之间的权衡。经过模拟环境和在线AB测试的大量实验,所提出的方法比基线算法有了显着的改进,并已成功部署在滴滴出行的生产系统中,每天为数百万乘客和司机提供服务。
这项工作的贡献总结如下。
• 我们提出了一种有效的订单调度算法,可以优化大规模应用的长期平台效率。该算法在统一的决策框架中同时考虑了乘客的即时满意度和预期的未来收益。
• 通过将订单调度建模为具有集中控制的顺序决策问题,所提出的方法自然属于强化学习的范畴[19]。在学习和规划框架中实施,所提出的算法是强化学习在大规模实时系统中的首批应用之一。
• 我们在提议的算法中考虑了几个实际问题,例如计算效率和实验设计。因此,所提出的方法已被用于现实世界的生产系统,并将平台在中国主要城市的收入提高了 0.5% 到 5%
建议的学习和规划算法

2 ORDER DISPATCH PROBLEM:BACKGROUND AND SYSTEM OVERVIEW

出租车服务是现代城市的主要交通服务之一。传统的出租车在街道上巡游,以发现乘客的要求。近年来,优步、Lyft 和滴滴等“按需”交通服务提供了一种更高效的叫车方式。特别是,这些在线服务即时收集司机的信息和乘客的请求(订单),并依靠一个集中的决策平台来匹配司机和订单。据滴滴统计,从传统出租车的“司机选单模式”到中心化的“平台下单给司机模式”的转变,平台效率显着提升,产生了超过订单完成率提高 10%。
订单调度旨在找到司机和订单之间的最佳匹配,显然对于按需乘车服务至关重要 [24]。图 2 显示了它在实践中如何工作的系统概览。每辆出租车配备传感和通信工具,定期将其地理坐标和占用状态上传到平台。另一方面,当乘客产生“按需”请求时,他或她会立即在平台上下订单。过去,滴滴依靠一种简单但仍然成功的在线订单调度策略。特别是,在每个短时间段内(比如一两秒),平台的决策中心首先收集所有可用的驱动程序和活动订单,然后根据组合优化算法进行匹配。
鉴于历史数据和实时出租车监控信息,我们有可能超越在一个时间段内优化匹配。在本文中,我们设计了一种订单调度算法,可以在长期(例如,两三个小时或一天)内优化平台的全局效率。这里的主要思想是将订单调度制定为一个大规模的顺序决策问题,其中每个决策对应于匹配驱动程序的动作订单与否,从长远来看,这可以最大限度地提高平台的预期收益。在计算驱动程序-订单对的匹配值时,所提出的算法与以前的方法不同。我们不仅关注当前状态(例如,最小化取货距离),还考虑订单调度决策对未来的影响,以在时空上平衡供需分配。
在这里插入图片描述

3 LEARNING

学习步骤旨在定量了解整个城市的出租车供应和乘客需求的时空模式。给定历史数据,我们构建了一个马尔可夫决策过程 (MDP),其中一个代理代表平台中的单个驱动程序。学习到的价值函数为每个时空状态产生“价值”,在接下来的在线规划步骤中进一步利用。

3.1 Problem Statement

背景:马尔可夫决策过程 (MDP) 通常用于对顺序决策问题进行建模。在 MDP 中,代理根据指定代理如何在 MDP 的每个状态下选择操作的策略在环境中运行。代理的目标是最大化其收益 G t = ∑ i = t T R t + 1 G_t=\sum_{i=t}^TR_{t+1} Gt=i=tTRt+1 ,即从时间 t 开始的预期累积未来奖励。为了解决 MDP,一个共同的目标是学习价值函数,包括状态价值函数 V π ( s ) V_\pi(s) Vπ(s)和动作价值函数 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a),其中 V π ( s ) = E π [ G t ∣ s t = s ] V_\pi(s)=\Epsilon_\pi[G_t|s_t=s] Vπ(s)=Eπ[Gtst=s] Q π ( s , a ) = E π [ G t ∣ s t = s , a t = a ] Q_\pi(s,a)=\Epsilon_\pi[G_t|s_t=s,a_t=a] Qπ(s,a)=Eπ[Gtst=s,at=a]
MDP定义:我们在这里构建的 MDP 是在本地视图中:每个独立的驱动程序都被建模为一个代理。尽管此设置可能会导致后续规划步骤中包含数千个代理的多代理问题,但此设置的优点在于,与建模的全局视图将整个平台作为一个代理设置相比,状态转换、动作和奖励的定义可以显着简化。值得注意的是,在本地视图设置下,环境包含所有剩余信息,包括订单生成和平台中其他驱动程序的状态。我们目前不区分个别司机 - 每个司机都被视为相同”
“MDP 的其他组件定义如下,如图 3 所示”
在这里插入图片描述State::驾驶员的状态被定义为表示时空状态的二维向量。为简单起见,我们将状态量化为固定数量的时间段和区域的笛卡尔积,从而得到有限的状态集。形式上,我们定义 s = ( t , g ) ∈ S s=(t,g)\in S s=(t,g)S ,其中 t ∈ T t\in T tT 是时间索引, g ∈ G g\in G gG是司机所在区域的索引。注意 ∣ S ∣ = ∣ T ∣ × ∣ G ∣ |S|=|T|\times|G| S=T×G
Action在我们的环境中有两种主要的行动类型。第一种类型的操作是指派司机为特定订单提供服务。在这种情况下,代理人(司机)将前往指定地点接载乘客,然后将乘客送到目的地,并获得订单奖励.
另一种类型的操作是空闲的。此设置对我们的问题至关重要,因为司机可能在特定地方(例如机场和火车站)长时间闲置,使他们在特定时间成为不那么有吸引力的去处。具体来说,怠速动作意味着司机在一个时间段内没有与任何订单匹配。为简单起见,我们假设“空闲”动作会导致自动转换到下一个状态(相同位置,但在以下时间段内),奖励为零
Reward:奖励的定义决定了整个系统的优化目标。直观地说,奖励可以定义为订单的价格,其目标是最大化总商品量 (GMV)
State transition and Reward distribution:订单调度的一个突出特点是必须以滚动方式做出决策。在生成订单的时间 t,系统没有未来的确切信息,包括乘客需要支付多少钱以及旅行将在什么时间完成。因此,我们在做出决定时必须依赖预计到达时间 (ETA) 和预计价格。这些估计的误差分布由状态转移概率 P s s ′ a P_{ss'}^a Pssa和奖励分布 R s s ′ a R_{ss'}^a Rssa隐式捕获
Discount:折扣因子控制着 MDP 展望未来的程度。在我们的应用程序中,使用小的折扣因子是有益的,因为长的范围会在价值函数上引入很大的方差。值得注意的是,在这种设置下,奖励(订单的价格)也应该打折。对于价格为 R 且折扣因子为 γ \gamma γ的持续 T 个时间段的订单,最终奖励为:
R γ = ∑ t = 0 T − 1 γ t R T R_\gamma =\sum_{t=0}^{T-1}\gamma^t \frac{R}T Rγ=t=0T1γtTR
让我们看一个例子,让这个过程更清晰。假设区域 A 的司机在时间 00:00 收到从 B 到 C 的订单。这次旅行预计在 20 分钟内完成,费用为 30 美元。司机需要额外的 10 分钟来接载乘客。假设我们将时间段划分为 10 分钟的窗口(从 00:00 开始),并使用折扣因子 γ = 0.9 \gamma=0.9 γ=0.9。在我们的模型中,这个命令将使司机从状态 s 转换到 s’ 并获得奖励 r,其中 s = ( A , 0 ) s=(A,0) s=(A,0) s ′ = ( B , 3 ) s'=(B,3) s=(B,3)(2 表示行程时间,1 表示接送时间), r = 10 + 10 ∗ 0.9 + 10 ∗ 0. 9 2 = 27.1 r=10+10*0.9+10*0.9^2=27.1 r=10+100.9+100.92=27.1

在这里插入图片描述

3.2 Policy Evaluation

基于 MDP 定义,我们将历史数据分解为一组交易对 (s,a,s’,r),包括服务操作和空闲操作。请注意,由于我们不区分单个驱动程序,因此所有驱动程序的收集交易可以形成一个学习价值函数的数据集,这对应于策略评估的概念
我们假设生成交易数据的在线策略在训练期间保持不变。因此,本节略去下标 π \pi π。具体而言,交易可能来自“空闲”或“服务”动作。如图 4(a) 所示,在一次空闲交易中,agent 没有立即获得奖励,Temporal-Difference (TD) 更新规则如下”
V ( s ) ← V ( s ) + α [ 0 + γ V ( s ′ ) − V ( s ) ] V(s)\leftarrow V(s)+\alpha[0+\gamma V(s')-V(s)] V(s)V(s)+α[0+γV(s)V(s)]
其中 s = ( t , g ) s=(t,g) s=(t,g) 是驱动程序的当前状态,而 s ′ = ( t + 1 , g ) s'=(t+1,g) s=(t+1,g) 是 s 之后的以下状态
另一方面,在服务动作中,代理会立即收到奖励并触发状态转换。 TD 更新规则计算为:
V ( s ) ← V ( s ) + α [ R γ + γ Δ t V ( s ′ ′ ) − V ( s ) ] V(s)\leftarrow V(s)+\alpha[R_\gamma+\gamma ^{\Delta t}V(s'')-V(s)] V(s)V(s)+α[Rγ+γΔtV(s)V(s)]
其中 s = ( t , g ) s=(t,g) s=(t,g) 是驱动程序的当前状态, s ′ ′ = ( t + Δ t , g d e s t ) s''=(t+\Delta t,g_{dest}) s=(t+Δt,gdest)表示驱动程序完成此订单的估计完成状态。具体而言,∆t 表示取货、等待和交付过程的估计时间之和。请注意 Δ t ( i d l e ) = 1 \Delta t(idle)=1 Δt(idle)=1 g d e s t g_{dest} gdest 记录乘客在应用程序中提供的目的地。奖励也应该使用(1)中的公式进行折扣。
“TD 更新规则的样本效率不高,尤其是在我们的案例中,状态数量可能超过一百万。在实践中,我们执行基于动态规划 (DP) 的实现来计算值函数。为了使 DP 在我们的模型中成为可能,我们进一步将 MDP 细化为有限范围的,其中一个情节记录了一天中司机的交易。 DP 算法然后按时隙的倒序进行,如算法 1 中详述”
由此产生的价值函数捕捉了需求方和供应方的时空模式。更清楚地说,作为一种特殊情况,当不使用折扣和一天的情节长度时,状态值函数实际上对应于司机那天从当前时间到结束时平均获得的预期收入”
在这里插入图片描述

4 Planning

在线计划步骤将学习到的价值函数作为输入,并实时确定司机和订单之间的最终匹配。基于第 2 节描述的架构,我们假设匹配过程的所有支持信息,包括司机的地理坐标和占用状态,以及订单的来源和目的地都已给出。

4.1 Real-time order dispatch algorithm

在每个时间段,在线订单调度算法的目标是确定司机和订单之间的最佳匹配。在我们的问题设置中,这个目标也可以解释为为每个驱动程序寻找最佳行动,以协调的方式优化未来的全局增益。形式上,集中式订单调度算法的目标函数写为:
在这里插入图片描述这里,i ∈ [1, …,m] 对应于这个时间戳的所有可用司机,而 j ∈ [1, …,n] 对应于要服务的订单。 Qπ (i, j) 是司机 i 执行服务订单 j 的动作的动作价值函数。请注意,i =0 和 j=0 的情况对应于一个特殊的默认操作,该操作在此时间戳中不提供任何订单。

请注意,代理的行动空间是有限的,因为他们必须选择可用的命令之一来服务,或者干脆什么都不做。相反,在学习步骤中,我们有一个无限的动作空间。 (5) 中的约束保证每个驱动程序将选择一个可用的操作,包括服务订单和什么都不做,而每个订单最多可以分配给一个驱动程序或在此时间戳未提供服务”
我们将 (4) 公式化为二部图匹配问题,其中司机和订单是两组节点;司机 i 和订单 j 之间的每条边的权重为 Qπ (i, j)。在实践中,我们采用 Kuhn-Munkres (KM) 算法 [15] 来解决它。

4.2 Advantage Function Trick

由于存在默认操作(司机什么都不做,订单没有得到服务),由此产生的二部图是一个完整的图,其中司机和订单之间的每一条可能的边都存在。为了降低计算复杂度,我们对(4)执行了一个优势函数技巧,它消除了所有代表默认动作的边。特别是,由于相邻轮次调度之间的差距(以秒为单位)远小于值函数中的时间粒度(以分钟为单位),因此可以将在订单调度时间戳中什么都不做的司机建模为保持相同状态.因此,动作价值函数 Q(i, 0) 实际上等于司机 i 的价值函数。这使得可以通过将 V (i) 减去连接到驱动程序 i 的所有边来移除驱动程序和“什么都不做”操作之间的所有连接。图 5 说明了这个过程
在这里插入图片描述引入优势函数技巧后,一个时间戳内订单调度的目标函数变为:

在这里插入图片描述
是优势函数。对于司机 i 和订单 j 之间的一条边,优势函数计算为服务订单的预期收益(收到折扣奖励并在订单目的地确定的状态下结束)减去预期保持相同状态的价值(驾驶员当前状态的价值函数)。
提议的技巧消除了二部图中的大部分边。因此,可以更快地求解(6)中的目标函数。算法 2 总结了规划步骤
在这里插入图片描述

4.3 Discussion

6)用数学方法描述目标函数。然而,目前还不清楚这个函数在现实生活中的订单调度系统中是如何解释的。为此,我们仔细看看(8)中优势函数的形式。我们将考虑四个主要因素:
1)订单价格。鉴于 Rγ 的存在,具有更高效用的阶 j 自然会导致更高的优势(j
2) 司机的位置。驾驶员当前状态的价值函数对优势函数 (-V (si )) 有负面影响。因此,在同等条件下,价值较低地区的司机更有可能被选中来服务订单,因为他们未来接到其他订单的可能性低于价值较高地区的司机
3) 订单目的地。为目的地是更有价值区域的订单提供服务的动作可能会获得更高的优势,因为它会导致更高的 V (sij”4) 取货距离。最后,司机 i 和订单原点 j 之间的取货距离也以隐含的方式贡献了优势。具体而言,较大的接送距离需要更多的时间来接送乘客。这将导致更晚的到达时间并增加 ∆tj,从而对目的地价值函数引入更大的折扣,从而降低优势”
在实践中,通常需要处理多个目标。在订单调度系统中,首要目标是保证良好的用户体验;除此之外,更倾向于产生更多的收入,完成更多的乘客需求,从而实现司机、乘客和平台的双赢。这是使用我们系统中的一组超参数控制的,这些超参数是根据使用模拟器的离线实验选择的

5 COMBINING LEARNING AND PLANNING

在这里,我们将前两节所做的工作放在一起,并从强化学习的角度对整个过程进行了另一种解释”
强化学习旨在找到一种策略,以优化顺序决策问题的预期未来收益。在我们的案例中,决策中心充当元代理,以集中方式为平台中的所有驱动程序(代理)做出决策。这自然是一个顺序决策问题,因为元代理在连续的时间段(比如每个 2 秒)中做出决策(即找到最佳匹配)并观察接下来几个小时的总收入回报
“所提出算法的主要思想总结在以下等式中。在每个时间段,元学习器旨在最大化全球平台的预期收益 Gt”
E π = [ G t ∣ S = s ] \Epsilon_\pi =[G_t|S=s] Eπ=[GtS=s]
其中 s 是时隙 t 中整个平台的全局状态
“我们将全球目标分解为所有个体驱动因素的产物:
E π [ ∑ i G t i ∣ S = s i ] \Epsilon_\pi [\sum_i G_t^i|S={s_i}] Eπ[iGtiS=si]
其中 Gi t 是特定驱动程序 i 的累积增益,而 si 是驱动程序 i 的状态
这里做了一个近似,所有驱动程序都是相互独立的,这样全局状态就可以分解为每个驱动程序状态的叉积。这在原则上是不正确的,因为平台中的驱动程序彼此之间有很强的关系。但是,由于驱动程序在测试时只能从相对较小的订单集中选择操作,并且大多数订单在实践中都可以提供服务,因此即使在这种假设下,我们仍然可以在我们的应用程序中获得合理的结果。在这种情况下,全局目标进一步分解为:
E π i G t i ∣ S = s i ] \Epsilon_{\pi_i}G_t^i|S={s_i}] EπiGtiS=si]
“11) 表示一个多代理系统,每个代理都有其独特的策略 πi。关于如何在单个模型中处理数千个自利代理,这在文献中仍然是一个悬而未决的问题。因此,由于我们依靠集中式算法为所有代理做出决策,我们可以限制所有代理具有最大化全局增益的共同利益,从而使它们共享相同的策略 πi u003d π。由于最大化预期增益等于最大化动作价值函数,因此目标变为最大化:
∑ i E π [ G t i ∣ S t i = s i , A t i = a i ] = ∑ i Q π i ( s i , a i ) \sum_i \Epsilon_\pi[G_t^i|S_t^i=s_i,A_t^i=a_i]=\sum_i Q_\pi^i(s_i,a_i) iEπ[GtiSti=si,Ati=ai]=iQπi(si,ai)
最后,我们假设所有驱动程序都是同质的,以便他们可以共享一组价值函数(即, Q i ( ⋅ ) = Q ( ⋅ ) Q^i(\cdot)=Q(\cdot) Qi()=Q()) 对于所有驱动程序):
∑ i Q π i ( s i , a i ) = ∑ i Q π ( s i , a i ) \sum_i Q_\pi^i(s_i,a_i)=\sum_i Q_\pi(s_i,a_i) iQπi(si,ai)=iQπ(si,ai)
现在很明显,第 3 节中的学习步骤根据历史数据计算单个驾驶员的价值函数,而第 4 节中的规划步骤以协调的方式解决(13)
也可以将这两个步骤合并在一起并执行迭代更新,这实际上是一种策略迭代方法:学习步骤生成价值函数,其中使用初始策略对历史数据进行采样;之后,规划步骤执行策略更新,目标是使用学习到的值函数最大化全局增益

6 EXPERIMENT

为了更全面地了解所提出方法的有效性,我们在对应于不同抽象级别的三种环境中对其进行了评估,包括玩具示例、调度模拟器和现实世界环境”

6.1 Toy Example

我们设计了一个玩具示例来说明我们的 MDP 框架在处理时空订单调度问题方面的能力”
**实验装置。**我们考虑在具有 20 个时间步长的 9 × 9 空间网格的简单地图中运行的订单和驱动程序。在每个时间步长,驱动程序被限制为停留或垂直/水平移动一个网格。同时,订单只能分派给曼哈顿距离不大于2的司机。如果长时间没有分配给任何司机,订单将被取消,取消时间建模为范围为0到0的截断高斯5,沿时间轴的平均值为 2.5,标准差为 2”
对于数据生成,我们希望模拟具有早高峰和晚高峰的真实交通模式,分别集中在住宅区和工作区的不同位置。因此,订单的起始位置根据高斯的双分量混合进行采样,然后在时空网格中截断为整数。然后,订单的目的地和司机的初始位置从网格上定义的离散均匀分布中随机抽样。高斯混合的参数如下”
在这里插入图片描述
注意三个维度分别对应空间横纵坐标和时间坐标
“结果比较。我们将所提出的方法(称为 MDP 策略)与两种基本策略进行比较——基于距离的调度方法和近视贪婪方法。所有三个变体都在司机和订单之间进行的二部图上使用 KM 算法。差异来自边缘权重——基于距离的方法只考虑订单驱动对之间的取货距离,而近视方法只考虑订单价格作为即时奖励。为了计算 MDP 值,我们从基于距离的方法中收集交易并运行 DP 算法。对于比较措施,我们关注总收入定义为回答订单的总乘客旅行距离,以及平均取货距离和回答率(已回答订单数量/所有订单数量)。所有三种策略都使用 100 个订单进行测试,而驱动程序的数量分别为 25、50 或 75
图 6 显示了三种方法在不同订单驱动器比率下的比较结果,其中每个条形代表 1000 次独立实验的平均值和标准偏差。基于距离的策略实现最佳拾取距离性能并不令人惊讶,因为该策略优先考虑距离而不是所有其他因素。 MDP 实现了比基于距离和近视策略更好的收入和回答率。这与我们的动机一致,即有远见的考虑有利于调度系统的整体性能
请注意,随着驱动程序订单比的增加,性能增益会出现略微减弱的现象。换句话说,MDP 策略在需求大于供应时实现最佳性能 - 这也不足为奇,因为该方法旨在优化全局驱动程序利用率,因此在驱动程序数量不足时更强大。图 7 说明了 t u003d 3 时的学习值函数。很明显,峰值靠近第一个高斯的平均面积 (3, 3)
在这里插入图片描述

6.2 Simulator

除了玩具示例之外,我们还在更复杂和更现实的调度模拟器上进一步评估了提议的 MDP 方法。在我们的应用程序中,考虑到在线系统是高度动态的,离线模拟器的结果有时与在线实验一样重要
**实施细则。**此处使用的模拟器旨在为按需乘车平台对物理世界进行全面建模。一个典型的示例实现是根据历史数据模拟特定的一天。为此,我们首先根据需要回滚这一日期实际发生的订单。每个司机根据他或她第一次进入平台的位置和时间进行初始化。驾驶员之后的行为完全由模拟器决定,要么根据用户定义的订单调度算法(服务订单),要么使用根据历史数据(空闲动作和离线/在线操作)拟合的模型。模拟器经过仔细校准,在大多数情况下,模拟结果与同一天的真实世界指标之间的差异在回答率和总 GMV 方面在 2% 以内
**实验结果。**我们在模拟器上实现了 MDP 订单调度算法,并收集了不同城市和日期的结果。与基于距离的基线策略相比,不同城市的总 GMV 增益范围从 0.5% 到 5%。与玩具示例中的发现一致,所提出的算法在订单驾驶员比率较高的城市上取得了更大的改进。
全球 GMV 的改善来自本地观点的几个变化。例如,在某些城市,使用MDP算法可以在高峰时段将前往高价值区域的订单的响应率提高多达10%。因此,更多的司机可以留在或转移到高价值区域,从而能够在未来服务更多的潜在订单。同时,在同等条件下,MDP优先考虑长途订单,因为他们的即时奖励更大;我们发现它更符合司机的意图。模拟器还用于为在线实验找到一组合适的超参数
**策略迭代的性能和收敛。**在第 5 节中,我们提到所提出的学习和规划算法可以按照策略迭代的原则以迭代方式进行。在这里,我们通过在稳定环境中重复同一天的模拟并对其执行策略迭代来评估模拟器中的这种方法。特别是,我们将基于距离的方法设置为初始化策略并迭代更新值函数和策略。表 1 显示了与基于基线距离的方法相比的结果。与没有策略迭代的基线策略和 MDP 策略相比,更新后的策略实现了更高的总 GMV 和完成率。就性能增益而言,此过程通常会在十次迭代内收敛”

[1]: Zhe Xu, Zhixin Li, Qingwen Guan, Dingshui Zhang, Qiang Li, Junxiao Nan,Chunyang Liu, Wei Bian, Jieping Ye. 2018. Large-Scale Order Dispatch in On-Demand Ride-Hailing Platforms: A Learning and Planning Approach.In KDD ’18: The 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, August 19–23, 2018, London, United Kingdom. ACM,New York, NY, USA, 9 pages.

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值