您所在的位置:e-works首页 > 管理信息化 > ERP

MRPⅡ/ERP中混合型物料需求

发表时间:2008-6-14 莫登耀 张阿卜 来源:厦门大学学报
在企业 MRPⅡ/ERP管理中 ,缩短最终产品累计提前期以提高响应客户需求的反应速度和降低物料库存是两个 相互矛盾的目标.以部分企业的实际问题为应用背景 ,指出了典型的 MRPⅡ/ERP系统在应用于生产半定制型产品的企业 ( ) 时 MPS和 MRP失效的问题 ,并且分析了失效的原因.提出了一种把“订货点法 ”、“物料需求计划 MRP ”和“制造资源计 ( ) 划 MRPⅡ ”这些管理模式相互融合的新的物料管理方法 ,同时使用面向对象的技术和 UML建模工具 ,对混合型的物料 需求计划系统的核

  MRPⅡ/ERP是以主生产计划到物料需求计划及能力需求计划 ,计划由粗到细的方式推动后续生产执行的系统 .典型的 MRPⅡ/ERP系统期望依据产品的结构中数量关系和时间关系 (提前期) ,并且依据客户对最终产品的需求数量和时间信息 ,准确计算出物[2]料需求的数量和时间点 ,从而按需备货和生产 ,降低生产和采购的盲目性 ,在不降低客户服务水平的情[3]况下降低库存 .
1 典型 MRPⅡ/ERP系统问题分析
典型的 MRPⅡ/ERP系统总是从最上层的产品开始制定主生产计划 MPS ,然后由主生产计划推动相关需求的物料需求计划 MRP .对于产品结构比较固定并且产品的累计提前期小于生产计划时刻到产品的需求时刻之间的时间段的企业 ,这种处理方式是适用的 ,系统也能获得较好的运作效果.如果客户对产品的需求时间比产品的累计提前期长 ,那么相关需求的物料库存可以降到很低 ,甚至可以降到零.但是大多数情况下 ,客户对产品的需求时间比产品的累计提前期要短 ,若要等到客户订单下达的时候再准备生产就来不及了.针对这种情况 ,典型的 MRPⅡ/ERP系统采用预测需求的方式降低被动性. 尽管预测需求的方式降低被动性 ,但是当企业的产品为半定制的模式 ,系统的运行显得十分尴尬 ,特别是在对客户的反应时间很短 ,如在两三天的情况下 ,MRP的运算对 MRPⅡ/ERP系统意义不大 ,因为一般的 MPS和 MRP的运算都需要较长的间 ,MPS和 MRP都是滚动式的计划 ,一般隔一段时间运行一次.观察图 1的产品结构示意图 ,如果企业生产的产品并不是固定的 X产品 ,而是 X的相似产品 ,如图中 X的某些下属配件需要特殊制造 ,而其他的成分基本不变.对于这种营运模式的企业 ,可以采用 MRP运算结合通用件“订货点法 ”的物料需求计划制定方式.从图 1可以看到 C和 D都是 X和 Y的下属配件或者是 X和 Y系列的下属配件 ,称 C和 D为通用件.如果对 C和 D预先生产存入仓库中 ,则生产最终产品X和 Y时就不再需要生产 C和 D,这样可以缩短最终产品的累计提前期 ,甚至可能使最终产品的累计提期小于从客户下达订单到交货的时间长度.此时 ,再据 MRP的方式去驱动生产 ,将获得良好的计划效只是类似于 C和 D的通用件需要提前产出 ,通用件库存控制策略可以运用“订货点法 ”控制策略.“订货点法 ”库存控制策略是当管理的物料对的库存数量低于某个值 订货点 时 ,即下达生产令 ,生产这项物料.订货点的由下面的公式确定.即订货点 =单位时段的需求数量 需求率 ×累计提前期 +安全库存量经分析 ,综合通用件“订货点法 ”库存控制策略MRP的管理理论于 MRPⅡ/ERP系统中 ,可以在降库存耗资和提升对客户订货要求的响应速度上获得好的折中.MRP和“订货点法 ”库存控制策略混合系统的心部分的用例图如图 3所示


.


