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

news2024/12/12 19:52:10

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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2254023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

<工具 Claude Desktop> 配置 MCP server 连接本地 SQLite, 本机文件夹(目录) 网络驱动器 Windows 11 系统

也是在学习中... 起因&#xff1a; 抖音博客 艾克AI分享 他的视频 #143《Claude开源MCP彻底打破AI的信息孤岛》 提到: Claude开源的MCP太强了&#xff0c;视频后面是快速演示&#xff0c;反正看了好几遍也没弄明白。菜单都不一样&#xff0c;感觉用的不是同一家 Claude. 探…

交易所 Level-2 历史行情数据自动化导入攻略

用户部署完 DolphinDB 后&#xff0c;需要将历史股票数据批量导入数据库&#xff0c;再进行数据查询、计算和分析等操作。DolphinDB 开发了 ExchData 模块&#xff0c;主要用于沪深交易所 Level-2 行情原始数据的自动化导入&#xff0c;目前已支持的数据源包括&#xff1a; 沪…

matlab finv()函数解释 F分布 和 逆累积分布函数 卡方分布

1.Earths flattening 翻译并解释含义 "Earths flattening" 翻译为中文是“地球的扁率”。 含义解释&#xff1a; 地球的扁率是指地球形状偏离完美球形的程度。地球并非一个完美的球体&#xff0c;而是一个扁球体&#xff0c;即在两极略微扁平&#xff0c;赤道略微…

Istio笔记01--快速体验Istio

Istio笔记01--快速体验Istio 介绍部署与测试部署k8s安装istio测试istio 注意事项说明 介绍 Istio是当前最热门的服务网格产品&#xff0c;已经被广泛应用于各个云厂商和IT互联网公司。企业可以基于Istio轻松构建服务网格&#xff0c;在接入过程中应用代码无需更改&#xff0c;…

国家烟草局招聘信息查看

以下是官网链接&#xff1a; 国家烟草专卖局 在首页&#xff0c;鼠标移到行业资讯&#xff0c;点击人事与培训&#xff0c;即可看到相应的招聘信息了。

【SpringMVC】用户登录器项目,加法计算器项目的实现

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;用户登录项目实现 1&#xff1a;需求 2&#xff1a;准备工作 &#xff08;1&#xf…

联通光猫DT741-csf 完全po解 改桥接

1.管理员密码破解&#xff0c;把光猫的loid pppoe用户名密码&#xff0c;各个连接vlan id记下来 打开链接 http://192.168.1.1/hidden_version_switch.html version选择Default Version&#xff0c;点击submit&#xff0c;光猫默认重启。重启后ip地址变为192.168.1.1 并且dhcp…

12月2日星期一今日早报简报微语报早读

12月2日星期一&#xff0c;农历十一月初二&#xff0c;早报#微语早读。 1、公安部&#xff1a;全国机动车所有人12月2日起均可申领电子行驶证&#xff1b; 2、2025年国考笔试开考&#xff1a;参考率约为86.7%&#xff0c;约65人录1人&#xff1b; 3、今日头条、拼多多等9款A…

机器学习概述,特征工程简述2.1——2.3

机器学习概述&#xff1a; 1.1人工智能概述 达特茅斯会议—人工智能的起点 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来 1.1.2 机器学习和深度学习能做什么 传统预测 图像识别 自然语言处理 1.2什么是机器学习 数据 模型 预测 从历史数…

C语言(一维数组练习)

键盘录入一组数列&#xff0c;利用冒泡排序将数据由大到小排序 #include <stdio.h>int main(int argc,char *argv[]) {int i,j,tmep;int arr[10];printf("请输入10个测试整数&#xff1a;\n");int lensizeof(arr)/sizeof(arr[0]);for(i0;i<len;i){scanf(&q…

【2025最新计算机毕业设计】基于SSM+Vue中华传统文化吟诵知识学习系统

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

MySQL需掌握到何种程度?才能胜任工作

大家好&#xff0c;我是袁庭新。星友问&#xff1a;MySQL需要学到什么程度&#xff1f;才能胜任日常的软件开发工作呢&#xff01;以下是一些建议的学习目标和程度&#xff0c;这些目标旨在帮助你在工作中高效地使用MySQL。 数据库的基本概念、MySQL的安装及配置、SQL的概念、S…

[TPAMI 2024]Vision-Language Models for Vision Tasks: A Survey

论文网址&#xff1a;Vision-Language Models for Vision Tasks: A Survey | IEEE Journals & Magazine | IEEE Xplore 论文Github页面&#xff1a;GitHub - jingyi0000/VLM_survey: Collection of AWESOME vision-language models for vision tasks 英文是纯手打的&…

桂湾公园的地面免费停车场(50个左右)

之前一直以为桂湾公园只有P1和P2地下停车场可以免费停车。没想到桂湾公园还有地面停车场&#xff0c;停车位大概是50个。 具体位置在桂湾公园5号门地上停车场。 桂湾公园-5号门 广东省深圳市南山区桂湾河南街与鲤鱼门西二街交叉口西北20米 停车场入口对面是红星美凯龙&#x…

SpringBoot连接多数据源MySQL、SqlServer等(MyBatisPlus测试)

SpringBoot连接多数据源MySQL、SqlServer等&#xff08;MyBatisPlus测试&#xff09; 在实际的项目开发中&#xff0c;我们往往需要同时连接多个数据源对数据进行处理。本文将详细介绍在SpringBoot下配合MybatisPlus如何连接多数据源&#xff0c;实例将会使用连接MySQL、SqlSe…

基于NVIDIA NIM 平台的知识问答系统实现客服功能

前言&#xff1a; NVIDIA联合CSDN推出了《NVIDIA NIM黑客松训练营》&#xff0c;通过对着提供的实验手册&#xff0c;学习了基于NVIDIA的NIM平台知识问答系统&#xff0c;简单的一段代码就可以实现一个AI智能问答系统。而且这次活动注册账号即可获得到免费的1000tokens&#x…

(12)时间序列预测之MICN(CNN)

文章目录 前言1. challenge 一、网络结构1. MHDecomp2. Trend-cyclical Prediction Block3. Seasonal Prediction BlockMIC LayerMerge 实验结果1.长时预测 总结参考 文章信息 模型&#xff1a; MICN (Multi-scale Isometric Convolution Network)关键词&#xff1a; 长时预测…

设计模式——Facade(门面)设计模式

摘要 本文介绍了外观设计模式&#xff0c;这是一种通过简单接口封装复杂系统的设计模式。它简化了客户端与子系统之间的交互&#xff0c;降低了耦合度&#xff0c;并提供了统一的调用接口。文章还探讨了该模式的优缺点&#xff0c;并提供了类图实现和使用场景。 1. 外观设计模…

opencv-android编译遇到的相关问题处理

1、opencv-android sdk下载 下载地址&#xff1a;https://opencv.org/releases/ 下载安卓SDK即可 2、解压下载好的SDK 3、导入opencv的SDK到安卓项目中 导入步骤在/OpenCV-android-sdk/sdk/build.gradle文件的注释中写的非常详细&#xff0c;大家可安装官方给出的步骤导入。…

go语言读取yaml配置文件内容

1、config.yaml配置文件内容假设如下 name: "example" version: 1.0 settings:timeout: 30debug: truefeatures:- feature1- feature22、定义结构体 go语言定义结构体匹配yaml内容 package mainimport ("fmt""log""os""gopkg.…