李楊,楊明順,陳曦,韓周鵬,徐二寶,李言
(西安理工大學(xué) 機(jī)械與精密儀器工程學(xué)院,西安 710048)
生產(chǎn)調(diào)度和設(shè)備維護(hù)是制造車間的兩項(xiàng)重要活動(dòng)。生產(chǎn)調(diào)度是在可調(diào)配范圍內(nèi),對各種資源進(jìn)行合理分配,指定相應(yīng)的設(shè)備并安排合理的加工順序,使預(yù)期目標(biāo)達(dá)到最優(yōu)。實(shí)際生產(chǎn)中制定的生產(chǎn)調(diào)度計(jì)劃往往難以達(dá)到預(yù)期效果,主要原因之一是在進(jìn)行方案制定時(shí)未考慮機(jī)器設(shè)備性能的退化和故障維護(hù)[1]。機(jī)器設(shè)備運(yùn)行過程中若發(fā)生故障將影響生產(chǎn)計(jì)劃的正常執(zhí)行。因此,考慮設(shè)備維護(hù)活動(dòng),將生產(chǎn)調(diào)度與設(shè)備維護(hù)調(diào)度結(jié)合集成優(yōu)化已成為目前生產(chǎn)調(diào)度研究的熱點(diǎn)問題[2-3]。
近年來,在生產(chǎn)調(diào)度與設(shè)備維護(hù)集成優(yōu)化方面已有取得一些研究成果。Zhang等[4]在論文中證明了調(diào)度維護(hù)集成優(yōu)化問題是一個(gè)NP-Hard問題,并利用啟發(fā)式算法進(jìn)行求解。Lu等[5]針對預(yù)防性維與生產(chǎn)調(diào)度集成問題,提出了一種基于最優(yōu)調(diào)度特性的遺傳算法,優(yōu)化系統(tǒng)魯棒性和穩(wěn)定性。Fitouhi等[6]將非周期性預(yù)防性維護(hù)與多狀態(tài)系統(tǒng)中的生產(chǎn)計(jì)劃進(jìn)行集成,以系統(tǒng)運(yùn)行成本與維修費(fèi)用最少為目標(biāo)建立了一種生產(chǎn)與設(shè)備維修聯(lián)合調(diào)度模型。黃劍秋等[7]給出一種描述生產(chǎn)負(fù)荷、預(yù)防性維護(hù)與生產(chǎn)計(jì)劃提前期的關(guān)聯(lián)函數(shù),在此基礎(chǔ)上建立了生產(chǎn)計(jì)劃與預(yù)防性維護(hù)聯(lián)合優(yōu)化模型。Mosheiov和Sidney[8]提出維護(hù)周期性概念,即機(jī)器的維護(hù)活動(dòng)應(yīng)與機(jī)器的工作時(shí)間以及狀態(tài)相結(jié)合,距離故障發(fā)生的時(shí)間越長,維護(hù)花費(fèi)的時(shí)間成本越高。趙世雄等[9]針對單機(jī)情況下生產(chǎn)與維護(hù)聯(lián)合優(yōu)化問題,設(shè)計(jì)了一種循環(huán)迭代算法。Zhou等[10]通過對串行無重入的系統(tǒng)聯(lián)合優(yōu)化過程分析,建立了預(yù)防性維護(hù)和調(diào)度的聯(lián)合優(yōu)化模型。趙濟(jì)威[11]提出單機(jī)生產(chǎn)系統(tǒng)的非等周期不完美預(yù)防性維護(hù)與生產(chǎn)聯(lián)合優(yōu)化策略,綜合考慮生產(chǎn)價(jià)值、生產(chǎn)成本、生產(chǎn)延遲成本及各類維護(hù)成本等,構(gòu)建了總利潤率模型。張?jiān)谰萚12]構(gòu)建了一種生產(chǎn)計(jì)劃與預(yù)防性維護(hù)集成建??蚣?建立了并行機(jī)系統(tǒng)生產(chǎn)計(jì)劃與預(yù)防性維護(hù)聯(lián)合決策的模型,避免設(shè)備的過度維護(hù),減少固定維護(hù)成本。
預(yù)防性維護(hù)是有目的、有計(jì)劃地對設(shè)備進(jìn)行檢查、保養(yǎng)甚至更換的定期維修方式,而預(yù)測性維護(hù)是利用設(shè)備監(jiān)測工具對設(shè)備運(yùn)行狀況實(shí)施周期性或持續(xù)監(jiān)測,對監(jiān)測信息進(jìn)行分析、與既定數(shù)據(jù)、經(jīng)驗(yàn)數(shù)據(jù)、檢測故障發(fā)生前的機(jī)械狀態(tài)進(jìn)行比較,預(yù)測故障發(fā)生的時(shí)間,通過機(jī)器學(xué)習(xí)等技術(shù)評估設(shè)備狀況,根據(jù)設(shè)備狀況采取不同的維護(hù)活動(dòng),可以避免設(shè)備維護(hù)的盲目性,降低設(shè)備維護(hù)成本[13-14]。隨著工業(yè)物聯(lián)網(wǎng)技術(shù)在企業(yè)的廣泛應(yīng)用,設(shè)備維護(hù)方式逐漸預(yù)防性維護(hù)轉(zhuǎn)變?yōu)轭A(yù)測性維護(hù)。
為了滿足工業(yè)互聯(lián)網(wǎng)環(huán)境下流水車間設(shè)備預(yù)測性維護(hù),解決設(shè)備預(yù)測性維護(hù)引起的生產(chǎn)調(diào)度管控困難的現(xiàn)狀,本文提出一種流水車間設(shè)備預(yù)測性維護(hù)與生產(chǎn)調(diào)度集成優(yōu)化方法,給出一種新型維護(hù)策略,以機(jī)器發(fā)生故障時(shí)所屬的狀態(tài)區(qū)作為維護(hù)活動(dòng)的決策依據(jù);考慮設(shè)備預(yù)測性維護(hù)活動(dòng),以加工時(shí)間最小為目標(biāo),建立設(shè)備預(yù)測性維護(hù)與生產(chǎn)調(diào)度集成優(yōu)化數(shù)學(xué)模型,設(shè)計(jì)一種改進(jìn)的蝙蝠算法求解所建立的數(shù)學(xué)模型。通過本文方法可以有效解決流水車間設(shè)備預(yù)測性維護(hù)活動(dòng),降低設(shè)備維護(hù)工作量與成本,減少生產(chǎn)時(shí)間浪費(fèi)與延誤。
預(yù)測性維護(hù)也稱為狀態(tài)維護(hù),是在機(jī)器的生命周期內(nèi),將運(yùn)作狀態(tài)作為維護(hù)時(shí)機(jī)控制標(biāo)準(zhǔn),為避免機(jī)器停機(jī)而進(jìn)行的提前維護(hù)活動(dòng)。預(yù)測性維護(hù)作為一種新型的維護(hù)策略,針對機(jī)器的故障點(diǎn)難以捕捉的問題,通過采集的數(shù)據(jù)進(jìn)行監(jiān)測,建立故障預(yù)測模型,預(yù)測機(jī)器的工作狀態(tài)參數(shù),并根據(jù)預(yù)測結(jié)果對機(jī)器健康狀態(tài)分類,深入分析機(jī)器故障的規(guī)律,對機(jī)器的故障發(fā)生時(shí)間做出預(yù)測并提前安排維護(hù)活動(dòng)[13]。
本文在建模過程中,假定針對特定的車間設(shè)備,已經(jīng)建立基于物聯(lián)的機(jī)器狀態(tài)數(shù)據(jù)采集裝置,并建立了相應(yīng)的故障預(yù)測模型[14]。針對發(fā)生故障的設(shè)備,所采用的維護(hù)策略是設(shè)備小修和視情維護(hù)的混合維護(hù)策略。根據(jù)采集的設(shè)備狀態(tài)數(shù)據(jù)及響應(yīng)的預(yù)測模型,將設(shè)備狀態(tài)劃分為四類區(qū)間:優(yōu)秀、良好、不良、危險(xiǎn)。機(jī)器執(zhí)行車間加工任務(wù),機(jī)器故障率會(huì)隨著加工時(shí)間增大,根據(jù)待加工件的加工時(shí)間預(yù)測機(jī)器狀態(tài),根據(jù)預(yù)測結(jié)果對機(jī)器活動(dòng)做出決策。若故障率超過規(guī)定的閾值,且機(jī)器狀態(tài)為不良及以下,必須進(jìn)行維護(hù)活動(dòng),根據(jù)維護(hù)活動(dòng)的等級,使故障率進(jìn)行不同程度的衰減;若進(jìn)行正常加工,則每一次加工之前均需對機(jī)器狀態(tài)區(qū)間進(jìn)行預(yù)測。預(yù)測性維護(hù)過程如圖1所示。
圖1 預(yù)測性維護(hù)過程
針對流水車間,定義集合J,M,其中J表示工件集,M表示機(jī)器集,每臺(tái)機(jī)器負(fù)責(zé)加工不同的工序,每一種工件的加工工藝路線相同,每一臺(tái)機(jī)器加工的工件順序不固定。在加工過程中滿足:1) 零時(shí)刻,所有待加工件都已到達(dá)車間;2) 機(jī)器故障率分布符合威布爾函數(shù);3) 加工過程中不可被中斷;4) 維護(hù)活動(dòng)結(jié)束后可立刻進(jìn)行加工;5) 故障維護(hù)時(shí)間固定不變。
為了建立車間生產(chǎn)調(diào)度與預(yù)測性維護(hù)集成模型,定義變量參數(shù)如表1所示。
表1 變量參數(shù)表
1.3 模型建立
考慮到整個(gè)車間的預(yù)測性維護(hù)情況,建立以加工時(shí)間最小為優(yōu)化目標(biāo)的數(shù)學(xué)模型。
機(jī)器Mm有效的加工時(shí)間Tm1為
(1)
機(jī)器Mm的等待時(shí)間Tm2為
(2)
機(jī)器Mm的維護(hù)時(shí)間Tm3為
(3)
機(jī)器Mm的總加工時(shí)間Tm為:
Tm=Tm1+Tm2+Tm3
(4)
(5)
加工總時(shí)間T為
T=max{Tm|m=1,2,…,q}
(6)
以加工時(shí)間最短為目標(biāo),故最終目標(biāo)函數(shù)Tmin表示為
Tmin=min max{Tm|m=1,2,…,q}
(7)
1) 預(yù)防性維護(hù)
工序Ji加工前,若機(jī)器故障率超過閾值,則對機(jī)器進(jìn)行預(yù)測,根據(jù)結(jié)果安排機(jī)器維護(hù)活動(dòng)。維護(hù)活動(dòng)等級為
(8)
式中:g代表優(yōu)秀;b代表良好;bk代表不良;r代表危險(xiǎn)。
2) 約束條件
針對車間實(shí)際加工情況,給定以下加工約束:
(1)保證工件同時(shí)僅能在一臺(tái)機(jī)器進(jìn)行加工
(9)
(2) 一臺(tái)機(jī)器一次只能加工一個(gè)工件
(10)
(3) 機(jī)器一次只能進(jìn)行一種維護(hù)活動(dòng)
(11)
(4) 機(jī)器加工開始時(shí)間不得小于機(jī)器維護(hù)活動(dòng)結(jié)束時(shí)間
(12)
機(jī)器在加工過程中不可中斷
(13)
(5) 機(jī)器1的第一個(gè)加工位置初始加工時(shí)間
(14)
(6) 機(jī)器的加工起始時(shí)間不得小于該機(jī)器上一個(gè)加工工序的結(jié)束時(shí)間
(15)
(7) 加工開始時(shí)間不得小于該工件在上一臺(tái)機(jī)器的結(jié)束時(shí)間
(16)
2.1 算法流程
蝙蝠算法是基于群體智能的啟發(fā)式搜索算法,其核心思想是蝙蝠周期性向周圍發(fā)射聲波,當(dāng)發(fā)現(xiàn)周圍的獵物時(shí),會(huì)改變聲波的大小,以確定獵物位置。蝙蝠算法具有過程簡單、準(zhǔn)確性高、收斂速度快等優(yōu)勢[15]。算法初始化為一組隨機(jī)解,通過迭代搜尋最優(yōu)解,且在最優(yōu)解周圍通過隨機(jī)飛行產(chǎn)生局部新解,加強(qiáng)局部搜索。每一次蝙蝠進(jìn)行獵物搜尋時(shí),所在的位置和速度都要進(jìn)行更新。在t時(shí)刻蝙蝠的位置和速度表示如下:
ft=fmin+(fmax-fmin)·α
(17)
(18)
vt=vt-1+(xt-1-x*)·ft
(19)
式中:ft為脈沖搜索值;α為[0,1]內(nèi)服從均勻分布的隨機(jī)數(shù);xt為當(dāng)前蝙蝠位置;vt為當(dāng)前蝙蝠飛行速度;x*為當(dāng)前時(shí)間的最優(yōu)解。
當(dāng)蝙蝠發(fā)現(xiàn)新解時(shí),音量A0開始衰減,同時(shí)脈沖發(fā)射率r逐漸增強(qiáng)。蝙蝠每進(jìn)行一次尋優(yōu),音量和脈沖發(fā)射率進(jìn)行一次迭代更新,即:
(20)
(21)
每產(chǎn)生一次新解,音量A0和脈沖發(fā)射率r進(jìn)行一次更新,使得算法結(jié)果逐漸收斂。關(guān)鍵參數(shù)α,β的取值區(qū)間通常為[0.8,0.9]。為保證算法的高效性,音量衰減系數(shù)α更新表達(dá)式為
(22)
算法初始,α選定在相對較小的范圍內(nèi),保證算法的全局搜索能力。算法中期,α選擇較大值,保證算法的局部搜索能力,使得最優(yōu)解的逼近速度增強(qiáng)。通過改進(jìn)音量衰減系數(shù)更新,既保證了前期算法能夠擁有足夠的搜索能力,快速鎖定最優(yōu)解所在區(qū)域;也保證了后期的局部搜索能力,提升搜索速度與精度,能夠最快地找尋最優(yōu)值,不至于陷入局部最優(yōu)。蝙蝠算法流程如圖2所示。
圖2 改進(jìn)蝙蝠算法流程
步驟1 初始化種群,給定初始值、最大音量A0、最大發(fā)射頻率A1、脈沖搜索范圍[fmin,fmax]、脈沖發(fā)射率r、音量衰減系數(shù)α、頻率增強(qiáng)系數(shù)β、適應(yīng)度值F、當(dāng)前迭代次數(shù)N、最大迭代次數(shù)M、當(dāng)前最優(yōu)解適應(yīng)度值Fbest以及當(dāng)前最優(yōu)位置Xbest。
步驟2 采用隨機(jī)生成樣本的方法產(chǎn)生初始種群,確定當(dāng)前位置,尋找當(dāng)前位置最優(yōu)解。
步驟3 根據(jù)適應(yīng)度函數(shù)確定種群中個(gè)體的最優(yōu)適應(yīng)度值Fbest。
步驟4 利用式(17)~式(19),更新蝙蝠速度和位置,得到新解和對應(yīng)的適應(yīng)度值解Fnew。
步驟5 若Fnew≥Fbest,則進(jìn)行步驟6,否則執(zhí)行步驟4。
步驟6 對當(dāng)前解的位置適應(yīng)度值進(jìn)行判斷。若當(dāng)前適應(yīng)度值更優(yōu),即Fnew≥Fbest,則當(dāng)前適應(yīng)度值成為最優(yōu)適應(yīng)度值,當(dāng)前解成為目前最優(yōu)解。
步驟7 生成均勻分布的隨機(jī)數(shù)round,并計(jì)算當(dāng)前解的標(biāo)準(zhǔn)差σ。若σi-σi-1 步驟8 若N 2.2 編碼解碼 在蝙蝠算法求解問題的過程中,確定算法的基礎(chǔ)編碼、解碼規(guī)則是基礎(chǔ)工作。編碼是蝙蝠算法中確定蝙蝠位置和速度的基礎(chǔ)。蝙蝠算法的編碼是連續(xù)型編碼,而車間生產(chǎn)調(diào)度優(yōu)化則需要進(jìn)行離散型編碼。因此需要對算法的編碼機(jī)制進(jìn)行調(diào)整,以便能夠適應(yīng)生產(chǎn)調(diào)度。 本文選擇工序和蝙蝠位置對應(yīng)的方式進(jìn)行編碼,工件的工序和編碼進(jìn)行一一對應(yīng)。編碼分過程為2階段: 1) 蝙蝠位置編碼,將個(gè)體位置的大小定義為工件的工序,首先根據(jù)蝙蝠的位置進(jìn)行編號,然后將位置按照從小到大的順序依次排列,然后再次尋找到當(dāng)前對應(yīng)位置的工件編號,實(shí)行工件的編碼排序,如圖3所示。 圖3 編碼示意圖 2) 維護(hù)策略編碼,0表示不進(jìn)行維護(hù),1表示進(jìn)行非完美維修,2表示完美維修。例{0,1,0,2,0,0},表示在加工完第一個(gè)工件之后進(jìn)行小修,在加工完第二個(gè)工件后進(jìn)行正常的維護(hù)操作。 對蝙蝠進(jìn)行編號,每一次蝙蝠發(fā)生位置改變,記錄當(dāng)前位置并進(jìn)行新一輪排序,得到當(dāng)前工件加工順序,直至算法尋得最優(yōu)解,對應(yīng)可求得當(dāng)前最優(yōu)工件加工順序。 編碼規(guī)則分為兩層,初始解的生成也分為兩層進(jìn)行。本文采用拼接法生成初始種群:隨機(jī)生成M個(gè)搜索范圍內(nèi)的數(shù)據(jù),M表示當(dāng)前的工件數(shù)量,以此表示當(dāng)前初始情況的解;將這些數(shù)據(jù)分別對應(yīng)各個(gè)工件的編號。再對這些數(shù)據(jù)按照從小到大的排序進(jìn)行排列,將排列之后的數(shù)據(jù)順序與工件加工序列相匹配,作為工件初始加工序列。之后每一次蝙蝠飛行之后,均按照此方法對蝙蝠進(jìn)行編碼、解碼。 2.3 適應(yīng)度函數(shù) 個(gè)體適應(yīng)度是衡量個(gè)體在種群中優(yōu)勢程度的一種手段。適應(yīng)度函數(shù)也稱評價(jià)函數(shù),主要是對個(gè)體的優(yōu)劣性進(jìn)行評估,并作為算法更新迭代的依據(jù)。 優(yōu)化模型中目標(biāo)函數(shù)F是完成加工時(shí)間的最小化,是極小值問題,將目標(biāo)函數(shù)取負(fù),設(shè)計(jì)適應(yīng)度函數(shù)為 (23) 在適應(yīng)度函數(shù)中加入選擇壓力系數(shù),在進(jìn)化過程中,使得非優(yōu)個(gè)體仍有被選擇的可能,保持了種群的多樣性和搜索的收斂性,ε的取值范圍約為[0.95,1)。 假定有6組待加工工件,J={J1,J2,…,J6},每個(gè)工件有6個(gè)加工工序;6臺(tái)加工機(jī)器,M={M1,M2,…,M6}。加工車間為非置換流水加工車間,工序加工流程固定,加工時(shí)間如表2所示。 表2 工件加工時(shí)間信息 機(jī)器故障率閾值D[e]設(shè)為0.7,故障率函數(shù)分布服從Weibull分布,Weibull參數(shù)β=3.738,η=927.535,即 (24) 根據(jù)機(jī)器的加工狀態(tài)進(jìn)行分類,將機(jī)器的維護(hù)分為兩個(gè)等級PM1(完美維護(hù))和PM2(非完美維護(hù)),根據(jù)機(jī)器運(yùn)作情況進(jìn)行不同的維護(hù)活動(dòng)。維護(hù)時(shí)間分別為30min和40min。 利用本文所建立的數(shù)學(xué)模型與設(shè)計(jì)的算法,建立本實(shí)例對應(yīng)的數(shù)學(xué)優(yōu)化模型,并采用Pythonmatplotib進(jìn)行算法實(shí)現(xiàn),驗(yàn)證了該方法的有效性與可行性。其中,初始化種群規(guī)模為100,迭代飛行次數(shù)為200。通過10次實(shí)驗(yàn),最終的輸出調(diào)度甘特圖結(jié)果如圖4所示,其中藍(lán)色為進(jìn)行一級維護(hù)PM1,淺紫色為二級維護(hù)活動(dòng)PM2。 圖4 甘特圖 解碼后最短加工時(shí)間為705min,最優(yōu)車間調(diào)度序列及維護(hù)任務(wù)安排如表3和表4所示。 表3 最優(yōu)工序調(diào)度 表4 維護(hù)任務(wù)安排表 圖5為算法迭代過程中適應(yīng)度值曲線。 圖5 適應(yīng)度值曲線 由圖5可以看出,整個(gè)算法呈收斂狀態(tài),在蝙蝠位置更新次數(shù)達(dá)到約65次時(shí),適應(yīng)度值到達(dá)穩(wěn)定狀態(tài),此時(shí)算法達(dá)到最優(yōu)。本文所提方法在生產(chǎn)調(diào)度過程中綜合考慮了流水車間設(shè)備預(yù)測性維護(hù)因素,不僅有效縮短了作業(yè)加工總時(shí)間,更加合理利用機(jī)器的有效工作時(shí)間,也極大地降低了設(shè)備維護(hù)活動(dòng)量與維護(hù)成本。 本文提出一種流水車間設(shè)備預(yù)測性維護(hù)與生產(chǎn)調(diào)度集成優(yōu)化方法,以解決車間物聯(lián)網(wǎng)環(huán)境下設(shè)備預(yù)測性維修與生產(chǎn)調(diào)度問題。以機(jī)器發(fā)生故障時(shí)所屬的狀態(tài)區(qū)間為維護(hù)活動(dòng)的決策依據(jù),考慮機(jī)器完美維護(hù)和非完美維護(hù)兩種維護(hù)方式,通過在生產(chǎn)調(diào)度過程中考慮設(shè)備的預(yù)測性維護(hù),建立以加工時(shí)間最小為優(yōu)化目標(biāo)、融合設(shè)備預(yù)測性維護(hù)的生產(chǎn)調(diào)度數(shù)學(xué)模型;設(shè)計(jì)蝙蝠算法對建立的集成調(diào)度模型進(jìn)行求解,對蝙蝠算法的音量衰減系數(shù)進(jìn)行改進(jìn),并對蝙蝠算法中編碼規(guī)則、適應(yīng)度函數(shù)以及初始種群的選取進(jìn)行設(shè)計(jì)分析,設(shè)計(jì)的改進(jìn)啟發(fā)式蝙蝠算法可以有效求解該調(diào)度優(yōu)化模型。通過所提方法,可以有效減少流水車間生產(chǎn)調(diào)度中時(shí)間延誤、資源浪費(fèi),同時(shí)降低了設(shè)備維護(hù)成本與維護(hù)工作量。3 實(shí)例分析
4 結(jié)論