6.8.5.3利特尔法则
内容提要:利特尔法则为:交货提前期=在制品数量×节拍时间。它是一个有关提前期与在制品关系的简单数学公式,这一法则为精益生产的改善方向指明了道路。一是可以通过减少在制品数量来减少交货提前期,二是通过减少节拍时间来减少交货提前期。利特尔法则的本质和物理学的路程=速度×时间的本质相同,它是物理学的匀速运动,类似于匀速运动的火车。
利特尔法则,英文名:Little's law(Little's result, theorem, lemma
or formula),在一个稳定的系统中,长时间观察到的平均顾客数量L,等于长时间观察到的有效到达速率λ与平均每个顾客在系统中花费的时间之乘积,即
L = λW
利特尔法则由麻省理工大学斯隆商学院(MIT Sloan School of Management)的教授John Little﹐于1961年所提出与证明。
利特尔法则也叫做排队理论,如果顾客到达的速率λ为2个/分,每个顾客从等待到从系统中走出的平均时间是4分钟,那么排队人数L=λW=2个/分×4分钟=8个,这个排队程度也可以通过时间表示,即W=L/λ=8个/(2个/分)=4分(如图6-142所示)。
利特尔法则也可以表述为:产出时间(Lead Time)=存货数量×生产节拍, 也可写为:TH(生产效率)= WIP(存货数量)/ CT(周期时间)。任一项目从完工日期算起倒推到开始日期这段生产周期,称为提前期。存货数量是指原材料和在制品的数量。生产节拍是指每生产一个产品所要的时间,流水线上一般是等于瓶颈时间。
利特尔法则是一个有关提前期与在制品关系的简单数学公式,这一法则为精益生产的改善方向指明了道路。如何有效地缩短生产周期呢?利特尔法则已经很明显地指出了方向。一个方向是提高产能,从而降低生产节拍。另一个方向就是压缩存货数量。然而,提高往往意味着增加很大的投入。另外,生产能力的提升虽然可以缩短生产周期,但是,生产能力的提升总有个限度,我们无法容忍生产能力远远超过市场的需求。一般来说,每个公司在一定时期内的生产能力是大致不变的,而从长期来看,各公司也会力图使自己公司的产能与市场需求相吻合。因此,最有效地缩短生产周期的方法就是压缩在制品数量。利特尔法则不仅适用于整个系统,而且也适用于系统的任何一部分。
交货期=存货数量/生产节拍
任一项目从完工日期算起倒推到开始日期这段生产周期,称为交货期。存货数量是指原材料和在制品的数量。生产节拍是指每生产一个产品所要的时间,流水线上一般是等于瓶颈时间。客户的容忍时间需要满足否则就无法获得订单,所以交货期要小于等于客户的需求时间。
利特尔法则和我们推导的工序总用时有什么关系呢?
工序总用时=总数×瓶颈用时+批量×非瓶颈用时,而利特尔法则可以写成交货期=库存数量×瓶颈用时,那么二者有什么关系呢?
一个稳定的系统,它的产出速度就是瓶颈的产出速度,稳定的意思是产品一直以瓶颈速度进行产出。我们推导的工序总用时公式中,是从头开始进行计算的,此时系统并没有产出,而当第一件产品从系统产出时,那么这个系统才符合利特尔要求的“稳定”,也就是说当从第一件产品从系统产出开始计算时,那么批量×非瓶颈这段时间已经过去了,此时开始计算的工序总用时=总数×瓶颈用时,和利特尔法则是相同的(如图6-143所示)。
工序总用时公式和利特尔法则记录时间的起点不同,工序总用时公式是从开始生产第一个产品开始计时,此时任何工序没有库存,而利特尔法则是从完成第一个产品进行计时,或者更准确的说是开始稳定输出开始计时的。如果系统是稳定运行的,那么产出速度就是4分钟/个,此时在时刻12分钟处,相当于是上一个产品刚完成,然后有4个在制品。
利特尔法则的本质
利特尔法则的本质和物理学中路程=速度×时间(s=vt)的本质相同,路程s对应于L,速率λ对应速度v,花费的时间W对应时间t。利特尔法则要求的稳定系统是速率λ恒定,相当于物理学中的匀速运动。
利特尔法则为:在一个稳定的系统中,长时间观察到的平均顾客数量L,等于长时间观察到的有效到达速率λ与平均每个顾客在系统中花费的时间之乘积,即L = λW。对于一个系统来说,恒定的到达速率,并且每个产品在系统花费的平均时间相同,那么相当于每个产品经过相同的时间延迟,便可以从系统中流出,也就是说系统的产出速度和到达速度相同,所以利特尔法则在使用时,很多时候所说的速度是系统产出的速度。利特尔法则论述的是一个排队理论,以火车经过A点来进行类比。火车的长度为s,相当于利特尔法则中排队长度L;火车的速度v相当于利特尔法则中的速率λ,每个顾客在系统中花费的时间W相当于每节车厢在系统中花费的时间t,就是从进入系统到离开系统的时间,这其中包括等待时间。在A点进行观测,火车从车头进入A点到车尾离开A点的时间为t,那么火车长度s可以通过s=vt进行计算(如图6-144所示)。
利特尔法则可以表述为:交货期=存货数量×瓶颈时间,存货数量是利特尔法则中排队的产品,相当于火车的节数,瓶颈时间相当于每节车厢从此节车厢从头到尾经过A点的时间。瓶颈时间可以转化为瓶颈的产出速度,如瓶颈时间是5分钟,那么瓶颈的速度就是1/5=0.2个/分。交货期=存货数量×瓶颈时间也可以改为交货期=存货数量/瓶颈速度。减少存货数量可以缩短交货期,减少火车节数,可以缩短火车经过A点的时间;提高瓶颈速度,可以缩短交货期,提高火车速度,可以减少整个火车经过A点的时间。
让我们来对比一下利特尔法则和路程公式之间的相似性。利特尔法则L=λW和路程公式s=vt都是A=BC这种形式,并且都有速度这个因素B和时间这个因素C。L的单位是个,s的单位是米。如果利特尔法则中的每个个体的长度为d,那么将利特尔法则左右同时乘以d,得到Ld=λWd,左边是数量个乘以单个长度得到:Ld=个×米/个=米,得到总长度s,单位为米;右边λd=个/分×米/个=米/分=v;而时间W和时间t都是时间,单位为分,只是符号不同。所以Ld=λWd→s=vt。如果将路程公式左右同时除以d,也可以得到利特尔法则(如表6-12所示)。
利特尔法则描述的是一个稳定的系统,即速率λ是不变的,相当于物理学中匀速运动。知道了排队数量L可以得到总时间W,而知道了总时间W,也可以得到排队数量,通过速率来做空间和时间之间的切换。用来描述排队长度的可以是数量,也可以是时间,如果系统的产出速度是3人/小时,而我排在队伍的最后,是排在第9位,那么用数量来衡量就是排队长度是9人;如果用时间衡量,那么我需要3个小时的排队时间。
问题1:利特尔法则如何使用?
根据利特尔法则,交货期=存货数量×瓶颈时间。存货数量包括在制品和原材料的数量。如果客户甲需要100个A产品,而此时产线正好在生产A产品,瓶颈时间是10分钟,那么100个A产品的交货期就是100×10=1000分钟。
如果此时恰好客户乙需要50个B产品,也是使用这条产线进行生产,瓶颈时间是10分钟,那么就需要将客户甲的生产完再生产乙的产品,交货期就是(100+50)×10=1500分钟。
问题2:如何使用利特尔法则确定极限在制品?
库存是负债,所以库存应该越小越好;但是库存可以应对扰动,以防止扰动影响系统的稳定运行,所以需要有少许库存。利特尔法则可以给出库存的最小值,小于这个值,系统便不能稳定输出。
根据利特尔法则存货数量=交货期/瓶颈时间,这个交货期可以是一个产品从进入生产线到流出生产线所耗费的最小时间。如果一条生产线有4道工序,每道工序所需时间分别是3分钟,3分钟,5分钟和4分钟,那么这条产线的时间长度是15分钟,瓶颈时间是5分钟。在制品的极小值是15/5=3个。如果在制品的数量小于3个,那么系统不可能以5分钟每个的稳定速度输出。因为如果是2个在制品,10分之后就没有材料可以生产了,就不可能以5分钟每个的速度输出了。利特尔法则给出了库存的极限最小值,但现实中需要考虑扰动对系统的影响,会有少许库存。精益生产,丰田生产方式,流水线生产和TOC制约理论都是先给定一个缓冲值,然后不断减少这个缓冲来寻找限制流动的因素,消除流动因素后,继续缩减缓冲,寻找下一个限制因素。
问题3:何时使用工序总用时公式?
在一个稳定的系统中,交货期只受到瓶颈用时的影响,可以使用利特尔法则;在一个不稳定的系统中,交货期受瓶颈用时和非瓶颈用时影响,需要使用工序总用时公式。
利特尔法则要求系统是稳定输出的,但是现实中会有着急的订单插入原计划中,导致系统的不稳定。如果客户甲需要100个A产品,现在这条产线正在加工这100个A产品,客户甲要求的交货期比较宽松。而此时客户乙需要50个B产出,B的生产流程和A相同,也需要使用这条产线进行生产,并且交货期比较紧,如果等甲的100个产品生产完再去生产乙的产品,就不能满足客户要求的交货期,所以最好的方法就是先生产乙需要的产品B,生产完之后再生产甲需要的产品。此时如果使用利特尔法则就错了,因为切换时系统不是稳定输出的。此时可以使用工序总用时对交期进行计算。
最简单的逻辑是停止生产A产品,转而生产B产品。生产B产品所需时间为:工序总用时=总数×瓶颈用时+批量×非瓶颈用时。为了最大化利用产能,在B产品没有达到这道工序时,这道工序还可以继续生产A产品,B产品到达后立刻生产B产品。
问题4:为什么要减少产线生产总时间?
有甲和乙两个公司,都是生产A产品,两家公司的产出速度都是4分钟每件,但是乙公司从投料到产出最小时间比甲公司长,两家公司的产线有什么区别吗?
甲公司从投料到产出的最小流程时间是10分钟,乙公司是15分钟,从产出的角度看,都是4分钟一件A产品。如果一个客户需要A产品,两家公司的交货期是相同的(如图6-145所示)。
通过利特尔法则:存货数量=交货期/瓶颈时间,可以得到甲公司和乙公司在制品的最小极限值,甲公司在制品的最小值比乙公司小,理论上甲公司可以比乙公司需要更少的在制品。库存是成本,这样甲公司的库存成本和资金周转率比乙公司好。
而在系统稳定时,即客户需要A产品时,两个公司的交货期是相同的。但是如果客户需要的不是A产品,即产线需要切换去生产其他产品,那么通过工序总用时公式可知:工序总用时=总数×瓶颈用时+批量×非瓶颈用时,甲公司比乙公司需要的时间更少,即在客户需要多样化的产品时,甲公司的切换工序速度更快,竞争力更强。
问题5:利特尔法如何应用到其他环境?
这里摘录网上几个例子进行分析。
例一:假定我们所开发的并发服务器,并发的访问速率是:1000客户/分钟,每个客户在该服务器上将花费平均0.5分钟,根据利特尔规则,在任何时刻,服务器将承担1000×0.5=500个客户量的业务处理。假定过了一段时间,由于客户群的增大,并发的访问速率提升为2000客户/分钟。在这样的情况下,我们该如何改进我们系统的性能?
按照利特尔法则,排队长度L=速率λ×时间W,在这个例子中排队长度L=1000个/分×0.5分=500个。那么这个系统的容量是500个,如何提升系统的处理性能呢?在速率λ变化的前提下,可以只调整L来平衡等式,或者只调整W来平衡等式,或者同时调整L和W来平衡等式。一个就是提高系统容量,一个就是提高处理速度。
第一钟是提高服务器并发处理的业务量L,即提高到L=λW=2000个/分×0.5分=1000个。
第二种是减少服务器平均处理客户请求的时间,即减少到W=L/λ=500个/(2000个/分)= 0.25分。
第三种是同时调整L和W,既提高L又减低W,即λ=L/W=2000个/分=800个/(0.4分)。
例二:假设你排队参观某个风景点,该风景点固定的容纳人数是:60人。每个人在该风景点停留的平均时间是:3分钟。假设在你的前面还排有20个人,问:你估计你大概等多少时间才能进入该风景点。
按照利特尔法则,时间W=排队长度L/速率λ=排队长度L×每个人花费时间=20×3=60分钟。
例三:工序1前有2个在制品,工序2前有2个在制品,工序1的速度是4分/件,工序2是2分/件,加工完这4个在制品需要多长时间(如图6-146所示)?
错误解法一:例子中共有4个在制品,所以排队长度是4个,工序2的速度是瓶颈,瓶颈速度决定系统产出速度,所以每个的瓶颈时间是4分钟,按照利特尔法则,时间W=排队长度L×瓶颈时间=4个×4分钟/个=16分钟。
错误解法二:例子中共有4个在制品,但是瓶颈工序2前的在制品只有2个,所以排队长度是2个,每个在制品的瓶颈时间是4分钟,按照利特尔法则,时间W=排队长度L×瓶颈时间=2个×4分钟/个=8分钟。
正确解法:我们实际演示一下工序如何生存。4分钟之后工序2生存完缓冲2的2个在制品,工序1生产完缓冲1的一个在制品,并进入缓冲2。在过4分钟,工序2生产完从工序1送来的在制品,工序1完成第二个在制品并送入缓冲2。在过2分钟,工序2加工完工序1送来的第2件在制品所以总用时为4+4+2=10分钟。共需耗时10分钟而不是8分钟或者16分钟,那么使用利特尔法则为什么计算错误了呢?
因为利特尔法则要求的是一个稳定的系统,即系统的产出速度固定。而在这个例子中如果系统的稳定的,而工序1是瓶颈,那么缓冲2不应该存在2个在制品,因为工序2的速度快,不会留下2个缓冲。
稳定情况下,缓冲2是一个在制品,此时使用利特尔法则是否正确呢(如图6-147所示)?
如果按照利特尔法则计算的话,需要12分钟或者8分钟,但是实际需要10分钟,为什么此时符合了稳定的要求,计算的结果还是不对呢?
因为利特尔法则考察的时刻是从有产品输出开始的,所以就算要么延后2分钟,等待工序2有第一个产品输出,或者提前两分钟,从工序2上一个产品输出时进行计时。