搞企业管理,不管是人事、行政,还是财务、物流,都应该对MRP有所了解,进而对企业管理有个完整的,尽管某些方面可能是肤浅的认识。但这种虽肤浅但完整的认识,对开展工作,是有很大帮助的。
我通过各种渠道了解了一下MRP,然后自己假想了一个实例,用手工进行MRP计算;然后找了几家软件公司的ERP产品,包括用友、金蝶、神数的(SAP和ORACLE没提供DEMO),把我假想的实例用软件实现了一次。运算结果完全一致(不同的软件一致,软件与手工一致)。
本文通过MRP实例,对MRP运算的逻辑进行介绍。
几个软件比较了一下,金蝶的界面做得相对简洁。下面我就用金蝶,对MRP运算进行一次实例演示。 MRP运算包括5步: 1、确认外部需求 2、计算毛需求 3、计算净需求 4、计算计划订单量 5、投放产生三大任务单
先讲第1步:确认外部需求。
外部需求有两个来源:一是销售订单,一是产品预测单。销售订单是客观的、实实在在;产品预测单是主观的、真真假假。
那外部需求怎么确认呢以销售订单为准,还是以产品预测单为准
可能有人会说,当然以实实在在的销售订单为准,哪能以真真假假的产品预测单为准
这个不尽然。
以销售订单为准,企业有订单就干,没有订单就闲,导致生产不均衡,资源浪费大;而且订单如果交期紧,临时抱佛脚,是否来得及生产都是问题。
那以产品预测单为准呢也不行。预测多了,生产出的东西积压;预测少了,生产出的东西短缺。谁又敢说自己的预测100%准确呢
那怎么办丰田发动机早就思考过这个问题。我去广州南沙的丰田发动机调研信息化建设情况,顺路去天后宫游玩。站在“千里眼”和“顺风耳”两尊神像之间,面对泠汀,背靠妈祖,久久回味。
可能有人不相信,本田发动机用的是金蝶K3软件,包括计划、生产、财务等模块。(这不算做广告吧我可不是金蝶的呀。版主置顶的“警告广告贴发贴者”,后面三个感叹号,尽管尚不清楚感叹号的数量是否代表严重级别,但也足够让人哆嗦的。) 他们是这样处理的:根据自己的产品预测单初步确认需求,然后将客户的销售订单与产品预测单进行冲销。即结合销售订单和产品预测单确认外部需求。 例如:1月20日有销售订单,数量200;而对2月至4月的产品预测,数量是120。那么,年初就根据120先进行生产,然后将订单与预测单数量进行冲销(200-120=80),外部需求就是120+80=200。
在进行冲销时,有这么一个问题:销售订单是一个时点的概念,而产品预测是一个期间概念。这时,就需要将产品预测单的期间转化为时点,通常以期初作为其时点(下图中的2月1号)。
在进行冲销时,还有这么一个问题:就是销售订单冲销产品预测单的范围。这个由用户指定。例如,向前冲销N天;向后冲销N天;先向前冲N天,再向后冲N天;或先向后冲N天,再向前冲N天。意思就是在什么范围的产品预测单,需要用销售订单冲销掉。 如图:
选择向后冲销15天,则外部需求=120+(200-120)=200
销售订单日期为1月20日,向后15天就是2月5号,所以就选择2月1号,作为冲销时点。
这样,产品预测单一下子全被销售订单冲销光了,包括3月和4月的。难道3月和4月就没有需求吗当然不是。这就产生了一个均化的概念。
我们将预测单进行均化(均化可选择月均化、周均化、日均化)。我们选择月均化,2月1日的数量120,就变成了2/1、3/1、4/1分别数量为40、40、40。如图:
这样,如果再冲销,仍然选择向后冲销15天,则外部需求=40+(200-40)+40+40=280。 将销售订单与产品预测单进行冲销,是将主观的真真假假的模糊的东西用客观的实实在在的清晰的东西替代,用户可选择替代范围。 这是一种方法,类似于火拼。
还有一种方法,类似于分治。
在分治前,要有分治的标志。分治的标志,就是时界。
例如,宝马汽车厂,生产宝马的各项准备工作(如发动机等零件)都做好了,这时一声哨响,开始装配宝马。这个装配宝马的时间,就是总装提前期(假设是15天)。
而发动机等零件不会伸手就来,它的采购是需要时间的,这就是采购提前期(假设是25天)。宝马的总装提前期加上发动机等零件的采购提前期,就是宝马的累计提前期(15+25=40天)。
我们将总装提前期,大概算做需求时界; 我们将累计提前期,大概算做计划时界。 需求时界与计划时界,就是分治标志。
在需求时界(15天)以内的,我们取销售订单做为外部需求。
它说明发动机等零件已经到位,宝马已开始总装,这时的计划不得更改。所以需求时界又称为冻结时栅。
在需求时界与计划时界之间(15至40天)的,我们取订单与预测单大的那个作为外部需求。
它说明虽然宝马还没有开始装配,但发动机等零件已经开始采购,这时计划的更改应该慎重。所以计划时界又称为协议时栅。
在计划时界(40天)以外的,我们取预测单做为外部需求。
它说明不仅宝马还没有开始装配,连发动机等零件还没有开始采购,这时的计划想怎么改就怎么改。
这样的分治,体现出计划的准确性随时间不同而不同,一般是越近越准确。 当我们以销售订单和产品预测单作为外部需求来源,并考虑需求时界和计划时界时:
外部需求=0(15天以内的订单)+200(15至40天之间取订单与预测单孰大)+0(40天以外的预测单)=200 当预测单均化后,如图: 外部需求=0+200+40+40=280
好了。到此为止,MRP的第1步,确认外部需求讲完了。 第2步,计算毛需求,就是一个跑BOM的过程。
假如外部需求仅考虑销售订单:1月1日接到订单,以下配置的宝马数量分别为80、50、10辆,要求于1月31日交货。
计划开始日期为1月1日,计划展望期为6个时区,每个时区5天。
在ERP中录入BOM前,先要建物料档案。物料的各种期量标准,各种属性也由此拉开大幕。
本人反过来,先讲订单,再讲BOM,再讲物料,原因就是应用导向。所谓先有事实,各有概念,先碰到了问题,然后为解决问题,产生了各种方法,这些方法,又形成了概念。
大学教授们相反,先讲概念,再讲方法,再讲应用。完全颠倒了。
包括线性代数、矩阵计算,很多数学高手得心应手,但矩阵的业务意义,相加相乘相除,与诸葛亮变换八卦阵的相通之处,却不理会(当然,我也不能体会。其境界身不能至,心向往之)。难怪有人说,大学教育,是往学生脑子里灌屎。 物料档案如下:
再固定 物料属计划 订货策提前名称 宝马 发动机 发动机80W 发动机100W 发动机120W 零件1 零件2 车身 工 外购 外购 特征类 MRP MRP MRP MRP 批对批 批对批 批对批 批对批 固定批钢车身 外购 MRP 量 5 0 0 0 100 1 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 自制 委外加MRP 批对批 7 自制 MRP 批对批 7 0 0 0 1000 0 0 0 1000 性 配置类 特征类 策略 略 MRP MRP 批对批 批对批 期 5 0 变动 订货 订 固定/经变动提间隔货点 0 0 济 批量 0 0 前 期批量 1 1 提前期 期 0 0 0 0 固定批铝车身 空调 外购 特征类 MRP MRP 量 批对批 期间订美的 外购 MRP 货 再订货海尔 外购 MRP 点 5 0 0 100 100 1 5 0 10 0 0 1 5 0 0 0 0 0 0 0 100 0 1 1 物料属性,参照金蝶(之所以强调版本,是因为金蝶不同的版本在计划和生产方面差异较大,其进步神速),主要的有以下几种: 1、自制:自己能够生产 2、采购:自己不能或不愿生产
3、委外:介于自制和采购之间。即可以自制,但又需要外协。 这三种是最主要的最基本的属性。
4、规划:例如DELL做计划,估计电脑销量100万,由70%的笔记本和30%的台式机组成。这里的电脑,就是规划类物料。
5、配置:例如上面用组织结构图展现的宝马,其装配,需要发动机、车身、空调。而发动机、车身、空调有不同的型号,相应的,宝马可以有各种不同的配置。这时的宝马,就是配置类物料。
6、特征:同上例,发动机有各种型号、车身有各种材质、空调有各种品牌。这时的发动机、车身、空调,就是特征类物料。
7、虚拟:例如DELL给你发货,随身附有发票、保修单等。为了防止发货时忘了附带发票,他们可以做一个BOM,这个BOM由电脑、发票构成。这个BOM的母件,就是虚拟的。
8、组装:组装是在仓库而不是车间完成的。例如组装家具等,它的实质就是几个沙发加茶机。组装家具就是组装类物料。 计划策略,包括MPS、MRP、无。
特别重要的物料就用MPS,即主生产计划。目的,就是别花几个小时运算MRP,到头来发现最重要的物料却因生产能力制约无法完成。所以先对最重要的物料进行MPS运算。
一般重要的物料就用MRP,即物料需求计划。 MPS和MRP的关系如图:
MPS和MRP仅仅运算对象不同,运算逻辑完全相同。 不重要物料就用无,即不做计划。
订货策略包括:
1、批对批:就是随时需要随时提供,需要多少提供多少。
2、固定批量:例如你去买一个螺丝,别人不卖。他说,要买就买100个。这个100,就是固定批量。
3、期间订货:例如采购部门很有规律,对某一物料,总是间隔10天去采购。或者供应商很强势,你平时上门找他订货,他懒得理你,要你每隔10天才能去采购一次,这就是期间订货。10天,就是订货间隔期。
4、再订货点:例如库存到了50,就去订货。50,就是再订货点。 固定提前期和变动提前期,类似于财务的固定成本和变动成本的概念。
如果物料设置了工艺路线,那它的固定提前期和变动提前期是可以计算得出的。例如: 实例中的工艺路线如下:
实例中的工作中心如下: 实例中的班制如下:
固定提前期=∑(工艺路线上各个工序的固定提前期)
固定提前期=该工序准备时间/(该工序对应的工作中心的班制日工作时间*利用率*效率)+(该工序的排队时间+该工序的移动时间)/该工序对应的工作中心的班制日工作时间
变动提前期=∑(工艺路线上各个工序的变动提前期)
变动提前期=(该工序的运行时间*物料的变动提前期批量/该工序的加工批量)/工序的可供能力
工序可供能力=该工序上设定的资源数*工序所在工作中心的班制日工作时间*效率*利用率
这样,我们可以计算出: 发动机80W的固定提前期
=10/(8*100%*100%)+(10+6)/8+5/(8*100%*100%)+(5+5)/8+5/(8*100%*100%)+(5+5)/8
=10/8+16/8+5/8+10/8+5/8+10/8 =56/8 =7
同理,将实例中的数据代入公式 ,计算发动机80W变动提前期= 发动机100W的固定提前期=7;变动提前期=
物料的属性很多,往往ERP实施首先遇到的最大困难,就是物料档案的整理,之后才谈得上BOM、工艺路线。
物料有很多重要的数量和时间属性,可称之为期量标准。如: 最低存量、最高存量、安全库存量:略
固定提前期、变动提前期、变动提前期批量、累计提前期: 这四个概念需要放在一起解释。
生产10000个零件和生产1个零件,其提前期肯定不一样。不随数量变动而变动的提前期,就是固定提前期;随数量变动而变动的提前期,就是变动提前期。随多少数量的变动而变动呢这个数量就是变动提前期批量。
累计提前期=固定提前期+(生产或采购数量/变动提前期批量)*变动提前期 订货间隔期:
在订货策略为期间订货法时需要指定。 最小订货量、最大订货量:略 固定批量、经济批量:
你需要1个螺丝,别人不卖,要买就买100个。这个100就是固定批量; 跑那么远,就需要1个螺丝,成本上不划算,干脆一买就是10个。这个考虑成本的10个,就是经济批量。 批量增量:
你需要1个螺丝,不行,要买就是100个;那如果需要101个螺丝,就只有买200个了。这个过分不过分!
好,现在产生了批量增量的概念。你需要100个以下,就必须买100个;需要100个以上,则一次最小买20个。这个20,就是批量增量。也就是,你如果需要101个螺丝,不用买200个了,可以买120个。 再订货点:
订货策略为再订货点时需要指定。 再订货点和安全库存不同:
1、任何物料都可以设安全库存;而只有采购类物料才设再订货点。
2、采用再订货点,库存到了50你去订货,而订货是有时间的,在订货后2天,货还没到,很有可能库存就已经用完了,只好停工待料;而安全库存不同,安全库存是计划出今后每一天的库存,发现今后的哪一天缺货,就会倒推计算应该在哪一天采购,并在可能缺货的那一天正好入库,不会停工待料。 需求时界、计划时界:
需求时界类似于总装提前期;计划时界类似于累计提前期。是MRP计划时可供选择的参数。
有两个时间概念不是物料属性,不过MRP用到,放在这一起讲。 计划展望期:
进行MRP计划的时间范围。 时区:
做过计划(不一定是MRP计划,包括资金计划啥的)的人都知道,进行计划,时间越近的粒度越细、越准确。例如我们可以这样计划,30天以内,可以制定每天的资金计划;这之后,6周以内,可以制定每周的的资金计划;这之后,3个月以内,可以制定每月的资金计划。
资金计划这样的搞法,同样适用于MRP计划,且起了个概念,叫时区。如图: 这里只是介绍时区的概念。我们的实例比较简单,就是1个序列,6个时区,各时区天数为5天。
物料档案完成后,可以录入BOM了。
BOM单的内容很丰富,采用类似组织结构图那样的形式是无法负荷其重的,所以要用表单的形式来建立。
宝马的BOM: 发动机的BOM: 车身的BOM: 空调的BOM: 发动机80W的BOM: 发动机100W的BOM:
发动机120W的BOM:
BOM单层录入,可多层展开查询。宝马BOM多层展开如图:
当然,BOM查询方法还有很多,正查、反查、单级查、多级查、综合查、树型查、差异比较等,就不一一介绍了。反正都是录入BOM后的不同展现形式。 这里又产生了一个概念:提前期偏置。
MRP就是解决生产什么,生产多少,什么时候生产的,时间观念特别强,所以期量标准特别多。这些期量标准,需要我们头脑清晰时认真体会。多看几遍就熟悉了。
如果把畅享网的文章当成门户网站的贴子进行浅阅读,指望很轻松的学习,那是不可能有效果的。 什么是提前期偏置呢
现在1月1日,要造航母,1年完成,12月31日交货。航母需要1000吨钢,那是不是1月1日就要把1000吨钢准备好呢
不见得。1000吨钢是需要,但并不是1月1日一次投入,而是1月1日需要300吨;3月1日需要200吨;5月1日需要500吨。
那么,在航母的BOM中,子项“钢”有300吨,偏置期是0;有200吨,偏置期是2个月;有500吨,偏置期是4个月。
宝马有各种配置。宝马只有在进行配置后才能做为向市场销售的产品。
这就需要在宝马的BOM上,指明发动机的具体功率,车身的具体材质,空调的具体品牌,从而产生客户BOM。
根据销售订单,客户BOM配置分别如下:
关于客户BOM的配置,ERP软件还提供配置规则进行控制。
例如你选择了某一功率的发动机,那么必须选择海尔空调;或者你选择了钢车身,就必须选择某一功率的发动机。即建立子项的互斥关系或关联关系。 有了客户BOM,我们可以录入销售订单了。如图;
对有些公司,如果它的子项物料自由组合,那可以产生的客户BOM会不会太多呢 例如象DELL这样的公司,他号称电脑配置是用户可以自由选择的。
假设有50种硬盘,50种内存,50种CPU,50种显卡,50种键盘,50种声卡......那可以形成的配置,将多达506种了。即156亿!
为了满目各种可能的客户需求,难道DELL需要预先建156亿个客户BOM单
假设有50种硬盘,50种内存,50种CPU,50种显卡,50种键盘,50种声卡......,我们并不需要建立相应的156亿个BOM,相反,我们只需要一个BOM就行了。
处理这个问题的思路是:组合是无限的,但组合的元素却是有限的。内存种类再多,也就几十种吧CPU种类再多,也就几十种吧......
就我们的实例,我们建一个BOM,把所有的元素包括进来。如图:
注:此时的子项物料应指明特性及具体的特性值,从而在BOM单和特性档案间建立关联关系。 我们建立特性档案,如图:
再建立物料与特性的对应关系,如图:
这样,当用户录入2-121时,就自动形成了一个物料。 形成了一个什么物料呢我们看: 2代表宝马。“-”是一个连接符。
排位第一(代表功率)的数字是1(代表80W); 排位第二(代表材质)的数字是2(代表铝); 排位第三(代表品牌)的数字是1(代表美的);
这样,2-121的意思就是:配置为发动机80W、铝车身、美的空调的宝马。
我估计(没证实),DELL在网站界面提供各种配件让用户自由挑选组合,其后台就是这样的工作原理。根据前端用户的选择,后台形成新的物料(如果还从没有过这种配置),并根据用户在已经预置的最大BOM的基础上进行的选择,知道新物料的具体产品结构(不用产生新的具体的BOM)。 我们介绍了配置类BOM建立的两种场景:
一是基于基本BOM配置出很多客户BOM,涵盖了所有可能的配置。
一是建立一个最大的通用BOM,涵盖了所有的子项,并指定子项特性。在用户选配时才自动形成一个新物料,并在不产生相应的具体BOM的情况下知道其产品结构。
计算毛需求,就是跑BOM。这个乘和加(一个物料在同一BOM出现多次)的具体过程,就不用讲了。 MRP的第2步,就讲完了。
MRP运算的第3步,计算净需求。
净需求=毛需求/(1-损耗率)-现有库存+安全库存-预计入库量+已分配量 什么是预计入什么是已分配不同的ERP软件有不同的范围,我们参照金蝶K3的。 预计入单据包括以下类型:
1、生产任务单、重复生产任务单和委外加工生产任务单(总计划生产数-已完工入库)
2、采购申请单(数量-审核的采购订单数) 3、采购订单(总的订单数-已入库数量) 4、重复生产计划单(总的计划数- 已执行数) 5、计划订单(建议订单量)
6、物料替代清单(被替代料的实际需求量) 已分配单据包括以下类型:
1、拖期的销售订单(订单剩余数量);
2、生产任务、委外加工任务、重复生产计划单、重复生产任务单相关联的投料单中没有领用物料的数量
3、物料替代清单中替代料的实际替代量
我们的实例,为简化起见,没有考虑损耗率、成品率、现有库存、安全库存,也没有考虑预计入和已分配。 这样,MRP的第3步就介绍完了。 MRP运算的第4步,计算计划订单量。 不同的订货策略,计划订单量有不同的算法。 批对批:
计划订单量 = 最小订货量+取大整数[(净需求-最小订货量)/批量增量]*批量增量
固定批量:
计划订单量=固定/经济批量+取大整数([净需求-固定/经济批量)/固定经济批量]*固定/经济批量 再订货点:
计划订单量 = 固定/经济批量。 期间订货:
计划订单量 = 最小订货量+取大整数[(净需求-最小订货量)/批量增量]*批量增量
确定了计划订单的数量,下面就是计划订单的时间了。
我们在前面,计算毛需求、净需求时都不用考虑时间,到计划订单的计算时,就应该同时计算计划订单的时间。
不同的订货策略,计划订单的时间有不同的算法。 批对批:
提前期=向上取整[固定提前期+变动提前期*(建议订单量/变动提前期批量)] 固定批量:
提前期=向上取整[固定提前期+变动提前期*(建议订单量/变动提前期批量)] 再订货点:
提前期=固定提前期 期间订货:
提前期=订货间隔期
零件1计算明细: 零件2计算明细: 发动机80W的计算明细: 发动机100W的计算明细: 发动机120W的计算明细: 钢车身的计算明细: 铝车身的计算明细: 美的的计算明细: 海尔的计算明细: MRP横式报表: MRP计划订单:
这样,MRP第4步,计算计划订单量,就完成了。
MRP第5步,投放产生三大任务单,直接点“投放”就完成了,不用讲了。 为什么投放肯定会生成采购、委外、生产三大任务单呢
因为BOM的最未级物料的属性,只会是这三种,而不会是规划类、虚拟类、组装类等其他类型。 非采购、委外、生产属性的物料,不会是BOM的末级物料,否则BOM完整性检查会不通过,MRP计算就无法进行。
至此,MRP就介绍完了。
我这个实例,可以说是最简单的。即使如此,手工做也够麻烦的。如果有几百个订单,几千种物料,考虑各种预计入和已分配等参数......可以说,手工做就不可能了。这就是MRP的价值。
因篇幅问题不能全部显示,请点此查看更多更全内容