饿了么青港货运智能调度系统统不理解分单是什么意思

用深度学习取代人工调度,全面解析饿了么方舟智能调度系统
  本期嘉宾:李佩(高级技术总监,饿了么人工智能与策略部负责人)
  演讲会议:1024学院旗下品牌iTechClub主办?华东区第十一届互联网技术精英高峰论坛
  整理编辑:小猿
  对于大部分企业来讲,业务才是驱动研发的核心因素,而深度学习对业务的支撑,也主要集中在提高效率,降低成本等方面上。
  饿了么是个业务尤其繁重的企业。饿了么拥有的配送员数量接近300w,每一名配送员的日订单数量都可能达到30-40单,而在这样的业务压力面前,饿了么要保证平均29分钟的配送时间非常困难。
  在从前,这一切全都靠5000名调度员来分配运转。
  人工调度的祸水
  人工调度固然有人工调度的优势,比如人工调度员更熟悉所管辖的配送员,比如人工调度员更熟悉所管辖区域的复杂程度。
  他们知道哪栋大厦进出困难,他们知道走哪条小路速度最快。
  但与此同时,人工调度也存在很多问题。
  业务精英或许能完成高效分配,但大部分人并不是业务精英,个人水平的参差不齐,严重影响了饿了么的配送效率。
  另外值得注意的一点是,饿了么配送员的收入,是用配送单数来衡量的,这就给调度员和配送员之间的灰色交易创造了土壤。
  更要命的是,为了维持一个如此庞大的人工调度体系,饿了么每年至少需要烧掉5亿元。
  正是在这种情况下,名为方舟(Ark)的智能调度系统诞生了。
  系统主要基于四个开发平台:Spark平台,GPU深度学习平台,特征工程平台,AB测试平台。
  发展出来的业务方向主要有六个:智慧物流,智能调度,智能营销,智能客服,图像视觉,智能硬件。
  但系统开发之初,问题暴露出来的复杂度显然足以让一般的技术人员望而却步,这些困难的问题至少可以分为四大类。
  高难度的业务场景
  1.运力饱和甚至不足的配送服务,容灾能力极差。业务红火对于老板来说犹如办喜事,对于程序员来说却像办丧事。一旦遇见雨雪等恶劣天气,或者某家店搞了个开业大促,业务压力就会瞬间暴涨。
  2.单人场景的线下配送,意外无法预估。与顺丰等成体系成规模的配送服务不同,外卖行业的配送服务往往面临很多意外情况。比如配送员的电瓶车突然没电了(这个比较濉承┐笙玫牡缣莼盗耍碳页霾统雎耍鹊取3绦蚶锏淖枞梢杂枚嘟探饩觯滴裨笔敲挥杏胺稚碇醯摹R淮闻渌腿挝竦淖枞岬贾轮蟮亩嗝着倒桥菩вΑ
  3,配送员:我就是我,颜色不一样的烟火。要知道负责配送的是人,不是机器人。配送员作为一个独立的个体,行为千奇百怪,根本没有统一的模型。一切机械的安排都只能是纸上谈兵。
  4.高精度地图规划。北上广深的人民深有体会,海淀区的人民能把海淀区绕明白就很厉害了,乍一到朝阳区就跟第一次来北京没啥大区别。对配送员来说,每一栋摩天大厦都是一座超级迷宫,哪个电梯哪个门,走错一次可能订单就要超时。在这类业务上的地图规划,仅仅标出街道是不够的。要像《碟中谍》一样标出大厦层数,电梯位置和逃生出口等要素。
  应该说,有能力的程序员不会怕一道复杂的算法题。因为算法题里的输入输出固定,且几乎可以确定存在最优解。
  但这道题里不存在固定的输入和输出,在一系列固定的解决方案和路径规划里,配送员突然停下来抽根烟或许就能把程序员给气死。
  因此,饿了么的智能调度大脑整整历经了五个大版本的迭代。
  Version 1:
  逐单分配:当前时刻最优
  在这个分配系统的算法里,主要考虑的因素有:1.运单剩余时长。2.骑手已有负载。3.骑手绕路距离。4.运单与骑手已有负载的夹角。
  抽象出来的问题模型是:带时间窗的路径规划问题。
  但基于我们前面提到的困难问题第三类,这个解决方案显然过于简单了。
  基于有的没的、合理的不合理的等千奇百怪的原因,配送员往往不按照系统给出的最优路径来配送。有时候可能因为他的电动车要没电了,有时候仅仅因为他觉得走另一条路比较拉风。
  所以这个获取当前订单最优解的方案,虽然卓有成效,但还是满足不了业务需求。
  Version 2:
  蓄水分单:蓄水时长内最优
  在第二个版本里,饿了么开发团队引入了buffer的概念。
  既然但一个体的独特性,会影响分配算法的效率。那么干脆抛弃掉个体概念,该用一个时间区间的维度来考虑问题。
  关键词是“全局最优”。
  在这个版本里,算法主要考虑的是:1、运单特征: 起点, 终点, 路面距离。2、骑手特征: 负载, 能力, 绕路比, 最大夹角。3、生成运单骑手匹配度矩阵。4、基于匹配度矩阵做全局最优匹配。
  做完这个版本,算法工程师们长舒一口气,欣慰地说道:“卧&……”
  然而基于上面提到的困难问题第一类,问题还是没有彻底解决。问题的本质是:饿了么的运力是不足的!配送人员的招聘速度是跟不上的!
  一旦碰见高峰期,配送速度还是足够让顾客抓狂。
  于是就……
  Version 3:
  波次并单与多级调控
  波次并单指的是,在同一波次内尽可能的并单,最大化同时背单数。
  而多级调控是通过算法,建立了一个运单紧急度模型,分为紧急单分配、低相似运单分配等等,保证最紧急的订单最快出单。
  实际上,走到这一步,传统算法设计几乎已经无力再继续优化了。
  实际线下环境的复杂度远远超乎我们的想象。数据有时候看起来是莫名其妙的,因为生产这个数据的原因可能就是莫名其妙的。
  为了继续优化饿了么的配送体验,第四个版本出世了。
  Version 4:
  机器学习分单
  采用了机器学习的调度系统,建立了五个模型:
  运单相似度模型,骑手背单能力模型(通过机器学习评估人类员工能力的实例),骑手路径规划模型,骑手行程时间预估模型,骑手楼内时间预估模型。
  这是整个系统的迭代过程中,深度学习第一次参与模型构建。
  理论上,只要模型优化的足够好,支撑业务是没有问题的。但同样,调度结果及其依赖算法模型,如果人工智能成了“人工智障”,下游业务人员就会怨声载道。
  为此,算法工程师专门开赴一线,实地观察配送员的配送行为,对算法模型进行了大量优化。同时也直接催生了第五个版本。
  Version 5:
  深层神经网络与多场景智能适配分单
  在第五个版本里,深度学习深入到智能调度的各个关键环节,甚至是路径规划。
  理论上来讲,路径规划是不需要深度学习的,是存在理论最优解的。
  但考虑到,“不一样的烟火型”配送小哥,深度学习的全方位应用就成了必然。
  于是,深度学习在这个系统里承担了几乎所有的预测工作,包括不同骑手在送餐过程中的路径选择,以及未来15、30分钟的负载压力。
  为了增加调度系统的“智能”,算法团队首先为调度场景划分了详细的场景,包括:午高峰,平峰,爆单,大厦,小区等特殊场景,根据场景适配多个模型:效果有限分单、等级优先分单等等……
  接下来主要对训练数据进行了优化,从普通一线配送行为的数据采集,提升到采集“专家级”配送小哥配送数据。
  目前这套系统还在稳定的为饿了么全国配送服务提供支持。
  未来配送
  在演讲的结尾,李总展望了一下未来的配送场景,顺便透露了一个小新闻:
  饿了么正在研发无人机配餐!
  单一行业的提效降本,往往是硬件和软件两方面决定的,在算法层面紧跟住人工智能、深度学习前沿之后,最大的提升就是配送方式了。
  这点从行业头部企业的主要动向上就可见一斑,阿里也要搞无人家配送,顺丰也要搞无人机配送,亚马逊也要搞无人机配送,你们这是要干啥呀!
  不说了,小猿去买大疆的股票了。闃块噷浜戜汉宸ユ櫤鑳紼T鍏ヨ亴楗夸簡涔堟媴浠昏皟搴﹀憳
銆怲echWeb鎶ラ亾銆

我要回帖

更多关于 外卖智能调度系统 的文章

 

随机推荐