苑明海 黃涵鈺 蔡仙仙 李子晨 裴鳳雀
(①河海大學機電工程學院,江蘇 常州 213022;②常州市智能制造技術與裝備重點實驗室,江蘇 常州 213022)
智能制造車間[1]包含各類資源,其可靠性和抗干擾性難以完全保證,造成了車間內無法避免的各式擾動。其中,隱性擾動或累計擾動是一類不可見卻又影響著產品制造過程的平穩可靠性的擾動,其往往隱于普通加工過程,難以測量捕捉,并有賴于偏差的累積(如算法尋優導致的單一設備負荷過高、加工精度偏差累計、工件搬運不暢導致的開始加工時間偏差累計等),待隱性擾動累計到一定程度需要進行重調度[2]。
在智能制造現行模式下,利用車間資源實時產生的任務執行數據監測車間內擾動[3],快速高效的重調度機制為車間資源調度優化提供了基礎性的保障[4-7]。目前對隱性擾動下的車間重調度方法研究相對較少[8],Akkan C[9]采用被動觸發式重調度規則對隱性擾動重調度方法進行了研究。唐秋華等[4]利用累積誤差時間來量化隱性擾動,提出了一種基于機器學習的重調度方法。劉壯等[10]提出了基于改進逼近理想解排序的車間重調度決策方法。Tian S L 等[11]提出了基于培養網與蟻群優化算法,引入門檻值觸發的機制,實現車間自適應重調度。Kumar N 等[12]提出了一種基于布朗運動加權的小群算法,建立了擾動分析和重調度的有效方法。李聰波等[13]提出了一種改進的引力搜索算法,以節能優化為目標進行緊急插單類動態擾動的車間重調度方案求解。Moser M 等[14]運用元啟發方法解決不相關并行機器調度問題。
由于隱性擾動影響生產過程周期長,且難以監測,現有的重調度研究集中于顯性擾動情況下的重調度方法,普通重調度策略難以適用。因此本文著眼于隱性擾動下車間資源重調度方法,研究隱性擾動造成的資源狀態異常檢測方法,并利用數據替代手段研究智能制造車間調度切換過程中的短暫容錯機制,量化隱性擾動后快速確立重調度時刻點,分類并抉擇重調度方式以指導智能車間在隱性擾動情況下的高效生產。實現制造系統監測到隱性擾動之后、生產進程宕機之前選擇正確的重調度策略,降低最大完工時間和交付延時均值,并降低加工成本的目標。智能制造車間隱性擾動應對流程如圖1 所示。

圖1 智能制造車間隱性擾動應對流程
智能制造車間的典型特征是離散化柔性化,現將智能制造車間多品類產品柔性調度問題描述為:制造準備階段,一個典型智能制造車間有m臺可用于制造多種品類產品的加工中心,n個未加工且工藝不同的工件,每個工件擁有符合工藝路線的工序數目,且加工次序必須合乎工藝路線的規定。每道工序都擁有各自的加工中心集,且只能選取其中一臺加工中心進行產品制造,不同加工中心完成各工序的時間各不相同。
在建立具體的數學模型之前,依據智能車間實際生產情況抽象出如下共性的約束規則:
(1)制造任務開始前,各加工中心均處于不工作狀態。
(2)一個工件的一道工序僅可由一臺加工中心完成。
(3)一臺加工中心只有完成上一工序的加工后方可開始下一任務。
(4)所有工件在每臺加工中心上的優先級相同。
(5)各工序的加工過程除意外不會無故中斷。
(6)工件的安裝卸載搬運操作均計入該道工序的完成時間內。
本文中出現的符號定義見表1。

