劉勤明,董航宇
(上海理工大學(xué) 管理學(xué)院,上海 200093)
企業(yè)正常運(yùn)行的前提是能夠?yàn)樯鐣?huì)提供產(chǎn)品或服務(wù),而設(shè)備是企業(yè)運(yùn)行的基礎(chǔ),設(shè)備的狀態(tài)決定企業(yè)是否有能力提供產(chǎn)品或服務(wù),進(jìn)而影響企業(yè)效益。設(shè)備維修與生產(chǎn)計(jì)劃密切相關(guān),設(shè)備維修占用生產(chǎn)資源,過度關(guān)注生產(chǎn)又帶來設(shè)備失效,維修過度又會(huì)降低企業(yè)生產(chǎn)率。如何平衡二者之間的關(guān)系是企業(yè)十分關(guān)心的問題。
設(shè)備維修和生產(chǎn)存在耦合矛盾,因此兼顧設(shè)備維修和產(chǎn)品生產(chǎn),平衡二者的矛盾,開展維修和生產(chǎn)集合計(jì)劃的優(yōu)化研究,為企業(yè)生產(chǎn)提供有價(jià)值的指導(dǎo),具有較高的研究意義。例如Graves等[1]提出單臺(tái)設(shè)備的生產(chǎn)計(jì)劃問題,在計(jì)劃期內(nèi)進(jìn)行一次維修,以加權(quán)總完工時(shí)間最小為目標(biāo);Lee 等[2]將文獻(xiàn)[1]的研究成果擴(kuò)展到并行設(shè)備問題上,但在計(jì)劃期內(nèi)還是只進(jìn)行一次維修。在制定設(shè)備維修計(jì)劃時(shí),很多研究模型一般假設(shè)預(yù)防維修可使設(shè)備恢復(fù)如新,但是由于設(shè)備運(yùn)行受到環(huán)境等因素的影響,這一假設(shè)與實(shí)際情況并不符合。文獻(xiàn)[3-4]提出預(yù)防維修只是使設(shè)備的役齡減少一定值或降低一定比例。文獻(xiàn)[5-8]在研究設(shè)備維修時(shí),提出預(yù)防維修費(fèi)用和維修效果存在線性關(guān)系,以維修費(fèi)用最小為目標(biāo),建立設(shè)備維修計(jì)劃模型。文獻(xiàn)[9-10]研究了已知維修計(jì)劃時(shí),以總完成時(shí)間最短為目標(biāo),運(yùn)用動(dòng)態(tài)規(guī)劃等算法解決生產(chǎn)能力約束下的調(diào)度問題。文獻(xiàn)[11-13]研究了生產(chǎn)計(jì)劃和預(yù)防維修的集成計(jì)劃,但是沒有考慮可靠度對(duì)產(chǎn)品質(zhì)量的重要影響。文獻(xiàn)[14-15]在研究生產(chǎn)調(diào)度與設(shè)備維護(hù)的集成計(jì)劃時(shí),提出工件墮化因子。藍(lán)天皓等[16]研究運(yùn)用基于遺傳算法的啟發(fā)式算法求解單機(jī)預(yù)防維護(hù)與生產(chǎn)批量的集合計(jì)劃。周炳海等[17]研究了基于批量生產(chǎn)模式的混聯(lián)系統(tǒng)雙導(dǎo)向的機(jī)會(huì)維護(hù)問題。但是現(xiàn)有的文獻(xiàn)大多都沒有區(qū)分設(shè)備的閑置狀態(tài)、運(yùn)行狀態(tài)對(duì)維修計(jì)劃和生產(chǎn)計(jì)劃的影響。
本文考慮設(shè)備役齡對(duì)產(chǎn)品加工工時(shí)的影響,引入產(chǎn)品墮化效應(yīng)。同時(shí)考慮設(shè)備閑置與生產(chǎn)的不同狀態(tài),基于設(shè)備的實(shí)際生產(chǎn)運(yùn)行時(shí)間研究設(shè)備故障,制定維修計(jì)劃和生產(chǎn)計(jì)劃,實(shí)現(xiàn)生產(chǎn)與維修費(fèi)用的總費(fèi)用最低,最后,運(yùn)用粒子群算法求解生產(chǎn)計(jì)劃和設(shè)備維修計(jì)劃的集合問題。
本文的生產(chǎn)計(jì)劃采用批量生產(chǎn)的策略,維修策略采用基于設(shè)備實(shí)際運(yùn)行時(shí)間的非固定周期預(yù)防維修和故障后小修相結(jié)合的維修方式,同時(shí)預(yù)防維修以及故障小修都會(huì)占用設(shè)備運(yùn)行時(shí)間,即維修時(shí)設(shè)備處于停機(jī)狀態(tài)。設(shè)備加工產(chǎn)品過程中由于設(shè)備役齡增長,存在產(chǎn)品墮化效應(yīng)[18],即隨著設(shè)備的役齡增加而導(dǎo)致產(chǎn)品的加工時(shí)間不確定。這種情況是由于設(shè)備服役時(shí)間越長,設(shè)備的性能退化越嚴(yán)重,產(chǎn)品的實(shí)際加工時(shí)間越長,設(shè)備運(yùn)行時(shí)間越長,產(chǎn)品實(shí)際加工時(shí)間與其開始加工時(shí)的設(shè)備狀態(tài)有關(guān)。并且,在分析設(shè)備故障發(fā)生次數(shù)時(shí),需區(qū)分設(shè)備的運(yùn)行狀態(tài)和閑置狀態(tài),假設(shè)閑置狀態(tài)的設(shè)備不會(huì)發(fā)生故障,采用基于運(yùn)行時(shí)間的故障分析。
本文考慮產(chǎn)品墮化效應(yīng)和設(shè)備實(shí)際運(yùn)行時(shí)間,例如,階段t的生產(chǎn)能力與階段t-1 的產(chǎn)量有關(guān),階段t的生產(chǎn)能力又會(huì)約束階段t+1 的生產(chǎn)計(jì)劃,目標(biāo)是確定每個(gè)階段的生產(chǎn)批量和預(yù)防維修周期,使得整個(gè)生產(chǎn)計(jì)劃周期的總費(fèi)用期望值最低。
τ——固定時(shí)間長度;
H——給定計(jì)劃周期長度,H=Nτ,其中N為整數(shù);
i——產(chǎn)品種類,i=1,2,···,p;
dit——每個(gè)階段t(t∈H)對(duì)產(chǎn)品i(i∈p)的市場(chǎng)需求;
Cmax——設(shè)備在每個(gè)生產(chǎn)階段的最大生產(chǎn)能力;
Lp——預(yù)防維修占用的生產(chǎn)時(shí)間;
Lr——故障小修占用的生產(chǎn)時(shí)間;
f(t)——生產(chǎn)系統(tǒng)的故障概率密度函數(shù);
r(t)——系統(tǒng)的故障率函數(shù);
fit——在時(shí)間t生產(chǎn)產(chǎn)品i的生產(chǎn)準(zhǔn)備費(fèi)用;
ρit——在時(shí)間t生產(chǎn)單件產(chǎn)品i的變動(dòng)費(fèi)用;
hit——在階段t每件產(chǎn)品i的庫存費(fèi)用;
cp——預(yù)防維修的費(fèi)用;
cr——故障時(shí)的小修費(fèi)用;
ρi——單件產(chǎn)品i的基本加工時(shí)間;
ai——單件產(chǎn)品i的實(shí)際加工時(shí)間;
ji——加工產(chǎn)品i的設(shè)備的役齡;
θi——產(chǎn)品i的墮化因子;
Iit——在階段t的產(chǎn)品i的庫存數(shù)量;
Wt——故障次數(shù);
Zt——設(shè)備實(shí)際運(yùn)行時(shí)間。
模型決策變量:
xit——在階段t生產(chǎn)的產(chǎn)品i的數(shù)量;
yit——雙值決策變量(產(chǎn)品i是在生產(chǎn)階段t生產(chǎn)則yit為1,否則為0);
Ut——雙值決策變量(若在生產(chǎn)階段t進(jìn)行預(yù)防維修,則為1,否則為0);
T——預(yù)防維修周期長度T=kτ。
根據(jù)設(shè)備故障次數(shù)和設(shè)備故障率關(guān)系,得到設(shè)備故障次數(shù)為
設(shè)備運(yùn)轉(zhuǎn)過程中對(duì)出現(xiàn)的隨機(jī)故障采取小修策略,根據(jù)式(1),可得故障小修總費(fèi)用為
Ut=1 表示在生產(chǎn)階段t進(jìn)行了預(yù)防維修,否則不進(jìn)行預(yù)防維修,可得預(yù)防維修費(fèi)用為
基于式(2)和式(3),可得到總維修費(fèi)為
預(yù)防維修使得設(shè)備役齡降為0,一個(gè)預(yù)防維修周期可能包含多個(gè)生產(chǎn)階段,根據(jù)Ut判斷相鄰兩個(gè)生產(chǎn)階段的關(guān)系,若Ut=1,表示在生產(chǎn)階段t進(jìn)行了設(shè)備預(yù)防維修,設(shè)備的實(shí)際運(yùn)行時(shí)間與上個(gè)生產(chǎn)階段沒有關(guān)系,則設(shè)備實(shí)際運(yùn)行時(shí)間為
若Ut=0,則生產(chǎn)階段t的生產(chǎn)狀態(tài)與前一個(gè)生產(chǎn)階段相關(guān),則設(shè)備實(shí)際運(yùn)行時(shí)間為
基于式(5)和式(6),得到設(shè)備累計(jì)運(yùn)行時(shí)間為
由于受墮化效應(yīng)的影響,設(shè)備的役齡越來越大,導(dǎo)致產(chǎn)品的實(shí)際加工時(shí)間越來越長,而產(chǎn)品的實(shí)際加工時(shí)間與開始加工時(shí)設(shè)備的狀態(tài)有關(guān),產(chǎn)品的實(shí)際加工時(shí)間與設(shè)備役齡tr線性相關(guān),則由式(7)得到產(chǎn)品i的實(shí)際加工時(shí)間
設(shè)備的每個(gè)生產(chǎn)階段的生產(chǎn)長度相同,表示為L,預(yù)防維修和故障小修會(huì)占用一部分生產(chǎn)時(shí)間,所以設(shè)備實(shí)際生產(chǎn)率為
設(shè)備故障維修和預(yù)防性維修所占時(shí)間比例為α,可得
設(shè)備的生產(chǎn)時(shí)間對(duì)應(yīng)設(shè)備的生產(chǎn)能力,設(shè)備總的實(shí)際可用生產(chǎn)能力為最大生產(chǎn)能力減去預(yù)防維修與故障小修所消耗的生產(chǎn)能力。設(shè)g為設(shè)備最大生產(chǎn)能力,則設(shè)備在生產(chǎn)階段的實(shí)際生產(chǎn)能力為
生產(chǎn)計(jì)劃與預(yù)防維修計(jì)劃的集成優(yōu)化目的是使總費(fèi)用最低,總費(fèi)用包括生產(chǎn)費(fèi)用和維修費(fèi)用,即
將式(1)故障次數(shù)表達(dá)式代入式(11),將式(1)和(9)代入式(14),結(jié)合式(5)~(7),可得
制定生產(chǎn)和預(yù)防維修的集成計(jì)劃,即求出Ut,xit,Iit和yit。運(yùn)用粒子群算法與啟發(fā)式算法相結(jié)合的解法,可得到預(yù)防維修計(jì)劃和生產(chǎn)計(jì)劃。
計(jì)算步驟如下:
Step 1設(shè)定預(yù)防維修周期,得到相應(yīng)的Ut;
Step 2計(jì)算得到每個(gè)生產(chǎn)階段產(chǎn)品的實(shí)際加工時(shí)間;
Step 3運(yùn)用粒子群算法求解能力約束下的生產(chǎn)計(jì)劃問題;
Step 4比較生產(chǎn)和維修的總費(fèi)用,使得費(fèi)用取得最小值的Ut,xit為最優(yōu)的生產(chǎn)計(jì)劃和預(yù)防維修的集成計(jì)劃。
由T=kτ,令k=1,2,···,N,可得到Ut,已知計(jì)劃周期長度、設(shè)備故障率函數(shù)、預(yù)防維護(hù)費(fèi)用和故障小修費(fèi)用,則根據(jù)式(4)計(jì)算得到在計(jì)劃周期內(nèi)的設(shè)備維修總費(fèi)用。
已知生產(chǎn)周期T,首先,設(shè)定預(yù)防維修周期,即獲得預(yù)防維修費(fèi)用和預(yù)防維修間隔長度,計(jì)算求解總費(fèi)用,求解模型得到故障小修費(fèi)用和生產(chǎn)費(fèi)用;其次,分析故障次數(shù)與生產(chǎn)能力的互相影響,生產(chǎn)產(chǎn)品數(shù)量與生產(chǎn)能力之間的關(guān)系,產(chǎn)品的實(shí)際加工時(shí)間為
在已知生產(chǎn)能力后,可求解生產(chǎn)能力約束下的生產(chǎn)批量。
構(gòu)建粒子群算法(PSO)求解模型,xit和Iit均為連續(xù)整數(shù)變量,yit為0,1 決策變量,用變量yit作為構(gòu)造0,1 的編碼粒子,對(duì)yit進(jìn)行編碼,根據(jù)yit與xit和Iit的相關(guān)關(guān)系,用yit表達(dá)出xit和Iit。
對(duì)于多種產(chǎn)品多個(gè)周期的粒子,編碼表示如下式所示。
Q表示粒子群中的粒子,設(shè)表示粒子群中的第h個(gè)粒子在進(jìn)化到第k代的位置值,表示生產(chǎn)計(jì)劃問題的解,表達(dá)式為則第h個(gè)粒子在進(jìn)化到第k代時(shí),第i個(gè)產(chǎn)品品種在生產(chǎn)階段t不生產(chǎn),否則表示生產(chǎn)。其中表示粒子群中第h個(gè)粒子進(jìn)化到第k代的進(jìn)化速度。
批量問題的基本求解流程如下:
a.確定參數(shù)。
確定種群規(guī)模H,和學(xué)習(xí)參數(shù)c1和c2,賦值k=0。
b.初始化。
初始化所有粒子的位置和速度,位置和速度由以下公式隨機(jī)生成,R(0,1)表示在[0,1]間的隨機(jī)數(shù)。
式中:h=1,2,···,H;i=1,2,···,p;t=1,2,···,T;vmax和vmin表示最大速度和最小速度。
c.計(jì)算粒子適應(yīng)值以及每個(gè)粒子和種群經(jīng)歷的最好位置,并更新記憶庫。粒子的適應(yīng)值可由式(27)計(jì)算得出,當(dāng)k>0時(shí),由式(28)得出每個(gè)粒子在進(jìn)化到第k過程中的最好位置,粒子初始化也就是k=0,=。由式(29)得出粒子群在進(jìn)化到第k過程中的最好位置GBk,并將其存入種群記憶庫中。根據(jù)設(shè)置的計(jì)算條件進(jìn)行檢查,滿足條件則終止計(jì)算,否則繼續(xù)計(jì)算直到滿足條件為止。
式中,M表示無窮大的正數(shù)。
d.對(duì)適應(yīng)值差的粒子進(jìn)行更換。
根據(jù)運(yùn)算設(shè)置,從記憶庫中選擇一定量的粒子替換種群中適應(yīng)值較差的粒子。
e.更新粒子位置和粒子速度。
根據(jù)式(30)使粒子速度在范圍之內(nèi),式(31)使其結(jié)果在0 和1 之間。
初始化k=0,之后令k=k+1,由以下公式計(jì)算粒子的位置和速度,然后到步驟c 進(jìn)行迭代,達(dá)到最大循環(huán)次數(shù)終止。
假設(shè)計(jì)劃周期長度H=8τ,共8 個(gè)生產(chǎn)周期,每個(gè)生產(chǎn)周期L的長度為1 個(gè)月,每個(gè)生產(chǎn)階段的最大生產(chǎn)能力C(t)=50 個(gè),采用批量生產(chǎn)的策略,計(jì)劃周期內(nèi)共生產(chǎn)兩種產(chǎn)品,基本加工時(shí)間為1。參考文獻(xiàn)[14],兩種產(chǎn)品的墮化因子相同,θ1=θ2=R(0,0.003),R(0,0.003)表示[0,0.003]間隨機(jī)生成的數(shù),每一次預(yù)防維修消耗時(shí)間為0.02L,故障后小修時(shí)間為0.09L。求滿足每個(gè)生產(chǎn)階段t的市場(chǎng)需求dit,不會(huì)發(fā)生延遲交貨或者缺貨,假設(shè)生產(chǎn)系統(tǒng)的故障概率函數(shù)服從威布爾分布,威布爾分布故障率函數(shù)為
t>0,η>0,λ>0,對(duì)應(yīng)得到故障概率密度函數(shù)為
取形狀參數(shù)η=2,尺度參數(shù)λ=2,得到故障率函數(shù)如下:
生產(chǎn)費(fèi)用與每個(gè)階段t的需求和設(shè)備相關(guān)參數(shù)如表1~3 所示。
表1 生產(chǎn)費(fèi)用表Tab.1 Production cost
表2 每個(gè)生產(chǎn)周期的需求量Tab.2 Demand of each production cycle
表3 設(shè)備相關(guān)參數(shù)表Tab.3 Related paremeters of the equipment
通過VB6.0 編程運(yùn)算求解,可得到最優(yōu)生產(chǎn)計(jì)劃和維修計(jì)劃的總費(fèi)用,如表4 所示。
表4 生產(chǎn)計(jì)劃和維修計(jì)劃的總費(fèi)用Tab.4 Total cost of production and maintenance planning
生產(chǎn)計(jì)劃與維修計(jì)劃集成計(jì)劃的優(yōu)化目標(biāo)是使總費(fèi)用最小。首先基于改進(jìn)粒子群算法求解提出的模型,通過表4 可知最小費(fèi)用為66 532 元,設(shè)備維修費(fèi)用為17 500 元,生產(chǎn)費(fèi)用為49 032 元。其次,基于基本粒子群算法求解模型,可得最小費(fèi)用為80 219 元,設(shè)備維修費(fèi)用為21 820 元,生產(chǎn)費(fèi)用為58 399 元,并且計(jì)算時(shí)間長于改進(jìn)粒子群算法。綜合看出改進(jìn)粒子群算法求解聯(lián)合優(yōu)化模型優(yōu)于粒子群算法求解該模型。
考慮總費(fèi)用最低,最佳的預(yù)防維修計(jì)劃為1→0→0→1→0→0→1→0,生產(chǎn)計(jì)劃如表5所示。
表5 最優(yōu)生產(chǎn)計(jì)劃Tab.5 Optimal production planning
本文以單設(shè)備生產(chǎn)系統(tǒng)為研究對(duì)象,研究了預(yù)防維修計(jì)劃和生產(chǎn)計(jì)劃的集合優(yōu)化,考慮在實(shí)際生產(chǎn)中的產(chǎn)品墮化效應(yīng),即產(chǎn)品實(shí)際加工時(shí)間不是確定值,而是與產(chǎn)品基本加工時(shí)間和設(shè)備役齡相關(guān)。隨著設(shè)備役齡增大,產(chǎn)品所需加工時(shí)間增長,這種情況更貼近生產(chǎn)實(shí)際。另外在分析設(shè)備故障時(shí),區(qū)分了設(shè)備閑置狀態(tài)和生產(chǎn)運(yùn)行狀態(tài),只考慮設(shè)備在生產(chǎn)時(shí)間內(nèi)可能發(fā)生的故障,避免把生產(chǎn)運(yùn)行狀態(tài)和閑置狀態(tài)作為相同的情形進(jìn)行分析,導(dǎo)致設(shè)備維修過度。最后,通過算例分析,說明模型在企業(yè)實(shí)際生產(chǎn)中的應(yīng)用,證明模型具有更好的實(shí)際價(jià)值。未來將研究如何制定能力約束下的維修與多級(jí)多資源約束下的生產(chǎn)與維修的集合計(jì)劃。