第6章 物料需求计划(MRP)
物料需求计划(Material Requirements Planning,MRP),与主生产计划(MPS)一样处于ERP系统计划层次的计划层,由MPS驱动MRP的运行。本章将对MRP的原理进行详细阐述。
6.1 定义与作用
物料需求计划是针对主生产计划的各个项目所需的全部制造件和全部采购件的网络支持计划和时间进度计划。MPS的对象是最终产品,但产品的结构是多层次的,一个产品可能包含成百上千种需制造的零配件与外购材料,而且所有物料的提前期(加工时间、准备时间、采购时间等)各不相同,各零配件的投产顺序也有差别,但是加工必须是均衡的才能满足MPS的需求,这些就是MRP要解决的问题。
物料需求计划主要解决以下5个问题。
(1)要生产什么?生产多少?(来源于MPS)
(2)要用到什么?(根据BOM展开可知)
(3)已经有了什么?(根据物品的库存信息、即将到货信息或产出信息可知)
(4)还缺什么?(根据计算结果可知)
(5)何时安排?(根据计算结果可知)
物料需求计划子系统是生产管理的核心(也是生产计划部分的核心),它将主生产计划排产的产品分解成各自制零部件的生产计划和采购件的采购计划。物料需求计划子系统能帮助企业摆脱旧的按台套组织生产的管理方式,提供给企业一套全新的、科学的管理方式。物料需求计划的计划时间单位精确到小时。
6.2 计算模型
6.2.1 MRP的分类
MRP按生成方式分为如下两类。
(1)再生式MRP(Regenerative MRP)。这类MRP生成后会对库存信息进行重新计算,生成的是全新的MRP,同时覆盖原来计算的MRP数据,此类MRP的生成一般是按周期进行的,如每周运行一次MRP。现行的ERP系统多采用此类MRP。
(2)净改变式MRP(Net Change MRP)。这类MRP只有在制订、生成MRP的条件(如MPS、提前期)发生变化时,才相应地更新MRP有关部分的记录。此类一般适用于环境变化较大的企业,而且计算复杂,生成的时间较长。
6.2.2 基本原理与关键信息
MRP运算与制订的基本原理如下:
(1)由最终产品的主生产计划导出有关物料(组件、材料)的需求量与需求时间。
(2)根据物料的提前期确定投产或订货的时间。
MRP在需求方面的数据来源有以下两个:
(1)主生产计划数据。从MPS中得到在何时、应产出何种产品及数量是多少。这是根据较高层的物品或成品的需求派生出来的需求。
(2)独立需求数据。在极少数情况下,由于一些原因,对零部件的独立需求不包括在MPS中,如维修、服务用的备件与特殊目的的需要等。
制订MRP时依据的关键信息:
(1)主生产计划(MPS)。物料需求计划由MPS推动。
(2)物料清单(BOM)。由于最终产品结构中的各个子件的加工周期不同,即同一BOM(或同一产品)中的物料有不同的需求时间,因此,MRP要根据产品的BOM对MPS进行需求展开(如数量与提前期)。可用时间坐标的关系来表达BOM的结构,如图6.1所示。可参考第2章中圆珠笔的BOM在时间坐标上的表示方法。
图6.1 时间坐标上的物料清单
(3)库存信息。依据物料库存信息确定各个物料的需求量。
生成MRP的流程如图6.2所示。
图6.2 生成MRP的流程
6.2.3 MRP的计算模型
1.MRP的计算模型
MRP解决的是相关需求,其中有关字段的计算关系,与MPS的计算类似。MRP是对MPS的展开(图6.5将展示MPS是怎样展开成MRP的)。图6.3所示是两个产品的产品结构。
图6.3 两个产品的产品结构
从图6.3看出在Y1和Y2两种产品的产品结构中材料D是共用材料(这里假设用料都为1),但它们在BOM中所处的层次不同,D在Y1中处于产品结构的第2层,而在Y2中则处于产品结构的第1层。所处的产品结构层次不同,物料需求的计算处理方式也不同,因此在展开MPS的计算过程中,ERP系统引入了物料的“低层码”的概念。
2.低层码(Low-level Code,LLC)
(1)概念:低层码是系统分配给物料清单上的每个物料的一个从0至N的数字码。在产品结构中,最上层物料的层级码为0,下一层物料的层级码则为1,依次类推。一个物料只能有一个MRP低层码,当一个物料在多个产品中所处的产品结构层次不同或即使处于同一产品结构中却处于不同的产品结构层次时,则取处在最低层的层级码作为该物料的低层码,即取数字最大的层级码。
(2)作用:在展开MPS进行物料需求计算时,计算的顺序是从上而下进行的,即从产品的0层开始计算,按低层码顺序从低层码数字小的物料往低层码数字高的物料进行计算,当计算到该产品的某一层次(如1层),若低层码不同(物料的低层码为2),则只计算层级低(低层码数字大)的物料(按顺序),层级比计算层次高(低层码数字小于计算的产品层次)的物料的计算结果(毛需求量、净需求量)暂时存储起来,总的需求量可以汇总存储,但不进行MRP需求计算与原材料(或组件)的库存分配,这样可用的库存量优先分配给了处于最低层的物料,保证了时间上最先需求的物料先得到库存分配,避免了晚需求的物品提前下达计划并占用库存。因此,低层码是MRP的计算顺序。
这里以图6.3的Y1与Y2产品展开计算MRP为例,说明低层码的作用。当Y2产品的MRP运算从0层展开到1层时,发现D的低层码为2,不等于正在计算的层次(1层),因而不进行毛需求、可用库存量、已分配量等的计算,只是保留按产品BOM计算的总的需求量,没有涉及D物料的库存量,D物料的MRP运算暂停下来。
等到计算Y1产品时,当展开到Y1的2层(底层)时,系统发现D的低层码等于正在计算的层次(2层),这时就按MRP的逻辑进行各种量的计算,也就是说,此时才动用了物料D的可用库存量。当然,最终库存是否分配还需比较D物料在Y1与Y2中的需求日期。因此,从整个计算过程来看,保证了物料需求时间的优先性,不会造成库存积压。
如果用同一产品的MRP展开,就更加清楚了,如图6.4所示。A物料在X产品结构中的层次不同,则加工顺序就不同,因为产品是从底层开始加工的,最后才组装为最上层的产品。A物料的MRP计算真正是从X产品的2层才开始的。
图6.4 物料A的MRP计算顺序示意图
图6.5所示是MPS展开为MRP的计算模型。
图6.5 MPS展开为MRP的计算模型
物料在展开计算时如果设置了物料的损耗率、成品率,那么物料的需求量会自动加上损耗量。此时计划投入量会大于计划产出量。其余的计算过程类似MPS的计算过程。
3.确认MRP
生成MRP后,进行能力计划运算,要通过能力需求计划校验其可执行性。进行能力平衡后,要对MRP进行确认。企业应该按照确认后的MRP下达制造订单和采购订单。在下达订单前,计划员应检查:物料的需求日期是否有变化;工作中心的能力是否有效;必要的工装夹具是否备好等。如发现问题,计划员应及时采取措施解决。将通过检查的MRP订单直接下达到采购部门和车间去执行。
图6.6所示是MRP子系统与其他子系统的关系。
图6.6 MRP子系统与其他子系统的关系
6.3 MRP报表
MRP的报表形式类似于MPS的报表形式,其形式也是多种多样的。以前面的VCD333主生产计划为例,它的产品结构如图6.7所示。
图6.7 VCD333产品结构
经过计算的MRP报表如表6.1所示。
表6.1 物料需求计划报表
以时段2的MRP计算为例,分述如下。
(1)毛需求量是由MPS的计划投入量20而引起的。
(2)本时段预计可用库存=前时段预计可用库存+本时段计划接收量-毛需求量
=15+0-20=-5
可用库存小于零,说明要补充库存,并且还要补充安全库存。
(3)净需求量=毛需求-前时段预计可用库存+安全库存量=20-15+5=10
(4)计划产出量=净需求量(假设不考虑损耗率、成品率等)。
(5)再计算该计划产出量相应的计划投入量。由于提前期为7天,即一个时段,则要在时段1投入10件。
(6)本例的批量规则是固定批量法,实际运行系统时也可以设置为“实际批量”(或叫“直接批量”)等批量规则。
思考题
1. 什么是MRP?它主要解决什么问题?
2. MRP按生成方式一般有哪几类?各有什么不同?
3. 画出MRP的计算流程图。
4. MRP子系统与哪些子系统有关系?绘图表示。
5. MRP报表应有哪些内容?
6. 试着列举一个MRP的计算例子。