表1 符號定義表
車間調度的含義是綜合利用車間制造資源,合理分配給每個工序相應的資源,以此達到既定目標函數的最大值或最小值而智能制造車間調度則是將多目標綜合優化刻入到每一個智能制造環節。因此本文選取如下對車間實際生產影響較大的參數,建立相應的目標函數,以此達到按期完成生產任務、合理配置車間設備資源、縮短客戶等待時間和降低生產成本的目的,實際性地解決智能制造車間多品類產品柔性調度問題,數學模型如下:
(1)最大完工時間為
(2)交付延時均值=各工件的交付延時總和/工件總數目。
(3)加工中心負載率=所有加工中心的總負載時間/所有加工中心的總開機時間。
(4)總加工成本=所有加工中心的總空載費用+所有加工中心的總工作費用+總延時費用+車間固定成本+車間內總搬運成本。
(5)最優解集,上述4 個指標的值最小為目標最優。
調度過程與實際車間生產的相符程度需要依靠一系列規則的約束,相應的約束規則表示為
(1)一個工件的一道工序僅可由一臺加工中心完成。
(2)每個工件的加工次序必須合乎工藝路線的規定。
(3)一臺加工中心只有完成上一工序的加工后方可開始下一任務。
(4)各工序的加工過程除意外不會無故中斷,工件的安裝卸載操作均計入該道工序的完成時間。
(5)制造任務開始前,各加工中心均處于不工作狀態。
(6)每道工序擁有各自的加工中心集,且只能選取其中一臺加工中心進行制造。
隱性擾動發生時車間需要快速高效重排,以節省中斷成本,降低交付延時。雖然現行的技術獲取任務執行數據較為容易,但隱性擾動反映在單個數據層面的差異過小使得容易被終端數據監控系統所忽略。因此本文設計了基于軟測量模型的任務執行異常數據監測模型和使用數據替代方法的短暫容錯機制,將軟測量模型計算出的預測值替換掉異常的任務執行數據,使得生產過程短暫正常運行。
軟測量技術[15]對任務執行數據的連續監測效能高,對資源異常狀態敏感,對重調度觸發時刻的確定具有很大的幫助。而支持向量機技術(supportvector-mnachine,SVM)[16]是軟測量模型的常用構建手段,其適應性強,樣本規模依賴程度低。
為了確定重調度觸發時刻,即資源異常狀態時刻,將軟測量模型獲取資源狀態數據的預測值與實時采集的任務執行數據進行比對。并引入影響程度INF代之,如式(13)所示。隱性擾動發生起初的影響程度是 0 ≤INF≤d,其中,d為影響程度INF的閾值,將任務執行案例數據經預處理后通過數據挖掘即可得出該值。當INF>d時,隱性擾動已經累積到可以使原調度方案失效的地步,因此確立此刻為重調度觸發時刻,且運行短暫容錯機制及生成重調度方案同步開始。
隱性擾動的累積勢必會造成智能制造車間資源異常數據的產生,車間資源的任何一個異常數據都可能會導致整體原始調度方案的癱瘓,因此必須探索出合理高效的數據替代手段,在檢測出異常數據到切換重調度方案的短時間內進行數據替換,確保重調度時刻非故障資源的繼續運行,并稱此為短暫容錯機制。SVM 模型給出的預測數據常用于替換隱性擾動下監測出的異常值 (xi,yi),但預測數據的精確性往往達不到保障系統短暫平穩運行的要求,故本節設計了通過結合K鄰近值分類算法[17]和lasso回歸算法[18-19]提高預測值的精度。
根據案例庫中的任務執行數據,以k個與異常值最相鄰的案例數據作為鄰近值數據集:[(xi1,yi1),(xi2,yi2),···,(xik,yik)]。這k個數據的任務執行情況與異常更正后的資源狀態是最相似的,將這些值綜合替代預測值,可以提高替代數據的精確性。將這k個案例數據與異常值的距離D作為權重的關鍵指標,以加權平均方案把各案例數據的輸出值乘以對應權重,其總和即是替代數據的目標值。
本文采用的lasso 回歸算法其代價函數中包含有L1范數的懲罰項,以確定權重向量 α可以被求解,代價函數具體如下:
其中:yil為實時采集到的任務執行數據,λ‖α‖1為L1范數的懲罰項。考慮到 λ‖α‖1的特殊性,利用坐標下降法求解最佳權重。
在懲罰項中引入次梯度,解決 λ‖α‖1不可求偏導的問題。
此時將尋找最優權重轉換為求解最小代價函數,即兩個偏導數的和等于0。
以lasso 回歸算法改進K鄰近值分類得出的預測值,有效保證在任務執行數據樣本數量過低情況下依舊能得出準確性較高的預測值,來保障車間調度方案的平穩切換。
現階段車間資源重調度的方式主要包含有右移與常規處理[20]。因隱性擾動的累積性與非突發性,常見于車間內單個資源上,甚少在多個車間資源上同時發生,故重調度不必對車間宕機右移,因此右移重調度機制不予討論,僅沿用常規重調度方式。重調度觸發時刻,車間內所有工件將分為三大類:待加工、已完工和部分完工。加工中心亦可分為三類:負載、空載和調整中。加工中心的調整時長可通過對案例庫歷史數據進行數據挖掘來預估。
現階段研究多將擾動發生時刻指定為受擾動影響的工序的完工時刻,但在車間實際加工過程中,隱性擾動的資源狀態異常時刻往往發生于某一加工中心加工某一工序的進程中。因此本文將隱性擾動下的重調度方式分為兩類展開討論。
常規重調度方式即在重調度觸發時刻,快速確立工件的釋放時刻與加工中心的可用時刻,然后以目標函數最優為導向調用智能優化算法,快速重排剩余工序生成重調度方案。關鍵工序等比例重調度區別于常規重調度,認定在重調度觸發時刻前隱性擾動對工件加工的影響可以被接受,加之短暫容錯機制的存在,該道工序的已加工進度被系統認可,當挪換到另一加工中心進行加工時,剩余加工時長依據剩余進度進行等比例換算。T0為重調度觸發時刻,此時在隱性擾動影響下的加工中心Mk正在加工工序Oij,其剩余進度為rate=(ETijk-T0)/tijk。挪換到Oij的可選加工中心的任一臺加工中心Mi,其相應的加工時長變為=tijk×rate。
上述兩種重調度方式對應著不同的隱性擾動場景,僅通過簡單的優化算法分別尋優對比并不可靠,需要通過歷史案例數據來訓練系統的重調度方式選擇能力,以達到系統對隱性擾動的監測、容錯、快速抉擇、調用算法生成方案、執行重調度的一套快速應對機制。這里定義重調度方式選擇變量Y,Y=1代表選擇關鍵工序等比例重調度,Y=0則選擇常規重調度。
由于重調度方式選擇是一個二元分類問題,本節引入Sigmoid 分類器[17]進行該問題的求解,Sigmoid函數實現了輸入值在 [0,1]之間的投影。我們希望分類器的結果=f(x;w;b)擁有這樣的特質:若x為實施關鍵工序等比例重調度來應對隱性擾動所對應的車間資源狀態數據,例如該車間資源發生與時間偏差及與設備資源關聯的隱性擾動,那么更接近于1;若x為實施常規重調度來應對隱性擾動所對應的車間資源狀態數據,例如該車間資源發生與產品質量關聯的隱性擾動,那么更接近于0。
重調度方案決策算法的具體流程如下:
Step1:構建訓練數據集。系統調用采集得到的隱性擾動發生時任務執行的歷史案例數據構成訓練數據集:(x1,Y1),(x2,Y2),···,(xn,Yn)。xi∈Rd代表第i個歷史案例任務執行方案中的所有屬性指標;Yi為第i個案例的重調度方式選擇變量,若Yi=1則代表該案例選用關鍵工序等比例重調度方式,若Yi=0則代表該案例選用常規重調度方式。
Step2:問題轉化。Sigmoid 分類器對第i個案例做出的預測是f(xi;w;b),而實際重調度方式選擇情況是Yi,將兩者表示為0~1 分布的向量,而后將平均交叉熵確立為損失函數。
此時問題即轉換為使得此平均交叉熵與正則項的和最小。
Step3:尋優求解。在建立優化模型之后,需要尋找最優解。通常隨機初始化變量,然后用L-BFGS優化算法迭代更新變量。
本文采用Matlab R2020a 編寫上述算法并求解,硬件平臺為AMD Ryzen 5 2 600 CPU @3.40GHz,RAM 16 GB。選用某企業智能制造10×10 規模的車間實例數據進行驗證,即10 個加工中心加工10 個工件的車間調度問題,并以遺傳算法(genetic-algorithm,GA)對該問題求解得到初始車間調度甘特圖,具體調度方案如圖2 所示,此調度方案中最大完工時間為70 min,交付延時均值為0 min,加工中心負載率59.43%,總加工成本814.04 元。

