一个实用的端到端的深度学习库存模型

G1 文章信息  

文章题为“A Practical End-to-End Inventory Management Model withDeep Learning”,该文于2022年发表至“MANAGEMENT SCIENCE”。文章的核心是提出了端到端的框架用于多周期库存补货问题。

2 摘要  

文章研究了一个数据驱动的多周期库存补货问题,需求与供应商交货期(VLT)具有不确定性,但可获取大量历史数据。不同于传统的 “先预测后优化(PTO)” 两步式解决方案框架,我们提出了一个端到端(E2E)框架,该框架运用深度学习模型直接依据输入特征输出建议补货量,无需任何中间步骤。E2E 模型经训练可在历史观测数据下捕捉最优动态规划解的行为模式,且无需对需求和 VLT 的分布作任何先验假设。通过使用一家领先电子商务公司的真实数据开展一系列全面的数值实验,我们证实了所提 E2E 模型相较传统 PTO 框架的优势。我们还在京东进行了实地实验,结果显示,与京东现行做法相比,新算法大幅降低了持有成本、缺货成本、总库存成本及周转率。对于供应链管理行业而言,我们的 E2E 模型缩短了决策流程,并提供了一种具有可推广性与可扩展性的自动化库存管理方案。这种直接将输入信息用于最终目标的 E2E 理念,在其他供应链管理场景中亦具实际应用价值。

3 引言  

在库存管理当中,货物的需求模式不同,就需要采用不同的补货策略。比如文章考虑一个多周期库存管理问题,该问题的货物需求不确定、企业向供应商发出采购订单到实际货物到达的时间间隔VLT不确定。需要依据订单下达与到货状况、需求出现情形及库存水平实时变动来更新库存,并产生持有或缺货成本,其目标库存的总成本最小。于是,开发一个能自动识别最优补货策略的框架很重要。

作者提出的端到端的方法是指用深度学习的方法,输入每个补货周期、库存水平、历史需求等特征,预测该周期下最优的补货量。但该方法存在一个问题,如何获取最优的补货量。于是作者提出利用动态规划的方法求解该优化问题,将优化问题的解作为标签,输入到神经网络模型进行学习。

文章的贡献在于:

1、针对多周期补货问题提出端到端框架。基于我们标签的方法,此框架可直接由输入特征生成补货决策。

2、所提端到端学习框架能自动确定契合不同需求模式的补货策略。该方法在离线模拟(采用真实数据)和实地实验中,皆优于多个基线模型,涵盖某领先在线零售商的现行实践。实地实验有力验证了我们算法在电商行业现实库存管理中的适用性。

3、通过为需求和 VLT 不确定性分别设计模块,创新了深度神经网络结构。此举大幅削减计算复杂度与权重数量,同时确保良好性能。

4 模型

(1)多周期补货问题的问题描述

文章考虑离散的时间范围1...T。在这T个周期内存在一系列的随机需求,记为0aafdbe9cc1e048b81dd2f71300e48ad.png40fe0fdd105e4152a9e3076a8a2ba88b.png。令2e69ad95a357e2063302a826346f1c1f.png表示周期t起始时的库存水平,若手头有过剩库存,则库存水平为正;若出现库存短缺(即产生缺货订单),则为负。因此,在每个周期末尾,对于每单位过剩库存,我们需承担持有成本h,对于每单位缺货订单,则需承受缺货成本 b。

我们采用周期性审查策略,并假定审查周期由一系列日期构成,即从周期 1 至 T 总共存在 M 个订单,这些订单在d170f413a35bed7e5d5464b1ad6ab878.png时刻下达,其中148357fc33f13dfeab3156f7440dc10c.png,通常订单下达遵循固定时间表(例如,仅在周二和周五下单)。在本问题中,我们考虑随机的 VLT,即第 m 个订单在周期 t 下达,将在周期t+L到达,其中L是正整数的变量。由此,订单到达的时间记为57135c2443c7b6c8c47677f0c8a1b187.png,其中0dbc8321db56ee2462bef15068b26cef.png,也为变量。此后,d0cd6e37c3bce2a1d0b24fef797eba4f.png4542fe1180994910e31af1ec4700567c.png为随机变量,11a27a1dbca5df1f736083b4a567b6ad.png67aff164494a9c899b5925fb69ac4b82.png分别代表周期 t 需求的实现值以及第 m 个订单 VLT 的实现值。在每个周期,系统首先通过核查是否有订单抵达来更新库存水平,随后需求发生。令7c06914578551cae741af355f9fce419.png表示第 m 个订单的订单量。在周期末尾,将产生持有成本或缺货成本。库存水平更新遵循以下等式:

