供应链单级多周期库存补货模型

1. 经典EOQ模型及其基本假设

1.1. 什么是EOQ

EOQ,即 经济订购批量模型,是库存模型的理论基础,也是库存理论的基础模型,其核心是:在订货成本与库存成本之间寻找一个平衡,使得订货能够满足市场预估需求,而且成本最小化。可以用下面的一幅图来表示,订货成本逐渐下降,是因为随着订货量的增加,可以拿到数量价格折扣,同时单位运输成本也会下降,这是符合人们的直觉的,但是只要订货就会产生库存费用,而且库存费用是递增的。因此,一定有一个平衡点,使得订货成本和库存持有成本最小化的。

基于EOQ模型,学界和工业界根据具体的市场情况发展并丰富了EOQ模型,包括多级库存理论,需求变化和库存成本变化的EOQ,时变运输周期的EOQ,能力受限的EOQ 等,因此,我们要知道,EOQ虽然重要,但是也包含着极大的缺陷,很难直接应用在现实的供应链采购和仓储管理之中,当然现实中还是有很多产品是符合EOQ的基本假设要求的,比如方便面,牙膏,大米等不受季节因素或其他市场因素明显影响且销量稳定的产品,当然,真正头疼的并不是这类型的产品。

1.2. EOQ基本假设

不管学习什么数学模型,总是要先看其基本假设和适用范围,EOQ也不例外。
EOQ的基本假设如下:
- 不允许缺货,即缺货费用Cs无穷大。
- 当库存将至零,可以立即得到补充(生成时间很短,可以近似看做零)。
- 需求是连续的,均匀的,需求速率是R
- 每次订货量Q不变,订购费C0不变(每次生产量不变,装配费不变)。
- 单位存储成本不变。

其补货和库存变化如下图:

1.3. EOQ的数学推导

一个周期t内的总存储量为:

12Qt12Qt

\frac{1}{2}Qt

一个周期t内的总费用 F(t)=订购费+存储费+货物成本费
=订购费率 x 订购次数+总存储量 x 存储费率+货物单价P x 货物总需求量
= C0×1+12QtCh+PRtC0×1+12QtCh+PRt{C_0} \times 1 + \frac{1}{2}Qt{C_h} + PRt

单位时间内的总费用(库存系统总费用率)为:

f(Q)=F(t)t=C0×1+12QtCh+PRtt=C0RQ+12ChQ+PRf(Q)=F(t)t=C0×1+12QtCh+PRtt=C0RQ+12ChQ+PR

f(Q) = \frac{{F(t)}}{t} = \frac{{{C_0} \times 1 + \frac{1}{2}Qt{C_h} + PRt}}{t} = \frac{{{C_0}R}}{Q} + \frac{1}{2}{C_h}Q + PR

其中:f0=C0RQ,fh=12ChQf0=C0RQ,fh=12ChQ {f_0} = \frac{{{C_0}R}}{Q},{f_h} = \frac{1}{2}{C_h}Q ,前者是单位时间的订购费,后者是单位时间的存储费,PR是常数,在考虑存储系统总费用时,PR可以忽略不计。

最优存储策略:
在求极值的数学问题中,另导数为零,可以得到最优的订购策略。
另 df(Q)dQ=0df(Q)dQ=0 \frac{{df(Q)}}{{dQ}} = 0 ,得
- 1 最佳订购批量(或最大库存量)

Q∗=2RC0Ch−−−−−√Q∗=2RC0Ch

{Q^*} = \sqrt {\frac{{2R{C_0}}}{{{C_{\rm{h}}}}}}
这就是著名的经济订购批量检查EOQ公式.
- 2 最优存储周期(订货周期)

t∗=Q∗t=2C0RCh−−−−−√t∗=Q∗t=2C0RCh

{{\rm{t}}^*} = \frac{{{Q^*}}}{t} = \sqrt {\frac{{2{C_0}}}{{R{C_h}}}}
- 3 最优总存储费用

f∗=f0∗+fh∗=2RC0Ch−−−−−−−√f∗=f0∗+fh∗=2RC0Ch

{f^*} = {f_0}^* + {f_h}^* = \sqrt {2R{C_0}{C_{\rm{h}}}}

2. 需求变化的EOQ模型

需求变化的EOQ描述