圖2 實例車間調度甘特圖
本文依托于某企業智能制造車間的數據采集及預處理方法,連續采集該車間1 個月內的工序實際加工時長數據。表2 給出了重調度發生時刻剩余工序實例數據,依據等比例重調度原則,工序O82在各加工中心上的加工時間也依據比例進行相應的更改。表1 中數據代表各個工件各道工序用不同加工中心加工的時間數值,還給出來了各個工件的交付期。其中“/”表示該加工中心不在該道工序的可選加工中心集中,因此給不出具體數值。其中“N/A”意味著該工件沒有明確的交付期,越快越好。表3 為車間內各加工中心的各項成本。

表2 重調度發生時刻剩余工序實例數據

表3 加工中心的各項成本
該智能車間在執行初始調度方案時,資源異常狀態監測模型感知到加工中心M8產生隱性擾動,由SVM 模型確定重調度觸發時刻為25 min。從歷史案例中各加工中心的數據預估出M3的調整時間為25 min,意味著25~50 min 這個時間段內M3不能用于加工。系統調用任務執行數據,通過Sigmoid分類器得出重調度方式選擇變量1,由于短暫容錯機制的存在,隱性擾動達到影響車間資源正常執行生產任務的閾值前的短暫時刻內,初始調度方案的執行成果是可被接受的。因此判定選用關鍵工序等比例重調度方案,將當前工序加工結束,以達到最大化減小擾動影響、節省成本并按期交付的目的。而我們回溯任務執行數據發現此刻M3上發生與時間偏差關聯的隱性擾動,故系統決策結果正確。具體重調度方案如圖3 所示:最大完工時間為73 min,交付延時均值為0 min,加工中心負載率為57.45%,總加工成本為948.17 元。

