前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「仓储网络智能库存管理问题」最好的答案 | GOC大赛

「仓储网络智能库存管理问题」最好的答案 | GOC大赛

作者头像
京东技术
发布2018-12-07 09:31:40
3K0
发布2018-12-07 09:31:40
举报
文章被收录于专栏:京东技术京东技术
来这里找志同道合的小伙伴!

导读:

本篇特约全球运筹优化挑战赛-仓储物流智能库存管理赛题冠军 TP_AI队伍分享赛题解析。来自清华大学经管学院的闵旭和来自北京大学人工智能创新中心的马思源因为比赛走在一起,虽然是一对新手情侣,但他们思路和策略却毫不含糊,为大赛贡献出了一套出色的解决复杂优化问题的创新方案。

赛 题 背 景

随着不断增长的顾客需求和相继而来的成本压力,给电子商务的运营提出了越来越大的挑战。供应链和仓储物流管理的创新在电子商务运营中的作用尤为突出。以京东为例,在全国建设的8个区域型配送中心接近500+大小仓库中储存了近千万不同种类的商品,每日配送500多万顾客订单,并且绝大多数订单需要满足211配送标准,即早上11点之前的订单当日送达,晚上11点之前的订单次日下午3点前送达。

如何更加准确地预测各个地区的顾客对商品的需求,将顾客可能需要的货品备置在顾客附近的仓库,是保障配送时效的关键。而如何在保障时效的前提下,通过大数据分析和优化算法降低运营成本则是公司长期经营的重中之重。

赛 题 解 析

1初赛题一:区域销售预测

为了提升配送时效,优化顾客购物体验,京东采用了分地理区域进行销售配送的方式,对商品在各个区域内销量的精准预测至关重要。对商品在各个区域内销量的精准预测至关重要。主办方提供京东商品在多个销售区域过去两年的销售情况,参赛队伍需要对目标商品在各个销售区域内未来一个月的销量进行预测

除历史销售情况外,还提供了商品的基本信息数据,包括品类和属性信息。相同的品类或相似属性的商品,可能存在销售趋势的相关性。另外,电商运营中促销是影响销量的重要因素,不同的促销方式以及促销组合会导致商品折扣力度的差异,最终引起销量的波动。因此也提供了过去两年和预测时间段内的促销记录数据,以帮助选手进行有效的预测。

