3. MRP逻辑引擎:净需求计算、毛需求展开、提前期偏置、低层码逻辑与计划订单生成
MRP逻辑引擎是物料需求计划的核心计算单元,它接收主生产计划(MPS)与独立需求,结合物料清单(BOM)、库存状态与提前期参数,逐层展开并生成采购与生产建议。本章聚焦引擎内部的四个关键环节:净需求计算、毛需求展开、提前期偏置与低层码逻辑,最终输出可执行的计划订单。
3.1 净需求计算:从毛需求到净需求的转换
净需求计算是MRP引擎的第一道核心运算。它回答一个基本问题:“在满足现有库存与在途供给后,还需要多少?”
标准计算公式如下:
净需求 = 毛需求 - 预计可用库存 - 在途订单 + 安全库存
其中:
- 毛需求:来自MPS、独立需求或上层BOM展开的父项需求。
- 预计可用库存:当前库存量减去已分配量(预留、质检锁定等)。
- 在途订单:已下达但尚未入库的采购单或生产单。
- 安全库存:为应对波动而设置的缓冲库存,通常作为净需求的“触发门槛”。
调优要点:安全库存的放置位置(成品层 vs. 半成品层)直接影响净需求计算的触发频率。建议将安全库存设置在需求波动大、提前期长的物料层,避免在每一层重复叠加。
3.2 毛需求展开:BOM遍历与需求汇总
毛需求展开是MRP引擎的“广度优先”遍历过程。系统从顶层成品开始,沿BOM结构逐层向下,将父项的计划订单量乘以子项用量因子,生成子项的毛需求。
展开过程遵循以下规则:
- 按BOM层级逐层展开:从0层(成品)开始,每完成一层计算,再进入下一层。
- 用量因子计算:子项毛需求 = 父项计划订单量 × 子项单位用量(含损耗率)。
- 需求时界与计划时界:在时界内,毛需求不可变更;时界外可调整。
| BOM层级 | 物料编码 | 父项计划量 | 单位用量 | 毛需求 |
|---|---|---|---|---|
| 0 | FG-100 | 100 | 1 | 100 |
| 1 | SUB-200 | 100 | 2 | 200 |
| 2 | RAW-300 | 200 | 3 | 600 |
性能优化提示:对于多层级BOM,建议启用“批量展开”模式,将同一物料在不同父项下的毛需求先汇总再计算净需求,减少数据库I/O次数。
3.3 提前期偏置:时间维度的需求对齐
提前期偏置(Lead Time Offset)将需求从“数量维度”映射到“时间维度”。它确保子项的需求日期与父项的开工日期对齐,避免过早或过晚采购/生产。
偏置计算规则:
- 子项需求日期 = 父项计划开工日期 - 子项提前期(含检验、运输等缓冲)。
- 父项计划完工日期 = 父项计划开工日期 + 父项制造提前期。
- 偏置天数 = 父项制造提前期 + 子项提前期(若子项为采购件,则使用采购提前期)。
常见误区:提前期偏置不考虑工作日历。若工厂采用“五天工作制”,系统默认的日历偏置可能导致需求落在非工作日。建议在MRP参数中启用“工作日历偏置”选项,自动将需求日期调整至最近的工作日。
3.4 低层码逻辑:避免重复计算与需求放大
低层码(Low Level Code, LLC)是MRP引擎防止重复计算的关键机制。每个物料在BOM中可能出现在多个层级,低层码定义为该物料在所有BOM路径中的最低层级。
计算规则:
- 系统按低层码从小到大的顺序处理物料(0层 → 1层 → 2层 → …)。
- 同一物料的所有毛需求,只在其低层码对应的层级统一汇总并计算净需求。
- 避免在较高层级提前计算,导致需求被重复放大。
调优案例:某电子企业物料“电容C-100”同时出现在BOM的1层和3层。未启用低层码时,系统在1层和3层分别计算净需求,导致采购量翻倍。启用低层码(LLC=3)后,所有需求在3层统一汇总,采购量回归正常。
3.5 计划订单生成:从净需求到可执行指令
经过净需求计算、提前期偏置与低层码逻辑处理后,MRP引擎生成两类计划订单:
- 计划生产订单:针对自制件,包含物料编码、数量、开工日期、完工日期。
- 计划采购订单:针对采购件,包含物料编码、数量、需求日期、建议供应商。
计划订单的生成规则:
- 批量规则:净需求按批量规则(固定批量、经济批量、按需批量等)调整后生成订单数量。
- 订单状态:初始状态为“计划”,经确认后转为“已下达”。
- 订单排程:基于提前期偏置结果,自动计算订单的开工与完工日期。
调优参数:批量规则中的“固定批量”适用于高价值、长提前期物料;“按需批量”适用于低价值、短提前期物料。建议对A类物料使用固定批量,C类物料使用按需批量,以平衡库存持有成本与订单频次。
3.6 参数调优对照表
| 参数名称 | 影响环节 | 调优建议 | 性能/效果影响 |
|---|---|---|---|
| 安全库存策略 | 净需求计算 | A类物料使用动态安全库存,C类使用固定值 | 降低库存持有成本 10-20% |
| 批量规则 | 计划订单生成 | 高价值物料用按需批量,低价值用固定批量 | 减少订单频次,提升MRP运行速度 |
| 低层码启用 | 需求汇总 | 必须启用,避免重复计算 | 消除需求放大,减少采购量误差 |
| 工作日历偏置 | 提前期偏置 | 启用,并配置工厂日历 | 避免需求落在非工作日 |
| BOM展开深度 | 毛需求展开 | 限制展开层级(如最多10层) | 防止无限递归,提升计算稳定性 |
实施建议:在首次上线MRP时,建议先以“按需批量+启用低层码+启用工作日历”作为基线配置,运行2-3个周期后再根据实际订单交付与库存周转数据,逐步调整安全库存与批量规则。