dd9a1e610311b68db3516b69137f06c2.png

该式含义为:第t+1周期的库存量 = 第t周期开始时的库存水平 - t周期的需求量(消耗量) + 订单送到对库存的补充。9983e55ae77e951d6ea2b7599bc0777d.png为0-1变量。表示第m个订单能够在周期t内送达则为1.否则为0。对应周期产生的成本可表示为:

b93006432e5bbc918b6f6b5b267007cf.png

其中f71a675f233fe13b8ec2a018f0ba0ada.png表示6124300024288b88e149e235acec6fd4.png。该式由两部分组成,前面部分表示存放成本。若有库存,则乘以h,没有库存则持有成本为0。后面部分表示缺货成本。

目标是在给定周期内,选择订单的数量,最小化该时域内的成本。即

953faa910153cf0bc875d5233b032f58.png 

<1 style="color: rgb(0, 0, 0);font-family: 微软雅黑;font-size: 15.04px;letter-spacing: 1px;text-wrap: wrap;">1><1 style="color: rgb(0, 0, 0);font-family: 微软雅黑;font-size: 15.04px;letter-spacing: 1px;text-wrap: wrap;">1><1 style="color: rgb(0, 0, 0);font-family: 微软雅黑;font-size: 15.04px;letter-spacing: 1px;text-wrap: wrap;">(2)端到端模型1>

补货问题的关键在于找到每个检查点的最佳订单数量f54c8738bb67d49805dd7386dbd28423.png,为找到映射函数61fbad5d1e7e0183e28c789fb8640ae8.png,首先用历史数据训练模型。对于每个具有观测特征向量350d52d6359bb3824c635dd7ee859d8d.png,的历史补货时间点,我们需要计算cac2d34c9c802f965cbb935ec9689726.png,即相应的最优订单数量。这一步骤在监督学习算法中被称为 “标签”,当完成每个观测值的相关标记后,我们可通过以下训练目标建立映射:

6ea4d25b84a65ba384ea7ff0089810b1.png

其中是训练数据的总数,L是基于模型预测440ed83d7e2c034beafd177bcd56e3fb.png与最优订单数量b19b842589d4f3ee6f48231381da5288.png之间差异定义的损失函数。特别地,我们考虑用神经网络模型表示函数f。

A.标记最优订单数量

标注过程:使用历史真实数据,利用动态规划方法求最优解。最优解作为模型的标签。在给定需求的情况下,我们可将递归式表述为:

321439c13e82c79a0e1d7ccdbe3892b2.png

其中,e0c16e3b155f1e7c394184156f93db84.png是区间6b0d89a327bc0822e7358eb5e20410a6.png上的最优成本,6cc686ccf59dbe670395876073bbc2bc.png。在此作者推导出一个定理,其作用是上式的解析解,即为040090de99eacc67522a16ecb40d364b.png,其中aa032c65fd0486d8dd6a801c18c86f26.png

B.神经网络模型结构

<1 style="color: rgb(0, 0, 0);font-family: 微软雅黑;font-size: 15.04px;letter-spacing: 1px;text-wrap: wrap;">当获得训练数据的相关标签后,我们通过求解式3中的优化问题来训练神经网络模型f,神经网络模型的一般结构如图所示。1>

5273862ff1553ec63b11eb279204a17b.png