从经典的EOQ模型假设出发,我们看到,EOQ假设需求稳定且恒定,每个周期的订货量都是一定的,而且周期长度都一样,在现实中有很多产品不是这样的,特别是有明显季节性的服装产品,有明显生命周期的电子产品,在每个周期内的销量明显不一样,上市前期进行试推广预售,然后销量快速上升,过了销售旺季或者生命周期顶峰后,进入衰退期,销量趋势如下图:

动态规划求解需求变化问题

对于多周期订购问题,可以通过动态规划的方法求解。
其实从人脑的简单思维来说,遇到这种组问题,首先想到的不是什么算法,而是暴力搜索,一个个数凑总是能凑出来的。而动态规划,就是暴力搜索的一种改进,可以以你想不到的效率找到最优解,而不是一个个组合参数去尝试。
多说一个,其实很多智能优化算法,其本质也是这种暴力搜索的改进,本质很是暴力搜索。说来也有趣,智能优化算法是没有严格的数学推导的,但是结果还不错,比如粒子群算法,遗传算法,禁忌搜索算法等。

这里讲一下使用动态规划求解的方法,使用运筹学中的一个例子说明问题,把生产换成采购,就是最开始说的EOQ问题了。
问题描述如下:
未来3个月的销量预测已知,为3w,4w,3w,如果启动生成,则启动费用为3万每次,而且每个产品的成本是1元,每件产品的每月的存储费用为0.7元。
第一个月和第四个月的库存为0,求最优生产计划。

–>1月–>2月–>3月–>4月

变量如下:
k: 表示不同的阶段,这里有4个月,则k=1,2,3,4
Sk:表示月初库存,因为第1,4个月的月初库存为0,则S1=0, S4=0
xk:表示决策变量,即当月要生产的量,1月肯定是要生产的,因为此时库存为0,而且1月生产的可以留着以后买,如果1月生产未来全部月份的需求,则1月最大生产为10w,同理,2月生产的只能是2月和3月卖,因此2月最大生产7w,3月最大生产3w。
x1={3,4,5,6,7,8,9,10}, x2={0,1,2,3,4,5,6,7}, x3={0,1,2,3}
状态转移方程:

SK+1=SK+xk−dkSK+1=SK+xk−dk

{S_{{\rm{K + }}1}} = {S_K} + {x_k} - {d_k}
dkdk {d_k} 是每月的需求量, SKSK {S_K} 是月初库存
阶段指标函数(成本=生产费用+存储费用) rk(xk)rk(xk) {r_k}({x_k})

