MRP 物料需求计划及逻辑原理浅谈

2023-10-20 16:04

本文主要是介绍MRP 物料需求计划及逻辑原理浅谈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(一)什么是MRP物料需求计划

    MRP是物料需求计划“Material Requirements Planning”的英文缩写,是20世纪60年代发展起来的一种计算物料需求量和需求时间的物料计划管理方法。

    在产品生产过程中,不论产品的类型、生产规模、工艺情况如何,它必须回答4个问题,即:

1.我们要生产什么?根据最终成品的主生产计划(MPS);

2.生产这些产品需要什么物料?根据产品的物料清单BOM;

3.我们已经有了什么?根据产品/物料的现有库存量(包含安全库存);

4.我们还缺什么?何时购买多少?何时生产多少?由MRP计算。

    MRP的基本思想是根据客户对最终产品的需求数量和需求时间,按产品的结构精确地算出所有零件和部件的数量,并按各种零件和部件的生产周期或采购周期(Lead time,提前期),反推出它们的生产计划和采购计划。

1)关键概念

l独立需求与相关需求

    我们收到客户的下发P产成品的订单,生产P产品需要用到若干个部件或零件物料:A/B/C/D/E,其中生产A/C部件物料涉及零件物料B/D/E的采购。假设P产品收到1000个需求数量的订单,那么我们将P产成品的需求称为独立需求(independent demand),根据P产品的BOM结构产生的A/B/C/D/E物料需求都是相关需求(dependent demand)。

    独立需求的需求来源是对客户需求的预测和客户订单,需求物料类型是产成品,独立需求计划的输出结果是主生产计划MPS(即成品计划)。相关需求依赖于独立需求,它的需求来源是MPS,需求物料类型是半成品与原材料,主生产计划MPS确定了,相关需求基于BOM与库存记录计算也就自动生成了。

l提前期(Lead time)

    MRP计算物料需求计划时,是采用倒排的方式进行计划的,即从需求日期(交货日期或完工日期)开始向前倒推出工作的开始日期,这个时间跨度称为提前期。比如原材料的采购提前期即是采购订单下达到物料采购入库的全部时间,半成品/成品的生产提前期则是从开始投料生产到生产完工入库的全部时间。

图片

    从图上可看出,以产品的计划完工日期或者交付日期为起点,按产品的BOM结构一层层递推进行倒排计划,可以相应推算出每个零部件最晚开始加工生产的时间或者采购订单发出的时间。

l订货方法

    订货方法是指物料需求产生计划订单的订货批量规则,用来确定物料生产量或者采购量的大小。常用的订货方法有以下四种:

图片

2)MRP运算逻辑

图片

l输入

    a)主生产计划MPS:回答最终生产交付什么,生产多少,什么时候生产完成可以交付? MPS即成品的计划订单,此计划订单中有相应的成品需求数量、交付时间、以及基于提前期计算反推出来的计划订单发出日期release date,是MRP计算的主要输入信息,主生产计划MPS驱动生成物料需求计划MRP,再由MRP生成加工件的生产计划和外购件的采购计划。

    b)物料清单BOM:回答生产成品需要采购/生产哪些零部件物料、多少量、需要什么时间交付?物料清单BOM是最终成品的结构描述,表明组成最终成品的部件、零件以及原材料之间的结构关系和数量关系,是由MPS展开推算MRP物料需求的关键依据。

    c)库存状况Inventory:回答零部件物料目前库存水位有多少,是否设有安全库存,在途订单有多少,交付周期有多久?MPS按物料清单BOM展开后计算获得物料的粗需求量(gross requirements),需要冲减掉现有库存量(包括安全库存量、在途库存量),才能获得物料的净需求量。

    d)订购方法:基于物料的净需求量再根据零部件物料的订购方法(直接批量法/固定批量法等),确定计划订单的生产/采购批量大小。

    e)提前期Lead time: MPS的需求时间减去零部件物料的生产/采购提前期,获得物料的需求时间(计划订单发出时间)。

l计算逻辑

    1)计算需求总量:根据最终产品MPS主生产计划,基于产品BOM的物料清单结构层层展开,自动计算汇总出各个零部件物料的需求总量,即生成粗物料需求计划(gross material requirements)。

    2)计算净需求量:第一步产生的物料需求没有考虑物料的库存情况,需要对总需求量冲减掉现有库存(包括安全库存、在途/在制库存量),然后生成净物料需求计划(net material requirements)。

        净需求量=总需求量+安全库存量-现有库存量-在途量(预计到货量)

    3)计算计划订单数量:在经过上述的MPS、BOM、库存三大维度的综合计算后,获得物料净需求量,再根据物料的订货方法来确定每次生产或者采购的批量大小,即计算需要生成多少数量的计划订单来满足物料需求。

    4)计算物料需求时间:最后根据MPS最终成品的需求时间,减去物料的生产/采购提前期,计算得出物料的需求时间,最终生成以及锁定物料需求计划。

l输出

    根据物料的制造模式是自制加工件还是外购件,生成需求计划类型为“生产计划”或者“采购订单”(Planned production/Purchase orders)的物料需求计划,后续由PMC角色基于库存情况、交付情况转换生成相应的生产订单或采购订单,分别输出给生产部门和采购部门做执行动作。

这篇关于MRP 物料需求计划及逻辑原理浅谈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248174

相关文章

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente