存储论——经济订货批量的R实现

news2024/11/16 8:30:12

存储论又称库存理论,是运筹学中发展较早的分支。早在 1915 年,哈李斯(F.Harris)针对银行货币的储备问题进行了详细的研究,建立了一个确定性的存储费用模型,并求得了最佳批量公式。1934 年威尔逊(R.H.Wilson)重新得出了这个公式,后来人们称这个公式为经济订购批量公式(简称为 EOQ 公式)。这是属于存储论的早期工作。存储论真正作为一门理论发展起来还是在二十世纪 50 年代的事。1958 年威汀 (T.M.Whitin)发表了《存储管理的理论》一书,随后阿罗(K.J.Arrow) 等发表了《存储和生产的数学理论研究》,毛恩(P.A.Moran)在 1959 年写了《存储理论》。此后,存储论成了运筹学中的一个独立的分支,有关学者相继对随机或非平稳需求的存储模型进行了广泛深入的研究。

一、存储论概述

现代经济活动的生产和经营活动都离不开存储,为了使生产和经营活动有条不紊地进行,都需要一定数量的储备物资来支持。所谓存贮实质上是将供应与需求两个环节以存储中心联结起来,起到协调与缓和供需之间矛盾的作用。存储模型的基本形式如下图所示:

1.1 库存管理的基本要素

(1)需求率:单位时间内对某种物品的需求量,用 D 表示。
(2)订货批量:一次订货中,包含某种货物的数量,用Q 表示。
(3)订货间隔期:两次订货之间的时间间隔,用 T 表示。

1.2 库存管理的基本费用

(1)购置费:购置物品时花费的费用,即因购置物品而支出的货款,等于物品的单价乘以需求量。由于供应商一般会给一次订购某一数量的商品折扣价格,因此购置费可能会随着每次订购商品批量不同而改变。
(2)存储费C1C1。指为保存物品而支付的费用,如利息、折旧、损耗、财产税、保险等。现代管理把库存占用资金的机会成本(即这些资金若投资于他处所能获得的收益)也计入保管费中,而机会成本占保管费的比例在40%以上。保管费用可占到库存价值的20%~35%。保管费用往往用占库存价值的百分比来估算。
(3)订货费C3C3。指为补充而需要订购物品时支付的费用。其构成有两类,一是与订货次数有关的费用,如准备订单、洽商等。二是与订货次数无关的费用,如运费,办公管理等费用。
(4)缺货费C2C2。由于存储不能满足需求而造成的损失。为补充订货往往比正常订货要增加额外的开支,为补足短缺造成加班加点的额外支出,未按期交货引起客户索赔、撤消合同甚至丧失市场等经济损失。

1.3 库存管理策略

所谓一个管理策略,是指决定什么情况下对存贮进行补充,以及补充数量的多少。 下面是一些比较常见的库存管理策略。
(1)t 循环策略:不论实际的存贮状态如何,总是每隔一个固定的时间t ,补充 一个固定的存储量Q 。
(2)(t,S) 策略:每隔一个固定的时间 t 补充一次,补充数量以补足一个固定的最大存储量 S 为准。因此,每次补充的数量是不固定的,要视实际存储量而定。当存储(余额)为 I 时,补充数量为Q = S − I 。
(3)(s,S) 策略:当存储(余额)为 I ,若 I > s ,则不对存储进行补充;若 I ≤ s , 则对存储进行补充,补充数量Q = S − I 。补充后达到最大存储量 S。s 称为订货点(或 保险存贮量、安全存贮量、警戒点等)。
在很多情况下,实际存储量需要通过盘点才能 得知。若每隔一个固定的时间t 盘点一次,得知当时存储 I ,然后根据 I 是否超过订货点 s,决定是否订货、订货多少,这样的策略称为(t,s,S)策略。

二、确定性存储模型

