系列文章
【管理運(yùn)籌學(xué)】第 8 章 | 動態(tài)規(guī)劃(1,多階段決策過程與動態(tài)規(guī)劃基本概念)
【管理運(yùn)籌學(xué)】第 8 章 | 動態(tài)規(guī)劃(2,動態(tài)規(guī)劃的基本思想與模型求解)
【管理運(yùn)籌學(xué)】第 8 章 | 動態(tài)規(guī)劃(3,資源分配問題)
【管理運(yùn)籌學(xué)】第 8 章 | 動態(tài)規(guī)劃(4,生產(chǎn)與儲存問題)
【管理運(yùn)籌學(xué)】第 8 章 | 動態(tài)規(guī)劃(5,設(shè)備更新問題)
引言
在生產(chǎn)和經(jīng)營管理中,經(jīng)常遇到要合理安排生產(chǎn)(或購買)與庫存的問題,達(dá)到既要滿足社會的需要,又要盡量降低成本費(fèi)用。因此,正確制定生產(chǎn)(或采購)策略,確定不同時期的生產(chǎn)量(或購買量)和庫存量,以使得總生產(chǎn)成本費(fèi)用和庫存費(fèi)用之和最小,這就是生產(chǎn)與儲存問題的最優(yōu)化目標(biāo)。
四、生產(chǎn)與儲存問題
4.1 生產(chǎn)計劃問題
設(shè)某公司要對某種產(chǎn)品要制定一項(xiàng) n n n 個階段的生產(chǎn)(或購買)目標(biāo)。已知它的初始庫存量為 0 ,每階段生產(chǎn)(或購買)該產(chǎn)品的數(shù)量有上限 m m m 的限制;每階段社會對該產(chǎn)品的需求量 d k d_k dk? 是已知的,公司保證供應(yīng);在 n n n 階段末的終結(jié)庫存量為 0 。問該公司如何制定每個階段的生產(chǎn)(或采購)計劃,從而使總成本最小。
用動態(tài)規(guī)劃方法來求解,把它看作一個 n n n 階段決策問題。令 s k s_k sk? 為狀態(tài)變量,表示第 k k k 階段開始時的庫存量; x k x_k xk? 為決策變量,表示第 k k k 階段的生產(chǎn)量。狀態(tài)轉(zhuǎn)移方程為 s k + 1 = s k + x k ? d k . s_{k+1}=s_k+x_k-d_k. sk+1?=sk?+xk??dk?.
第 k k k 階段的成本費(fèi)用包括生產(chǎn)成本和存儲費(fèi)用兩項(xiàng): c k ( x k ) + h k ( x k ) c_k(x_k)+h_k(x_k) ck?(xk?)+hk?(xk?) ,其中 c k ( x k ) c_k(x_k) ck?(xk?) 表示第 k k k 階段生產(chǎn)產(chǎn)品 x k x_k xk? 時的成本費(fèi)用,一般包括生產(chǎn)準(zhǔn)備成本 K K K 和產(chǎn)品成本 a x k ax_k axk? (其中 a a a 是單位產(chǎn)品成本)兩項(xiàng)費(fèi)用。有 c k ( x k ) = { 0 , x k = 0 K + a x k , x k = 1 , 2 , ? ? , m ∞ , x k > m c_k(x_k)=\begin{cases} 0 &,x_k=0\\ K+ax_k &,x_k=1,2,\cdots,m \\ \infty &,x_k>m \end{cases} ck?(xk?)=? ? ??0K+axk?∞?,xk?=0,xk?=1,2,?,m,xk?>m? K , a K,a K,a 為已知參數(shù), h k ( x k ) h_k(x_k) hk?(xk?) 表示在第 k k k 階段結(jié)束有庫存量時所需的儲存費(fèi)用。其實(shí)第 k k k 階段結(jié)束時庫存量就等于下一階段開始的庫存量,即 x k + 1 x_{k+1} xk+1? 。
最優(yōu)值函數(shù) f k ( s k ) f_k(s_k) fk?(sk?) 表示從第 k k k 階段初庫存量為 s k s_k sk? 到第 n n n 階段庫存量為 0 時的最小總費(fèi)用,其基本方程為 { f k ( s k ) = min ? σ k ′ ≤ x k ≤ σ k { c k ( x k ) + h k ( x k ) + f k + 1 ( x k + s k ? d k ) } , k = n , n ? 1 , ? ? , 1 f n + 1 ( s n + 1 ) = 0 \begin{cases} f_k(s_k)=\min_{\sigma_k'\leq x_k \leq \sigma_k} \{c_k(x_k)+h_k(x_k)+f_{k+1}(x_k+s_k-d_k)\} ,k=n,n-1,\cdots,1 \\ f_{n+1}(s_{n+1})=0 \end{cases} {fk?(sk?)=minσk′?≤xk?≤σk??{ck?(xk?)+hk?(xk?)+fk+1?(xk?+sk??dk?)},k=n,n?1,?,1fn+1?(sn+1?)=0? 其中, σ k = min ? { ∑ i = k n d i ? s k , m } \sigma_k=\min\{\sum_{i=k}^nd_i-s_k,m\} σk?=min{∑i=kn?di??sk?,m} ,一方面每階段生產(chǎn)上限為 m m m ,另一方面需保證 n n n 階段結(jié)束時庫存量能取 0 。 σ k ′ = max ? { d k ? s k , 0 } \sigma'_k=\max\{d_k-s_k,0\} σk′?=max{dk??sk?,0} ,這是為了保證第 k k k 階段的生產(chǎn)量能滿足市場需求。
4.2 不確定性的采購問題
在實(shí)際問題中,還會遇到某些多階段決策過程,與前面所討論的確定性不同,出現(xiàn)了隨機(jī)性因素,狀態(tài)轉(zhuǎn)移不能完全確定,是按照某種已知的概率分布取值的。具有這種性質(zhì)的多階段決策過程稱為隨機(jī)性的決策過程。下面舉一個例子。
(采購問題) 某廠生產(chǎn)上需要在近 5 周內(nèi)采購一批原料,而估計在未來 5 周內(nèi)價格會有波動,單價為 500 的概率為 0.3 ,為 600 的概率為 0.3 ,為700 的概率為 0.4 。試求在哪一周以什么價格購入,能使得其采購價格的數(shù)學(xué)期望最???并求出期望值。
我感覺這類題目還可以改成求采購價格的最大可能、最小可能等等。
按采購期限,分為 5 個階段,設(shè)
y k y_k yk? —— 狀態(tài)變量,表示第 k k k 周的實(shí)際價格。
x k x_k xk? —— 決策變量,表示第 k k k 周是否決定采購,當(dāng)取值為 1 時,表示第 k k k 周采購;取值為 0 時,表示第 k k k 周決定等待。
y k E y_{kE} ykE? —— 第 k k k 周決定等待,而在以后采取最優(yōu)決策時的采購價格平均值。
f k ( y k ) f_k(y_k) fk?(yk?) —— 第 k k k 周實(shí)際價格為 y k y_k yk? 時,從第 k k k 周至第 5 周采取最優(yōu)決策所得的最小期望值。
則逆序遞推關(guān)系為 { f k ( y k ) = min ? { y k , y k E } , y k ∈ s k f 5 ( y k ) = y 5 , y 5 ∈ s 5 \begin{cases} f_k(y_k)=\min\{y_k,y_{kE}\},&y_k \in s_k \\ f_5(y_k)=y_5,&y_5\in s_5 \end{cases} {fk?(yk?)=min{yk?,ykE?},f5?(yk?)=y5?,?yk?∈sk?y5?∈s5?? 其中, s k = { 500 , 600 , 700 } , k = 1 , 2 , 3 , 4 , 5. s_k=\{500,600,700\},k=1,2,3,4,5. sk?={500,600,700},k=1,2,3,4,5.
當(dāng)?shù)? k k k 周實(shí)際價格為 y k y_k yk? 時,若選擇等待,則 y k E = E [ f k + 1 ( y k + 1 ) ] = 0.3 f k + 1 ( 500 ) + 0.3 f k + 1 ( 600 ) + 0.4 f k + 1 ( 700 ) y_{kE}=E\big[f_{k+1}(y_{k+1})\big]=0.3f_{k+1}(500)+0.3f_{k+1}(600)+0.4f_{k+1}(700) ykE?=E[fk+1?(yk+1?)]=0.3fk+1?(500)+0.3fk+1?(600)+0.4fk+1?(700) 。如果 f k ( y k ) = y k E f_k(y_k)=y_{kE} fk?(yk?)=ykE? ,則第 k k k 周應(yīng)選擇等待,即 x k = 0 x_k=0 xk?=0 ;如果 f k ( y k ) = y k f_k(y_k)=y_{k} fk?(yk?)=yk? ,則第 k k k 周應(yīng)選擇購入,即 x k = 1 x_k=1 xk?=1 ;
第一步: k = 5 k=5 k=5 ,此時必須購入,則 x 5 = 1 , f 5 ( 500 ) = 500 , f 5 ( 600 ) = 600 , f 5 ( 700 ) = 700. x_5=1,f_5(500)=500,f_5(600)=600,f_5(700)=700. x5?=1,f5?(500)=500,f5?(600)=600,f5?(700)=700.
第二步: k = 4 k=4 k=4 , y 4 E = 0.3 f 5 ( 500 ) + 0.3 f 5 ( 600 ) + 0.4 f 5 ( 700 ) = 0.3 × 500 + 0.3 × 600 + 0.4 × 700 = 610 y_{4E}=0.3f_{5}(500)+0.3f_{5}(600)+0.4f_{5}(700)=0.3\times 500+0.3\times600+0.4\times700=610 y4E?=0.3f5?(500)+0.3f5?(600)+0.4f5?(700)=0.3×500+0.3×600+0.4×700=610 ,則 f 4 ( y 4 ) = min ? { y 4 , y 4 E } = { 500 , y 4 = 500 600 , y 4 = 600 610 , y 4 = 700 f_4(y_4)=\min\{y_4,y_{4E}\}=\begin{cases} 500,&y_4=500 \\ 600,&y_4=600 \\ 610,&y_4=700 \end{cases} f4?(y4?)=min{y4?,y4E?}=? ? ??500,600,610,?y4?=500y4?=600y4?=700? 可知,當(dāng)?shù)?4 周實(shí)際價格為 500 或 600 時,可以選擇購入;當(dāng)實(shí)際價格為 700 時,應(yīng)等待。
第三、四、五步: 同理,可計算得到, f 3 ( y 3 ) = min ? { y 3 , y 3 E = 574 } = { 500 , y 3 = 500 574 , y 3 = 600 574 , y 3 = 700 , x 3 = { 1 , y 3 = 500 0 , y 3 = 600 , 700 ; f_3(y_3)=\min\{y_3,y_{3E}=574\}=\begin{cases} 500,&y_3=500 \\ 574,&y_3=600 \\ 574,&y_3=700 \end{cases},x_3=\begin{cases} 1,&y_3=500 \\ 0,&y_3=600,700 \end{cases}; f3?(y3?)=min{y3?,y3E?=574}=? ? ??500,574,574,?y3?=500y3?=600y3?=700?,x3?={1,0,?y3?=500y3?=600,700?; f 2 ( y 2 ) = min ? { y 2 , y 2 E = 551.8 } = { 500 , y 2 = 500 551.8 , y 2 = 600 551.8 , y 2 = 700 , x 2 = { 1 , y 2 = 500 0 , y 2 = 600 , 700 ; f_2(y_2)=\min\{y_2,y_{2E}=551.8\}=\begin{cases} 500,&y_2=500 \\ 551.8,&y_2=600 \\ 551.8,&y_2=700 \end{cases},x_2=\begin{cases} 1,&y_2=500 \\ 0,&y_2=600,700 \end{cases}; f2?(y2?)=min{y2?,y2E?=551.8}=? ? ??500,551.8,551.8,?y2?=500y2?=600y2?=700?,x2?={1,0,?y2?=500y2?=600,700?; f 1 ( y 1 ) = min ? { y 1 , y 1 E = 536.26 } = { 500 , y 1 = 500 536.26 , y 1 = 600 536.26 , y 1 = 700 , x 1 = { 1 , y 1 = 500 0 , y 1 = 600 , 700 ; f_1(y_1)=\min\{y_1,y_{1E}=536.26\}=\begin{cases} 500,&y_1=500 \\ 536.26,&y_1=600 \\ 536.26,&y_1=700 \end{cases},x_1=\begin{cases} 1,&y_1=500 \\ 0,&y_1=600,700 \end{cases}; f1?(y1?)=min{y1?,y1E?=536.26}=? ? ??500,536.26,536.26,?y1?=500y1?=600y1?=700?,x1?={1,0,?y1?=500y1?=600,700?; 綜上,最優(yōu)采購策略為:前三周,價格為 500 就購入,否則等待;第 4 周時,如果還沒購入,價格為 500 或 600 時就購入,否則等待;第 5 周時,如果還沒購入,不管怎么樣都應(yīng)該購入。
按照上述策略進(jìn)行采購時,采購價格的數(shù)學(xué)期望計算如下: E = 500 × ( 0.3 + 0.7 × 0.3 + 0. 7 2 × 0.3 + 0. 7 3 × 0.3 + 0. 7 3 × 0.4 × 0.3 ) + E=500\times(0.3+0.7\times0.3+0.7^2\times0.3+0.7^3\times0.3+0.7^3\times0.4\times0.3)+ E=500×(0.3+0.7×0.3+0.72×0.3+0.73×0.3+0.73×0.4×0.3)+ 600 × ( 0. 7 3 × 0.3 + 0. 7 3 × 0.4 × 0.3 ) + 700 × ( 0. 7 3 × 0.4 × 0.4 ) = 525.382. 600\times(0.7^3\times0.3+0.7^3\times0.4\times0.3)+700\times(0.7^3\times0.4\times0.4)=525.382. 600×(0.73×0.3+0.73×0.4×0.3)+700×(0.73×0.4×0.4)=525.382.
還好前幾天復(fù)習(xí)了下概率論,要不這個數(shù)學(xué)期望還真不太好理解。文章來源:http://www.zghlxwxcb.cn/news/detail-771170.html
寫在最后
對于確定型生產(chǎn)計劃問題,其實(shí)和資源分配問題有點(diǎn)像,只是多加了一部分回收的費(fèi)用;而對于不確定型采購問題,則有點(diǎn)難以理解,建模難度較高,不過求解方法和前面類似。文章來源地址http://www.zghlxwxcb.cn/news/detail-771170.html
到了這里,關(guān)于【管理運(yùn)籌學(xué)】第 8 章 | 動態(tài)規(guī)劃(4,生產(chǎn)與儲存問題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!