预测结果将直接指导商品的库存计划。在库存计划中,对预测精度的需求往往不仅是对均值的预测,而是对销量分布的整体预测,即销量分布上不同分位点对应的值。为简化问题,根据库存计划的需求事先确定了每个商品所需要预测的目标分位点,用分位点误差公式(quantile loss function)来衡量参赛队伍对未来销量的预测准确度。(具体信息请参见完整赛题描述:https://jdata.jd.com/html/detail.html?id=4)

其中,分位点预测才是解题关键,这个过程需要选手理解分位点评测标准,预测分位点的销量。利用历史数据,特别是时间上相近与往年同期的销量数据,探索强特征的办法,注意选取训练和验证数据集的方式、在评测公式中的评价权重表明了对预测偏高是惩罚较少的,对于预测偏低惩罚较多的。对销量较低的商品在评价时权重升高。所以不管销量是什么量级的商品,预测的准确度更重要。

TP_AI 答题思路:

初赛第一题的目标预测销量,目标函数是分位点误差公式(题干中Lij(qi)的表达式)。这道题第一个关键点在于理解为什么要优化这个公式就要预测分位数,也就是对经典的报童模型要有足够的理解,预测分位数最简单的方法当然就是把历史销量的分位数算出来作为对未来分位数的预测。第二个关键点在于时间越近的数据预测力越强,因此扔掉久远的数据以及对最近的数据加权都能使预测变得更加准确。

这里面有一个很值得讨论的地方——无论是初赛的预测问题、还是复赛的销量预测子部分,我们都没有用到商品分类、商品信息和折扣信息。而从常识的角度,这些信息应该是对预测有帮助的。事实上,我们没有用到这些的原因是我们做了一些简单策略的尝试之后,算法提升很微小,本着奥卡姆剃刀的原则,我们就并没有把它们用到最终算法中。

那么为什么在这个问题和这组数据集中商品分类、商品信息和折扣信息的帮助并不大呢?原因有三:

第一,我们估计的是分布的长尾,这里样本极少,而在样本极少的情况下引入更多的X和复杂函数不一定更好;

第二,如预决赛老师所说,这与我们估计的品类有关,是业务场景决定了算法选取;

第三,数据对分类和商品信息做了高度脱敏,在仅仅面对没有直觉的数字时算法设计者很难找到算法优化的方向,如果把未脱敏信息或者脱敏算法展现给参赛者,我相信成绩会有一定提升。当然,出于比赛和隐私的考虑,脱敏可能也是可以理解的。

2初赛题二:仓储网络库存调拨

为了提升配送时效,优化顾客购物体验,京东采用了多级库存结构来让商品的备货位置更加贴近顾客,在本次挑战赛中只考虑二级库存结构。如上图所示,在二级库存结构中,上级为区域配送中心仓群,称其为Regional Distribution Center(RDC),比如北京 RDC,上海 RDC 等;下级则为围绕上级 RDC 建设的若干前置仓,称为 Front Distribution Center(FDC),比如北京辖区内的石家庄 FDC,天津 FDC 等。

FDC负责向其所关联的城市以及周边地区进行配送,RDC除了负责向其所关联的大城市和周边地区进行配送之外,还负责向其辖区内的FDC进行补货。从FDC向顾客履约速度快,顾客满意度最高。如果FDC缺货,可以从RDC直接履约,但会产生额外履约成本,同时部分顾客可能因为时效降低而选择放弃购买。

调拨决策考虑RDC向FDC补货的规则,每天早晨进行一次,当日调拨量将在当日夜间到达相应的FDC。调拨决策需要确定每一个商品在每一个FDC是否调拨,以及相应调拨量。

调拨决策受到RDC库存可用量的限制,也受到调拨运输能力的限制。具体体现为可承载商品种类个数上限,以及可承载商品总量上线。

本道赛题需要选手依据调拨范围和调拨运力限制情况,并通过仿真程序,每天依序进行调拨决策(参赛队伍程序输入)验证调拨决策正确性,观察当日顾客需求,进行履约,记录成本。接收当日到达 RDC 和 FDC 的补货与调拨量,每组销量模拟数据仿真30天,共100组模拟销量数据,取平均值作为最终成绩。

TP_AI答题思路:

初赛第二题的目标是进行调拨决策来优化成本和损失。我们的算法框架是首先计算“目标调拨数量”(即没有任何限制之下每种商品会调拨多少),然后考虑在两个限制(种数限制和总量限制)之下如何取舍。目标调拨数量的计算方法是首先给RDC留下足够的安全库存,然后把其余部分调拨给各个FDC、补充每个FDC至其期望销量的K倍。面对两个限制,我们采用的是同一个思路——优先满足能使得目标函数数学期望增益更多的调拨申请。

这里面最有趣的问题在于——为什么我们认为这个决策顺序是好的?这个问题要从整个问题的优化目标说起,这道题的优化目标其实是很难直接写成表达式,原因是在两个约束之下这道题本质上是一个动态决策过程(贪心地只考虑明天的成本期望是不好的)。其实最理想的是我们把这个问题的最终优化目标写出来,然后就变成了一个很清晰的数学问题或者规划问题,甚至可以说就是背包问题,然后各种优化算法就可以上了,就可以找到一个很近似的最优解,但是事实上,这一点十分困难,因为今天的决策不仅仅对明天有影响,还需要考虑更长远的未来,而未来的数学期望如何,就会被很多因素影响。比如明天真实的销量,这些因素就很难写到同一个优化目标公式中。上述逻辑就是我们设计现在的决策顺序的原因。

我们现在的决策顺序是 —— 第一步,基于(含参数的)规则决定每个FDC的“目标调拨量”;第二步,决定最重要的200个FDC;第三步,决定最重要的3000件商品。

而之所以在第二步和第三步中,我们又可以做精确计算了,是因为我们在第二步和第三步中只考虑了明天一天的期望成本,而对于未来的长远考虑(调一次就多调一些)则被放到了第一步的规则之中。

在参数调整的过程中,我们发现了有一些参数的变化趋势很奇怪,与直觉不符合,明明大概率会提升算法的策略却未必能提高分数,甚至一些策略在模拟环境和交叉检验集中表现更好但是在线上却反而更差。这一度困扰了我们很久。

经过大量的数据分析,我们发现导致这个问题的原因在于个别类别商品的需求的不确定性非常非常大,对重点类别的商品进行针对性的识别和优化十分重要。在实践中,我们发现,有些很简单的小规则和小调整可能对算法有不小的提升,原因在于这些商品确实销量很大、很重要。就像是每个网游公司都有很多员工专门服务重要的VIP玩家,其实设计算法也是一样的道理。

3复赛——TP_AI思路

复赛赛题是初赛两道题的叠加,因为我们初赛两道题的解决方案排名都很高,所以我们基本上也沿用了上述方法。最大的一点区别就是在理论上,在存在补货提前期的情况下,我们需要预测的是七天销量和的分布函数的上分位数(初赛只是一天销量的分布函数的上分位数),最优调拨量=七天销量和的分布函数的上分位数-未来7天的到货-当前库存,这个公式构成了我们补货决策的核心。估计方法与初赛相同,我们采用了基于采样的非参数估计方法。

后来答辩的过程中我们也听到了所有选手的答辩,我们的补货策略和所有其他队伍都不同,我们的补货决策在没有订货成本的情况下几乎是理论最优的(不过其实它很可能每天都会订货)。然而在京东实际应用场景中,销量较小的商品订货成本可能是不能忽略的,此时可以考虑引入EOQ的思想对模型再做改进。

预决赛和决赛是的内容是演讲和答辩的过程中,我们明确了两点原则——第一,尽可能站在更高的视角去审视这个问题。第二,尽可能用最简单的语言去讲解我们的算法。

------------------END------------------

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 京东技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档