查看原文
其他

苏宁物流818放了一个大招……

2017-08-18 俞恺、李盛强 物流沙龙

作者 | 俞恺、李盛强  苏宁云商IT总部技术总监

来源 | 人工智能


8月18日凌晨1点06分,苏宁易购总裁侯恩龙通公布818实时战报:一个小时,销售同比增长371%,移动端占比接近90%。 


购物节订单量的高速增长难免会带来巨大的包裹量,同时,对电商企业提供的差异化服务提出更高要求,而物流则首当其冲,一方面需要满足用户更高的服务质量要求,而另一方面电商物流要从成本中心变成利润中心,满足企业运作的效益需求。


面对这个现况,苏宁物流研发运用大数据技术,分析历史数据,预测未来趋势,运用最优化算法来合理调度资源,安排计划,以系统性的提升整体物流运营效率,降低运营成本,从而提升用户体验。


电商物流中决定用户体验的一个核心指标是时效,而决定时效的关键因素就是运输班车的衔接。当用户购买商品后,商品是由覆盖用户地址的仓库发货到覆盖用户地址的城市配送中心,再到覆盖用户地址的快递点,最后再这样逐级由快递点配送给用户。


而包裹在这个流转过程中是否顺畅与高效,就完全取决于各个节点班车的衔接和班车频率,而频率的高低就涉及到成本和时效平衡的问题。在以前,这些问题都是靠人工经验来判断,这样不仅不够精确,而且因缺乏预见性往往不够及时和高效。


苏宁运用大数据技术,在天眼系统中,研发了运输路线规划和动态调整系统模块,运用人工智能代替传统的调度员决策的模式,优化现有运输网络布局和路线,充分发挥有效的运输生产力,实现运输里程最短、成本最低、服务时效最优,将大大提升苏宁易购平台的物流服务能力。


人工智能优化车辆运输路线


目前,苏宁物流的运输主要分为干线运输和支线运输,干线运输即为物流中心到物流中心的运输,运输模式是将由区域配送中心的货物发往其辐射的城市配送中心,以及同级别的物流中心之间货量相互调拨;而支线运输即为物流中心到快递点的运输,运输模式是将物流中心的货物分派到所辐射的不同的快递点中去。


无论干线运输还是支线运输都存在两种方式,直发或者中转,如果点到点都采用直发的模式,那运输路线的设计就很简单了,但是如果点到点的运输货量需求不大,直发的方式成本太高,则需要采用中转的方式。


例如:A到B每天运输需求500件商品,A到C每天运输需求1000件商品,一辆车可以装货1600件,而B点又正好在A和C的中间,那么我们可以将运输路线设计为每天发一趟车从A到B再到C,采用这个方案既不降低时效,又提高了装载率,降低了成本。


本身这个问题来源于运筹学上经典的车辆路径问题(Vehicle Routing Problem,VRP)。该问题最早是由Dantzig和Ramser于1959年首次提出,近年来国内国际上有相当多的学术研究,也发表了很多论文,用于求解此类问题。


但是毕竟企业应用并不等同于学术研究,需要面对更复杂多变的应用场景,首先,如何确定运输需求?正常情况下只有用户下单后,运输需求才算真正确定,而此时距离真正的运输已经只有几个小时,这个时候再去调整运输路线,需要重新安排临时车辆,成本高,管理难度大,很难实施,因而,我们需要提前预知运输需求


另外,预测的运输需求并不能保证100%准确,所以我们需要一套纠偏机制,及时的发现不合理的运输路线,并进行动态调整。同时,运输需求并不是一成不变的,因而我们需要定期对现有的路线做评估,当运输需求发生变化时,运输路线也会同步做出调整。因而我们设计了如下的技术方案:


  1. 用机器学习算法预测运输货量需求;

  2. 根据货量需求规划最优化线路;

  3. 建立机器学习模型预判线路货量异常,建立动态模型根据实际货量对运输线路进行调整。

  4. 建立路线评估模型,发现不合适的运输路线,及时作出调整。



货量预测算法


运输需求预测的本质就是预测消费者的购买行为,但又不完全相同,其中主要不同有以下四点:


  1. 我们并不关心消费者实际购买的商品,而只需预测其数量、体积、重量即可;

  2. 我们不但需要关注消费行为本身,同时也需要关注由此带来的货物移动需求,例如从哪个仓库发往哪个仓库,发往哪个快递点等;

  3. 预测运输需求需要考虑到下单时间,以及由此带来的不同的运输班次;

  4. 为了降低路线调整的成本,我们至少需要预测到未来一周到一个月的运输需求;



数据采集和清洗


我们从苏宁的数据仓库中获取到各种与销量和配送量相关的数据,包括订单信息,用户浏览信息,购物车信息,线上和线下的促销计划,商品库存信息等,并对这些数据根据业务规则做处理和清洗。


数据分析和特征选择


