您好,欢迎来到物流天下全国物流信息网! | 广告服务 | 服务项目 | 媒体合作 | 手机端浏览全国客服电话:0533-8634765 | 设为首页 | 加入收藏

数字云物流让您寻求物流新商机!
智慧物流让您的物流之路更畅通!

搜索
首页 >> 物流学苑

物流中顾客多优先级的生产—库存系统的仿真

2006-10-3 9:55:00 来源:物流天下 编辑:56885 关注度:
摘要:... ...

1 引言

  制定科学的库存策略是物流中供应链管理的关键因素之一。目前大多数文献认为需求是确定的1-5对库存的研究使用的是数学分析的方法。但供应链中往往由于不可预知事件的存在导致需求的不确定性,此时需求量和需求到达时间往往必须作为随机变量来考虑。这就需要用随机性系统的有效分析技术——系统仿真的方法来研究。供应链中销售商的库存来自于订货,库存量根据时间上离散的订货到达事件和需求到达事件而改变,因此是离散事件系统;而制造商的库存更为复杂:其库存来自于本企业的生产,因此库存量不仅因需求到达事件而变化,而且库存量还因本企业的生产而随时间呈连续变化,因此生产-库存系统属于复杂的离散-连续系统。为了控制生产-库存的成本,必须维持合理的库存水平,故供应商应根据库存情况来调节生产速率。本文基于系统仿真原理6,为供应链中的制造商建立了需求随机的、生产速率多级可调的生产-库存系统模型,并开发出相应的仿真软件。

  提前期是反映物流中服务质量的重要指标。企业有必要兼顾顾客的要求,通过适当增加库存成本来缩短提前期5。但目前的许多文献忽略了提前期的计算23。此外,顾客的重要性和对缺货的等待时间的要求往往不相同,这就需要制造商区分顾客的优先级来供货,这也是目前多数文献没有考虑到的一个实际问题2-5。本文在仿真模型中,为不同优先级的顾客分别建立相应的缺货队列,从而可对生产-库存系统进行更接近现实的动态仿真。所开发的仿真软件以生产速率发生突变的临界库存量为决策变量,通过仿真求得各种决策的库存费用和提前期,从而选出最优决策。

  2 生产-库存策略

  本文中需求量D和相邻两次需求到达的时间间隔均为随机变量。制造商根据目前的库存水平来决定生产速率P 生产速率分为K级,参见图1:
(1)当库存<Inv0,则P=V0;
(2)当Invi-1<库存<Invi,则P=Vi 式中0<i<K-1;
(3)当库存Inven=InvK-1,则P=0。

  其中Invi是决定生产速率的临界库存,Vi是相应阶段的生产速率,V0>V1>…>VK-1。生产的产品立即入库。需求到达时,如果此时的库存大于需求量,则立即供货;否则库存处于缺货状态即负库存。当有多个顾客的需求未满足时,首先为优先级高的顾客补货。同时,每次需求到达后,检查库存所处的生产阶段,从而调整生产速率。由于改变生产速率需要消耗一定成本,如果原来处于停产状态,为了避免稍有需求就立即恢复生产,故规定当库存降至恢复生产点Repro之下时才恢复生产。

  生产-库存费用包括有保管费Ch、缺货费Cs和生产费 Cz7:
Ch=hI+(t)dt⑴
Cs=πI-(t)dt⑵
Cz=zP(t)dt+c×Chg⑶

  其中h和π分别是每件产品每天的保管费和缺货损失费, I+t、I-t分别是t时刻实际库存量和缺货量,Pt是t时刻生产速率,P(t)dt是仿真时间0T内总生产量(记为SP),z是每件产品的生产成本Chg是改变生产速率的次数,c是每次改变速率的成本。

  “提前期”除了包括运输时间之外,主要由制造商不能及时供货而造成的顾客等待补货时间所引起15。本文中“提前期”是指因缺货引起的顾客等待补货的时间。对应于第i次需求到达事件的提前期Δti是指该次需求到达时间与该需求全部得到满足的时间间隔。显然Δt随缺货量的增加而增大。本文定义两类顾客的平均提前期pre分别为该类顾客需求一件产品的平均等待时间,即:
pre=(Δti / Di)(4)
其中Di为第i个该类顾客的需求量,Δti / Di即为该顾客的提前期,n为该类顾客的总个数。

  顾客分为高优先级和低优先级两类。当库存处于缺货状态时,到达的顾客排到相应的缺货队列的队尾。

  3 仿真策略和仿真模型

  3.1 仿真策略 

  该系统有两个状态变量—库存量Inven和生产速率P。在离散的时间点上发生两类事件—需求到达事件和减速事件。由图1可知:当减速事件发生时P发生瞬间改变。当需求到达事件发生时,Inven发生瞬间变化;如果库存减少至另一生产阶段,则P也发生瞬间变化。两次相邻事件间随着生产Inven发生连续变化。因此该系统是离散-连续系统。但库存的连续性变化是线性的,故本文采取的仿真策略是:根据上次事件发生时刻(记为tlast)的库存Ilast和P来求出当前库存Inven的值: 