2 混合系统的核心部分的设计
我们就 MRP和“订货点法 ”库存控制策略混合系统的核心部分的设计进行分析.虽然“订货点法 ”系统和常规的 MRP系统都利用 BOM结构分析下层物料的需求 ,但是这两个系统也有所区别 ,不能将两个系统混合在一起计算.因为常规的 MRP系统是确定了顶层物料的需求数量和需求时刻后 ,根据 BOM的结构在时间轴上往后推算下层物料的需求数量和需求时刻. 而“订货点法 ”系统是物料低于“订货点 ”的那一时刻要开始投产 ,表明需求时间已知 ,但是需求数量未知 ,需要进行 MRP运算得出需求数量.混合 MRP系统的核心部分的数据库模型如图4所示. MRP运行的算法如图 5的活动图所示. MRP算法中在任意父子两层物料的需求推算过程都相似 ,因而可以采用递归算法处理. 

 

MRP系统建模和运算中有几个比较关键的处理点
2. 1 基本 BOM和计划运行 BOM的设计
系统模型中既要有基本的物料清单 BOM,又要有作计划加工的物料清单 BOM,这点是分析人员往往会忽略的.不少系统分析人员在进行分析设计时仅仅设计了一个基本的物料清单 BOM数据表 ,而没有设计到真正作计划加工的物料清单 BOM数据表.由于在定制或者半定制加工的业中 ,最终产品是不断变化的 ,但是相对较多最终产品含有部分甚至绝大部分相同的成分结构.如果仅设计了一个基本的物料清单 BOM数据表 ,则 BOM数据表的变化十分频繁 ,每次运行 MRP前总要创建一大堆的 BOM资料 ,用户操作起来十分繁琐 ,因而可以设计两个 BOM数据表.一个作为 BOM的模板 ,另一个作为真正运行 MRP时参照的 BOM表.为了增加系统的易操作性 ,还需要提供 BOM复制、粘贴等强大的人机交互界面.
2. 2 物料低层码属性的设计
在系统设计过程中 ,要为每种 MRP运算的物料增加一个低层码的属性. 如果没有增加低层码的属性 ,MRP运算极有可能得到错误的结果 ,甚至与实际需求相差很远.一般的设计人员可能会根据 BOM的结构关系 ,很容易得到一个递推的运算:由最终产品的毛需求减去当前库存 ,得到净需求 ,由净需求、提前期、安全库存等信息推算出实际投产日期和实际数量 净需求 ;由本级物料的净需求及 BOM结构的数量比关系计算
出下一级物料的毛需求 ,再由毛需求和当前库存信息 ,计算得到净需求 ……依次循环 ,直到不再有下层物料为止.但是这种不带低层码的运算往往因为重复多次减去当前库存或者其他的原因而导致错误结果. 回顾图 1的产品结构 , C既是 X的下属物料 ,也是 Y的下属物料 ,但 C是 X的第一层下属物料 ,是 Y的第二层下属物料. C在 X产品的 MRP运算中由在 X中推算出的 C的毛需求减去当前库存 ,及综合安全库存等参数计算净需求 ,再进行下级的 MRP运算;同时在 Y产品的 MRP运算中也由在 Y中推算出的 C的毛需求减去当前库存 ,及综合安全库存等参数计算净需求,再进行下级的 MRP运算.可见 ,在计算非最终产品物料的净需求时 ,很有可能重复多次减去自身的当前库存 ,得到错误的 MRP运算结果.如果增加了低层码的属性后 ,则可以避免这种情况.低层码是指某种物料在整个 MRP运算系统中所有物料 BOM的最大的层次码.如图 1中 ,C在 X产品的层次码为 1,而 C在 Y产品的层次码为 2,因而 C的低层码为 2 假设 C不再作为其他的物料的下属物料 .增设低层码属性后 ,按照低层码由小到大的顺序进行MRP运算 ,则不会出现某些重复计算而导致错误.除了增加低层码的属性外 ,系统须提供自动设置低层码这个参数属性的功能 ,无需用户手动设置. 不然 ,用户难以准确确定企业内成千上万种物料的低层码 ,导致 MRP的运算无法正确运行.自动设置低层码的算法可以由下至上反向检索法确定物料的低层码.结合具体的关系数据库管理系统 ,可以定义两个反映上下级关系临时表进行运算.设置加工物料清单 BOM中某个物料的低层码的算法如下所示.
1 创建两个反映上下级关系临时表和低层码变量;
DECLARE@父表 TABLE 物料编码 VARCHAR( 30)
DECLARE@子表 TABLE 物料编码 VARCHAR( 30)
DECLARE@低层码 INT
这种定义表结构型的变量是 Microsoft SQL Server特殊的语法 ,这种临时表仅仅在某个执行查询的进程中存在 ,查询进程执行完毕后即释放资源.
2 往子表中插入一行要确定低层码的物料编码;赋值变量“@低层码 ”为零;
3 清空“@父表 ”中所有原有的记录 ,以“@子表 ”中的记录作为子物料项 ,在加工物料清单 BOM中查找其所有的直接上级物料 ,并且插入到“@父表 ”中;
4 检查“@父表 ”的记录行数,如果“@父表 ”的记录行数等于 0,则转 6 ;否则转 5 ;
5 变量“@低层码 ”自增 1,清空“@子表 ”后 ,将“@父表 ”的数据复制到“@子表 ”中 ,转 3 ;
6 在加工物料清单 BOM中 ,将变量“@低层码 ”的值更新物料的“低层码 ”属性.

