Inventory Control(存貨管理)(3)-需求隨時間變動



Dynamic Lot Sizing


接續第二篇文章所述的現在要來處理需求是變動的情況下的批量大小決定問題。回顧我們第一篇文章所說EOQ用到的六個假設,第四點說到,市場的需求是不隨時間而改變,然而實務上我們遭遇到的情況是客戶的需求是會隨時間而變動,所以我們必須挪除地4點假設-需求是不隨時間而改變。而形成每個時間點的需求可不一樣,因此有動態批量(Dynamic Lot Sizing)的出現。
在此我們用逐批解決(Lot-for-Lot Solution) Wagner-Whitin dynamic lot-sizing procedure來瞭解動態批量存貨模式。首先我們將問題先公式化(Problem Formulation),以下是會用到的符號(Notation)部分:
t:時間指標,為一段時間(a period),舉例而言可以是日、週、月等,t=1,…TT在此為計畫的區間。
Dt:代表在時間區段t內的需求量。
Ct:代表在時間區段t內,單位生產成本。
At:代表在時間區段t內,固定或準備成本。
Ht:單位存貨從時間t存放到t+1時所需的存置成本。
Qt:為決策變數,代表在時間區段t時的訂單或批量大小。
從此就可以看出,在這個模式當中,我們容許隨著時間不同,我們的需求量可以不同、成本也可不同。
圖一 動態批量大小決定例題資料(擷取自Factory Physics page.59)
從例題(參考圖一)來看,第一個解決策略是-逐批解決(Lot-for-Lot Solution),每個區間都是製造符合該區間所需要的數量,從表上(參考圖二)可看到並沒有存貨成本,因為生產完成後就送出去滿足顧客需求。
圖二 以逐批解決(Lot-for-Lot Solution)處理圖一問題(擷取自Factory Physics page.60)
那如果我們採取不同的解決策略,改用固定訂單大小(批量大小)(Fixed Order Quantity)的解決方式,以本例題來說(參考圖三),每一次有需求,固定生產的量為100。以t=1來看,第一個時間區段,需求20,生產100,而我們則會有80個剩下當存貨,當期的成本就是準備成本100加上存貨產生的存置成本80。第二個時間區段(t=2),因為上一期還有存貨能滿足當其需求50,所以不用進行生產,當其成本只有剩下30個的存置成本。
圖三 以固定批量大小(Fixed Order Quantity)處理圖一問題(擷取自Factory Physics page.60)
從以上兩個解決方法來看,我們可以發現逐批決定的,其成本都會花在設置成本(Setup cost),因為每當有需求,都需要進行生產;而在固定批量大小的狀況下,每一期的需求不一定需要進行生產才能滿足,而是可能由上一期剩餘的存貨數量來滿足,雖然可以減少設置成本發生的次數,但付出的代價就是需要有存置成本。因此後續的解決問題的想法就是,如何設計一個方式既滿足顧客需求,又使得這兩種的成本總和可以最小化。那就是我們後續要介紹的Wagner-Whitin dynamic lot-sizing procedure


Wagner-Whitin dynamic lot-sizing procedure



他所擁有的特性(Wagner-Whitin Property)建立在最佳化的批量大小政策下,可能是帶本期(t)到下一期(t+1)的存貨數量為0,亦或是在下一期(t+1)時所生產的數量為0

有了這樣的政策(法則),我們可以藉由列舉出所以可能的生產組合,算出計算出最小的成本生產排程。不過因為每一期我們都必須決定生產與不生產,所以當期數有N時,生產的組合數會有2N次方減1個可能。因此於1958年,WagnerWhitin就提出一個演算法來讓電腦可以運算。
而其演算法的步驟如下:

步驟1 (Step )I:第一期,我們需要滿足當期需求D1,由於一開始不會有存貨,所以必須要生產才能達成。

步驟2 (Step II):逐期納入考慮,找尋使1~K期的總生產成本Z*為最小成本者。直到k+1期時,produce k+1的成本,會讓總成本最小,則此時j1*~jk*都為1,而jk+1*k+1

步驟3 StepIII:重複第二步驟,直到所有期數的需求皆被滿足為止。

以上是從書中舉例簡化而得,而詳細對於此演算法的解釋,還是可以參考維基百科上的敘述。而以同一個例子來看,則此方式求出的解決結果如下圖四。
圖四 以WW方法處理圖一問題(擷取自Factory Physics page.64)