存储论的数学模型一般分成两类:一类是确定性模型,它不包含任何随机因素,另一类是带有随机因素的随机存贮模型,这里主要总结确定性存储模型。

2.1 经典的EOQ订货模型

模型1模型2模型3模型4
模型假设需求是连续的、均匀的,需求速度是常数 R(单位时间的需求量);补充可以瞬间实现,补充时间 t 近似为 0;单位 C1 存储费不变;每次订货量 Q 不变,订购费 C3 不变,货物单价 K 不变;单位缺货成本 C2 为无穷大在模型1假设基础上,补货需要一定时间,不考虑拖延时间,只考虑生产(装配)时间,生产速度是连续均匀的周期的,生产速度为常数 P(P>R)与模型一相比,允许缺货!!!,补货时间极短与模型一相比,补货时间较长,容许缺货
模型状态图

单位时间的总平均费用C(t)=C3t+KR+12C1RtC(t)=C3t+KR+12C1RtC(t)=1t[12C1(P−R)Rt2P+C3]C(t)=1t[12C1(P−R)Rt2P+C3]C(t,S)=1t[C1S22R+C2(Rt−S)22R+C3]C(t,S)=1t[C1S22R+C2(Rt−S)22R+C3]C(t,t2)=12(P−R)RP[C1t−2C1t2+(C1+C2)t22t]+C3tC(t,t2)=12(P−R)RP[C1t−2C1t2+(C1+C2)t22t]+C3t
最佳定货周期t∗=2C3C1R−−−√t∗=2C3C1Rt∗=2C3C1R−−−√⋅PP−R−−−−√t∗=2C3C1R⋅PP−Rt∗=2C3C1R−−−√⋅C2C1+C2−−−−−√t∗=2C3C1R⋅C2C1+C2t∗=2C3C1R−−−√⋅C1+C2C2−−−−−√⋅PP−R−−−−√t∗=2C3C1R⋅C1+C2C2⋅PP−R
最大缺货量00

B∗=2C1C3RC2(C1+C2)−−−−−−−−−−−√B∗=2C1C3RC2(C1+C2)

B∗=2C1C3R(C1+C2)C2−−−−−−−√⋅P−RP−−−−√B∗=2C1C3R(C1+C2)C2⋅P−RP
最佳定货量Q∗=Rt∗=2C3RC1−−−−√Q∗=Rt∗=2C3RC1Q∗=2C3RC1−−−−√⋅P−RP−−−−√Q∗=2C3RC1⋅P−RPQ∗=2C3RC1−−−−√⋅C1+C2C2−−−−−√Q∗=2C3RC1⋅C1+C2C2Q∗=2C3RC1−−−−√⋅C1+C2C2−−−−−√⋅PP−R−−−−√Q∗=2C3RC1⋅C1+C2C2⋅PP−R
最大存储量Q∗=2C3RC1−−−−√Q∗=2C3RC1S∗=2C3RC1−−−−√⋅P−RP−−−−√S∗=2C3RC1⋅P−RPS∗=2C3RC1−−−−√⋅C2C1+C2−−−−−√S∗=2C3RC1⋅C2C1+C2S∗=2C3RC1−−−−√⋅C2C1+C2−−−−−√⋅P−RP−−−−√S∗=2C3RC1⋅C2C1+C2⋅P−RP
最小费用C∗=2C1C3R−−−−−−−√C∗=2C1C3RC∗=2C1C3R−−−−−−−√⋅PP−R−−−−√C∗=2C1C3R⋅PP−RC∗=2C1C3R−−−−−−−√⋅C2C1+C2−−−−−√C∗=2C1C3R⋅C2C1+C2C∗=2C1C3R−−−−−−−√⋅C2C1+C2−−−−−√⋅P−RP−−−−√C∗=2C1C3R⋅C2C1+C2⋅P−RP

2.2 经济订购批量的折扣模型