E2E 模型的输入包括五个部分:Input_DF 和 Input_VLT 分别代表与需求和 VLT 相关的特征;Input_basic 是一般商品层面特征的集合,如产品类别、仓库位置和品牌名称。其余两个特征,即审查周期和初始库存水平,直接输入到其中一个隐藏层,因为它们不会与其他特征产生交叉项。E2E 模型有三个输出,主要输出out1代表最终补货决策。此外,还有两个辅助输出:out2作为需求预测,out3作为VLT预测。除DF_submodule 外,所有隐藏层均为RELU和全连接层。以防止过拟合。DF_submodule 设计为多分位数循环神经网络(MQRNN),它接收多个时间序列(如需求时间序列、促销时间序列)作为输入,并输出一组分位数上的日需求预测。训练的损失函数为:

0d7b64755d90ea26adcf786172de9095.png

其中23b035bf3bc0486378c455758bff18a2.png表示神经网络的参数,N是训练数据总数,be5c6d9612b7e9641e18ed017f7459ea.png是两个小的正惩罚常数,用于惩罚需求和 VLT 预测误差。该损失函数由3部分组成,分别为:补货策略与真实最优补货策略的决策差异,预测的需求和真实的需求的差异,预测的VLT和真实的VLT的差异。

<1 style="color: rgb(0, 0, 0);font-family: 微软雅黑;font-size: 15.04px;letter-spacing: 1px;text-wrap: wrap;">1>

5 实验

<1 style="color: rgb(0, 0, 0);font-family: 微软雅黑;font-size: 15.04px;letter-spacing: 1px;text-wrap: wrap;">文章通过实验对端到端模型、传统模型和两阶段方法进行对比,接着在一个大的案例上进行实验以证明所提模型的优势,因篇幅本推文仅介绍前一部分实验。1>

<1 style="color: rgb(0, 0, 0);font-family: 微软雅黑;font-size: 15.04px;letter-spacing: 1px;text-wrap: wrap;">方法1:Normal假设日需求属于正态分布。则基础的库存水平计算如下:1>

7a1c1d56e7b49281e3fcf6926a2af5c5.png

其中是审查周期,834283d3abf5b44316231525e5d42c2f.png为均值,0bfedd6786aefdf7a0ed5cff13f3ff3f.png为标准差,使用包含过去 180 天需求和供应商提前期(VLT)的历史数据进行估计。

方法2:Gamma假设日需求服从伽马分布。基本库存水平计算为:

0d2589107289e148beec0edb188f771c.png

其中,8005e0cd48c763702d286e9a0166eb3d.png天的需求总和(记为a93b9952e3eb615b50a9ff594fc72e2b.png),147269c52a586b5ee04608a99d6cf2b5.png90710a6c727dc47b9756683b4f3a4ada.png的分位数函数

方法3:BM1该方法属于PTO,需求dt是已知的,需要预测时间。根据时间的长短确定总需求。

方法4:BM2该方法属于PTO,两相邻订单到货时间是已经确定的,需要预测相邻到货时间内的需求。

方法5:E2E_GBM为一种决策树的算法,由于基于树的模型不能处理时间序列特征(例如,历史需求序列),使用需求的统计摘要作为特征,包括平均值、标准差和时间差异。

方法6:OPT为真实标签值。

方法7:E2E_RNN为本文所提方法。

对于实验,输入的是包含每日销售额,历史VLT和一些其他特征的132维的向量。共有60天的数据,用24天的数据作为训练集,6天的数据作为验证。最后再用30天的数据作为测试,缺货成本为9,持有成本为1。其结果如下,可以看出E2E_RNN方法最接近真实标签值。

ef596df8f9f89edb8b998b44bf8eb1f4.png

6 结论

<1 style="color: rgb(0, 0, 0);font-family: 微软雅黑;font-size: 15.04px;letter-spacing: 1px;text-wrap: wrap;">文章创新地提出端到端(E2E)深度学习框架,经动态规划求解并标注样本以训练模型,其含需求和 VLT 预测模块及特定网络结构。通过京东数据开展数值与实地实验,与多种 PTO 方法比,E2E 模型在成本、周转率等指标表现优,于京东实践可降多项成本超 25%,验证其在电商库存管理的有效性及缩短决策流程、自动管理等优势,还为供应链管理 E2E 模型拓展提供方向,如向多层级库存设置推广、构建联合决策方案等。1>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当交通遇上机器学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值