雖然此方法是一個不錯的動態決策方法,可以應付變動的需求(Demand),不過方法與現實違背的部分有以下幾點,

  1. 假設其準備成本(Setup cost)為固定的,也就是不管批量生產多少準備成本都一樣,不過以一般情況下,批量越大,我們的準備成本應該是會增加的。 
  2. 需求與生產是確定性的(Deterministic demand)。然而現實上,預測需求量與實際需求量之間還是會有落差,也就是需求存在不確定性生產可能也會存在有品質問題等不確定性,導致生產出來的數量可能略低於預期,而造成無法滿足需求。 
  3. 假設是獨立的產品,不同的產品不會運用到相同的資源,然而現實可能多種產品同時需要使用到一樣的機台去做生產

由於WW的原則是當有存貨時不生產,但他沒有考量到有時我們會有安全存貨讓存貨數量不為0,也沒有考慮生產中產生的隨機問題,如品質問題(良率過低)
因此既然在大部分的生產現場都要有一定數量的存貨,那麼我們就要有應對的存貨管理,讓我們既可以滿足顧客需求,同時也將存置成本控制在我們可以接受的限度。

 Inventory Control Policy

我們都知道現實的生產系統通常都會有存貨,然而對於不同的存貨,我們的管理應該要有差異。因此要介紹一個ABC(存貨)分類。典故是義大利的經濟學家Pareto(1848-1923),他發現80%的土地(財富)是掌握在20%人手上,少數比例的人擁有大部分的財富。我們把這樣的概念,用在存貨的分類上,A類代表產品佔產品種類5~10%但他的年總生產量加總佔70~80%C類則是80%左右的產品,只會佔年總生產量的10%

那我們就可以依照這樣的分類方式,制定出不同的控制原則(Control policy),例如:

  •  A類產品,存貨流動頻率較高,我們可能就需要較為頻繁的去檢視他的存貨數量(狀況)
  •   C類產品,使用頻率很低,建議的方式為如果品項較貴的則是不要保有存貨(考量到存置成本會過高),而便宜的則是可以保有較高的存貨(存置成本低,則首重滿足顧客需求)
  •  B類產品的處理方式,則介於兩者之間

而對於存貨的管理,有個指標,我們稱為存貨周轉率(Inventory turnover),從整個系統銷售出去的總金額除以平均存貨水準,越高越好,以同樣銷售金額來看,其平均存貨水準低,才能達到較高的存貨周轉率,也就是同時間停滯於工廠內的資金較少,比較能銷售的出去。而存貨周轉率對於不同產品,有不同的高低標準。如有使用期限的產品,通常其存貨周轉率就比較高,如:鮮奶;然而一部分產品,則是可以存放比較久,產品本身也不太會變質導致產品價值降低,因此存貨周轉率就相對不高。

在上述敘述了這麼多的存貨管理的原則與方法,在這個章節還是有其取捨(tradeoffs)的問題。

  • 設置(Setups,隨稱改機)與存貨。存貨要低,代表批量要低,因此需要較多的改機次數,因此會負擔較多改機成本上。 
  • 顧客的服務水準,維持較高存貨,顧客的需求容易滿足不至於導致缺少,但付出的代價就是較多的存貨成本。 
  • 系統內不確定性或是變化性,如:需求、產能等,也會導致需要較高的存貨水準,以安全存貨的概念,來消彌不確定性的影響。

不過上述的幾個取捨問題,後來也有不同的解決方案。如JIT,就是把改機成本視為可以改善的對象。利用技術,讓改機成本降低、速度變快,把原先EOQ中當作固定的改機成本,試圖讓他下降,達到即使改機次數多,成本也不會顯著提的效果,如:SMED(Single Minute Exchange of Die)

存貨模式與前面討論過的觀點,都提供型式讓我們一個從高層級的方式來改善取捨的本質。如我們可以增加系統的彈性、更好的存貨管理、改進品質(增加良率)。而後續的文章則將講述,如何在更進一步地貼近現實,存貨模型的建立,來作為存貨管理的依據。

留言

  1. 請問可以問您一題Wagner-Whitin的問題嗎? 謝謝您!

    回覆刪除

張貼留言