Inven=Ilast+P×time-tlast 5

  故该系统可以用离散事件系统仿真的方法进行仿真。

  仿真时钟time(表示仿真时间内的当前值的变量)是随仿真的进程而不断更新的时间推进机构。本文采用下次事件时间推进法作为仿真时钟的推进方法,即每次把仿真时钟推进到下一个事件发生的时刻,在该时刻系统的状态发生改变。再把仿真时钟推进到再下一个事件发生的时刻……,直至符合设定的终止条件时为止。

  未来发生的事件放入事件表用链表实现中,减速事件有四个参数:发生时间、事件类型、事件发生时的库存量和事件发生后的生产速率。需求到达事件亦有四个参数:发生时间、事件类型、需求量和优先级。事件按其发生时间插入事件表,使事件表保持按事件的时间升序排列。

  除了初始事件(即第一次需求到达事件和第一次可能发生的减速事件)是在仿真前确定之外其他事件都是在仿真过程中策划故应在仿真中策划未来事件即确定未来事件的属性并按其发生时间插入事件表中。本文在需求事件发生时策划下次需求事件:通过随机抽样得到需求量D和两次需求的时间间隔Tint下次需求事件发生的时间t即为time+Tint。在需求到达事件和减速事件发生时均要策划减速事件:设目前生产速率为P,库存量所处阶段为k,则下次可能发生的减速事件发生的时间T1为:

  T1=Invk-InvenP +time 6

  如果T1<下次需求到达事件发生的时间(即减速事件发生在下次需求到达事件之前),则将该减速事件插入事件表(减速事件发生时的库存为Invk);否则表示减速事件发生在下次需求到达之后,因需求到达时会导致库存量下降,需要重新确定库存所处阶段,因此减速事件不一定在预期的T1时刻发生,故不将减速事件插入事件表。

  两个优先级的缺货队列(分别用二维数组描述)各有三个参数:需求到达时间tarrive、需求量D、缺货量Sht。
 
  当需求到达时,如果库存从正降为负(即Ilast>0Inven<0),则开始缺货。此后生产出的产品首先为高优先级队列中队首顾客补货。当此顾客缺货全部得到补足时,高优先级队列中顾客前移一位,再为此时的队首顾客补货,……。当高优先级缺货队列中缺货全部得到补足时,开始为低优先级缺货顾客补货。亦从低优先级缺货队列队首开始补货。

  3.2 仿真模型

  离散-连续事件系统难以采用某种规范的形式,一般采用流程图来描述。

  (1)本文仿真程序的主函数的流程为:

  ① 输入总仿真时间长度T,初始库存Io0<Io<InvK-1,可调节的生产速率数目K,各个阶段库存临界点Invi,各阶段生产速率Vi,以及z w,c,s,h,π,高优先级的比率g,需求量和需求到达时间间隔的概率分布参数。

  ② 调用初始化函数,执行:a仿真时钟及各计数器置为0。b库存Inven置为Io,并判断库存所在的库存阶段k以及确定生产速率P=Vk。c调用随机数产生函数,确定第一次需求到达事件(包括发生时间T1、需求量D和优先级Gi),并插入事件表。d计算下次可能发生的减速事件发生时间t=Invk-InvenP。若t<T1,则将减速事件(包括该减速事件的其他两个参数:发生时的库存InvK和减速后的速率P1)插入事件表;否则表示第一个需求事件发生在减速事件之前,故该减速事件不可能发生。

  ③循环执行下列操作:调用时序控制函数,其功能是:移出事件表中的第一个事件,其第二个参数即为该事件的类型,仿真时钟time推进到该事件发生之时;根据事件类型调用相应的事件处理函数。再次调用时序控制函数,…,直到time≥T时,结束循环。

  ④调用报告函数,计算最后一个事件至T之间发生的各项生产-库存费用的日均值,并计算两类顾客的提前期pre1=sum1/n1,pre2=sum2n2(其中sum1、sum2分别为两类顾客的总提前期,n1、n2分别为两类顾客的需求总次数)。

  (2)更新函数:供事件处理函数调用,其功能是:根据Inven和Ilast变更下列统计计数器的值:I+(t)曲线下的面积AP(即I+(t)dt)、I-(t)下的面积AM(即I-(t)dt)和总生产量SP。SP变更为:
