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

科技   2024-12-05 20:21   德国  

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个周期内存在一系列的随机需求,记为。令表示周期t起始时的库存水平,若手头有过剩库存,则库存水平为正;若出现库存短缺(即产生缺货订单),则为负。因此,在每个周期末尾,对于每单位过剩库存,我们需承担持有成本h,对于每单位缺货订单,则需承受缺货成本 b。

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

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

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

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

 

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

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

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

 

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

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



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

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




           


     









 

     

































运筹OR帷幄
致力于成为全球最大的运筹学中文线上社区
 最新文章