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