SP=SP+Inven-Ilast (7)
设△AP、△AM分别为AP和AM在tlast到time之间增量(即I+(t)dt)和I-(t)dt))则:
AM=AM+△AM 8
AP=AP+△AP 9
分以下三种情况来计算:
① 如果Ilast>0且Inven≥0,此时: 
△AM=0 10
△AP=0.5Inven+Ilasttime-tlast 11
△AP即图1中阴影部分面积。
②如果Ilast<0且Inven≥0(如图2所示),因生产速率P即tgθ,而△AM和△AP分别为图中的两个三角形的面积,故可得:
△AM=Ilast2(2×P) 12
△AP=Inven2(2×P) 13
③如果Ilast<0,且Inven<0,则:
△AM=0.5|Inven|+|Ilast|time-tlast 14
△AP=0 15
(3)事件处理函数:对应于每一离散事件,其功能是改变状态变量的值,策划未来事件,变更计数器的值。本文的事件处理函数为:

  ① 需求到达事件函数。其流程见图3。需要说明的是:如果Ilast<0,说明上次事件发生时,有顾客缺货,因此要调用计算提前期函数。如果Inven<D,即目前库存不足以为此次需求供货,此时发生缺货,故需要计算缺货量Sht,即此次需求没有得到满足的量。如P=0(表示处于停产阶段)且Inven>Repro(表示库存减少后仍处于恢复生产点Repro之上),故系统仍处于停产阶段,生产速率不改变。

  ② 减速事件函数。其流程为:a如果Ilast<0,调用计算提前期函数。b按式(4)计算此时库存Inven;(c)调用更新函数,根据该事件的第四个属性,确定此时生产速率P,并累计生产速率改变次数。(d)策划可能发生的减速事件(见3.1节)。(e)置tlast=time,Ilast=Inven。 
(4)计算提前期函数。每当需求到达事件或减速事件发生时,如果上次库存Ilast<0(即有顾客等待补货),则调用计算提前期函数。

  本文对缺货顾客的补货策略是:生产出的产品立即为缺货顾客补货,高优先级顾客优先得到补足。
该函数的流程为:
①置开始为队首顾客补货的时刻Ti=tlast。
②如果高优先级缺货队列非空且Ti<time(表明在当前时刻time之前已到了开始为队首顾客补货的时刻Ti),则执行下列循环:a计算队首顾客的缺货得到补足的时刻Td=Ti+ShtP,(Sht为缺货量,ShtP即该顾客缺货全部得到补足所需要的时间)。b如果Td≤time,表示此时该顾客缺货已全部得到补足,则取出队首顾客,该队列中其他顾客依次前移一位。置此时队首顾客开始补货的时间Ti=Td,并累加高优先级的总提前期:
sum1=sum1+Td-tarriveD (16)
其中 D为此次补货顾客的需求量。否则(即如果Td>time),表示此时该顾客的缺货尚未全部得到补足,而在Ti至time时间内生产量为time-Ti×P,因此此时队首顾客的缺货量Sht降至Sht-time-Ti×P,同时置Ti=time。
③按相同方法处理低优先级缺货队列。
(5) 随机数产生函数
①抽样产生顾客优先级:因为g是高优先级顾客的概率,故当r<g时(r为0-1区间内均匀分布的随机数),则为高优先级;否则为低优先级。
②本文设需求到达的时间间隔服从平均值为rmean的指数分布,其分布函数为:
F(x)=1-e-17
根据逆变换法产生连续分布的随机变量的方法6,解方程 x=F-1(r),可得到服从指数分布的随机数:
x=-rmean×ln(1-r)18
因为1-r也是0-1区间内均匀分布的随机数,故上式(18)也可以简化为:
X=-rmean×ln(r)19
③本文设需求量是离散型均匀分布随机变量,其密度函数为:
P(xi)=1N (i=1,2,…,N)20
其分布函数为:
F(xi)=iN(21)
逆变换法产生离散随机变量的方法是计算满足下式的xk值xk即为所求的随机数:
F(xk-1)<r≤F(xk)(22)
把21式代入22式,解不等式得:
Nr≤k<Nr+123
即:K=Nr+1(24)
其中 表示舍去小数取整数。因此所求随机变量:
xk=xNr+125

  4 仿真结果

  本仿真程序用面向对象的软件开发工具vc 6.0编制。设企业各阶段的生产速率为已知,以临界库存(即Inv0Inv1 ReproInv2)为决策变量(即表1中第一列“策略”中的4个数字),各项库存费用和提前期为目标变量,取T=2 000;k=3;Io=5;h=1;π=4;z=10;c=20;g=0.5;产生需求量的概率分布参数为:rmean=2,N=5,x1=5 x2=10 x3=15 x4=20,x5=25; 各阶段的生产速率为:v0=2,v1=4,v2=7。以输入下列四组不同的生产-库存策略为例,所得仿真结果见表1。

  从表1中可以看出,策略4的费用最少,而策略1的提前期最小。这就需要企业根据顾客对提前期的要求,来决定最佳策略,如果高优先级顾客要求平均提前期不超过0.033(即当一天内需求量小于30时,平均而言当天可以得到满足),则只有策略1和策略3符合要求,明显策略3总费用少,因此策略3为四组中最好的策略。

  5 结束语

  本文基于系统仿真原理,建立了生产速率可调、顾客有不同优先级的生产-库存系统的仿真模型,并开发了相应的仿真程序,可得到库存总费用和两类优先级顾客的提前期,为制造商作出科学的生产和库存决策提供了有效的工具。在实际应用中,可根据需求量和需求到达时间间隔的观察数据,得到这些随机变量的概率分布,从而编写相应的随机数产生子函数,来代替本文中的指数分布和离散均匀分布的随机数产生子函数。

点评此文章 / 写评论得积分!+ 我要点评
  • 暂无评论 + 登录后点评