rk(xk)={3+xk+0.7Sk,xk>00.7Sk,xk=0rk(xk)={3+xk+0.7Sk,xk>00.7Sk,xk=0

{r_{\rm{k}}}({x_k}) = \left\{ \begin{array}{l} 3 + {x_k} + 0.7{S_k},{x_k} > 0\\ 0.7{S_k},{x_k} = 0 \end{array} \right.

递推方程:

fk(SK)=Min([rk(xk)+fk+1(Sk+1)],k=1,2st.xk≥0Sk+xk≥dkfk(SK)=Min([rk(xk)+fk+1(Sk+1)],k=1,2st.xk≥0Sk+xk≥dk

\begin{array}{l} {f_k}({S_K}) = M{\rm{in}}([{r_{\rm{k}}}({x_k}) + {f_{k + 1}}({S_{k + 1}})],k = 1,2\\ st.\\ {x_k} \ge 0\\ {S_k} + {x_k} \ge {d_k} \end{array}

3. 考虑订购提前期的EOQ模型

在前面的EOQ假设中,有一个假设就是补货能力无穷大,能够做到瞬时补货。什么意思呢,就是我在1号下单,货物马上就能送到仓库。这是不符合现实情况啊,就算是京东物流起码也要半天啊,国内快递一般2-3天,因此这也是EOQ不合理的地方。
但是不影响我们使用啊,因为我们可以通过业务流程优化来到达瞬时补货的功能。
比如,EOQ模型中,4月1号需要补货,实际的订购提前期是5天,那么我们只要在3月25日下达订单,那么4月1日就会有一批货物到达仓库入库,和EOQ模型保持一致了。如下图:

4.动态规划求解多周期库存python代码

待补充.

供应链单级多周期库存补货模型相关推荐

  1. 007.供应链计划的基石-补货计算 上篇 概念介绍

    供应链计划的基石 - 补货计算 业务场景/需求: 在供应链运营中,需要组建供应链计划团队不断优化流程, 输出计划,用于协同供应链各个职能(如采购,仓储,物流等)高效衔接,提高效率,精简运营成本. 随着 ...

  2. AI驱动的京东端到端补货技术建设实践

    导读:自动化是嵌入到整个智能供应链Y的基因里去的,我们服务的一个愿景是希望通过自动化技术实现供应链全链条的降本提效.本文将分享京东如何利用AI驱动端到端补货建设,包括以下几大方面内容: 京东智能供应链 ...

  3. 阿里新零售中的智能补货(I)— 库存模型

    文章作者:阿里零售通算法团队 出品社区:DataFun 导读: 零售通作为阿里巴巴新零售的八路大军之一,肩负着"共建智能分销平台"和"让百万小店拥抱DT时代"的 ...

  4. OPJJ“检查不考虑补货提前期”的测试1

    相关链接:可用性检查与总计补货提前时间 - SAP后勤及HR - ITPUB论坛-专业的IT技术社区  http://www.itpub.net/thread-1720298-1-1.html 定义检 ...

  5. 强化学习在智能补货场景的应用

    本文作者:应如是,观远算法团队工程师,毕业于伦敦帝国理工学院计算机系,主要研究方向为强化学习.时间序列算法及其落地应用.深耕零售消费品场景,解决供应链运筹优化问题.为客户提供基于机器学习的AI解决方案 ...

  6. DTC补货实战:从算法到落地

    本文作者:凡飞,从快递到快消,一个平凡的供应链算法深耕者. " 我希望衡量我们ai团队价值的,不是创造了多么精深的算法,而是跨越算法到落地间距离的能力." 近年来随着电商行业从增量 ...

  7. 如何管理ERP系统中的物料补货?

    文/开源智造联合创始人 老杨 补货是管理库存以保持足够数量库存的过程.这是一种常用于有效地管理零售业务的标准做法.我们必须补充库存以确保产品的不间断供应.此外,我们必须管理好补货以确保材料不会缺货. ...

  8. 2021阿里云供应链大赛--需求预测与单级库存优化参赛总结

    赛事链接: https://tianchi.aliyun.com/competition/entrance/531934/introduction 本次竞赛由阿里巴巴集团主办.阿里云承办,赛事共分为初 ...

  9. 供应链|多期库存系统中具有销售损失的最优联合补货和转运策略

    封面图来源: https://www.pexels.com/photo/aerial-shot-of-cargo-ship-on-sea-3840441/ 作者:Hossein Abouee-Mehr ...

最新文章

  1. VC中TXT文件的存取
  2. (0078)iOS开发之支付宝集成:客户端签名与验证
  3. 上海大学计算机技术 a股,这所上海大学短时间就成为211,实力强劲却不为人知,适合捡漏...
  4. leetcode算法题--叶值的最小代价生成树
  5. linux phpize
  6. python实现定时任务的方式_Python实现定时执行任务的三种方式简单示例
  7. win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法
  8. 程序猿的爱情--2011-12-27
  9. 收藏了8年的PHP优秀资源,都给你整理好了
  10. 大学生做 app 开发,用云服务和租赁服务器,哪个更合适?
  11. 数字信号处理——有限长离散变换
  12. 广西事业单位职称免计算机,2020广西事业单位职业能力倾向测试知识:为什么没有计算器?...
  13. 模型评估之过拟合与欠拟合
  14. 技能get:找到连接WIFI设备的IP地址
  15. 67键键盘如何输出`和~符号(一百五十一)
  16. 如何在Windows 10中打开设置?
  17. 最后一公里极速配送(一)
  18. C++容器 vector(附代码实例讲解)
  19. 分布式机器学习的集群方案介绍之HPC实现
  20. 统一身份认证(SSO/AD域/LDAP)

热门文章

  1. 软件测试工程师是吃青春饭的吗?测试这个行业到底能干到多少岁?
  2. 上海宝钢股份有限公司代码管理系统
  3. 概率论常见分布极其公式
  4. 一篇感谢我的朋友的随笔
  5. Linux下安装nginx详细步骤
  6. 通过B站搜索页将搜索到的内容批量下载,并且显示下载进度
  7. 利用计算机模拟地理实验,安徽省淮北师范大学附属实验中学高二2018-2019学年学业水平模拟考试地理【解析】...
  8. 让iPhone输入法更有“苹果”味 (二)
  9. 挂名的法定代表人,若公司出事,有责任吗
  10. MySQL RAND()函数