mrp物料需求计划计算方法(工厂物理学-013MRP物料需求计划)

不像其它很多方法和技巧,物料需求计划有着"实际而有效的作用",而这正是它的最可贵之处。

——约瑟芬·奥利基,1974

物料需求计划——MRP

到20世纪60年代早期,许多公司都开始使用数字式计算机来进行日常的会计活动。考虑到制定计划和进行库存控制的复杂性和单调性,尽力把计算机也延伸到这些功能活动中就是很自然的事情了。这个领域的早期试验者之一就是IBM,在那里约瑟芬·奥利基和其它人开发了物料需求计划(material requirements planningMRP)。尽管早期发展很慢,但是当1972年美国生产与库存控制协会(APICS)发起了"MRP运动"来推动MRP的使用时,MRP开始取得巨大的发展。从那时候开始,在美国MRP就开始变成基本的生产控制范式。到1989年,MRP软件以及运行支持的销售额就超过了10亿美元。

因为它是这么的普遍,使得训练有素的制造经理都必须精通一些MRP是怎么运行的。因此,在这一章里面,我们会描述MRP范式和接踵而至的制造资源计划(manufacturing resources planningMRPII)范式,以及它的现代版本,企业资源计划(enterprise resources planningERP)。同时我们将突出MRP所代表的基本思想和它所留下的一些没有解决的困难。

mrp物料需求计划计算方法(工厂物理学-013MRP物料需求计划)(1)

1.1MRP的主要思想

就像我们在第二章里提到过的,在MRP之前,大多数生产控制系统都是基于一些统计性的再订货点变量。从本质上讲,这意味着任何零件、成品、或部件的生产都是由它们低于某个特定水平的库存状态触发的。奥利基和其它一些MRP的开创者认识到,相对于部件而言,这种方法更加适合成品。理由是,对于成品的需求是来源是系统外部的,因此它受不确定性的影响。然而,由于部件是用于生产成品的,对于部件的需求是成品的需求的函数,因而,对于任何给定的最终装配计划,部件的需求都是已知的。(109|110)像统计再订货点法中所做的那样,把这两种需求同等处理,会忽略部件需求对成品需求的依赖性,并因此会导致生产调度中的低效率。

任何产生于系统外部的需求都称为独立需求(independent demand),它包括所有对成品的需求和可能的一些对于部件的需求(如它们被当成备件出售时)。相关需求(Dependent demand)是对于组成独立需求产品的部件的需求。运用这些术语,MRP的主要视角可以阐述如下:

相关需求不同于独立需求。对用于满足相关需求的生产应该制定排程,以便能明确地识别出它与用于满足独立需求的生产的联系。就像我们将要看到的一样,MRP的基本机理正是做这些事情。通过向后追溯,从一个独立需求物件的生产排程推出一个相关需求物件的生产排程,MRP把统计再订货点法中所缺失的独立与相关需求之间的联系加入到物料需求计划中了。由于MRP基于需求对那些应该首先开始生产(推入)的物件计算出生产排程,它因此也被称为推式(push)系统。这与拉式(pull)系统相反,譬如丰田的看板(kanban)系统,当库存消耗时它才授权生产。我们在第四章中会更加详细地讲解看板,并在第十章中提供推式系统与拉式系统之间更加全面的对比。

1.2MRP概览

MRP的基本功能正如它的名字所揭示的一样通过对物料的需求进行规划,MRP可以对来自工厂内外的订单进行协调。外部的订单被称为采购订单(purchase orders),而来自内部的订单则被称为加工任务(job)。MRP的主要焦点就在于对加工任务和采购订单进行调度,以满足由外部需求产生的物料需求。

MRP处理生产控制的两个基本维度是数量和时间。这个系统必须确定从用于出售的成品到用于制造成品的部件,到作为物料购买进来的投入品,这些所有类型物件的合适的生产数量,它也必须确定满足订单期限的生产时间(即加工任务开始时间)。

