我强调是平均,因为有很多特殊场景,如果厨师出了什么事情,我们也不知道,因为机器学习只能根据过去的事情来预测将来。在突发事件有一些产品的方案,比如说看到这个餐厅出餐量和订单量并没有呈线性的增长,前面出现了堵塞情况,我们根据数据对平台进行实时调整。
最后现在用的方法是深度学习,我们是用 LSTM,右边这图大家可以看一下这个文章。我们通过时间相关性把预测做的更加准确,毫无疑问出餐时间一定会跟过去订单有关系,这个不用解释,但是为什么跟未来有关系,我们预估未来 3 到 5 分钟有新的订单,但是跟现有的订单有共同之处,有可能是同样的菜品,有可能是共同的地方,同样的菜品对厨房是一个订单,可以把菜一起做,我们学到了,通过这个模型也可以捕捉这些特征,对订单分配有一定的帮助,同样对订单打包也有一定的帮助。
案例 2 :行程时间预估
行程时间的预估就是这样,当订单完成了以后,骑手把订单拿到手里,他会跑到办公室或者家里也好,这个是行程时间的预估,滴滴从 A 点到 B 点,交通方式肯定就是车,而且有大量的地图数据,像高德或者谷歌地图或者百度地图,这些数据会实时上传给服务器。
在这种交通情况预测已经是比较准确,相对 “饿了么” 场景远远没有那么多的信息,首先骑手是有可能步行,有可能走电梯,或者走上下楼梯,或者骑电动车,或者换交通工具,这个直接造成了我们在数据搜集是极不准确的,还有一点提到了在楼宇内的交通复杂,这个数据很难获取。我们上班的时候,餐厅和顾客都是在大楼里面,大楼里面没有 GPS 信号或者不大好,我们收到的数据或者定位误差高达几百米。
所以提前时间预估,我们需要把轨迹建立起来,因为时间预估在高德地图或者腾讯百度地图是基于历史数据的,我们第一步做的是历史数据清洗,室内定位不准甚至完全缺失,这个情况下我们想了各种各样的办法,我们用 WIFI 信号,GPS 信号,或者大家互相定位最大程度减少定位缺失的问题,其次即使定位有了,它的位点也是有 GPS 轨迹,也是有很多的噪音,所以需要去噪音,所以需要去噪。我们通过定位的算法把相关的时间,把 O 点和 D 点合起来,最后进行轨迹聚类。
案例 3 :智能分单
滴滴与我们的分单难度不一样,滴滴场景下要配一个司机,最多接两三单。在 “饿了么” 一个骑手一个包同时背 5 到 10 单,而且订单之间有时间限制,有涉及大量的时效要求。
我讲两个方案,第一个方案是路径规划的问题,很传统的 VRP。
当你给一个订单,在骑手容量和成本固定的情况下,我们需要找到匹配的线路,每个订单承诺时间是不一样的,就是不能超时。默认模式下, 一个骑手可以同时送 5 到 10 单, 每单都有严格的时效要求, 并且订单在午高峰爆发式增加。
方案 1 就是车辆路径规划
输入:订单,骑手,容量,成本。
输出:订单和骑手间的匹配以及行走路线;
优化目标:最小化时间或者行驶距离;
约束条件:骑手背单数、骑手数量、最晚到达时间等。
我们用了模拟退火算法,模拟退火算法 ( Simulated Annealing,SA ) 是基于 Monte-Carlo 迭代求解策略的一种随机寻优算法,通过赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。从理论上来说这算法具有概率的全局优化性能, 目前已在工程中得到了广泛应用,诸如 VLSI ,生产调度、控制工程、机器学习、神经网络、信号处理等领域就是用它来做订单的分配,但是最后结果不是特别好,因为时间预估存在不准备性,在路径规划的时候,先走 A 单还是 B 单,在时间一旦出现误差的情况下,这个路径规划会非常差。
免责声明:科技狗对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。 本网站转载图片、文字之类版权申明,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除:yzl_300@126.com