效率翻倍!百度外卖物流智能调度系统优化实践

彩虹海 2017-05-12

效率翻倍!百度外卖物流智能调度系统优化实践

导读 :

智能调度系统是百度外卖物流的最核心环节,依托千万级历史订单数据、骑士定位数据、精准的商户特征数据,针对骑士实时情景(任务量、配送距离、并单情况、评级),对订单进行智能匹配,实现自动化调度以及资源的全局最优配置,在保证系统效率的前提下,最大限度的提高用户体验。

效率翻倍!百度外卖物流智能调度系统优化实践

(全文共3837字 预计阅读时长:5分钟)

一、 案例简述

用户点了餐就希望能按时送到,骑士上了路就希望每趟路线能多配送几单,商家接了餐就希望骑士快来取餐,平台则关心如何以最小的运力承接最大的配送压力,而且能扛住高峰时段突如其来的订单量。更加困难的是,这些目标有时就是互相矛盾的,满足了一方,势必会影响另一方,调度订单是非常复杂的多目标动态规划决策过程。

智能调度系统需要将以上所有因素统统考虑在内,实时采集整个商圈里各方的动态数据,在1毫秒内,做出在时间跨度和空间范围内的最优分配序列,让骑士轨迹能无缝衔接起整个配送流程,让每个环节耗费的时间降到最低,让分摊到有限运力上的配送成本费用降到最低。

配送效率的每一点提升都意味着百度外卖在逐渐构建起压制竞争对手的技术壁垒。每次超出预期的及时配送,给用户带来满意的体验,沉淀出越来越多的忠实用户;每天高效的调度分配,为骑士带来丰厚的回报,培养出越来越专业化的配送团队。

1.1 案例目标

启动时:物流订单分配需要由调度员手工分配,每个骑士每天最多配送10单,每单配送时长超过一个小时。

实施后:百度物流调动每天所有订单都由算法自动选择最优化的方案调配,每个骑士的配送效率翻倍,收入翻数倍,每单配送时长节省50%以上。

1.2 成功要点

  • 对实际问题采用数学建模,抽象成多目标动态优化问题,选择合适的求解算法;

  • 运用大数据技术,对配送场景下商户、骑士、用户和订单各个元素相关数据指标的统计、挖掘和建模;

  • 强大高效的日志处理解决方案,实时数据流瞬间传回平台,反馈到系统的各个业务方去追查、定位、修复问题;

  • 分布式大容量计算资源,每秒钟亿级的调度运算能力,承载海量实时计算需求。

二、 案例背景

百度外卖研发中心负责用户、商户、物流等外卖业务功能的研发,打造连接用户、商户、骑士及内部客服、营销人员的综合平台体系。其核心技术竞争力依托百度体系的三级火箭技术:云计算、大数据和人工智能,实现了智能物流调度、个性化推荐、精准营销和反作弊等核心项目在百度外卖业务的成功落地,为外卖构建了强大的技术壁垒及核心技术竞争力。

智能调度系统是外卖物流的最核心环节,依托千万级历史订单数据、骑士定位数据、精准的商户特征数据,针对骑士实时情景(任务量、配送距离、并单情况、评级),对订单进行智能匹配,实现自动化调度以及资源的全局最优配置,在保证系统效率的前提下,最大限度地提高用户体验。

三、案例复现

3.1 数学建模

对实际问题进行数学建模,抽象成多目标动态优化问题,选择求解算法。

数学建模示意图如图1所示。

效率翻倍!百度外卖物流智能调度系统优化实践

图1 数学建模示意图

影响订单分配的因素很多,从订单生成那一刻开始,调度系统就要考虑到订单的取餐地址、用户的配送地址、商圈内的骑士数量和状态、订单的预期送达时间。每一个订单并不是孤立存在的,要想得到全局最优的配送方案,还要考虑到这一时段内其他订单的配送情况,尽可能做合并,提高整体的配送效率。如果再考虑到不同城市、商圈、天气、节假日、工作日和商圈骑士运力配置等情况,事情就变得更加复杂起来。