尽管有一些系统使用的是连续性时间,而在许多MRP系统中,时间被分成许多时段(buckets),一段就是一个用于把时间和需求分隔成不连续块的间隔。在这个时间间隔(时段)过程中所积累的需求都被看成是该时段开始时到达。因此,如果一个时段的长度是一个星期,而在第三个星期期间,星期一的需求是200件,星期二是250件,星期三是100件,星期四是50件,星期五是50件,那么第三个时段内的需求就是950件,并且都在星期一早上到达。在过去数据处理比较麻烦的时候,典型的时段大小都是一个星期或更长一点。现在,大多数现代MRP系统都使用日时段,尽管仍然还有很多系统使用星期作为时段。

MRP不仅处理成品,或者叫最终物件(end items),而且还处理成品的组成零件,我们称之为低层物件(lower-level items)。物料清单(bill of materialBOM)描述了最终物件与低层物件之间的关系,如图一所示。对最终物件的需求引发出对于对低层物件的相关需求。就像我们在上面提到的一样,所有对于最终物件的需求都是独立需求,而大多数对于低层物件的需求都是相关需求。然而,对于以备件、研究用零件和质量测试等形式存在的低层物件的需求也可以是独立需求。(110|111)

mrp物料需求计划计算方法(工厂物理学-013MRP物料需求计划)(2)

图一 两份物料清单

为了方便MRP的处理过程,物料清单中的每个物件都被赋予一个低层码(low-level codeLLC)。这个代码显示了某个特定零件在物料清单中的最低层数。最终产品就是那些不是任何其它物件组成部分的物件)的低层码是零。一个只被最终产品使用的组件的低层码是一。一个只为组件使用的零件的低层码是二,依此类推。例如,在图一中,零件A和B都是低层码为零的最终产品。对于这些零件的需求都是独立需求。初看上去,似乎零件100的低层码应该是一,因为它直接为A使用。然而,因为它同时也是零件500(它的低层码是1)的一个组成部分,它的低层码被指定为二。同样地,由于零件300既要用于低层码为零的零件B的制造,又要用于低层码为二的零件100的制造,它的低层码为三。

大多数商业MRP软件包都包括一个BOM处理器(BOM processor),它主要是用于维护物料清单,并且自动指定低层码。物料清单处理器的其它功能包括产生"导入(goes into)"列表(在零件被用到的地方)和物料清单打印。

除了物料清单的信息外,MRP还需要与来自主生产计划(master production scheduleMPS)的独立需求有关的信息。主生产计划包含毛需求(gross requirements),称为现有(on-hand)库存量的当前库存状态,已及称为计划接收量(scheduled receipts)的正在执行中的订单(购买而来的和正在制造中的)的状态。基本的MRP步骤很简单。我们将逐一详细讨论其中的每一步。但是,简单地说,对物料清单的每一级,从最终产品开始,MRP为每个零件主要是做下述工作:

