不允许缺货的存贮模型

问题背景

问题:配件厂为装配线生产若干种部件,所需的费用情况有以下几种:

  1. 轮换生产不同的部件时因更换设备要付生产准备费(与生产数量无关,只要有生产,不管生产几个,都要付的费用)。
  2. 同一部件的产量大于需求时因积压资金、占用仓库要付贮存费

现有情况:今已知某一部件的日需求量100****件生产准备费5000元贮存费每日每件1元

前提条件:

  1. 生产能力远大于需求(也就是不考虑供不应求的情况)。
  2. 不允许出现缺货,

安排生产计划:多少天生产一次(称为生产周期),每次产量多少可使总费用最小。

问题分析

先试算一下,以便发现规律:

  • 若每天生产一次,每次100件,无贮存费,生产准备费5000元,每天费用5000元;
  • 若10天生产一次,每次1000件,贮存费是900+800+…+100=4500元,生产准备费5000元,总计9500元,平均每天费用950元;
  • 若50天生产一次,每次5000件,贮存费是4900+4800+…+100=122500元,生产准备费5000元,总计127500元,平均每天费用2550元。

从上面的试算看出:生产周期短,产量小,贮存费小,准备费大;生产周期长、生产量多,会使贮存费大,准备费小。因此肯定存在一个最佳的周期,使得费用最小,显然,应该建立一个优化模型。

考虑这种不允许缺货的存贮模型的一般情况:产品需求稳定不变,生产准备费和生产贮存费为常数、生产能力无限、不允许缺货,确定生产周期和产量,使得总费用最小。

模型假设

为了处理方便,考虑连续模型,即设生产周期T和生产量Q均为连续量,根据问题性质做如下假设:

  1. 产品每天的需求量为常数r;
  2. 每次生产准备费为c1,每天每件产品的贮存费为c2
  3. 生产能力为无限大(相当于需求量),当贮存量降到零时,Q件产品立即生产出来供给需求,即不允许缺货。

模型建立

贮存量表示为时间t的函数q(t),
t=0生产Q件,贮存量q(0)=Q,
q(t)以需求速率r递减,直到q(T)=0,
如图1
在这里插入图片描述
显然有
Q = r T Q=rT Q=rT ———————————— (1)

一个周期内的贮存费应该是 c 1 ∑ t = 0 T q ( t ) c_1\sum_{t=0}^{T} q(t) c1t=0Tq(t) ,将周期看成连续的量,转化成积分形式:
在这里插入图片描述其中积分恰等于图1中A的面积QT/2,因为一个周期的准备费是c1,再注意到(1)式,得到一个周期的总费用是
在这里插入图片描述

模型求解

求T使(3)式的C最小,容易得到
在这里插入图片描述

结果解释

由(4)(5)式可以得到,当准备费c1增加时,生产周期和产量都变大;当贮存费增加时生产周期和产量都变小;当需求量r增加时,生产周期变小而产量变大,这些定性结果符合常识,而定量关系只能由数学建模得到。

用得到的模型计算本节开始的问题:以c
1=5000,c2=1,r=100代入(4),(6)式,得T=10天,C=1000元。

这里得到的费用C与前面计算的950元有微小差别,由于我们把离散的模型连续化而产生的误差。

敏感性分析

讨论c1,c2,r有微小变化时对生产周期T的影响。
用相对改变量衡量结果对参数的敏感程度,T对c1的敏感度记作S(T,c1),定义为
在这里插入图片描述

允许缺货的存贮模型

模型假设

与上述问题假设均一致,假设第三点改变,现在假设为:

  1. 产品每天的需求量为常数r;
  2. 每次生产准备费为c1,每天每件产品的贮存费为c2
  3. 生产能力为无限大(相当于需求量),允许缺货,每天每件产品缺货损失费c3,但缺货数量需要在下次生产(或订货)时间补足。

模型建立

因贮存量不足造成缺货时,可以认为贮存量函数q(t)为负值,如图2,周期仍记作T,Q是每周期初的贮存量,当t=T1时q(t)=0,于是有:
在这里插入图片描述在T1到T这段缺货时段内需求率r不变,q(t)按原斜率继续下降,由于规定缺货量需补足,所以在t=T时数量为R的产品立即到达,使下周初的贮存量恢复到Q.

与建立不允许缺货模型时类似,一个周期内的贮存费是c2乘以图2中三角形A的面积,缺货损失费是c3乘以图2中三角形B的面积,计算这两块面积,并加上准备费c1,得到一个周期的总费用为
在这里插入图片描述在这里插入图片描述

模型求解

利用微分法求驻点
在这里插入图片描述

结果解释

在这里插入图片描述c3趋于∞时,也就是说缺货损失费是无穷大,那么商家就不会让其缺货,也就回到了上面的不允许缺货模型,因此可以将不允许取货模型看成是允许缺货模型的一个特例。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