对于这样一个极其复杂的多目标动态优化问题,采取逐层建模的方式来降低复杂度就非常有必要了。其基本逻辑是,越是通用的参数变量,越需要在底层作为基础约束条件进行采集,实现降维的目标。越是多变的场景变量,越是要在高层作为调优参数进行优化,实现特化的目标。中间连接两者的是动态规划算法,由机器算法完成最核心的求解过程。

3.2 大数据技术

运用大数据技术,配送场景下数据指标统计、挖掘和建模,如图2所示。

效率翻倍!百度外卖物流智能调度系统优化实践

图2 数学指标统计、挖掘和建模

百度外卖每天百万级的订单量,为大数据技术提供了理想的应用场景;大数据技术实现了不同配送场景下数据指标的统计、挖掘和建模,也为智能调度算法进一步优化提供了重要动力。

我们细分了骑士、商圈、用户和商户四大配送场景,分别构建了各自独特的数据指标体系。调度系统可以实时掌握到骑士的能力状态,是新手还是熟手;商圈是白领集中还是生活住宅区,对配送时间要求高不高;用户是在上班还是住家,能否很快出门接餐;商户是高档餐厅还是大众快餐,能在多久时间内制作出餐品。

有了大数据的指引,调度系统才能明察秋毫、运筹帷幄。就像侦察兵配合炮兵,做到指到哪、打到哪、打得准。

3.3 平台能力

强大高效的日志处理解决方案如图3所示,实时数据流瞬间传回平台,反馈到系统的各个业务方去追查、定位、修复问题。

效率翻倍!百度外卖物流智能调度系统优化实践

图3 日志处理解决方案

如果说调度系统是大脑的话,那它还需要有非常敏锐的耳目和非常麻利的手脚才能发挥作用。强大的平台则能在后台对实时积累下来的日志数据进行快速处理,筛选、分类、去噪、格式化、存储、查询、展示。

每天系统的各个业务方会对调度系统产生大量的疑问和需求,都可以通过平台自动响应得到第一时间的反馈。骑士会关心自己为什么会被分配一个偏远的订单;商圈经理想了解自己所在商圈的配送压力是否太高;算法工程师想追查究竟是哪个参数设置导致算法优化出现瓶颈;大区经理想重新安排骑士运力的跨商圈配置。

有了平台这个帮手,各个角色都能得到及时响应,信息流在整个系统里发挥出极大化作用,提高了人的工作效率,每个人都可以去做自己最擅长的事情,最终加快了组织进化的速度。

3.4 计算能力

分布式大容量计算资源,每秒钟亿级的调度运算能力,承载海量实时计算需求;如图4所示。

效率翻倍!百度外卖物流智能调度系统优化实践

图4 调度运算

无论是复杂的调度规划,还是海量的数据建模,或是实时的平台响应,都需要有强大的计算能力在背后支撑。否则不管设计时考虑得有多全面,如果实际的计算能力不能在秒级,甚至毫米级得到正确答案,使用者的糟糕体验都会成为决定最后成败的那根稻草。

举例来说,为了得到最合适的订单调配,指派时机可能有多个。每个指派时机上各种可能的组合也会随着商圈订单规模的增大而呈指数级膨胀。为了尽可能地选择最优指派时机,系统还可能会做多种预测,尝试各种分支副本情况下的优化空间。如此一来,后台系统需要的计算能力就会非常高。可以说,物理上计算能力的容量,决定了系统最终效果能做到的天花板。

为此,我们依托百度云计算积累下来的技术优势,结合百度外卖的实际应用场景,设计了分布式、高并发、大容量的流式计算框架,尽可能将独立的计算任务拆分到不同的机群上运行,得到整体上最优的计算效果。经测算,目前的计算框架完全可以支撑百度外卖未来每天千万级订单的动态调度、数据建模和实时平台响应的运算规模。

四、 待解决的问题

4.1 价格杠杆影响订单分布

日均各时段单量分布图如图5所示。

