特別說明:
本文章僅用於SAP軟體的應用、學習溝通,文中所示的截圖來源於SAP軟體,相應著作權歸SAP公司所有。
世人慌慌張張,不過圖碎銀幾兩;
偏偏這碎銀幾兩,能解世間萬種。
前言
上篇文章介紹了手工重訂貨點,本文接下去所要描述的,就是所謂的自動重訂貨點法。將會透過一個實際的測試案例,講述自動重訂貨點法的執行步驟、原理、運算邏輯以及後臺配置。將會介紹自動重訂貨點的運算公式,並透過該公式推導重訂貨點的計算方法,看看SAP系統究竟是怎樣計算出重訂貨點的合理值的。
除此之外,在進行自動重訂貨點計算的同時,SAP系統還在這裡面附加了一個額外的功能,即自動安全庫存。在前面的中,已經探討過安全庫存的含義及其用途。在一般情況下,一種物料的安全庫存值也是由使用者手動維護的,但SAP系統提供了自動計算最佳安全庫存值的方法,這一方法及其運算公式將在推導重訂貨點的同時一併講解。在正式開始的案例測試之前,有以下幾點需要特別說明:
1)將要介紹的是自動重訂貨點以及自動安全庫存的應用方法與運算邏輯,包括其公式構成與公式引數。但將不會從純數學的角度去推導公式的來源與其理論依據。如果需要搞清楚計算公式是怎麼來的,還需要查閱相應的學術文獻。
2)出於簡化測試、突出重點的需要,將採用最基本的趨勢模型作為預測模型使用。其中的平滑因子α和趨勢因子β都直接取自預設值(0。2和0。1)。
3)將要介紹的功能包括了自動安全庫存計算。自動安全庫存計算在執行邏輯上等同於傳統的安全庫存概念,只不過安全庫存值由系統自動算出而已。且自動安全庫存的計算依據為歷史消耗,而非未來需求。
4)從功能上講,自動重訂貨點計算與自動安全庫存計算可以是兩個完全獨立的功能。可以選擇性地應用其中的任何一個,或者二者都用。但在一般情況下,自動安全庫存計算是自動重訂貨點計算的基礎,重訂貨點是在安全庫存的基礎上推算出來的。所以將這兩個知識點合在一個系列裡進行講解。但事實上,這兩者究竟哪個自動、哪個手動,完全可以隨意定製。
系統介紹
同樣對於自動重訂貨點,實現的MRP型別也有2個:
1。VM 自動重訂貨點計劃:完全以重訂貨點生成補貨元素
2。V2 外部需求中的自動重訂貨點:可參考外部需求累計生成補貨元素
對於這2種的區引數區別,還是如前篇前講在於Include ext。reqmts。
但與VB的區別有以下3點:
1)“預測識別符號”(Forecastind。)欄位:“VM”在這個欄位上的值是“+”,即“強制預測”。這說明了凡是分配了MRP型別“VM”的物料,都必須同時啟用預測功能。因為預測功能的執行是自動重訂貨點計算的前提條件,因此不啟用預測,重訂貨點功能就無從談起了。
2)“安全庫存”(Safetystock)欄位:這個欄位被選中,意味著系統將在執行預測程式的同時,自動為相應的物料計算最佳安全庫存值。
3)“重訂貨點”(Reorderpoint)欄位:這個欄位被選中,意味著系統將在執行預測程式的同時,自動為相應的物料計算最佳重訂貨點。
透過以上引數,大概可分析出3個結論:
1:“自動重訂貨點”只是“重訂貨點”的一種罷了。除了重訂貨點值由系統自動運算得出之外,其他功能特性與手動重訂貨點法沒有任何區別。
2:系統是透過預測(Forecast)功能來計算重訂貨點的。這就意味著需要為物料維護預測檢視、預測公式引數以及足量的歷史資料。而基於歷史資料推算最佳重訂貨點與安全庫存的方法,註定與基於計劃獨立需求(PIR)推算未來安全庫存的動態安全庫存法存在本質不同。
3:標準的自動重訂貨點法,已經包含了自動安全庫存運算功能。但可以在上圖介面中自定義是否分別啟用這兩種自動計算。可以只算重訂貨點,也可以只算安全庫存,可以兩者都算,也可以兩者都不算。
更改產成品MRP主資料:
1。MrpType:VM。再選擇這個型別時,必須同時要建立預測檢視主資料,否則儲存不了。
2。ReorderPoint不需要再手工設定值,而是在後面執行預測後會自動生成。但儲存時會有個黃色警告,忽略就OK。
3。自制生產時間:因這物料設定為自制件,故需要填寫自制的提前期,如果是外購的,則要填計劃交貨時間。注:VM型別必須填寫這個時間引數,是計算公式的重要引數。
4。SafetyStock:因後臺也設定了為自動生成,故也不需要填寫。就算手工填寫了,也會被自動覆蓋掉。若不是自動生成,也可以手工填寫。
5。ServiceLevel:。所謂“服務級別”,指的是在多大機率上,希望需求數量可以直接被庫存數量滿足(而不需要透過生產訂單、採購訂單等後續方式)。而這裡維護的“90%”,就意味著對於測試物料而言,希望在90%的情況下,物料的庫存數量大於等於需求數量。而在另外10%的情況出現時,可以接受透過臨時組織生產(冒著各種供應鏈中斷風險)的方式來滿足供貨。在自動安全庫存計算功能中,必須為相應的物料維護“服務級別”欄位。
預測檢視設定以下引數:
1)“預測模型”(Forecastmodel)欄位:這個欄位決定了相應的物料在執行預測的時候將採用哪一種預測模型。在本測試案例中採用的是基本的趨勢模型。
2)“期間識別符號”(PeriodIndicator)欄位:這個欄位描述了在執行預測的時候,歷史資料與預測資料將會基於怎樣的區間而產生。比如在下圖中維護的欄位值是“T”,這就意味著系統將以“天”為單位來執行預測程式。所有的歷史消耗資料將會基於“天”來讀取,而所有的預測資料也將會諸天來生成。本欄位在自動安全庫存的計算過程中起到了非常關鍵的作用。
3)“歷史期間”(Hist。periods)欄位:這個欄位描述了系統每次執行預測程式時,將會讀取多少個期間(之前已經定義了一天為一個期間)的歷史資料。在此維護的值為“10”。
4)“預測期間”(Forecastperiods)欄位:這個欄位描述了系統每次執行預測程式時,將會產生多少個期間的預測值,同樣在此維護“10”。
然後點選“消耗值”(Consumptionvals)按鈕,為測試物料維護歷史消耗資料,如下圖所示:
為回顧下重訂貨點是否會考慮外部需求。對產成品分別建立一個計劃獨立需求和一個銷售訂單。RunMrp後,MD04檢視,發現並沒有補貨請求生成。
同時因為還沒有執行預測程式,所以重訂單貨點也還沒有計算出來,就也沒有重訂貨點的補貨請求。
MM02到預測檢視中,執行預測程式:趨勢因子如上面所說設定,然後儲存。
再去檢視MRP檢視中,就可見Reorderpoint和Safety Stock被自動計算的值填寫。
以及:預測檢視中也記錄了執行預測程式時的引數。通常記錄最後一次的執行資料。
點選“Forecatst values”,進行預測結果介面。就這個結果分析下計算過程。
可以看到,由於採用的預測模型是趨勢模型,因此係統自然而然地為計算出了預測模型中的基準值與趨勢值。但這並不是所要探討的重點。在上圖中,最為關鍵的是,系統在預測結果中為顯示出了基於歷史消耗值與預測模型推算出的安全庫存與重訂貨點。
這就是所謂的安全庫存和重訂貨點的自動計算。每當系統執行物料預測的時候,就會基於最新的計算結果對重訂貨點與安全庫存進行一次更新。因此上圖中所展示的計算結果事實上是隨著每次預測程式的執行而常換常新的。
首先來看一下上圖中的安全庫存值“2766”是怎樣計算得來的。
在本測試案例中,測試物料的補貨提前期為6天;而該測試物料的預測期間標識為“天”(來自於物料預測檢視),也就是說,每一天都是該物料的一個預測基準期間。因此,物料的補貨提前期(6天)大於物料的預測基準期間(1天)。
在上述判定成立的條件下,安全庫存的計算公式為:
公式一:
安全庫存= R ×√W × MAD ( 1。6 *2。449*706 = 2766 )
在公式一中,引數“R”用來描述服務級別(ServiceLevel)與預測準確性之間的相互關係。其計算公
式為:
公式二:
R= 服務因子(Service Factor)× σ
在公式二中,σ為常量,等於1。25,而服務因子(ServiceFactor)則需要根據先前分配給測試物料的“服務級別”(Service Level)經過查表獲得。當然,更簡便的計算方法便是在Excel中使用函式“NORMSINV”。
比如在本測試案例中,分配給測試物料的“服務級別”為“90%”,透過在Excel中使用函式“NORMSINV”,得知相應的服務因子為1。28,再用1。28乘以1。25(σ),就可以得出相應的“R”值為1。6。
公式一中的第二個引數為√W,其中“W”的計算公式如下:
公式三:
W= 補貨提前期 ÷ 預測基準期間
因此可以得出在本測試案例中,引數“W”的值等於6,而√W的值就等於2。449。
而公式一當中的最後一個引數就是著名的MAD(平均絕對差異)。這個值代表了預測值與實際值之間的平均差異,描述了預測結果的精確性。在上圖中,SAP系統已經自動為計算出了這一次預測的MAD值,它大約為706。
現在匯入公式一中的這幾個引數,其運算結果就是的安全庫存值了。
已經推算了安全庫存值的計算。接下來,再來看SAP系統是如何計算重訂貨點值的。
重訂貨點的計算以安全庫存的計算為基礎,其依據為以下公式。
公式四:
重訂貨點= 安全庫存+ 平均日需求量 × 補貨提前期
在這一公式中,安全庫存之前已經探討過了,在本案例中它的數值是“2766”;系統基於預測程式計算出的預測值與預測整體區間,得出預測週期內的平均日需求量,本案例中它的數值是“1039。3”;而對於補貨提前期,在本案例中它的數值是“6”。
將這幾個引數一併代入公式四,就可以得出測試物料的最佳重訂貨點應該為9002。
重新RunMrp後,MD04檢視需求,可見基於安全庫存和重訂貨點數量生成了計劃訂單。
從表面看上去,由系統自動計算出了一個非常低的安全庫存是一件挺好的事情。但由於實際需求的不可測與突發波動性的存在,當系統自動運算出的安全庫存極低時,往往會給人一種心裡發虛的感覺。因此,企業會寧願設定一個最低限度的安全庫存,使自身保有的安全庫存值起碼高於這個手工設定的數量,在此基礎上再由系統對安全庫存進行自動運算。這相當於給安全庫存的自動運算結果設定了一個下限。
設定最小安全庫存,需在執行預測程式之前。複製產成品物料與3000004
但新增了最小安全庫存引數,為方便演示,值比上面自動計算的要大
執行預測程式後,當自動計算的安全庫存值小於最小安全庫存時,結果就會參考最小安全庫存值大小並計算重訂貨點。
另,關於V2型別參考外部需求,更改引數重新RunMrp後,可見計劃訂單增加了50PC。是因為銷售訂單當作外部需求考慮了但計劃獨立需求是不被考慮的。
以上,有參考部分網路文獻進行測試。不足之處歡迎大家指正。
其中涉及到的預測模型以其它功能,並沒有理解透徹。爭取深入研究,有新的收穫再分享給大家。