最后用的是第二个算法,也是一种基于大量函数的组合算法。
左下角是个矩阵,每一行是一个订单,每一列是一个骑手,我们希望通过一些规则和一些机器学习的算法算出来,右边是一个定单匹配的结果。
最优匹配就是 KM 算法。调度算法的演进最早是 VRP。
后来是 KM 算法,但是这个基础框架界定了以后,还有很多工作量需要做。订单实际上有相似性,因为订单是可以打包的,一个人稍微等几分钟,也许这个订单出来跟那个订单很相似的性质,就是去同一个地方,就可以把订单给同一个人拿走。所以订单打包和吸水是我们做的第一件事情,但是订单靠什么规则在高峰期和非高峰期的时候是不一样的,存在两个方向的路和两个方向的夹角不一样的地方,所以定单匹配模型是在 2.2 版本之上做出来的,用机器学习通过历史数据来训练,在这里我们也碰到一些挑战,由于在不同的站点配送员习惯不一样,我们推广的时候会遇到一个问题,在 A 站点大家觉得是 OK,但是在 B 站点不行,我们现在做到千站千面的东西,根据类似的站点历史过去分担一些情况,我们把这些模型用来做训练,做到类似的站点它有类似分单的方式。所以不会出现说你特别不喜欢这个分单的方式,多多少少有一点类似性,所以做到了 2.3 这个版本。现在做的版本就是增强学习,我们根据实时的情况来进行动态地调整。
餐厅选址就不详细讲了,我们自己其实也和商家开始合作开一些餐厅,我们都希望选最好的地方,餐厅覆盖最多的用户,菜品不一样,用户群不一样,所以这个选址是很重要的。
The End
我今天主题是应用实践,我个人感受,我做机器学习做了十几年,工作挑战是来自于基础数据的完整性和准确性。刚才讲到数据不准确,餐厅不规则的情况,我们无法知道一些准确的情况,我们花了大量时间来做基础数据的调整。第二点我讲到算法的提升和对人的行为的理解比较重要,因为在外卖行业都需要人去执行,以前人工分配通过打电话,有大量沟通在里面,现在机器一下子分摊了,他们难以理解,而且机器考虑全局最优而不是局部最优,人是做不到这点。在算法提升和产品运营综合起来,才能把这个事情最后推下去让大家形成习惯。第三点优化算法与机器学习在我们行业是相辅相成的,不仅是机器学习,跟重要的是我们在这么短时间怎么样把人力分布最好,在最少的时间情况下把订单完成。谢谢大家!
如果您有想法的话,可在底部留言。谢谢!
作者介绍
张浩,饿了么技术副总裁,负责人工智能与大数据建设。带领团队将机器学习应用在物流调度、压力平衡、美食推荐等场景,通过数据挖掘建立完整的数据运营体系,用数据和智能驱动业务发展。拥有十余年机器学习、数据挖掘、分布式经验,曾任滴滴研究院高级总监、美国 Uber 大数据部、LinkedIn 搜索与分析部、Microsoft Bing 语音组等从事机器学习与大数据工作。
免责声明:科技狗对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。 本网站转载图片、文字之类版权申明,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除:yzl_300@126.com