圖3 關鍵工序等比例重調度甘特圖
為了對比關鍵工序等比例重調度的合理性及有效性,我們假設系統判定此隱性擾動的應對方式為常規重調度,即變量Y=0,則代表著在重調度觸發時刻,加工中心上所加工的關鍵工序O82因隱性擾動的影響無法被系統認可。例如與加工質量關聯的隱性擾動,因加工中心M3技術精度誤差累積導致工件N8當前的工序延時嚴重。然后選擇重調度方法為常規重調度,將N8的4 道工序重排得具體調度方案如圖4 所示。最大完工時間97 min,交付延時均值0 min,加工中心負載率45.36%,總加工成本1 081.00 元。

圖4 常規重調度甘特圖
由圖2~圖4 的3 種調度方案對比可知,關鍵工序等比例重調度、常規重調度兩種方式相較于正常調度,前者的最大完工時間、加工中心負載率、總加工成本更優。
本文研究了隱性擾動發生時智能制造車間的重調度決策方法,建立了基于SVM 的資源異常監測模型,并通過lasso 回歸和k近鄰值分類算法提高模型預測值的精度,完成了智能制造車間從擾動監測到短暫容錯,再到重調度方式選擇的全過程研究,其證明了確定車間資源重調度方案時要注重單獨考慮顯式擾動與隱性擾動的影響。
本文所構建的隱性擾動下車間資源重調度方法對隱性擾動表現形式的分析仍不夠細致,僅包括了與設備資源、產品質量、時間偏差關聯的隱性擾動,后續需繼續探索;在重調度方式判定上,亦可融入貝葉斯網絡等方法進行優化;此外,動態擾動的應對機制也將是后續研究的熱點。