1.净值计算(Netting:通过从毛需求中减去持有库存和所有的计划接收量算得净需求(net requirements)。0层的物件的毛需求来自于主生产计划,而对于那些低一层级的物件的毛需求则来自于之前MRP运算的结果。

2.批量确定(Lot sizing):把净需求分成合适的批量(lot sizes)而形成加工任务。

3.时间分段(Time phasing):用提前期(lead times)来预估加工任务的到期时间,以决定开始时间。

4.BOM展开(BOM explosion):通过使用开始时间,批量和物料清单形成下一层级所需要部件的毛需求。

5.迭代(Iterate):重做这些步骤,一直到所有的层级都处理完。(111|112)

当物料清单中的每个零件被处理完后,对下面的层级的需求也就形成了。在开始下一层级之前,MRP会把这一层的所有零件都处理完。这样做会在一个低层零件被处理前形成它的毛需求。我们会在3.1.4节中详细描述其中的每一步。MRP系统的基本输出是计划投入量(planned order releases)、变更通知(change notice)和例外报告(exception notice)。这些我们将会在1.3节中进行定义。图二示意了所有的过程。

mrp物料需求计划计算方法(工厂物理学-013MRP物料需求计划)(3)

图二 图解MRP

现在我们将用一个简单的例子来说明。假如对零件A的需求是由下面的主生产计划中的毛需求给定的:

mrp物料需求计划计算方法(工厂物理学-013MRP物料需求计划)(4)

进一步假设没有计划接收量(这些假设其实有一点欺骗性,我们在后面会讨论它们),而且持有库存量为30个单位。我们还假设零件A的批量为75个单位,并且提前期为1个星期。MRP的处理过程如下:

净值计算。手头上的30个单位将可以满足第一个星期的需求,并且剩余15个。剩余的15个不能全部满足第二个星期的需求,而留下5个单位的空缺。因此,净需求如下所示:(112|113)

mrp物料需求计划计算方法(工厂物理学-013MRP物料需求计划)(5)

批量确定。首次未被满足的需求发生在第二个星期。因此,第1个计划产出量(plannedorderreceipt)为第二个星期75(批量)个单位。由于第二个星期只需求5个单位,就会有75个单位一直持有到第三个星期,而这时的需求为50。这样对第四个星期就只剩下20个,而这时的需求为10。当满足星期四的需求之后,剩余的对于满足第五个星期30个单位的需求就是不够的。因此,在第五个星期的开头,我们需要另外一批75个单位的到达。减去30个单位后,我们就有55个单位来应付第六个星期,而这时的需求是30个,这样,到第七个星期还剩余25个单位。而这25个单位对于满足30个单位的需求是不够的,所以在第七个星期我们需要另外一批75个单位的到达。这个批量能够满足第七个星期的剩余需求量(5个)和第八个星期的30个单位的需求。在下面的表格里,我们将表示出上述计算的结果:

mrp物料需求计划计算方法(工厂物理学-013MRP物料需求计划)(6)

时间分段。为了确定什么时候启动生产加工任务(如果是在内部制造)或采购订单(若是从其它地方采购),我们只需要从计划产出量的时间中简单地减去提前期,就可以得到计划投入量。使用一个星期的计划提前期,结果如下所示:(113|114)

mrp物料需求计划计算方法(工厂物理学-013MRP物料需求计划)(7)

BOM展开。一旦我们已经决定了零件A的开始时间和数量,产生出对它所有的部件的需求就是一件非常简单的事情了。例如,每单位的零件A需要两个单位的零件100。对用于生产零件的零件100的毛需求就可以通过简单地加倍零件A的计划投入量来进行计算。由零件A产生的零件100的毛需求必须与其它零件(例如零件500)产生的零件100的毛需求相加,以便得到零件100的总毛需求。只要我们按照零件的低层码的顺序(从低到高)进行处理,我们就将在处理每个零件之前得到它的累计毛需求。

1.3MRP的输入和输出

MRP的基本输入包括对最终物件的需求预测,相关的物料清单,现在的库存状况,以及明确生产政策所需要的数据。这些数据来源于三个途径:(1)品目大纲文件、(2)主生产计划和(3)库存状态文件。

主生产计划。主生产计划是MRP系统的需求来源。它给出了有独立需求的所有零件的数量和到期时间方面的数据。这其中包括对所有最终产品的需求以及对较低层零件的外部需求(例如对备件的需求)。

主生产计划中至少包含:需求数量,每一个采购订单的到期时间。MRP使用这些信息而取得启动MRP程序所需要的毛需求。MPS使用零件代号与包含其它处理信息的品目大纲进行联系。

品目大纲文件。品目大纲通过零件代号组织起来,并且至少包括零件的描述、物料清单信息、批量信息以及计划提前期。

一个零件的物料清单文件只列示出与制造这个零件直接相关的部件及其相应数量。BOM处理器使用这些信息可以显示任何物件的完整BOM,尽管BOM处理中不需要如此详细的信息。

通过使用低层码,MRP可以保证在处理一个零件之前可以把它的需求收集完整。为了证明这样做的必要性,我们可以试想不这样做会发生什么。在我们的例子里,MRP可能会在处理完零件A和B之后,在处理零件500之前就先处理零件100。如果是这样,对零件100的需要就会缺少由零件500所产生的那部分需求。如果我们回头增加一个零件100的生产计划,那么结果可能就会有太多的零件100的小单生产加工任务,而这若干个小生产加工任务很可能有相同的到期日。因而就很可能无法通过共享某些关键设一次准备来获得规模经济了。使用低层码可以防止这种事情的发生。

实施MRP生产需要其它两方面的信息:批量规则(Lot-sizing ruleLSR)和计划提前期(planning lead time)。批量规则确定加工批量,而合适的加工批量可以平衡降低库存(需要小批量)和增加能力(需要大批量来避免频繁的生产准备)之间的矛盾。如第二章所述,EOQ和W-W都是可能可以作为批量规则。我们将稍后在本章中讨论它们以及其它的规则。

计划提前期是用来决定加工的开始时间。在MRP中,这一程序是很简单的:开始时间等于到期日减去计划提前期。因此,如果提前期总是等于计划提前期,MRP的实施将使工件在需要时恰好准备好(即JIT)。(114|115)可是,实际提前期是不断变化的而且从来不可能提前知道。因此,在MRP系统中决定使用什么样的提前期将是一个非常难的问题,这一点我们将在本章和第五章中进一步讨论。

持有库存。持有库存数据的储存是按照零件编码编排的,包含的利息有零件存储位置和持有数量。持有库存包括原材料库存,半成品库存(即从原材料开始已经被处理过并储存在库的库存),以及装配库存。持有库存也可能包含关于预备为以后生产预留数量的分配信息。

计划接收量。该文件包括下达的采购订单(purchase orders)和加工任务(jobs)。计划接收量(scheduled receiptSR)是已经下达的计划投入量(planned order release)。对采购的部件来说,要做的就是生成采购订单并将其送达供应商。对生产的零部件来说,这需要收集所有必须的工艺路线和生产信息,给所需生产的工件配备必须的库存,并将工令送达工厂开始生产。一旦采购订单或者工令送达,计划投入量就从数据库中删除,计划接收量也就随之产生。因此计划接收量就是之前的MRP运行之后产生的、正在生产或者还未从供应商那里收到的零件和订单。还未到达库存地点的零件被认为是在制品(work in process)的一部分。当零件生产完成(即已经完成工艺路线而转为库存),计划接收量就从数据库中删除,并且持有库存在此前的基础上加上已经完成的部分。向供应商下达采购单后的处理程序和上述基本相同。

每一张计划接收量单据至少包括如下信息:识别码(采购订单号码或者工令号)、到期日、下达日、单位、质量要求和现有数量,当然也可能包含其它信息如价格或成本、工艺路线数据、供应商数据、原材量要求、特殊搬运事项、预期最终数量以及预期完成日期等等。

持有库存信息和计划接收量单据对决定净需求是非常重要的,这一程序通常称为"需求满足分析(coverage analysis)",这涉及到确定持有库存、采购订单和生产工令可以满足多少需求。

如果需求一直不变,并且工件都按时完成,所有现存的计划接收量就会与最终的需求完全对应。遗憾的是,需求是变化的,工件也不总是会按时完成,因此计划接收量有时需要调整,此类调整在变更通知(change notices)中说明,我们将在下面进行讲解。

MRP输出。MRP系统的输出包括计划投入量、变更通知和例外报告。计划投入量最终转化成工厂生产的工件。

计划投入量planned order releasePOR)至少包括三方面的信息:(1)料号(可能只有一个)、(2)需要的数量、(3)加工任务的交期。工件和计划投入量不必而且通常也不会与顾客订单一致。实际上,在需要很多普通零件的情况下,计划投入量通常会包括许多不同的生产线,更不用说顾客了。尽管如此,如果所有的生产都按时完成,那么顾客订单也会在相应时间完成。这在MRP生产中是自动完成的,我们将在以后详细讲述。(115|116)

变更通知表示对现有工作的改动,如到期日或优先序的变化。将到期日前移称为"提前(expediting)",而移后则称为"延期(deferring)"。

在大型管理信息系统中,"例外报告(exception reports)"被用来通知使用者期望与现状之间存在差异。这类报告可以用来表明工件数量差异、库存差异以及紧急加工等。


如有需要,关注我们并转发,发私信“工厂物理学”,提供电子书下载地址。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页