共计 962 个字符,预计需要花费 3 分钟才能阅读完成。
算法基本原理
乘客发出订单后,订单将进入等待找车的状态,并按照如下流程
进行派单计算:
一、配对。首先将待找车订单和所有可派单司机进行配对,形成若干个”订单 - 司机“对。
二、过滤。按照一定的规则,过滤掉不符合要求的”订单 - 司机“对,过滤规则主要包括政策要求和司乘意愿两大类。政策要求规则举例:尾号限行司机不能与途径限行区域的订单配对。司乘意愿举例:设置了顺路目的地的司机不能与目的地是反向的订单配对。
三、算分。主要根据订单和司机距离及司机口碑值等因素,计算”订单 - 司机“对的分数,距离是影响分数的最大因素,距离越近,分数高。
四、匹配。将订单和司机进行一一匹配,得到最终匹配结果。特殊的,若某个区域乘客呼叫多而司机少,产生了乘客排队,为保证排队公平性,则按照乘客排队顺序依次进行派单。乘客排队场景下,可能存在排名靠后的乘客先走的情况,如司机设置了顺路,只有排名靠后的乘客与司机顺路。
1. 就近派单原则
就滴滴的派单策略而言,最大的原则是“就近派单”原则,从派单结果看,70%-80% 的订单都是派给距离最近的司机,若距离相同,则会派给口碑值分数更高的司机,以激励司机为乘客提供更好的出行服务。
2. 全部乘客效率最优原则
在就近派单的基础上,滴滴同时会考虑站在全局视角,去满足尽可能多的出行需求,提高车辆运营效率。举例说明:如图 1 所示,如果两位乘客同时叫车,完全按照“就近派单”的模式,会将 1 号乘客与 1 号司机进行匹配,但会导致 2 号乘客等待时间过长甚至超出最大派单距离不到车。
在此情况下,滴滴采取的算法是,把距离较远的 2 号车派给 1 号乘客,把 1 号车派给 2 号乘客。在这种算法下,虽然 1 号乘客等待时间有所增加,但 1 号乘客和 2 号乘客的整体等待时间是变短的,1 号司机和 2 号司机的整体的空驶时间也会变短。(如图 2 所示)
算法应用场景
分单算法的应用场景是在网约车产品(包括滴滴出行 app 和微信、支付宝等渠道的小程序、滴滴车主 app)中,乘客通过 app 或者小程序呼叫一个或多个品类的车型,平台通过分单现订单匹配结果,将合适接单的司机信息返回给乘客手机,并将乘客的订单信息发给司机的滴滴车主 app。算法目的意图平台派单的目标是,在考虑时间、距离等客观限制条件以及司机和乘客公平性感知的情况下,尽可能满足多乘客和司机的体验需求,实现乘客打车成功和平台司机接单收入的最优。