多层存货管理方法用于改进含有低需求项目的系统研究
在实践中,许多的多级库存系统仍在采用仅适用于单体库存管理的方法管理。本文表明这
样的方法可能明显地次于考虑了系统构造后而设计出的方法。特别是在修理配件库存系统中,
由于在那里许多的项目有着低需求率,所以多层库存管理方法更具有潜在的经济意义。在本
文里我们描述一多层方法,该多层方法涉及到一项(s-1,s)定货策略和 Poisson 需求,二者均
适用低的需求配件项目;与单节点管理方法相比要达到同样的平均服务水平这个方法所需要
的总投资要低的多。因此,多层方法在多数情况下是值得做的。
关键词:库存/产品多层系统
一、引 言
多项目,多层库存体制常常涉及成千上万的单位库存水平 (stock-keeping units: SKUs) 和
上百万美元的投资。但人们仍然经常使用仅适用于单一节点的模型管理它。然而,研究证明,
这些模型与考虑了系统结构后而设计出的方法相比,他们可能是较差的。研究说明,当系统
中同时有许多需求低而费用相对较高的项目时,考虑系结构是重要的;由于借助于仅仅在一
供应中心设置库存的方法,可使这些项目可能得到最有效地管理。本文使用的数据来自于一
个大的配件供应系统(总的投在$100 百万以上),在那里低需求率项目远超过高要求率项目。
由于几乎在所有大规模的库存系统里,大多数项目均有着较低的需要率,因此,本文得到的
一些结论可能对许多企业集团和服务公司的后勤供给管理具有一定的指导意义。
为了使问题得到简化,本文介绍的是一个两层系统,而且该系统没有横向联合再供应。
即只有一个分销中心(DC)在最上层,若干客户服务货栈在底层。(被考查系统实际上有若
干个 DC ,但是,因为横向再供应不被允许,所以对问题的研究我们可以仅考察含有一个 DC
的系统,并假设该 DC 能够从外部卖方或公司自己的工厂以一个已知的定常时间获得再供应。
正象我们将要讨论的对货栈再供应的延迟期限取决于此时 DC 存货的可用性。对每一个节点,
我们仍然使用的是(S-1,S)库存策略,;也即,在每个需求后面有一个单位定单,以使该节
点的“现有的存货+订购的货物”达到 S 单位。对于货栈级的低需求项目和 DC 级的许多项目,
这个模型是合适的。假设:(1)在货栈级的每项需求服从 Poisson 分布;(2)在所有的货
栈中需求是相互独立的。由于每个需求直接地指向 DC,所以 DC 所面临的也是一个 Poisson
需求过程。该过程的数学期望等于各货栈级的数学期望之和。
二、两个控制方法:一个定性讨论
1.性能指标
应该指出:再选择一个性能指标的时候,我们必须记住在我们要考察的背景之中,库存的唯
一职责是向用户提供服务,因此我们将要被检测的应该是各货栈的脱销情况;而 DC 库存水
平和脱销情况仅仅在他们影响到货栈的脱销情况时才是重要的。为了最终满足服务目标,文
献{1}建议对每一个货栈使用一种时间加权性能指标,而不使用事件计数(number-of-incidents)
指标,要弄清这是为什麽,可以考虑货栈级那些零库存项目。假如我们使用事件定向
(incident-oriented)性能指标,则当货栈没有存货的时候,除非你强迫,否则一个多层模型
中的 DC 也将选择零库存。这样做的理由是没有必要通过调整 DC 级的库存来改进货栈服务。
因为无论 DC 库存水平如何,客户需求立即得到满足和避免偶然脱销的概率总是为零。很显
然,这样库存系统也就不存在了。DC 级的一个主要目标就是以较小的代价给货栈级的库存
安排提供一个更大的和更深的余地。如果使用时间加权目标,多层模型有一种增加库存余地
的机能,以在一个脱销出现之后能够迅速地恢复库存。因此,文献{1} 建议使用时间加权目
标作为该系统的性能指标,这当然是针对一定的系统而言的,上面的某些观点来自于参考文
献[8]。
2.二个控制方法
文献[1]讨论了两种支持库存水平决策的方法:(1)水平分解,(2)多层方法(项目分
解)。第三种方法,即在实际中经常使用的系统,在该系统中的每个节点上,所期望的“供货
时 间 ” 是 分 别 固 定 的 , 由 于 其 性 能 如 此 不 好 , 以 致 于 被 文 献 {1} 作 为 一 个 最 低 标 准
( benchmark) 而淘汰 。
正象文献[1]所给出的,在水平分解过程中,为了满足对所有项目的平均服务水平约束,
一个总体服务水平目标被分解到每一层,每层按项目分解库存,以便最小化投资。在这里每
一“货栈—DC 服务水平对”隐含着一个客户所能感受的到的系统性能水平和一个能够用于形
成选优(决策)曲线的系统投资。该方法在这里研究有两个原因。首先,它在一个水平内分
配资金,因此在所有单级方法中它是一个好的方法;第二,它在文献[1]所研究的公司中应用。
“项目分解”思想基本上与 Heskett 在[5]提出的“双重分销系统”相同。某些低需求项目将
仅在 DC 有售,以致于能够在提供充分支持的同时使系统的投资减少。这儿使用数学技术来
为各节点的所有项目按排存货水平,因此,有关哪个项目仅在 DC 存货的决策问题,可以通
过使用文献{1}给出的模型实现。由于确定库存水平时没有一层对另一层的信息流,因此水平
分解方法不能通过适当地选择以使得两层对于不同的项目实现不同的服务水平。一般来说,
同样的项目在两层上将有好的也将有坏的服务。因为确实在任一节点要获得最便宜的平均服
务水平的方法是为高需求低成本的项目备货,而忽略某些高成本低需求的项目,在货栈级的
安全库存水平则趋向于在 DC 级为某些项目加倍,因此有些项目不是在两节点处均有存货。
三、模型说明
1.系统说明
如前所述,对于含有若干个 DC,而每个 DC 又带有多个货栈的系统,如果横向再供应
不被允许,则每个子系统可以分别考查。当一个需求在一个货栈 j 处发生时,接下来将发生
以下可能的事件,� 如果货栈 j 有现货给项目 i,则在满足需求上将没有时间延迟,一个正
常的再供应形成(货栈向 DC 发出定单);� 如果 DC 有现货,则再供应时间表示为 Bij;�
如果 DC 没有现货,则在供应时间被表示为 Bij+ 从货栈向 DC 发出定单直到 DC 到货的这段
时间;�如果货栈 j 没有现货给项目 i,则一个紧急再供应要求对 DC 形成;�设正常的 DC
再供应时间是 Tio,且 DC 有现货,则项目被立即送到该货栈且再供应时间是 ET1,该 DC 发
出一个正常的再供应要求给他的供货商而后收到相应的定货,其时间延迟为 Tio;� 当 DC
m
j 1 ij
1
0
is
x
分销中心(D C)
货 栈 1 货 栈 m货 栈 2
没有所要求的现货时,一个紧急定单将被发往它的供应商,而后该项目将被直接发往货栈,
其到达货栈的时间为 ET2; 我们假设 ET2>ET1,如果所有紧急定单均由正常供应以外的渠道
满足,则系统的工作情况如图 1 所示。
对项目 i 的正常再供应时间: 货栈紧急再供应时间:
到 DC 的时间是 Tio 如果 DC 有现货则: ET1
到货栈的时间: 如果 DC 没有现货则: ET2
如果 DC 有现货则是 Bij
如果 DC 没有现货则是
Bij+ 延迟
图 1 系统说明
除了 Bij,ET2 和 ET1 外,我们还需要以下说明:
λij= 货栈 j 处项目 i 的期望的日需求率。
λ io = = DC 处对项目 i 的日需求率。
Sij= 货栈 j 对项目 i 的库存水平.
Sio= DC 处项目 i 的库存水平.
Cij= 节点 j 对项目 i 的投资(成本)。
P(x�λij * Bij)= 再供应时间为 Bij 的需求的概率分布,该分布假设是 Poisson 分布,该
假设是针对于所研究的低需求部分。
2.水平分解
该水平分解方法分别为每层和每个节点确定库存水平。因此在各节点上,下标(j)可以
隐含在λi,Ci,Bi 和 Si 中。在每个节点处,项目的库存水平的计算要在总体服务水平指标被
取得的前提下,使存货投资达到最小。 测量每个节点上的服务水平的简单方法是确定
其需求能够立即满足的客户的分数,这种测量有时被称之为填满率。(其他指标也可以使用)
假定一个上门的客户能够得到满足的概率是α,则我们就定义填满率是α。基于[2]的分析,当
一个需求过程是 Poisson 过程时, P(x�λi * Bi)计算出了一个客户对再供应时间
为 Bi 的项目 i 的需求可能被立即得到满足的概率;
。。。。。
(3)
i
iisc
(4))/(
1
0
is
x
ii
i j
ji Bxp
式中:
该概率对应着在该节点处实际的定单数是 x,而所期望的定单数是λi * Bi。所以一个节点
的填满率是:
当采用水平分解时,用于计算任一节点库存水平的数学模型是:
Min
Subject to
and Si=[λi Bi ], [λi Bi ]+1, ……,
这里[y]表示 y 的整数部分。因此,每个 Si 至少必须与所期望的提前需求的整数部分相等。注
意目标函数仅含有库存投资,它将在满足填满率约束的条件下最小化。由于使用了(s-1,s)
定货策略,所以所发的定单数和相应的总定货成本是常数。为了找出总的存货需求,所以对
每个节点来说问题(3)必须要解决。要解决这个问题,可以使用 Lagrangian 技术,(参见
[4])。问题(3)的 Lagrangian 形式对项目而言是离散的,所以问题容易解决。
3.项目分解
实际系统中的所有短缺均由紧急发货供应,而非正常补充,在项目分解过程中(多层模
型)其概率分布反映着这种运行策略。用 h(x|λij* Tij(Sio))表示货栈 j 处项目 i 的正常再供
应单位数的概率分布。这里 Tij(Sio)= 货栈 j 处项目 i 在 DC 对项目 i 的库存水平指定为 Sio
的条件下的平均再供应时间。
Tio 是 DC 对项目 i 的正常再供应时间。
进而,文献 [8] 给出了:
同前,这里的:Bij= 在 DC 库存能够满足需求的条件下由 DC 到货栈 j 对于项目 i 的正常
再供应时间。则:
上面的仅是是一种近似。该近似是基于 Feeney[3] 和 Sherbrooke[4]给出的结果。他们将
Palm 的理论推广到了“脱销”的情况。对于低需求项目( ),该近似几
(1)
!
)(
ii B
x
ii
ii ex
B
Bxp
(2)
1
0
is
x
ii
i j j
i Bxp
(5))(/1 IOio
sx
ioioijioji TxpsxBsT
io
(6)/
0
ijs
w
ioijijioijijioijij sTwpsTxpsTxh 1)( ioijij sT
5)( ioijij sT
......,1)]([)],([
(8)
ioIJijioIJijij
ij
i j
ij
sTsTs
sc
预算约束
乎总是精确到两位小数[2],对于高需求项目,例如 ,该近似也是出色
的,甚至当 DC 的存货水平是或稍低于期望的 DC 需求时,也是如此。
h(x|λij Tij(Sio)的情况是相当复杂的,并且使用文献[6]提供的方法能够进一步发展。
对于 DC 处某一时刻的通过正常再供应定货数的概率分布也必反映了这样一个事实,既
并不是所有的需求都能通过正常再供应渠道得到满足。我们用 Ki(Sio)表示由货栈发出的对
项目 i 的需求能在 DC 处立即得到满足的概率。我们使用∑i P(x|λio Tio)近似表示这个概率[Ki
(Sio)= ∑i P(x|λio Tio)]。当所有多余的 DC 需求均通过常规的再供应满足时,它是准确的
概率。由于多余的需求从正常的再供应渠道取消,所以这种近似带有可以一定的保守性。另
一方面,假如一个为项目 i 的紧急定单被某一货栈发出,则至少 Sij 个单位是在当前的定单上,
因此,如果对该项目而言系统期望需求部分大[超过 20% 的总系统期望需求],则∑P(x|λio
Tio)进一步表明这样的概率,即由那个货栈发出的紧急需求能够被立即满足。确实由于 Sij 可
能等于 Sio 的大部分,所以货栈和 DC 的脱销情况将更加强烈地相互关联。然而,这种近似非
常逼近于这样一些系统,在他们中 Sio 大于或等于(λio Tio)的整数部分,而且不大于与在一个
货栈上所发生的一个项目的相对应的期望的系统需求的 10%。
在货栈处满足一个客户需求的期望时间能够表示为:
这个模型表示着一个特定的工业配件分销系统的运行情况。该模型没有包括紧急再供应
所需的附加费用;文献[1]所研究的这个公司的这个应用中,他们考虑了客户等待成本大体上
要超出紧急再供应成本。
项目分解法则(多层模型)现在能够表示为这样的问题:
minimize (7)
subject to
该问题要用 Lagrangian 技术解决(参考[4])在该问题中每项问题可以分别得到解,只要
知道了 Sio 和 Larangian 乘子(在预算约束中的下标 j 必须从 0 取到 m 以包括 DC 的花费)
四、计算比较
1.数据
(7)]1[
1
0
1
0
21
io ios
x
s
x
ioioioio
i j
ioijijij
i j ij
ij
TxpETTxpET
sTsh
and
文献[1]的作者对一个特定的工业系统的 418 个项目的日需求率进行了采样,为了减少
计算花费而又不失一般性,为了简化计算而又不矢一般性,他们假设系统中有 15 个完全相同
的货栈和一个 DC。(如果是 15 个不同的货栈,则仅仅是计算量增加而已),被选中的项目代
表着高的和低的需求率以及单位成本。再供应时间是实际值,为了表明改变紧急再供应的相
对速度而产生的影响,他们改变一个紧急再供应时间。为了隐藏真实价值,他们的在单位成
本上乘了一个常数。
2.对不同方法的选优(Tradeoff)曲线
多层模型值得使用吗?当然,不能从一般意义上回答这个问题。然而,在他们检验的案例
中,我们能够看到它们是否有价值。下面是他们使用了两种不同的计算库存水平的方法所获
得的性能——成本选优曲线,其中第一个是水平分解方法,第二个是项目分解方法。 下表给
出了几个有代表性的项目的成本和需求信息,另外为了检验对这些项目所作出的决策,后面
他们还给出当使用这两种不同的方法时,对于不同的投资水平所取得的业绩。
表 1 成本和需求数据
项目 货栈日需求率
单位成本
(所有节点)
正常货栈再供应
(从 DC 到货栈)
1
2
3
4
5
6
7
8
0. 0753
0. 0004
0. 2242
0. 0020
0. 0144
0. 0006
0. 0046
0.0087
$
12 天
12
12
12
12
12
12
12
由工厂到 DC 正常再供应时间是 15 天,正常货栈再供应时间是 12 天,�如上所述,紧
急再供应时间将更快,即 ET2,由工厂到货栈的紧急再供应时间是 5 天,为了研究这个比率
在不同的库存水平和由这两种方法所得到的性能上所受到的影响,他们使用了两个不同的
ET1 值,这里 ET1/ET2= 和 ET1/ET2=(如果 DC 有产品在手上,则称 ET1 是由 DC�到
货栈的紧急再供应时间)
首先使用两种方法计算库存水平,然后进行比较。为了确定一个客户在他的需求被满足
之前他必须等待的期望时间,这些库存水平均用(2)进行了估算。
通过计算每一层上的对于各种填满率的库存水平,实现了水平分解。而后,对于货栈和
DC 服务水平的每一种组合,每个客户的期望紧急延迟到货天数进行了计算。对于表 1 中的 8
个项目,在 -—�填满率下使用水平分解方法所计算出的库存水平和使用项目分解方
法在取得近似相同的性能前提下所计算出的库存水平由表 2�给出。这个表使我们在定性地
检测所有这些性能之前,能够定性的比较使用这两种方法所作出的决策。
为了取得一个接近于期望的紧急延迟付货天数/每年。对于这 8 个被采样的项目,水平分
解方法使用了$12, 的投资;与此相应,项目分解方法需用$10, 投资。项目分解
法在 DC 处设置库存,由于不象水平分解方法那样,要在各个货栈设置库存,因此需要库存
较少。例如,项目 3 在货栈处缺货的概率为 ,则在 DC 处用 12 个附加的单位库
表 2 某些库存水平决策——工业举例
项目分解 水平分解
库存水平 库存水平
项目 货栈 DC
每年期望
紧急延迟付货天数 货栈 DC
每年期望
紧急延迟付货天数
1
2
3
4
5
6
7
8
0
0
6
0
0
0
0
0
25
1
57
1
7
1
2
4
48.58
0. 33
1. 00
4.51
10.39
0. 69
8.10
+ 9.47
83.07
1
0
6
0
0
0
0
0
23
0
69
0
6
0
1
3
21.12
2.00
0. 54
11.00
14.08
3.33
16.38
+ 16.39
84.84
存将使的没有一个货栈缺货的概率增加不到 。对那些低货栈服务水平的项目,项目分解
提供更好的 DC 服务。例如,对项目 4 而言,在 DC�处准备一个单位,等价于货栈级将有
的可用概率在它需要时。对项目 1 而言,水平分解性能更好,但是要实现这个目标,要
在 15 个货栈中的每一个上为项目 1 准备一个单位(每个单位成本为$)。项目分解可
将那些资金更有效地花费到其它项目上。
全部这些性能能够在下面给出的两个选优 曲线中很好地看到。在图 2 中绘出了对于两
种不同的方法,每种需求的期望紧急延迟付货天数与总投资的关系曲线,使用的参数为:
ET1=,ET2=,ET1/ET2=。4 条曲线对应于水平分解(单纯型方法),分别对应着货
栈填满率分别为 、、 和 。每条曲线上的 5�个点分别对应着 、、
、 和 的 DC 填满率。图 3 显示了同样水平,假设 ET1= 和 ET2=,即给定
ET1/ET2=(为了保密在两个坐标值被分别盛上了一个常数)。
正象图 2 中所表明的,不同的投资同样的性能。例如,对于每种需求要取得一个 级
的期望紧急延迟付货天数,则最好的水平分解方法在 DC 级使用了一个高填满率,同时在仓
库级用了 的填满率。它需要的存货投资($31,000 对抽样项目)是项目分解存货投资($
15,000 对抽样项目)的两倍多。由于多层系统经常要涉及到上亿美元的投资,所以节约 5 千
万美元的投资是可能的(在新系统被建立以后)。
应管理人员的要求,文献[1]的作者对作出的这些决定,用时间——加权目标(2)进行
了评价。他们也发现,当服务水平约束是以在每一个节点的填满率而测量时,如果水平分解
方法中的填满率约束被一个在每一级上的总的期望时间——加权延迟付货约束所替代,则水
平分解和项目分解模型之间的性能差别实际上与他们所提出的报告是相同的。只所以如此是
因为对于一个同样的(类似的)总投资,对许多项目的库存水平而言是同样的,而无论是填
满率还是期望时间——加权延迟付货天数被用作为业绩约束。
虽然该库存水平正常情况下是同样的,但是使用期望时间加权延迟付货约束,仍使某些
项目的数量有一个不大的正的库存水平增长。大体上来说,当使用这两种不同的约束时在业
绩上的区别是很小的。我们已经注意到,这种大的区别似乎应归属于项目分解方法而不应归
属于在水平分解方法中所使用的不同形式的约束。
水平分解方法
总
的
存
货
投
资
总
的
存
货
投
资
90 项目分解方法
75 有效预报
60 货栈 85%,DC75%
45 货栈 85%,DC50%
30 货栈 75%,DC50%
15 货栈 60%,DC50%
需求的期望的紧急延迟付货天数
图 2 决策曲线—ET1/ET2=
105 水平分解方法
90 项目分解方法
75 有效预报
60
45
30
货栈 75%,DC50%
15 货栈 60%,DC50%
需求的期望的紧急延迟付货天数
图 3 决策曲线—ET1/ET2=
对水平分解方法来说,在图 2 中你可以想象一个“有效的边界”或“包络线”--即对于任意的
投资水平所能够获得最好的业绩的。从图形上来看,在图 2�给出的例子中和切线相交的点
不止一个。有一条曲线在一个较大的业绩范围内使用了低级的货栈服务。该有效边界是非主
导点的集合。通过这些点管理者能够选择出一种存货策略;该有效边界给出了能够用单层方
法获得的选优曲线。在图 2 和图 3 中用虚线表示了一种可能的边界。为了更准确的作出这些
图,应该计算更多的点。实际上在图 2�中,一个 85%的货栈填满率,95%的 DC 填满率可能
是适当的。有效边界的准确形状是不知道的,但是每种需求的范围在 -— 延迟付货天
数内,就图形来看应该是正确的。就业绩范围的大部分而言,要获得同样的业绩水平,水平
分解方法所需的投资接近于项目分解方法的两倍。
图 3�说明了一个更长的 DC 到货栈的紧急再供应时间的影响,由于紧急再供应时间更长,
所以每条曲线均向右移,这正象所希望的那样。(ET2 保持常数。由于 DC�失去了它的某些
调节作用,所以要获得同样的业绩水平,则需要更多的投资)最低的货栈填满率曲线现在与
下一级的曲线相交。也就是说,�货栈填满率没有实现 的货栈服务水平。由于紧急
再供应时间较长,与其建一个高服务存货在 DC 处,倒不如把某些存货放到货栈处。
当 DC 到货栈的紧急再供应时间加长时,�项目分解将有一个更少的改进。(如图 2 所示,
水平分解投资大约是 70%,而不超过 100%)当 ET1/ET2 接近于 1 时,也即由工厂来的紧急
再供应和由 DC 来的一样快,DC 处将设置越来越少的存货。当然,ET1�和 ET2 值的确定是
一个以提供不同速度的服务成本为基础的管理决策。�在减少存货方面,更快的服务的利益
可能是那些决策的一个考虑因素。
五、讨论意见
� �DC�存货的功用不同于货栈存货的功用,�DC�的存货被认为用于填充商品供应线和支
持货栈。它并不是通过在货栈级对相同的项目进行充分准备去实现对各货栈的支持。对于相
对来说高成本、低需求的项目,集中化的安全库存是有效的。单层方法,象“水平分解”将不
用 DC 在这些项目上提供附加的支持;多层方法,例如项目分解法将通过 DC 对这些项目提
供附加的支持。
低需求的项目数量越大,则多层方法将显得越重要。(这特别接近于修理配件存货系统)
存货预算越紧,使用多层方法就显得越重要,借此避免在 DC 和各货栈重复设置大量的安全
库存。然而,多层方法对所有各层的存货预算都表现的更好。由于几乎所有的、大的多层存
货系统都要涉及上千种需求很低的项目和预算限制,因此,系统地利用系统结构优点的方法,
在所有这样的系统中将是适当的。所节约的费用的数量取决于以上所提到的那些因素。象在
我们所研究的修理配件系统中,几乎所有的项目都是低需求的,因此潜在的节约是很大的,
以致于其重要性达到了战略性的高度。
文献[1]的作者还做了以下工作,首先,在一个大的军用存货系统中,时间——加权目标
函数的优势超过了事件发生目标函数,这一点只要检验两个多层模型就可以证明。其中一个
带有时间——加权延迟付货目标,一个带有延迟付货事件计数目标。在这个军用系统和本文
所介绍的工业系统中,仅一个时间——加权目标有意义。在两种情况中“客户”不能去其它别
的地方(定货)并且需求被延迟满足。任何缺货的结果都将使机器停止运转。因此,响应速
度是关键的,而且使用时间——加权目标是必要的。当然在其他情况下,合适 的目标通常是
一个管理决策问题,而且目标必须围绕这个合适的目标建立。
第二,在实际中广泛使用的控制存货的“供应天数”方法,也被检验过,它表现的如此之
坏以致于不能和他们的结果相比。这里值得一提是因为尽管该供应方法的弱点人人皆知,但
仍然被广泛使用。
多次层管理方法要求信息和控制的集中,然而,许多组织有帮助控制的信息系统。多层
方法——项目分解的计算成本类似于单层方法,如水平分解方法。因此,努力去采用多层存
货模型将是非常值得的。