效率翻倍!百度外卖物流智能调度系统优化实践

图5 日均各时段单量分布

如图5所示,外卖配送领域的特点是每天的午晚两个高峰,高峰期订单突增,给配送能力带来极大的挑战和压力,而平时的低峰期又会给富余的运力带来不必要的浪费。怎么才能削峰平谷,是困扰物流调度的一个重大问题。

通过配送费的价格杠杆力量来撬动不同时段的单量分布变化,是我们接下来想尝试的一个领域。可以借鉴的思路:

一是滴滴出行的用户自行加价模式,当用户感到高峰期订单很难准时配送,或者自己对订单的配送时间有特殊严格要求时,可以自己决定加价,保证订单准时送达。对系统来说,需要根据用户加价高低决定调度优先级,在尽可能不损失整体配送效率的同时,满足特殊用户的高附加值需求。

二是Uber的系统设定加价模式,系统会探测到某个时段商圈附近的运力变化,结合已知的运力费用模型,根据供求关系设定出最合理的配送费出价,愿意接受的用户才下单,从而达到控制需求的目标。

4.2 以配送为中心的商户排序

通常决定用户看到商户列表排序的因素是商户距离、品牌和用户的偏好,让物流配送能力作为决定商户排序的重要因素,如图6所示,也是接下来我们希望尝试的一个重要方向。

效率翻倍!百度外卖物流智能调度系统优化实践

图6 决定用户看到商户列表排序的因素

这意味着系统可以主动改变用户的下单行为,订单会更集中于配送能力高的商户,这将有利于并单,最终提高系统的整体效率;商户也会更有动力去提高自身的配送能力,优质商户将脱颖而出;商户的配送范围划分也将更加合理,商户希望将配送范围划大的冲动将得到抑制;用户也可以衡量对比不同商户的配送能力,对送餐体验将更有预期。

五、 案例启示

在案例的实施过程中,我们也得出一些启示。这些启示虽然可能只是一些常识,但由于它们在整个过程中的重要性,有必要再予以强调。

5.1 树立派单模式的优越性

在案例的实施过程中,要始终树立集中分配订单模式的优越性,而不是期望每个个体依据自身的经验和判断,自动地达到订单分配最优的状态。这是因为在调度系统领域,集中的调度中心,已经能够收集到充分的细节信息,比个人更通晓全局,因而能做出最优的判断。所谓的众包模式,解决不了多人抢单时的分配问题,始终是个伪命题。

5.2 验证算法改进效果

比提出新算法更重要的是如何验证算法改进效果是好的,坚实的实验验证环境是确保成功的基础。在案例实施的前期,我们曾极大地困扰于这个问题。每次拿线上服务去做算法效果校验显然是不现实的。但在依托大数据技术的虚拟场景建模帮助下,能够在线下反复验证、对比各种情况下的算法改进效果,使得后期的案例实施非常顺利。

5.3 智能系统替代人工劳动

在案例实施前的人工调度阶段,也会出现某个调度员由于熟悉商圈,头脑灵活而表现出很高的调度效率。在智能调度替换人工调度的初始阶段,就会出现种种不适,甚至认为还不如退回到人工调度状态。

智能系统可能不会比最聪明的人更能干,但能替代大多数人的工作。而且会随着系统的不断升级而得到加强。个别优秀人的经验,则很难复制给其他中等资质的人,而且有可能随着人员流失,新业务开展而发挥不了作用。反复强调这点,是线下推动执行的关键。

效率翻倍!百度外卖物流智能调度系统优化实践

★★征稿★★

寻找100个年度最具价值的实践案例

我们只要案例干货,拒绝广告

成为特约作者,你将:

◆ 连接100名年度经验与增长值TOP100的研发精英

◆ 提前入围「壹佰案例」年度最优案例榜单

◆ 案例整理成册,出版发行图书

◆ 成为msup客座教练

◆ 以观察员身份受邀出席壹佰案例

◆ 所在公司享有msup活动优惠

有意者guanzhu「壹佰案例」

相关推荐