技術交流

MRP 計算的經典範例說明

更新於

MRP 源自美國 60 年代初,最初是針對當時製造企業生產管理中存在的普遍問題,以及傳統庫存控制方法的不足,而提出的一種庫存管理技術。它是物料需求計算器,根據對產品的需求、產品結構和物料庫存資料,來計算各種物料的需求,將產品出產計畫變成零部件投入、出產計畫和外購件、原材料的需求計畫,從而解決了生產過程中需要什麼? 何時需要?需要多少?…等問題。

MRP的需求量計算邏輯

需求量計算邏輯
  • 首先由成品需求來源,如銷售訂單 ( S/O ) 及銷售預測 ( F/O ) 對沖,產出需求資料,經人為考量及調整後,就是主生產計畫 ( MPS ) 。
  • 將該成品的供給與需求,依據日期排序,Check 每個日期點的庫存可利用量是否大於等於零。庫存可利用量 ( INV ) = 供給 - 需求;供給包含:庫存、採購單、製令單 ( 含委外 )
    需求包含:訂單、預測、製令用料單、安庫量
  • 針對供給不足者,依據料件自製採購碼,產生建議製令 ( eW/O ) 或建議採購 ( eP/O )。
  • 假如產生的是建議製令,則展出其所屬子階料件 ( BOM ),再 Check 所屬子階料件的供給需求,如此重複 2. & 3. & 4.,直到全部子階展算完畢為止。
  • 關於供給/需求的單據計算條件:
    1. 有效單據才可含括進來,及 Status = “OPEN”的。
    2. 有效數量 = 訂單數量 – 已實現數量 (如已出貨/已驗收/已領料/已繳庫)。

MRP 的日期計算邏輯

日期計算邏輯

MRP 計算供給不足而產生建議製令 ( eW/O ) 或建議採購 ( eP/O )單時,其單據的相關日期計算公式如下:

  • 訂單預計出貨日:我方裝箱上貨櫃 ( 貨運 ) 的日期。
  • 工單預計完工日:訂單預計出貨日 – 生產後整備(品檢/理貨)時間。
  • 工單預計投料日:工單預計完工日 – 料件生產前置期。
  • 採購單預計交貨日:工單預計投料日 – 收料後整備(品檢/理貨)時間。
  • 採購單預計下單日:採購單預計交貨日 – 料件採購前置期。
  • 急單:採購單預計下單日在今天之前,即是為急單,因前置期不足。

上列公式必須再扣除例假日 ( 於工廠行事曆設定 ),也就是碰到假日,日期必須再往前調整。

MRP物料需求日程表範例及說明

  • 料件庫存 ( BOH ) 195PCS。
  • 因為父階需求 3500 x BOM 表標準用量 0.06,所以製令 ( MO ) 用料需要 210PCS。
  • 195 減 210,庫存不足 15PCS,所以 MRP 產生了建議採購單 ( EPO ) 15PCS。
  • 因為設定廠內整備 ( 品檢 / 理貨 ) 時間 2 天,所以 EPO 15PCS 的供給日期為 07/14。
  • 以下同理。

RUN MRP的條件

  • BOM 表要正確,子階用量、損耗率等要正確。
  • 基本資料:各種前置期 ( L.T ) 要正確。
  • 庫存要正確,準確率必須 98% 以上。
  • 各類供給 / 需求單據要正確,包含日期、數量、結案與否。

哪些生產型態的公司不需要 RUN MRP?

  • 原材料共用性高的行業,或原物料採季或年採購者,比如金屬加工業、螺絲業、某些化工配方業 (如電感)。
  • 原材料 ITEM 數少,而半成品 ITEM 較多,成品 ITEM 更多者。

為什麼使用 MRP 的普及率這麼低?

  • 基本管理不紮實,比如上述資料正確率不高時,RUN MRP 就只是垃圾進、垃圾出。
  • MRP 系統效能不佳,RUN 一次MRP需要 5-6 小時,並且只能在下班時間 RUN。所以只好 3 天或一週才 RUN 一次,但是訂單多是急單,不可能 3 天後、甚至下班後才 RUN MRP 去購料!
  • 管理者不能夠真正瞭解 MRP,善用 MRP,所以被一些所謂的 LRP 給替代了。

傳統 MRP 計算的方式系統慢的原因

  • 沒有使用 DB 的 Procedure 功能,大量資料在 DB Server 與 Client 之間流竄,再大的網路頻寬也不夠。
  • 展算觀念落後,以所謂的 “低階碼” ( Low Level Code, LLC ) 迴圈方式逐階展開。迴圈 ( Loop ) 的效能遠遠落後給一行的 SQL 指令。
  • 沒有使用正確的 Index key,通常是where後面的條件順序不對,以致於 DB 未能使用到正確的 Index key。

上述三點是現有絕大多數 ERP 系統都有的共同問題,也是 MRP 效能不彰的最主要原因。

ArgoERP的MRP計算方式

  • ArgoERP 展算 MRP 全部使用 Procedure:p_mrp_itemdetail:供給 / 需求展開,資料來自各類單據或標準 BOM 表。p_mrp_cal_shortage (‘MO’):針對製造件供給不足者,產生建議製令單 ( eW/O )。p_mrp_cal_shortage (‘PO’):針對採購件供給不足者,產生建議採購單 ( eP/O )
  • 不使用 “ 低階碼 ” 為迴圈 ( Loop ) 逐階展開需求的方式,直接使用 DB PL/SQL 功能,一次展開子階用料。如下 SQL 指令:insert into (...) select ... from structure where ... start with ... connect by prior ...;
  • ArgoERP 團隊擁有台灣最早開始使用 Oracle DB 的人才,對於 DB Tuning 經驗豐富。

好的理論基礎,歷久不衰,雖然已經過了 50 年 ( 60 年代),MRP 仍然是王道。您不需要因為工具不良,而改走變形的 MRP,這樣並沒有真正解決問題的根源。ArgoERP 提供快狠準 (速度/方法/精確) 的MRP系統,提供您模擬試算、提前或延後訂單的建議表、 殘材檢討…等資訊,達成不缺貨、零庫存目標。

閱讀更多