2. 3 提高 MPS和 MRP运算的精度
在主生产计划 MPS和 MRP的运算过程中 ,时段跨度细致到以天为单位进行运算 ,计划运行结束后再将物料需求按照时间段汇总.在绝大部分介绍 MPS和MRP运算的资料中 ,为了使计划的结果平稳 ,不致产生时而加班加点 ,时而企业停工的急剧振荡的计划 ,推荐 MPS和 MRP的运算针对时间段进行;但是这种按照时间段进行运算的 MPS和 MRP的结果准确度会变得很低.在 MPS和 MRP的运算中 ,如果先按照时间段
汇总需求数量 ,再逆向推算该时间段内物料的投产日期和数量 ,这样将一段时间内的需求演化为某一个时刻的需求 ,使得该物料的某个 BOM结构层次的计划的最大误差范围为这个时间段的长度 ,平均误差为时间段长度的一半.令第 i层下级物料计划的时间段长度为 T ,则具有 N层下级物料的物料需求计划的最大误差为 平均误差为 就图 1中Y产品来看 ,假定每层物料的需求计划运算的时段跨度均为一周 ,则最低层的物料需求计划的需求时间的最大误差达到四周 ,如此的 MRP运算精度实在让人难以接受.为了解决这种 MRP运算精度及产生振荡性计划的矛盾 ,我们可以不划分时间段或者说时间段细致到天来运行 MPS和 MRP,运行完毕后 ,再按照时间段来汇总物料的需求 ,这样能够提高 MPS和 MRP运算的精度.如果为了使生产计划和物料需求计划更加平稳 ,可以对主生产计划的需求量进行预处理 ,按照一定算法将集中于某一天的订单需求量均衡地分布到之前的一段时间内 ,再运行 MPS和 MRP,然后按时间段来汇总物料的需求.这样 ,便解决了 MRP运算精度及产生振荡性计划的矛盾.
2. 4 MPS和 MRP的运行参数自适应调整
系统对 MPS和 MRP的运行参数如提前期、安全库存等等应当具备自行修正的功能.提前期、安全库存等也是影响 MPS和 MRP运算精度的重要参数 ,而这些参数往往是一个经验值 ,而且由于物料众多 ,难以保证参数的准确性 ,因而系统运行过程中应当对这些参数进行修正 ,系统的精确度才会越来越高.具备自行修正参数功能的 MRPⅡ/ERP系统就是自适应的 MRPⅡ/ERP系统. 要设计自适应的 MRPⅡ/ERP系统 ,就要对实际执行的情况进行数据采集 ,然后和计划的数据进行对比 ,再依照一定的算法进行修正.
3 结 论
如果企业生产的产品繁多,产品结构关系复杂 ,在保证对客户反应的一定的敏捷程度上是很难甚至不可能做到零库存的 ,只能在不降低客户服务水平 ,尽量降低库存 ,优化生产 ,节减成本.至于如何实现这个目标 ,需要结合企业的具体情况进行具体分析和设计 ,在进行系统的分析和设计过程中 ,要尽可能地细心 ,考虑周全 ,方可以设计出适合用户的 MRPⅡ/ERP系统.


 

本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。

责任编辑:李鹏
;