孫 悅,金佳蓓,包振強
(揚州大學(xué)信息工程學(xué)院,江蘇 揚州 225127)
車間調(diào)度研究通常假設(shè)在生產(chǎn)過程中機器可連續(xù)使用,忽略了實際生產(chǎn)中按計劃進行的預(yù)防性維護和意外出現(xiàn)的故障維修等活動[1],從而造成生產(chǎn)調(diào)度和維修活動之間的矛盾[2]。此外,大多研究僅考慮到機器資源,但實際生產(chǎn)中經(jīng)常需要額外資源,如相關(guān)工具、勞動力等。其中,由于數(shù)量少、人才培養(yǎng)周期長、成本高昂等原因,維修工人資源尤其重要。因此,考慮雙資源約束的預(yù)防性維護和作業(yè)車間集成調(diào)度更具有實際意義。
目前存在2個基本獨立的研究方向:一種是考慮額外資源[3]的生產(chǎn)調(diào)度,Renna等[4]運用博弈論,提出一種新的DRC(機器和勞動力雙資源約束)作業(yè)車間工人分配規(guī)則;周亞勤等[5]構(gòu)建綜合考慮關(guān)鍵設(shè)備和人員雙資源約束模型,提出嵌套式蟻群-遺傳混合算法實現(xiàn)資源選擇;許志博等[6]建立設(shè)備資源和人力資源2種約束下的半自動化多機照料的作業(yè)車間多目標優(yōu)化調(diào)度模型。盡管國內(nèi)外對雙資源約束進行了大量研究,但都集中在生產(chǎn)活動中,忽視了加工過程中必不可少的維護活動。另一種是維護活動和生產(chǎn)活動的聯(lián)合調(diào)度,張洪亮等[7]同時考慮運輸時間、機器預(yù)維護和能耗等約束,提出了一種多目標離散Jaya算法求解模型;Li等[8]提出了一種新的離散人工蜂群算法,求解具有維護活動的多目標柔性作業(yè)車間調(diào)度問題;甘婕等[9]提出了柔性作業(yè)車間調(diào)度和視情維修的聯(lián)合策略;趙起等[10]提出了基于設(shè)備健康狀態(tài)的可靠度區(qū)間維護與魯棒性調(diào)度生產(chǎn)集成優(yōu)化模型。上述研究聯(lián)合調(diào)度了維護活動和生產(chǎn)活動,但均沒有考慮人力資源的限制,即在維修活動中沒有進行維修工人的具體任務(wù)分配,現(xiàn)實中維修工人資源具有約束性,不可能每臺機器都配備1名維修工人,機器維護時間同時受限于機器狀態(tài)和維修工人狀態(tài)。
Lee等[11]首次研究了在資源約束下的綜合維護和生產(chǎn)調(diào)度問題,限定在任何給定時間只能維護1臺機器;Wang等[12]為維護活動設(shè)置時間窗口,考慮了維護資源充足或只有1種可用的維護資源2種情況,采用啟發(fā)式算法解決具有機器可用性約束的柔性作業(yè)車間調(diào)度問題;李聰波等[13]考慮了機器和刀具2種資源約束,提出一種考慮設(shè)備預(yù)維護的柔性作業(yè)車間調(diào)度節(jié)能優(yōu)化方法;Wang等[14]考慮了膜具和機器2種資源約束,對每臺機器和每臺模具進行完美預(yù)防性維護活動。雖然上述文獻在研究中探討了雙資源約束下維護活動和生產(chǎn)活動的聯(lián)合調(diào)度,但是考慮的主要是機器之外的磨具、刀具等額外資源,而不是人力資源,或者是考慮了人力資源,但是沒有討論資源的具體分配問題,而本文做到了具體分配維修工人資源到機器上,同時探討了機器和維修工人的最佳配比問題。
因此,本文針對雙資源預(yù)防性維護活動與作業(yè)車間集成調(diào)度問題,為維護活動設(shè)置靈活時間窗口,進行柔性預(yù)防性維護和故障維修,考慮維修工人資源約束,建立集成調(diào)度模型,通過遺傳算法求解模型,尋找維修和生產(chǎn)集成調(diào)度的維修工人最佳配比。
雙資源約束下維修活動與作業(yè)車間集成調(diào)度問題可描述為:作業(yè)車間里有n個工件、m個機器和w個維修工人,每個工件有ni道工序,每道工序有對應(yīng)的可加工機器集以及相應(yīng)的加工時間集,每個維修工人能力相當,每臺機器會根據(jù)實際加工總時長在規(guī)定的靈活窗口內(nèi)進行預(yù)防性維護或者故障維修。在機器加工過程中不可中斷進行維修活動,在維修活動過程中也不可進行加工活動。要求制定出一個生產(chǎn)計劃,此生產(chǎn)計劃必須在滿足整個作業(yè)車間生產(chǎn)周期最短的條件下決定每個工件的工藝加工路線以及維修活動計劃。假設(shè)如下:
a.所有工件都不可以提前加工,都可在0時刻開始加工,加工順序已知。
b.所有工序的可加工機器集和加工時間集已知。
c.預(yù)防性維護時間和故障維修時間已知。
d.依據(jù)已知的靈活窗口,脫離窗口可能會發(fā)生故障,需進行故障維修。
e.同一時刻,1臺機器只能加工1道工序,1名維修工人只能進行1項維修活動。
f.機器加工過程和維修過程不可中斷。
g.加工過程中的運送時間忽略不計。
建立模型如下:
調(diào)度目標:minCmax=min(max(Ci))
約束條件如下:
a.tijkf-ti(j-1)gf≥tijk(?i,j,k,g;j≠1)表示工件工序的加工有先后性。
b.tpskf≥tijkf+Yijpsk×tijk+Ytk×(tpm×Yk+tcm×(1-Yk))表示在同一時刻,機器只能進行1道工序的加工任務(wù)。
c.twgf≥twkf+Ywkg×(tpm×Yk+tcm×(1-Yk))表示同一時刻,維修工人只進行1項維修活動。
e.tijks=max{ti(j-1)qf,pk}表示工件i的工序j在機器k上加工開始時刻。
f.twks=max{mw,mk}表示工人w在機器k上維修活動開始時刻。
h.Yijpsk={0,1},若取值1則工序j先于工序s在機器k上加工,取值0則工序s先于工序j在機器k上加工。
i.Ywkg={0,1},若取值1則機器k先于機器g被工人w進行維修活動,取值0則機器g先于機器k被工人w進行維修活動。
j.Ytk={0,1},若取值1則機器k連續(xù)工作時間高于靈活窗口最小值,取值0則機器k連續(xù)工作時間低于靈活窗口最小值。
k.Yk={0,1},若取值1則機器k連續(xù)工作時間高于靈活窗口最小值且低于靈活窗口最大值,取值0表示高于靈活窗口最大值。
模型涉及的符號及變量含義如下:C為生產(chǎn)周期;Ci為工件i的完工時間;i為工件;j為工序;k為機器;w為維修工人;Oij表示工件i的第j道工序;tijk為工序Oij在機器k上加工時間;tpm為預(yù)防性維護時間;tcm為故障維修時間;tijks表示工序Oij在機器k上加工開始時刻;tijkf表示工序Oij在機器k上加工完成時刻;twks表示工人w在機器k上維修活動開始時刻;twkf表示工人w在機器k上維修活動結(jié)束時刻;pk表示機器k最近可加工時刻;mk表示機器k最近可維修時刻;Tk表示機器k連續(xù)工作時間;mw表示工人w最近可維修時刻。
遺傳算法主要運算過程如圖1所示,先初始化種群,然后計算個體適應(yīng)度,即評價個體;接著進行選擇操作、交叉操作以及變異操作,從而獲得新一代群體;再重新計算個體適應(yīng)度,若已經(jīng)迭代完成則終止計算,并輸出最優(yōu)解。
圖1 遺傳算法流程
染色體編碼選擇了基于工件工序的表達法,根據(jù)機器資源和維修工人資源雙約束的集成調(diào)度模型特點,采用3層編碼方式,第1層為工序?qū)?第2層為機器層,第3層為維修工人層。
如染色體 [1 2 2 1 1 2 3 2 1 1 2 1],表示工件1的第1道工序在機器1上加工并由維修工人1完成維護活動,工件2的第1道工序在機器2上加工并由維修工人1完成維護活動,工件2的第2道工序在機器3上加工并由維修工人2完成維護活動,工件1的第2道工序在機器2上加工并由維修工人1完成維護活動。
適應(yīng)度函數(shù)采用生產(chǎn)周期:f(i)=t,t為時間,t越小,個體越優(yōu)秀,競爭力越大。
一般計算周期的方式都基于染色體上的基因排列順序,但在進行維護活動周期計算時改進了算法,不再以基因序列為準,而是以維修工人實際排班情況為準,即若維修工人當前時刻空閑且不影響后續(xù)已經(jīng)在排班表上的維護活動,則可以從該時刻進行維護活動。
采用單點交叉,對工序?qū)舆M行交叉操作。判斷工序?qū)邮欠癯霈F(xiàn)工件工序丟失或多余現(xiàn)象,有則按染色體順序依次將多余的工件工序改為丟失的工件工序,最后根據(jù)子代的工序?qū)?參照父代機器層和維修工人層完善子代染色體。具體如圖2和圖3所示。
圖2 工序?qū)尤旧w交叉操作
圖3 工序?qū)尤旧w去多補少
變異算子主要作用于機器層和維修工人層,首先在種群中隨即選取個體,再判斷變異與否,若是變異則讀取該工序所對應(yīng)的可加工機器集合,重新選擇加工該工序的機器號。選擇的概率是根據(jù)所有可加工機器的性能(消耗時間)來分布的,加工時間越短,被選擇的概率越高。
在雙資源維修活動與作業(yè)車間集成調(diào)度下,工件i的工序j在機器k上進行生產(chǎn)調(diào)度與維修活動的流程如圖4所示。其中,工序Oij在機器k上加工開始時刻為tijks,維修工人的維修任務(wù)一般按照順序排列,但由于算法特性,維修工人會出現(xiàn)大量間斷性空閑時間,所以在計算過程中并不單一參照維修順序時間,而是在維修工人任務(wù)時間表中尋找合適的時間段進行維修活動,則維修工人w可滿足該維修任務(wù)的最早時間段的開始時刻為wkt。
圖4 集成調(diào)度流程
采用的仿真軟件是MATLAB2016a,設(shè)置的實驗參數(shù)為:種群規(guī)模1 000,最大遺傳代數(shù)500,代溝0.9,交叉率0.8,變異率0.5。
實驗算例中有6個工件,每個工件各有6道工序,共有10臺機器可供加工,3名維修工人(每位維修工人能力相當),詳細加工信息如表1所示。每個工件的第1行代表可加工的機器,第2行對應(yīng)機器加工所花費時間,單位為h。
表1 加工信息表
假設(shè)預(yù)防性維護時間tpm=5,故障后維修時間tcm=15,β=2,η=100,根據(jù)威布爾分布公式計算得出最佳維護周期,計算公式為
計算得出最佳維護周期T=58?;谧罴丫S護周期設(shè)定預(yù)防性維護的靈活維護時間窗口為[48,58],而超過58還未進行預(yù)防性維護則有一定概率發(fā)生故障,故障概率P=0.6。
考慮雙資源約束的預(yù)防性維護和作業(yè)車間集成調(diào)度模型結(jié)果如圖5和圖6所示,最短生產(chǎn)周期為145 h,pm表示預(yù)防性維護,cm表示故障維修。
圖5 3名維修工人-機器甘特圖(最佳調(diào)度)
圖6 3名維修工人-維修工人甘特圖(最佳調(diào)度)
未考慮雙資源約束的預(yù)防性維護和作業(yè)車間集成調(diào)度模型結(jié)果如圖7所示,最短生產(chǎn)周期依舊是145 h。
圖7 機器甘特圖(最佳調(diào)度)
由上述結(jié)果可知,在不延長總生產(chǎn)周期的情況下,考慮維修工人資源約束可以降低人力成本。
作業(yè)車間的規(guī)模一般是固定的,機器的數(shù)量影響維修工人數(shù)量,該車間共有10臺機器,改變維修工人數(shù)量參數(shù),檢測該車間維修工人最佳配比。
維修工人數(shù)量為4的結(jié)果如圖8和圖9所示。
圖8 4名維修工人-機器甘特圖(最佳調(diào)度)
圖9 4名維修工人-維修工人甘特圖(最佳調(diào)度)
最短生產(chǎn)周期是145 h,但1號維修工人一直處于空閑狀態(tài),屬于閑置資源。
維修工人數(shù)量為2的結(jié)果如圖10和圖11所示。
圖10 2名維修工人-機器甘特圖(最佳調(diào)度)
圖11 2名維修工人-維修工人甘特圖
最短生產(chǎn)周期為146 h,生產(chǎn)周期拉長,且存在維修活動后延現(xiàn)象。為尋找該車間的最佳維修工人配備數(shù)量,改變參數(shù)分別進行集成調(diào)度,結(jié)果如圖12所示。
圖12 調(diào)度結(jié)果對比
綜上所述,當維修工人數(shù)量超過4時(包括4),會造成工人資源的閑置;當維修工人數(shù)量為2或1時,維護活動存在延后現(xiàn)象,會拖長生產(chǎn)周期并造成一定損失。因此,此車間的維修工人合適配備數(shù)量為3。
針對維修工人資源限制下的維修活動和生產(chǎn)調(diào)度之間存在矛盾,提出雙資源、維修活動和生產(chǎn)集成調(diào)度模型,設(shè)置靈活時間窗口和柔性固定維護周期,以最大完工時間最小為優(yōu)化目標,通過仿真實驗,比較維修工人數(shù)量不同時的調(diào)度結(jié)果,尋找維修和生產(chǎn)集成調(diào)度的維修工人最佳配比數(shù)量。