供應鏈單級多週期庫存補貨模型

供應鏈單級多週期庫存補貨模型

1. 經典EOQ模型及其基本假設

1.1. 什麼是EOQ

EOQ,即 經濟訂購批量模型,是庫存模型的理論基礎,也是庫存理論的基礎模型,其核心是:在訂貨成本與庫存成本之間尋找一個平衡,使得訂貨能夠滿足市場預估需求,而且成本最小化。可以用下面的一幅圖來表示,訂貨成本逐漸下降,是因爲隨着訂貨量的增加,可以拿到數量價格折扣,同時單位運輸成本也會下降,這是符合人們的直覺的,但是隻要訂貨就會產生庫存費用,而且庫存費用是遞增的。因此,一定有一個平衡點,使得訂貨成本和庫存持有成本最小化的。
這裏寫圖片描述

基於EOQ模型,學界和工業界根據具體的市場情況發展並豐富了EOQ模型,包括多級庫存理論,需求變化和庫存成本變化的EOQ,時變運輸週期的EOQ,能力受限的EOQ 等,因此,我們要知道,EOQ雖然重要,但是也包含着極大的缺陷,很難直接應用在現實的供應鏈採購和倉儲管理之中,當然現實中還是有很多產品是符合EOQ的基本假設要求的,比如方便麪,牙膏,大米等不受季節因素或其他市場因素明顯影響且銷量穩定的產品,當然,真正頭疼的並不是這類型的產品。

1.2. EOQ基本假設

不管學習什麼數學模型,總是要先看其基本假設和適用範圍,EOQ也不例外。
EOQ的基本假設如下:
- 不允許缺貨,即缺貨費用Cs無窮大。
- 當庫存將至零,可以立即得到補充(生成時間很短,可以近似看做零)。
- 需求是連續的,均勻的,需求速率是R
- 每次訂貨量Q不變,訂購費C0不變(每次生產量不變,裝配費不變)。
- 單位存儲成本不變。

其補貨和庫存變化如下圖:
這裏寫圖片描述

1.3. EOQ的數學推導

一個週期t內的總存儲量爲:

12Qt

一個週期t內的總費用 F(t)=訂購費+存儲費+貨物成本費
=訂購費率 x 訂購次數+總存儲量 x 存儲費率+貨物單價P x 貨物總需求量
= C0×1+12QtCh+PRt

單位時間內的總費用(庫存系統總費用率)爲:

f(Q)=F(t)t=C0×1+12QtCh+PRtt=C0RQ+12ChQ+PR

其中:f0=C0RQ,fh=12ChQ ,前者是單位時間的訂購費,後者是單位時間的存儲費,PR是常數,在考慮存儲系統總費用時,PR可以忽略不計。

最優存儲策略:
在求極值的數學問題中,另導數爲零,可以得到最優的訂購策略。
df(Q)dQ=0 ,得
- 1 最佳訂購批量(或最大庫存量)

Q=2RC0Ch

這就是著名的經濟訂購批量檢查EOQ公式.
- 2 最優存儲週期(訂貨週期)
t=Qt=2C0RCh

- 3 最優總存儲費用
f=f0+fh=2RC0Ch

2. 需求變化的EOQ模型

需求變化的EOQ描述

從經典的EOQ模型假設出發,我們看到,EOQ假設需求穩定且恆定,每個週期的訂貨量都是一定的,而且週期長度都一樣,在現實中有很多產品不是這樣的,特別是有明顯季節性的服裝產品,有明顯生命週期的電子產品,在每個週期內的銷量明顯不一樣,上市前期進行試推廣預售,然後銷量快速上升,過了銷售旺季或者生命週期頂峯後,進入衰退期,銷量趨勢如下圖:
這裏寫圖片描述

動態規劃求解需求變化問題

對於多週期訂購問題,可以通過動態規劃的方法求解。
其實從人腦的簡單思維來說,遇到這種組問題,首先想到的不是什麼算法,而是暴力搜索,一個個數湊總是能湊出來的。而動態規劃,就是暴力搜索的一種改進,可以以你想不到的效率找到最優解,而不是一個個組合參數去嘗試。
多說一個,其實很多智能優化算法,其本質也是這種暴力搜索的改進,本質很是暴力搜索。說來也有趣,智能優化算法是沒有嚴格的數學推導的,但是結果還不錯,比如粒子羣算法,遺傳算法,禁忌搜索算法等。

這裏講一下使用動態規劃求解的方法,使用運籌學中的一個例子說明問題,把生產換成採購,就是最開始說的EOQ問題了。
問題描述如下:
未來3個月的銷量預測已知,爲3w,4w,3w,如果啓動生成,則啓動費用爲3萬每次,而且每個產品的成本是1元,每件產品的每月的存儲費用爲0.7元。
第一個月和第四個月的庫存爲0,求最優生產計劃。

–>1月–>2月–>3月–>4月

變量如下:
k: 表示不同的階段,這裏有4個月,則k=1,2,3,4
Sk:表示月初庫存,因爲第1,4個月的月初庫存爲0,則S1=0, S4=0
xk:表示決策變量,即當月要生產的量,1月肯定是要生產的,因爲此時庫存爲0,而且1月生產的可以留着以後買,如果1月生產未來全部月份的需求,則1月最大生產爲10w,同理,2月生產的只能是2月和3月賣,因此2月最大生產7w,3月最大生產3w。
x1={3,4,5,6,7,8,9,10}, x2={0,1,2,3,4,5,6,7}, x3={0,1,2,3}
狀態轉移方程:

SK+1=SK+xkdk

dk 是每月的需求量,SK 是月初庫存
階段指標函數(成本=生產費用+存儲費用)rk(xk)
rk(xk)={3+xk+0.7Sk,xk>00.7Sk,xk=0

遞推方程:

fk(SK)=Min([rk(xk)+fk+1(Sk+1)],k=1,2st.xk0Sk+xkdk

3. 考慮訂購提前期的EOQ模型

在前面的EOQ假設中,有一個假設就是補貨能力無窮大,能夠做到瞬時補貨。什麼意思呢,就是我在1號下單,貨物馬上就能送到倉庫。這是不符合現實情況啊,就算是京東物流起碼也要半天啊,國內快遞一般2-3天,因此這也是EOQ不合理的地方。
但是不影響我們使用啊,因爲我們可以通過業務流程優化來到達瞬時補貨的功能。
比如,EOQ模型中,4月1號需要補貨,實際的訂購提前期是5天,那麼我們只要在3月25日下達訂單,那麼4月1日就會有一批貨物到達倉庫入庫,和EOQ模型保持一致了。如下圖:

這裏寫圖片描述

4.動態規劃求解多週期庫存python代碼

待補充.

發佈了61 篇原創文章 · 獲贊 163 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章