2. MRP运算基础

MRP(Material Requirements Planning,物料需求计划)是制造企业计划与控制的核心引擎。其基本逻辑是:根据主生产计划(MPS)确定最终产品的需求数量与时间,结合产品结构(BOM)、库存状态和提前期,倒推出所有原材料、半成品和零部件的需求数量与下达时间。本章将深入拆解MRP运算的四个核心环节:逻辑原理、BOM展开、净需求计算与提前期偏移。

2.1 MRP逻辑原理:从“要什么”到“缺什么、何时缺”

MRP的核心思想可概括为“按时间分段、按结构分解、按库存抵消、按提前期偏移”。其输入输出关系如下表所示:

输入要素 说明 来源
主生产计划(MPS) 最终产品在计划期内的生产数量与时间 销售预测 + 客户订单
物料清单(BOM) 产品结构树,定义父子件关系与用量 产品设计/工艺部门
库存状态记录 当前库存量、在途量、安全库存、分配量等 仓库/ERP系统
提前期数据 采购提前期、生产提前期、检验提前期 采购/生产部门

MRP运算的输出则包括:计划订单下达(数量与时间)、计划订单接收、例外信息(如提前/推迟/取消)。

关键概念:MRP是“推式”计划的代表,它不依赖实际消耗触发,而是根据计划时间轴主动生成需求。这与“拉式”的看板管理形成鲜明对比。
MRP逻辑原理流程图 主生产计划(MPS) 物料清单(BOM) 库存/在途/提前期 MRP运算引擎 BOM展开 → 净需求 → 提前期偏移 计划订单下达 计划订单接收 例外信息/预警 核心逻辑:按时间分段 → 按BOM分解 → 按库存抵消 → 按提前期偏移

2.2 BOM展开:从产品结构到需求瀑布

BOM(Bill of Materials)是MRP运算的“骨架”。MRP从MPS中的最终产品开始,逐层向下遍历BOM,将父项的需求量乘以子项的单位用量,得到子项的毛需求。这个过程称为“BOM展开”或“需求瀑布”。

典型的BOM层级结构如下:

层级 物料编码 物料名称 单位用量 提前期(天)
0 FG-001 成品A 1 2
1 SUB-100 组件B 2 3
1 RAW-200 原材料C 5 7
2 RAW-300 原材料D 4 5

假设MPS要求在第10天交付100件成品A,则BOM展开过程为:

  • 成品A(层级0):毛需求 = 100件,计划在第10天完成。
  • 组件B(层级1):毛需求 = 100 × 2 = 200件,需在成品A开工前(第8天)到位。
  • 原材料C(层级1):毛需求 = 100 × 5 = 500件,需在第8天到位。
  • 原材料D(层级2):毛需求 = 200 × 4 = 800件,需在组件B开工前(第5天)到位。
实务提示:BOM展开时需注意“虚拟件”的处理。虚拟件不参与库存管理,仅用于简化BOM结构,MRP展开时会直接跳过虚拟件,将其子件挂到虚拟件的父项下。

2.3 净需求计算:毛需求减去可用库存

净需求是MRP运算中最关键的数学环节。其计算公式为:

净需求 = 毛需求 - 现有库存 - 在途量 + 安全库存 + 已分配量

其中:

  • 毛需求:由MPS和BOM展开得到的总需求量。
  • 现有库存:当前仓库中实际可用的库存数量。
  • 在途量:已下达但尚未到货的采购单或生产单数量。
  • 安全库存:为应对需求波动而设置的缓冲库存,会增加净需求。
  • 已分配量:已被其他订单预留但尚未出库的数量,会减少可用库存。

下面通过一个具体案例说明净需求计算过程:

项目 数值 说明
毛需求 500 BOM展开后得到
现有库存 120 当前可用库存
在途量 80 已下单未到货
安全库存 50 必须保留的缓冲
已分配量 30 已被其他订单占用
净需求 380 500 - 120 - 80 + 50 + 30

当净需求计算结果为正数时,系统生成计划订单;若为负数或零,则表示库存充足,无需下达新订单。

常见误区:部分企业将安全库存直接加到毛需求中,这是错误的。正确的做法是:安全库存作为“不可动用的库存”,在净需求计算时作为加项处理,相当于提高了需求门槛。

2.4 提前期偏移:将需求倒推到正确的时间点

MRP不仅要回答“缺多少”,还要回答“何时缺”。提前期偏移(Lead Time Offsetting)就是根据各物料的提前期,将净需求的发生时间向前推移,确定计划订单的下达时间和接收时间。

核心公式:

计划订单下达时间 = 需求时间 - 提前期
计划订单接收时间 = 需求时间

以下是一个多层级提前期偏移的示例:

物料 层级 提前期(天) 需求时间(天) 订单下达时间(天)
成品A 0 2 10 8
组件B 1 3 8 5
原材料C 1 7 8 1
原材料D 2 5 5 0

从表中可以看出:

  • 成品A在第10天需求,提前期2天,因此第8天必须开始生产。
  • 组件B作为成品A的子件,必须在第8天到位,其提前期3天,因此第5天下达采购/生产单。
  • 原材料D作为组件B的子件,必须在第5天到位,其提前期5天,因此第0天(即今天)就必须下达订单。
多层级提前期偏移时间轴 T0 T1 T5 T8 T10 原材料D 下达 原材料D 接收 组件B 下达 组件B 接收 成品A 下达 成品A 接收 紫色 = 订单下达时间(触发点) | 青色 = 订单接收时间(需求点)

2.5 MRP运算联动:从理论到系统实现

在实际ERP系统中,MRP运算是一个批处理过程,通常按以下步骤执行:

  1. 数据准备:确认MPS已审核、BOM无环路、库存数据准确、提前期已维护。
  2. 全阶BOM展开:从MPS物料开始,逐层遍历BOM,生成所有物料的毛需求矩阵。
  3. 净需求计算:逐物料、逐时段计算净需求,生成计划订单建议。
  4. 提前期偏移:将净需求时间减去提前期,确定订单下达时间。
  5. 结果输出:生成计划订单、采购建议、生产工单,以及例外信息(如提前/推迟/取消)。
系统联动要点:MRP运算结果会直接触发后续的采购申请、生产工单下达、委外订单等业务流程。因此,BOM准确性、库存准确性、提前期合理性是MRP运算成功的三大基石。任何一项数据失真,都会导致“垃圾进、垃圾出”的后果。

本章内容为后续的预警规则配置奠定了运算基础。只有深刻理解MRP如何计算净需求、如何偏移时间,才能精准设置缺料预警的阈值与触发条件。