经济订购批量折扣模型是经济订购批量存贮模型的一种发展,即商品的价格 是不固定的,是随着订货量的多少而改变的。就一半情况而论,物品订购的越多,物品的单价也就越低,因此折扣模型就是讨论这种情况下物品的订购数量。 一年花费的总费用由三个方面组成:年平均存贮费、年平均订货费和商品的购买费用,即

C=12QC1++C3DQ+Dk(Q)C=12QC1++C3DQ+Dk(Q)

比如说订购量为 QQ, 其单价 K(Q)K(Q) :

K(Q)=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪K1K2⋮Kj⋮Km0≤Q<Q1Q1≤Q<Q2Qj−1≤Q<QjQm−1≤QK(Q)={K10≤Q<Q1K2Q1≤Q<Q2⋮KjQj−1≤Q<Qj⋮KmQm−1≤Q

对应的平均单位货物所需费用为:

Cj(Q)=12C1QR+C3Q+Kj(j=1,2,⋯,m)Cj(Q)=12C1QR+C3Q+Kj(j=1,2,⋯,m)

对 C1(Q)C1(Q) 求得极值点为 Q0Q0, 若 Qj−1≤Q0<QjQj−1≤Q0<Qj, 求

min{Cj(Q0),Cj+1(Qj),⋯,Cm(Qm−1)}min{Cj(Q0),Cj+1(Qj),⋯,Cm(Qm−1)}

设从此式得到的最小值为 Cl(Ql−1)Cl(Ql−1), 则取 Q∗=Ql−1Q∗=Ql−1 。

三、存储策略的R计算

3.1 模型4经济订货批量

例1:对某产品的需求量为350件/年(设一年以300工作日计),已知每次订货费为50元,该产品的存贮费为13.75元/(件·年),缺货时的损失为25元/(件·年),订货提前期为5天。该种产品由于结构特殊,需用专门车辆运送,在向订货单位发货期间,每天发货量为10件。试求:(1)经济订货批量及最大缺货量;(2)年最小费用。

#输出四位数字
options(digits=4)
#初始化,时间单位为年
C1=13.75     #存储成本
C2=25        #缺货成本
C3=50        #订购费用
P=3000       #年生产量
R=350        #年需求量
#计算程序
T<-(2*C3/(C1*R))^0.5 *(P/(P-R))^0.5 *((C1+C2)/C2)^0.5 
Q=(2*C3*R/C1)^0.5 *  ((C1+C2)/C2)^0.5 *(P/(P-R))^0.5
S=(2*C3*R/C1)^0.5 * (C2/(C1+C2))^0.5 * ((P-R)/P)^0.5
C=(2*C1*C3*R)^0.5 * ((P-R)/P)^0.5* (C2/(C1+C2))^0.5
cat("最佳定货周期:",T*300,'\n')
cat("最佳定货量:",Q,'\n')
cat("最大存储量:",S,'\n')
cat("最小费用:",C,'\n')
最佳定货周期: 57.28 (天) 
最佳定货量: 66.83 
最大存储量: 38.09 
最小费用: 523.7 

3.2 折扣下的经济订货批量

例2:某公司计划订购一种商品用于销售。该商品的年销售量为 40000 件,每次订货费为 9000 元,商品的价格与订货量的大小有关,为

K(Q)=⎧⎩⎨⎪⎪⎪⎪35.22534.52534.17533.8250≤Q<1000010000≤Q<2000020000≤Q<3000030000≤QK(Q)={35.2250≤Q<1000034.52510000≤Q<2000034.17520000≤Q<3000033.82530000≤Q

每年的单位存储成本为6元,问如何安排订购量和订购时间。

#经济订货批量折扣模型
#初始化,时间单位为年
#D=96000
k=35.225       #价格折扣初始值
C1=6           #存储成本
C3=9000        #订购费用
R=40000        #年需求量

l=c(0,10000,20000,30000)   #订货数量分段值
Q=(2*C3*R/C1)^0.5          #EOQ订货批量

#定义数量折扣分段函数
fun1=function(x){
  if (x>0 & x<10000) a=35.225
  else if (x>=10000 & x<20000) a=34.525  
      else if (x>20000 & x<=30000) a=34.175  
        else if (x>=30000) a=33.825
          else  a=0
 return (a)
}

#定义成本函数
fun2=function(x) {0.5*C1*x/R +C3/x +fun1(x)}

#最佳订货批量Q1
b=fun2(Q)
for (i in 1:length(l)) {if (fun2(l[i])<=b) b=fun2(l[i])}
l[1]=Q
for (i in 1:length(l)) {if (fun2(l[i])==b) Q1=l[i]}
#订货时间T
T=Q1/R
Q1=20000(个);T=0.5(年)  #计算结果

例3:某厂每年需某种元件 30000 个,每次订购费 1000 元,保管费每件每年100元,不允许缺货。元件单价 K 随采购数量不同而有变化。

K(Q)={2001980≤Q<15001500≤QK(Q)={2000≤Q<15001981500≤Q

求最佳订货批量。

经济订货批量折扣模型
#初始化,时间单位为年

k=200       #价格折扣初始值
C1=100       #存储成本
C3=1000        #订购费用
R=30000        #单位时间需求

l=c(0,1500)   #数量分段值
Q=(2*C3*R/C1)^0.5          #EOQ订货批量


#数量折扣分段函数
fun1=function(x){
  if (x>0 & x<1500) a=200
  else if (x>=1500) a=198
  else  a=0
  return (a)
}

#成本函数
fun2=function(x) {0.5*C1*x/R +C3/x +fun1(x)}

#最佳订货批量Q1
b=fun2(Q)
for (i in 1:length(l)) {if (fun2(l[i])<=b) b=fun2(l[i])}
l[1]=Q
for (i in 1:length(l)) {if (fun2(l[i])==b) Q1=l[i]}
Q1
Q1=1500(个)

四、综合思考

例4:甲公司是一家标准件分销商,主要业务是采购并向固定客户供应某种标准件产品。有关资料如下:(1)该标准件上一年订货次数为60次,全年订货成本为80万元,其中固定成本总额为26万元,其余均为变动成本。单位变动成本和固定成本总额不变;(2)该标准件仓储总费用中,每年固定租金成本为120万元,每增加一件标准价就增加1元仓储费。每件标准件的占用资金为50元,资金利息率为6%;(3)该标准件年需要量为180万件。一年按照360天计算;(4)该标准件从发出订单到货物送达需要5天。
要求:(1)计算每次订货变动成本;(2)计算单位变动储存成本;(3)根据经济订货模型,计算该标准件的经济订货批量和最佳订货周期(按天表示);(4)计算再订货点。

(1) 每次订货变动成本=(80-26)10000/60=9000(元)
【解析】订货总成本80万,其中固定成本26万,可知变动成本总额是80-26=54万元,全年订货60次,总订货变动成本54万元,则每次订货变动成本=54万元/60次=0.9万元=9000元
(2)单位变动储存成本=1+50
6%=4(元/件)
【解析】储存成本包括固定储存成本+变动储存成本。每增加一件标准价就增加1元仓储费,这不就是变动成本的定义吗?可知1元为单位变动成本。以往的客观题也练习过存货的机会成本也是变动储存成本,单位机会成本=占用资金资金利息率=506%。综上,单位变动储存成本由上述两部分构成。
(3)经济订货批量= =90000(件)
每年最佳订货次数=1800000/90000=20(次)
最佳订货周期=360/20=18(天)
【解析】经济订货批量套公式就是了,没什么好说的。
最佳订货次数=全年需要量/经济订货批量
最佳订货周期=360/最佳订货次数
(4)每日平均需用量=1800000/360=5000(件)
再订货点=55000=25000(件)
【解析】再订货点=每日需要量
送货期

总结

存储系统可以用“供-存-销”三个活动来描述,通过订货以及货后的存储与销售来满足顾客的需求,或者说由于生产或销售的需求,从存储系统中取出一定量的库存货物,这就是存储系统的输出。存储的货物由于不断的输出而减少,必须及时的补充,补充就是存储系统的输入,补充可以通过外部订货,采购等活动来进行,也可以通过内部的生产活动来进行,在这个系统中,决策者可以通过控制订货时间的间隔和订货量的多少来调节系统的运行,使得在某种准则下系统运行达到最优。因此,存储论中研究的主要问题可以概括为,何时订货(补充存贮),每次订多少货(补充多少库存)这两个问题,文中给出了数学模型化解决方案。 

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

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

相关文章

第五章 HL7 架构和可用工具 - 创建新的自定义架构

文章目录 第五章 HL7 架构和可用工具 - 创建新的自定义架构创建新的自定义架构定义新段 第五章 HL7 架构和可用工具 - 创建新的自定义架构 创建新的自定义架构 要从管理门户启动自定义架构编辑器&#xff0c;请从主页选择互操作性 > 互操作 > HL7 v2.x >HL7 v2.x 架…

单机和集群以及分布式的浅析

假设一个大系统分为A、B、C、D、E五个模块&#xff0c;也可以认为是五个基本的服务&#xff0c;该系统靠这五个模块协同工作&#xff0c;共同为用户提供服务。 单机 单机&#xff1a;显然&#xff0c;单机表名该系统完完全全的部署在该台机器上&#xff0c;拥有完整的服务&am…

算法38:反转链表【O(n)方案】

一、需求 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例3&#xff…

监听镜像版本变化触发 GitOps工作流

文章目录 前言工作流总览安装和配置 ArgoCD Image Updater创建 Image Pull Secret&#xff08;可选&#xff09;创建 Helm Chart 仓库创建 ArgoCD Application删除旧应用&#xff08;可选&#xff09;配置仓库访问权限创建 ArgoCD 应用 体验 GitOps 工作流总结 前言 在【GitOps…

FastDeploy的方式在OK3588上部署yolov7-- C++

FastDeploy介绍 ⚡️FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具&#xff0c; 支持云边端部署。提供超过 &#x1f525;160 Text&#xff0c;Vision&#xff0c; Speech和跨模态模型&#x1f4e6;开箱即用的部署体验&#xff0c;并实现&#x1f51a;端到端的…

附录1-将uni-app运行到微信开发者工具

目录 1 在manifest.json写入AppID 2 配置微信开发者工具的安装路径 3 微信开发者工具的安全设置 4 运行 5 修改一些配置项 1 在manifest.json写入AppID 2 配置微信开发者工具的安装路径 如果你忘了安装在哪里了&#xff0c;可以右键快捷方式看一下属性 在运行设置…

邻接矩阵与邻接表

文章目录 0 前面几种数据结构的回顾1 图1.1 图的定义1.2 常见术语1.3 图的抽象数据类型定义1.4 表示一个图1.4.1 邻接矩阵表示法1.4.2 邻接表 1.5 图的构建1.5.1 邻接矩阵法1.5.2 邻接表法 0 前面几种数据结构的回顾 1 图 1.1 图的定义 图&#xff1a; G (V,E) // Graph (V…

Moke 一百万条 Mysql 的数据

文章目录 前言创建数据库创建表结构生成数据 前言 想研究一下&#xff0c;数据量大的情况下&#xff0c;如何优化前端分页&#xff0c;所以需要 Moke 一些数据 创建数据库 在 Mysql的基础上&#xff0c;可以写个语句执行 CREATE DATABASE test_oneMillion; USE test_oneMi…

Jmeter —— 录制脚本

1. 第一步&#xff1a;添加http代理服务器&#xff0c;在测试计划--》添加--》非测试元件--》http代理服务器 2. 第二步&#xff1a;添加线程组&#xff08;这个线程组是用来放录制的脚本&#xff0c;不添加也可以&#xff0c;就直接放在代理服务器下&#xff09; 测试计划--》…

【Linux】sed修改文件指定内容

sed修改文件指定内容&#xff1a; 参考&#xff1a;(5条消息) Linux系列讲解 —— 【cat echo sed】操作读写文件内容_shell命令修改文件内容_星际工程师的博客-CSDN博客

如何连接远程服务器?快解析内内网穿透可以吗?

如今我们迎来了数字化转型的时代&#xff0c;众多企业来为了更好地推动业务的发展&#xff0c;常常需要在公司内部搭建一个远程服务器。然而&#xff0c;对于企业员工来说&#xff0c;在工作过程中经常需要与这个服务器进行互动&#xff0c;而服务器位于公司的局域网中&#xf…

活动目录(Active Directory) 管理工具

每个IT管理员几乎每天都在Active Directory管理中面临许多挑战&#xff0c;尤其是在管理Active Directory用户帐户方面。手动配置用户属性非常耗时、令人厌烦且容易出错&#xff0c;尤其是在大型、复杂的 Windows 网络中。Active Directory管理员和IT经理大多必须执行重复和世俗…

20.3 HTML 表格

1. table表格 table标签是HTML中用来创建表格的元素. table标签通常包含以下子标签: - th标签: 表示表格的表头单元格(table header), 用于描述列的标题. - tr标签: 表示表格的行(table row). - td标签: 表示表格的单元格(table data), 通常位于tr标签内, 用于放置单元格中的…

进阶高级测试专项,Pytest自动化测试框架总结(二)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、pyets种有四种…

【2023.7.29】浅谈手办——新人入坑指南

目录 前言入坑指南1.声明2.介绍3.树状图 总结参考文章 前言 出于对动漫的热爱&#xff0c;相信很多人都会买手办&#xff0c;本人在大一时开始入手了第一个手办&#xff0c;超大猿王路飞&#xff08;高约50cm&#xff09;&#xff0c;当时对手办还不是很了解&#xff0c;只知道…

mapboxGL中楼层与室内地图的结合展示

概述 质量不够&#xff0c;数量来凑&#xff0c;没错&#xff0c;本文就是来凑数的。前面的几篇文章实现了楼栋与楼层单体化的展示、室内地图的展示&#xff0c;本文结合前面的几篇文章&#xff0c;做一个综合的展示效果。 实现效果 实现 1. 数据处理 要实现上图所示的效果…

Java-数组的定义和使用

一、数组的基本概念 1.1 为什么要使用数组 假设现在要存5个学生的javaSE考试成绩&#xff0c;并对其进行输出&#xff0c;则可有 public static void main(String[] args){ int score1 70; int score2 80; int score3 85; int score4 60; …

学C的第三十一天(上)【通讯录的实现】

相关代码gitee自取&#xff1a;C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 学C的第三十天【自定义类型&#xff1a;结构体、枚举、联合】_高高的胖子的博客-CSDN博客 通讯录需求&#xff1a; 实现一个通讯录&#xff0c; 通讯录中存放保存人的信息&#xff1…

C# PaddleInference.PP-HumanSeg 人像分割 替换背景色

效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleInference 包含4个分割模型 modnet-hrnet_w18 modnet-mobilenetv2 ppmatting-hrnet_w18-human_512 ppmattingv2-stdc1-human_512 部分代码 using OpenCvSharp; using Sdcb.PaddleInference; using System; using System.…

aop实现方式及基本使用

aop实现方式 aspectj 编译器增强&#xff0c;直接修改源码可以不借助Spring实现 也没有用代理对象 &#xff08;ajc编译器&#xff09; aop 的原理并非代理一种, 编译器也能玩出花样&#xff08;直接修改源码&#xff09; 运行时需要在 VM options 里加入 -javaagent:D:/envir…