摘要:集成化庫存管理是供應鏈管理的核心內容之一,是提高供應鏈同步化程度的一種有效方法,其目的是在減少安全庫存和庫存總量的同時降低缺貨率。文章闡述了由單個生產商多個銷售商組成的生產系統不可靠的二級供應鏈系統,即庫存—運輸—維修,建立了一個一體化庫存模型。
關鍵詞:集成化庫存;遺傳算法;部件替換
中圖分類號:TP391 文獻標識碼:A文章編號:1006-8937(2014)18-0006-03
在模型中,假設生產商的生產設備有一個關鍵部件,其發生故障的時間服從負指數分布,故障率是生產率的增函數。為了增加設備的穩定性和減少各銷售商的庫存水平,模型中采取了部件替換的維修策略和一次訂購多次運輸的運輸策略。建立模型的目的是確定備用部件的個數,各銷售商的運輸次數,訂購周期和生產率,使系統單位時間的總成本最小。
1符號說明與模型假設
1.1符號說明
N為銷售商個數;Di為第個銷售商的需求率,i=1,2…,N;p為生產率(決策變量);T為生產商的生產周期或各銷售商的訂購周期(決策變量);Ai為銷售商的訂購費;S為生產商的準備費;HV為生產商單位時間單位產品的庫存費;Hbi為第個銷售商單位時間單位產品的庫存費;ATi為每次運輸的固定運輸費;α為關鍵部件處于非控制狀態時,單位時間的廢次產品率;c為每個備用部件成本;m為關鍵部件的備用個數(決策變量);ni為在一個訂購周期內,第個銷售商的運輸次數(決策變量);ω為每件廢次產品的處理費。
1.2模型假設
①考慮由一個生產商多個銷售商組成的二級供應鏈系統,生產單一產品;②生產系統由一臺機器構成,該機器有一個關鍵部件,其工作狀態隨生產的進行逐漸惡化。在生產期初,機器處于正常工作狀態,沒有廢次品產生。生產進行一段時間后,由于關鍵部件的惡化,機器處于非可控制狀態,此時,有廢次產品出現,其廢次產品率為a。關鍵部件的工作狀態從可控狀態轉為非可控狀態的時間服從負指數分布,其分布函數記為#981;(p,t)=λ(p)e-λ (p)t,λ(p)是生產率p的一個增函數;③為了減少廢次產品,在生產過程中,一旦關鍵部件變為非可控狀態,如有備用部件,立即用備用部件替換;④備用部件與關鍵部件的工作性能相同,替換時間和報廢部件的處置費忽略不計;⑤生產商的生產周期與銷售商的訂購周期相同。銷售商實行一次訂購多次運輸的策略,每次的運輸量相等,但各銷售商之間每次的運輸量可不相同;⑥生產商對銷售商的產品運輸按如下運輸策略進行:首先對銷售商進行排序,不妨設為1,2…,N,然后,按該順序對各銷售商組織第一次運輸。且在向某個銷售商組織第二次運輸之前,每個銷售商都得到了第一次運輸;⑦生產商在生產完成后,對廢次產品進行再處理,使其為等量的正常產品,但每件廢次產品的處理費為ω;⑧單位產品的生產成本C(p)是生產率p的函數,設C(p)=r0+r1/p+r2p,其中r0表示單位原料費;r1/p表示生產單位產品所消耗的勞動力,隨生產率的增大而降低,r2p表示生產單位產品所需的設備,隨生產率的增大而增大;⑨生產率大于各銷售商的需求率之和,即p>Di。
2模型建立
建立模型目的是求備用部件個數,運輸次數,生產或訂購周期,生產率和第一次運輸順序,使得供應鏈系統單位時間的總費用最小。系統的總費用包括各銷售商的訂購費、產品庫存費、運輸費和生產商的產品成本費、生產準備費、庫存費、備用部件的成本費以及廢次產品費。系統的整個庫存水平如圖1、圖2所示。
下面分析生產商的各種費用:
為了求生產商的平均庫存量,假設生產商按1,2…,N的順序對銷售商進行排序,并按該順序組織第一次運輸,則銷售商的累積庫存水平如圖3所示,其中小矩形的面積之和為各銷售商的累積庫存之和。
生產商向第i個銷售商運輸產品的最后一次運輸時間為:LTi=+(n-1),i=1,2…,N;
設生產商在一個生產周期內的最后一次運輸是運送給第個銷售商,則生產商庫存清空時間為:
LTk=max{LTi1≤i≤N}
第k個銷售商的累計庫存量為:
Sbk=Dk
(nk-1)+
(nk-2)+…+
=DkT2
第i(i≠k)個銷售商的累計庫存量為:
Sbk=Di
(ni-1)+
(ni-2)+…+
+niDi(LTk-LTi)=DiT2[+(LTk-LTi)]
因此,銷售商單位時間的平均庫存費為:
Iv(p,T,ni)=[(DiT)2+DiT(LTk-DiT)-Sbi]
=
Di(p-
Di)+
(
Dj-Hv)(1)
由于每個部件從可控制狀態轉為非可控制狀態的時間是服從獨立同分布的負指數分布,設第個部件的正常工作時間為ti,則m+1個部件的正常工作時間Y=ti是一個隨機變量,且服從Gamma分布,其分布函數為ψ(Y)=。生產商在一個生產周期內的生產時間Ti=DiT/p,所以,生產商單位時間的廢次產品費為:
Cu(p,T,m)==ap(Ti-p)dY
=(2)
其中Γ(ξ)=xξ-1e-xdx,Γ(ξ,z)=xξ-1e-xdx。
于是,生產商單位時間的總費用:TCV(p,T,m,ni)=備用部件費+生產準備費+產品庫存費+維修費+產品成本
=+IV(p,T,ni)+Cu(p,T,m)+(r0++r2p)Di(3)
又由于銷售商單位時間的總費用為:
TCb(T,ni)=(Ai+niATi)+Thbi(4)
其中,第一項表示銷售商單位時間的訂購費與固定運輸費之和,第二項表示銷售商單位時間的產品庫存費。
因此,對于給定的運輸順序,系統單位時間的總費用為:
JTEC(p,T,m,ni)=TCb(T,ni)+TCV(p,T,m,ni)
=
Di(p-
Di)+
(
Dj-Hv)+
+
cm+S+(Ai+niATi)+(r0++r2p)Di(5)
s.tDi
≥(7)
ni≥1,m>0,且ni,m為整數,i=1,2……,N(8)
其中約束條件式(6)表示生產率大于銷售商的需求率之和,但不大于最大生產率;約束條件式(7)表示各銷售商在得到一次運輸之后,再進行第二次運輸;約束條件式(8)表示在一個生產周期內每個銷售商至少得到一次運輸。由式(1)知,生產商單位時間的庫存費與銷售商的運輸順序有關,而對銷售商進行運輸順序安排,受許多因素的影響,例如銷售商的需求量大小、重要度、單位時間的庫存費等。這里,僅根據經濟訂購批量公式按訂購周期從小到大的順序對銷售商進行排序。對給定的運輸順序,優化問題(1)(5)是一個有約束的非線性混合整數規劃問題,且目標函數既不是凸函數也不是凹函數。為了得到模型的最優解,下面利用實數編碼的遺傳算法進行求解。
3實數編碼的遺傳算法
為研究問題的方便,將模型改記為如下簡單形式:
Minf(x,y)=JTEC(p,T,m,ni)(9)
s.tgi(x,y)=-≥0,i=1,2……,N
xL≤x≤xu,yL≤y≤yu
其中x=(p,t)表示連續變量,y=(m,n1,n2…,nN)表示整數變量,xL,xu,yL,yu分別是x,y的上下界。
3.1染色體表示
為了避免二進制編碼方式引起的計算精度下降,采用實數編碼,即直接采用原始變量構成染色體。設第j個染色體Vj=(xj,yj),其中,xj是二維連續變量,yj是N+A維整數變量。
3.2評價函數與約束條件處理
首先,定義刻劃一個個體(x,y)違反約束程度的度量
voil(x,y)=max{0,-gi(x,y)}
然后,對事先給定的常數ε,比較—比例方法按照如下準則比較兩個個體(x,y)和(x',y')的優劣:①當兩個個體(x,y)和(x',y')都可行時,比較它們之間的適應值f(x,y)和f(x',y'),適應值小的個體為優;②當兩個個體(x,y)和(x',y')都不可行時,比較違反約束程度voil(x,y)和voil(x',y'),違反約束程度小的個體為優;③當(x,y)可行而(x',y')不可行時,如果voil(x',y')≤ε,比較它們之間的適應值f(x,y)和f(x',y'),適應值小的個體為優;否則,(x,y)為優。顯然,ε越大,群體中不可行解的比例就可能越高,為了將群體中不可行解的比例保持在一個事先給定的合理水平#1051771;,引入如下的適應性調整策略:對給定的正整數K,從群體中產生可行解的第一代起,每進化K代后,計算每一代中不可行解的比例,修正ε為ε',即
ε'=1.2ε如果所有比例<#1051771;,
0.8ε如果所有比例>#1051771;,
ε 其它(10)
3.3選擇
根據適應值、voil值和ε值,按照比較準則用競爭選擇方法執行遺傳算法的選擇操作,并且將當前種群中適應度最高的可行個體復制到下一代種群中去。
3.4交叉
①從當前種群中隨機選擇兩個父代染色體V1=(x1,y1),V2=(x2,y2)。②在[0,1]上,產生一個隨機數c,利用算術交叉進行交叉:V1'+cx1+(1-c)x2+[cy1+(1-c)y2],V1\"+cx1+(1-c)x2+[cy1+(1-c)y2],V2'+cx2+(1-c)x1+[cy2+(1-c)y1],V2\"+cx2+(1-c)x1+[cy2+(1-c)y1]其中[x]表示不大于x的最大整數,[x]表示不小于x的最小整數。③擇優選擇,分別從V1',V1\"和V2',V2\"中,選擇一個適應值最大的個體作為下一代的子代。
3.5變異
對連續變量實行非均勻變異,對整數變量實行均勻變異,即假設第j個個體Vj=(xj,yj)被選中進行變異操作,產生一個0-1隨機變量,則變異后的個體為:
Vj'=Vj+Δ(gen,(
V-Vj)當隨機量為0
Vj-Δ(gen,(Vj-
V)當隨機量為1
其中Δ(gen,t)=[0,t]的整數對整數變量
t[1-γ(1-gen/Maxgen)b]對連續變量,γ為[0,1]內的一個隨機變量,b為正實數。
4模型求解與數值例子
根據上述遺傳操作,模型求解的具體步驟為:①根據經濟訂購批量公式按訂購周期從小到大的順序對銷售商進行排序;②利用實數編碼的遺傳算法求解優化問題,其具體過程描述如下:
begin
輸入參數;
設置初始代數gen=0;
隨機生成初始群體p(0);
計算初始群體中每個個體的適應值和voil值;
判斷有無可行解,如有則計算不可行解的比例。
while (終止條件不滿足)do
gen=gen+1;
根據適應值、voil值和ε值,按照比較準則用競爭選擇方法從P(gen-1)中選擇出群體P'(gen);
根據交叉概率用交叉方法對P'(gen)中的個體進行交叉操作,得到群體P\"(gen);
根據變異概率用變異方法對P\"(gen)中的個體進行變異操作,得到群體P(gen);
計算P(gen)中個體的適應值和值,判斷有無可行解,如有則計算不可行解的比例;
在群體中第一次出現可行解后,每隔K代,按公式(10)和不可行解的比例η修正ε的值。
end
end
當令a=0,r0=r1=r2=0時,即不考慮生產設備的穩定性和產品的生產成本時,生產商的數據如下:S=200元/次,HV=4元,p=55 000件/月,銷售商的數據見表1。
利用上述實數編碼的遺傳算法對一個銷售商A,兩個銷售商A,B,三個銷售商A,B,C所計算出的結果與文獻[9]的數值結果的比較見表2。對生產系統不穩定的一般情況,另設,c=50元/件,ω=5元/件,r0=1,r1=2×105,r2=9×105,a=0.1,β=0.4,γ=0.1,λ(p)=apβ,P#1048992;[4 000,75 000],其計算結果見表2、表3。
5結語
本章對由單個生產商多個銷售商組成的生產系統不可靠的二級供應鏈系統,研究庫存—運輸—維修問題,建立了一個以備用部件個數、銷售商的運輸次數、訂購周期和生產率為決策變量的一體化庫存模型。在模型中,為了控制生產設備的穩定性和減少各銷售商的庫存水平,采取了部件替換的維修策略和一次訂購多次運輸的運輸策略。由于所得的模型是一個有約束的非線性混合整數規劃問題,文章加以改進,設計了一個實數編碼的遺傳算法。
參考文獻:
[1] 陳宏,何小榮,陳丙珍,等.基于遺傳算法的煉油廠多周期生產庫存管理優化[J].清華大學學報(自然科學版),2004,(3).