对促销、流量等数据进行分析,抽取与销量波动相关的特征变量,将不同的特征变量带入同一有效的模型逐步验证特征变量的有效性;再将相同的特征变量应用到不同的模型中以测试不同模型的效果,并选择效果最佳的特征变量和模型作为销量预测模型。例如:我们选取了一些典型的SKU,对其促销活动数据和发货量数据作分析,发现发货量的异常波动和促销活动之间有极大的相关性。 



组合模型的设计


我们使用不同算法对货量需求做预测,发现其各有所长,时间序列算法可以用于拟合相对较平稳的货量需求,但是当配送量大幅波动时,时间序列难以捕捉到其变化;回归算法擅长捕捉各自变量与因变量之间的影响关系,但是当影响因素太多,关系非常复杂时,其拟合准确性又往往难以达到预期。


因而我们对历史配送量曲线做拆分,根据时间序列的散点图、自相关函数和偏自相关函数图识别其平稳性。对非平稳的时间序列数据进行平稳化处理。捕捉其长期趋势和循环变动,再用回归算法预测其残差,将结果组合用于预测货量。 



预测结果验证


参数估计,检验是否具有统计意义。假设检验,判断(诊断)残差序列是否为白噪声序列。将数据分为训练集和测试集,将训练出的模型用测试集中的数据进行验证,确保预测模型的准确率。


干支线运输线路规划算法


目前,车辆配送路径问题(VRP)在国内外的学术界都有不同程度的研究,都是对传统VRP问题加上不同的约束条件进行研究,如:载重约束、时效约束等;而国内研究学者研究更多的是线路闭合式的,即车辆有返回的线路;苏宁这种开放式的并且加上时效和载重约束的线路规划,在国内并没有成熟的模型。


我们结合苏宁目前现有的运输模式,选用数学规划算法,建立了带时效及载重约束的开放式线路模型



运输路线动态调整算法


在天眼的监控模块会实时监控货量需求,当发现货量需求与预测值有较大波动时,会触发路线的动态调整算法,由于此时算法的时效性要求很高,所以我们选择启发式算法—节约算法以保证快速找出优化路线。算法的核心思想如下:


规定初始线路为实线线路即为L1点到每个K点的线路,然后计算线路的节约距离进行线路合并,L1到K3的距离大于K2到K3的距离,那么L1—>K3线路取消,K3的货经由K2送达,即形成新线路L1->K2->K3;同理,由于L1->K4距离大于K3->K4,所以形成新线路L1->K2->K3->K4 



路线评估模型


路线评估模型主要从时效、单票成本、综合成本、等维度对路线的运营进行评估。货量预测模型每天都会对未来一个月的货量需求做预测,运输路线规划的模型会根据货量预测的结果重新规划合理的运输路线,并于当前路线做对比,由于运输路线调整牵涉到车辆、人员、承运商的重新安排,有一定的成本,所以系统设定阀值,用未来一个月的数据做测算依据,当新规划路线比原路线成本节省成本超过15%,则推荐调整当前运输路线。


总结


预测问题一直以来都是科学界难以企及的珠峰,从物流角度来看,能够对未来销量进行精准预测,不仅能为公司节省大量运输成本,也能提升物流的运营效率。


在提升预测的准确率方面,我们曾尝试过很多方法,首先,基于历史数据的预测我们采用了时间序列预测方法,对历史的销量进行拟合预测,最高的准确率也就在60-70%左右,遇到大促等外部因素导致的销量波动不能很好的把控并预测出来。


后来,我们分析了促销对销量的影响,发现促销活动与销量有一定的相关性,然后,我们采用了神经网络模型(多个全连接层的多层神经网络)把促销活动因素加入进去,发现在大促日的预测准确率有所提升。


最后,我们综合两种模型的特点,建立了一种基于残差的组合预测模型,采用的是boosting算法对时间序列预测和神经网络预测进行组合,最终准确率稳定在70%-80%


在线路规划问题上,如何将经典的vrp问题与企业现有的数据状况和业务模式相结合,并运用合适的算法满足业务功能和性能上的要求是我们的难点所在,一开始我们结合业务模式上的约束建立了经典的整数规划模型,并用了开源的glpk求解器进行求解,发现对于K点个数超过15个点的模型计算时间长达1小时以上,有些K点数特别多的模型甚至一直无法收敛,这样的性能在业务操作过程中是无法容忍的。


所以,我们调整了方向,转而利用启发式算法构建搜索过程,使得模型能够快速收敛到最优解,并取得了不错的效果。


苏宁大数据运输路线优化项目已于年初正式投产,上线后运用大数据算法优化现有的运输路线,使得每条线路平均成本降幅5.78%,整体运营时效提升9.27%


运输路线优化只是苏宁物流众多的大数据应用之一,苏宁自研的天眼系统中还有库存ABC管理、快递点网络布局、自动化派工等各类运用大数据技术实现的人工智能替代人脑决策的应用。


这些系统的上线极大的提升了苏宁物流的市场竞争力,苏宁物流研发也一直致力于在物流各个领域推广大数据应用,同时也在系统性能、算法准确度等方面持续优化。

此文系作者个人观点,不代表物流沙龙立场

— END —



相关推荐


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存