張 維,張少勛,吳 燕,時思遠
(西北工業(yè)大學(xué),西安 710072)
產(chǎn)研結(jié)合的多品種小批量生產(chǎn)模式是目前企業(yè)主要的生產(chǎn)模式,其具有生產(chǎn)周期不一致、物料種類多、生產(chǎn)工序復(fù)雜等特征。這些特征導(dǎo)致企業(yè)不能保障和準(zhǔn)確預(yù)測生產(chǎn)周期和生產(chǎn)效率,從而影響了交貨周期。通過事先預(yù)測生產(chǎn)線的在制品數(shù)量、生產(chǎn)周期等的性能指標(biāo),并對生產(chǎn)計劃進行預(yù)調(diào)整,對保障生產(chǎn)周期,提高生產(chǎn)管理水平具有重要的指導(dǎo)意義。
近年來,對于生產(chǎn)線性能預(yù)測方面的研究主要分為仿真方法預(yù)測和機器學(xué)習(xí)模型預(yù)測。在仿真方法方面,袁杰[1]以復(fù)雜制造過程質(zhì)量問題的預(yù)測為研究對象,分別針對模型Petri網(wǎng)預(yù)測方法、診斷方法以及模糊著色Petri網(wǎng)推理方法進行了分析改進,為生產(chǎn)策略的調(diào)整、糾正措施的采取提供了決策依據(jù),加快了系統(tǒng)響應(yīng)速度。Azadeh等[2]提出了一種基于計算機仿真和人工神經(jīng)網(wǎng)絡(luò)的算法,提供了更高的預(yù)測精度。錢鑫森[3]以排隊系統(tǒng)理論為基礎(chǔ)建立基于G/G/m/b排隊模型的半導(dǎo)體封裝測試生產(chǎn)線性能預(yù)測模型,提高了預(yù)測準(zhǔn)確度。Zhang等[4]基于DELMIA/Quest軟件的生產(chǎn)線仿真技術(shù),對直升機復(fù)合材料主槳葉生產(chǎn)線進行建模仿真,針對仿真中發(fā)現(xiàn)的問題,從生產(chǎn)班次、工藝流程、設(shè)備配置等方面提出改進方案,并通過了仿真驗證。由于多品種小批量生產(chǎn)線的復(fù)雜性,仿真方法預(yù)測模型的建立是非常的困難的。在機器學(xué)習(xí)模型預(yù)測方面,Tercan等[5]使用一種基于深度學(xué)習(xí)的持續(xù)學(xué)習(xí)方法,可在注塑成型中跨多個不同產(chǎn)品進行質(zhì)量預(yù)測。陳雪芳等[6]針對處于不確定性環(huán)境下可重入系統(tǒng)的產(chǎn)出預(yù)測問題,將小波優(yōu)良的逼近性質(zhì)以及神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)自適應(yīng)性質(zhì)相結(jié)合,提出了遺傳小波神經(jīng)網(wǎng)絡(luò)對半導(dǎo)體生產(chǎn)線的產(chǎn)出進行預(yù)測,驗證了模型的優(yōu)良性。趙婷婷等[7]將基于數(shù)學(xué)規(guī)劃模型融入BP神經(jīng)網(wǎng)絡(luò),提高了半導(dǎo)體生產(chǎn)線產(chǎn)出率預(yù)測的效率和準(zhǔn)確度。王令群等[8]利用RBF神經(jīng)網(wǎng)絡(luò)對半導(dǎo)體生產(chǎn)線建立預(yù)測模型,對生產(chǎn)線輸出進行預(yù)測。談宏志等[9]使用BP神經(jīng)網(wǎng)絡(luò)和LMSA混合算法建立車間調(diào)度模型,得到較優(yōu)的車間調(diào)度模型。王宏愿[10]采用PSO–CV–SVM建立鍛造生產(chǎn)線能耗模型,得到更加準(zhǔn)確的鍛造生產(chǎn)線的能耗預(yù)測情況。
生產(chǎn)線性能預(yù)測的訓(xùn)練數(shù)據(jù)為時序數(shù)據(jù),面向時序數(shù)據(jù)預(yù)測的問題,國內(nèi)外學(xué)者也做出了眾多研究。周曉莉等[11]采用DBN(Deep belife network)對赤潮類時序數(shù)據(jù)的趨勢性進行預(yù)測。王昭旭[12]針對水泥生產(chǎn)過程中存在時變時延性、不確定性和非線性,難以建立精確的能耗預(yù)測模型的問題,提出了基于時間序列深度信念網(wǎng)絡(luò)的水泥生產(chǎn)單位能耗預(yù)測模型。Kuremoto等[13]將受限玻爾茲曼機和多層感知器組合為DBN來預(yù)測混沌時間序列數(shù)據(jù),從預(yù)測精度的角度分析,模型性能有所提高。
通過對目前使用BP神經(jīng)網(wǎng)絡(luò)進行生產(chǎn)線性能預(yù)測的研究分析發(fā)現(xiàn),在預(yù)測模型的建立過程中,對數(shù)據(jù)的時序性的研究較少,并在BP網(wǎng)絡(luò)訓(xùn)練過程中多采用SGD、ADAM(Adapt with momentum)等傳統(tǒng)更新參數(shù)的方法,預(yù)測結(jié)果精度仍有待提高。
針對神經(jīng)網(wǎng)絡(luò)在多品種小批量生產(chǎn)模式的性能預(yù)測方面的不足,本文采用DBN和RNN(Recurrent neural network)結(jié)合的循環(huán)深度信念網(wǎng)絡(luò)C–DBN,構(gòu)建生產(chǎn)線性能預(yù)測模型,對多品種小批量產(chǎn)品的生產(chǎn)線性能進行預(yù)測;并針對模型訓(xùn)練方法不足的問題,提出了AMM算法,對傳統(tǒng)基于隨機梯度下降算法的訓(xùn)練方法進行改進,達到了算法穩(wěn)定性以及收斂速度優(yōu)化的目的,最終實現(xiàn)對生產(chǎn)線性能的有效預(yù)測。
多品種小批量生產(chǎn)模式的特點是零件種類多、混合排產(chǎn)難度大、零件的品質(zhì)不容易保障、所需設(shè)備多、設(shè)備工作量失衡等,從而難以如期交貨。本文采用深度學(xué)習(xí)的方法,利用深度學(xué)習(xí)模型強大的自動擬合能力,找出多品種小批量生產(chǎn)線歷史數(shù)據(jù)之間的某種潛在規(guī)律,從而進行生產(chǎn)線性能的預(yù)測。對于模型的輸入?yún)?shù)而言,在采用DBN和RNN進行預(yù)測時,主要選擇設(shè)備信息、加工工件信息等12個因素作為樣本集的輸入特征。
(1)設(shè)備對生產(chǎn)線性能的影響因素包括:平均無故障加工時間(Mean time between failures,MTBF)、計劃停機時間 (Scheduled downtime,SDT)、計劃停機頻率 (Planned shutdown frequency,PSF)、設(shè)備利用率 (Utilization ratio,UR)、非計劃停機概率 (Unscheduled shutdown probability,USP)、停機時間(Unplanned downtime,UDT)。
(2)加工工件對生產(chǎn)線性能的影響因素包括:工件的加工種類 (Work piece,WP)、每種工件的實際投產(chǎn)數(shù)(Work piece number,WPN)、工件加工的準(zhǔn)備時間(Set up time,SUT)、工序的加工用時 (Processing time,PT)、工件加工所需原材料的種類(Raw material,RM)、工件加工合格率(Qualification rate,QR)。
基于上述因素的生產(chǎn)線輸入的總特征(Input)為
Input ={MTBF,SDT,PSF,UR,USP,UDT,WP,WPN,SUT,PT,RM,QR} (1)
對于模型輸出層,生產(chǎn)線性能常用的績效量度分別是在制品數(shù) (Work in process,WIP)、生產(chǎn)周期時間 (Cycle time,CT)以及生產(chǎn)效率 (Throughput,TH)。這3種參數(shù)存在一定的相互關(guān)系,即WIP = CT×TH,因此只需對其中兩個參數(shù)進行預(yù)測即可。本文選擇對生產(chǎn)在制品數(shù)量以及生產(chǎn)周期進行預(yù)測。
由于生產(chǎn)線的特征參數(shù)是時變的,這些時變參數(shù)的累積變化會對加工生產(chǎn)過程中的生產(chǎn)效率以及生產(chǎn)周期等性能產(chǎn)生影響,因此不能僅根據(jù)當(dāng)前時刻的參數(shù)值對生產(chǎn)線性能進行預(yù)測,需結(jié)合一段時間內(nèi)的生產(chǎn)數(shù)據(jù)進行綜合考慮。如根據(jù)生產(chǎn)排程,不同時刻生產(chǎn)線加工的產(chǎn)品種類不盡相同,相對應(yīng)的加工工序、占用設(shè)備的比例以及加工時間等均將發(fā)生變化,且隨著時間的變化生產(chǎn)線設(shè)備因素等也將會變化,若僅根據(jù)某一時刻的數(shù)據(jù)無法對生產(chǎn)線性能進行較準(zhǔn)確的分析預(yù)測。針對該特點,本文采用面向時序數(shù)據(jù)的深度信念網(wǎng)絡(luò)模型對生產(chǎn)線的性能進行預(yù)測。
計算生產(chǎn)線所加工各個零件的工序的平均加工時間 (Average time of processing,ATP),以每個零件的工序平均加工時間的最小公倍數(shù)作為預(yù)測模型的時序數(shù)據(jù)的最小時間節(jié)點,保證在讀取數(shù)據(jù)時加工工件在其目前加工工序中處于完成狀態(tài),以確保輸入數(shù)據(jù)的準(zhǔn)確性。即模型輸入數(shù)據(jù)時間間隔 (Time interval,TI)為
TI = [ATP1,ATP2,…,ATPn](2)式中,ATPn表示第n種零件的平均工序加工時間。
面向時序數(shù)據(jù)預(yù)測的深度信念網(wǎng)絡(luò)C–DBN與傳統(tǒng)DBN網(wǎng)絡(luò)結(jié)構(gòu)不同之處在于: (1)輸入層為時序數(shù)據(jù); (2)該網(wǎng)絡(luò)的輸出要經(jīng)過RNN網(wǎng)絡(luò)。將RNN模型加在最后的RBM層后面,構(gòu)建基于C–DBN的生產(chǎn)線性能預(yù)測模型,如圖1所示。
圖1 基于C–DBN的生產(chǎn)線性能預(yù)測模型結(jié)構(gòu)Fig.1 Structure of production line performance prediction model based on C–DBN
在生產(chǎn)線性能預(yù)測模型中,對于時間序列的輸入特征,使用RNN模型作為輸入數(shù)據(jù)的特征二次提?。―BN為第1次提取,提取的是數(shù)據(jù)空間維度信息;RNN為第2次提取,提取的是數(shù)據(jù)時間維度的信息)。在RNN模型中,使用了RNN循環(huán)核實現(xiàn)參數(shù)的時間共享。本文把DBN中RBM層的輸出作為RNN層的輸入,但當(dāng)數(shù)據(jù)要輸入RNN層時,將生產(chǎn)線的前t個時刻的數(shù)據(jù)作為一次輸入數(shù)據(jù),把這t個過程的最后一個實際結(jié)果作為數(shù)據(jù)標(biāo)簽。即循環(huán)核的時間展開步數(shù)為t,每步送入RNN的特征個數(shù)為最后一個RBM輸出數(shù)據(jù)的維度。RNN模型如圖2所示。
圖2 RNN模型及時間步展開Fig.2 RNN model and time step expansion
式中,Zt為RNN 輸入特征;ht–1為上一時刻的記憶體輸出;WZh為輸入特征的權(quán)值;Whh為記憶體的權(quán)值;bh為記憶體偏置;ht為t時刻的記憶體輸出;Why為輸出權(quán)值;by為總輸出偏置;yi為預(yù)測值。
首先采用對比分歧算法訓(xùn)練使得各個RBM得到其最佳權(quán)重、偏置,但由于RBM在訓(xùn)練時是分離、逐個訓(xùn)練的,因而相對于整個生產(chǎn)線性能預(yù)測模型而言,必然存在一定的誤差。必須經(jīng)過后期的調(diào)優(yōu)對每個受限玻爾茲曼機的權(quán)重做進一步的改進,得到整體最佳權(quán)重從而保證預(yù)測的準(zhǔn)確度。
針對傳統(tǒng)的調(diào)優(yōu)方法存在的收斂速度慢以及精度不足的問題,提出了一種基于AMM算法的調(diào)優(yōu)方法。首先充分利用動量的思想,將ADAM算法的前一迭代點處的方向矢量與當(dāng)前迭代點處的方向矢量加權(quán)求和所得的矢量,作為下一個迭代點處的搜索方向,即權(quán)重或偏置的調(diào)優(yōu)方向;其次結(jié)合RMSprop算法中基于范數(shù)的思想,加速基于AMM的調(diào)優(yōu)算法的收斂速度,提高了精度。結(jié)合生產(chǎn)線預(yù)測模型的特點,基于AMM算法的調(diào)優(yōu)具體流程,如圖3所示。
圖3 基于AMM的生產(chǎn)線性能預(yù)測模型調(diào)優(yōu)算法Fig.3 Optimization algorithm of production line performance prediction model based on AMM
步驟1。初始化權(quán)重和偏置的一階矩估計值以及二階矩估計值,即
式中,vw、vb分別為權(quán)重、偏置的偏一階矩估計更新;sw、sb分別為權(quán)重、偏置的偏二階矩估計更新。
步驟2。根據(jù)生產(chǎn)線性能預(yù)測值與真實標(biāo)簽值的平均絕對誤差值ε,采用式(5)分別計算生產(chǎn)線特征的m個樣本的權(quán)重及偏重的平均梯度gk,即
式中,i為樣本序號;L為網(wǎng)絡(luò)深度;θ為參數(shù)權(quán)重w或偏置b;k為迭代次數(shù),初始值為0;x(i)為t時刻的輸入樣本;y(i)為t時刻的預(yù)測標(biāo)簽值;f為Sigmoid函數(shù)。
步驟3。式 (6)和 (7)為更新偏一階矩估計,即
更新偏二階矩估計為
式中,β1為一階矩估計指數(shù)衰減速率,β1=0.9;β2為二階矩估計指數(shù)衰減速率,β2=0.999;gw、gb分別為權(quán)重、偏置的梯度值。
步驟4。修正權(quán)重和偏置的一階、二階矩估計值初始化為0所導(dǎo)致的誤差,一階矩偏差修正為
式中,vkw,vkb分別為權(quán)重、偏置一階矩的偏差修正。二階偏差修正為
式中,skw,skb分別為權(quán)重、偏置二階矩的偏差修正。
步驟5。計算出算法ADAM方向為
式中,PkwADAM、PkbADAM分別為權(quán)重、偏置的ADAM算法修正方向,其中,P0ADAM= 0;δ為常數(shù),取值 10–8。
步驟6。算法AMM第k+ 1次迭代的更新量,即
式中,、分別為第k+1次迭代時權(quán)重、偏置的AMM算法修正方向,且= 0;α為歷史迭代步權(quán)重,α= 0.9;η為學(xué)習(xí)率,初始化值為0.001。
步驟7。權(quán)重、偏置參數(shù)更新,即
式中,w(k+1)為第k+ 1次迭代后的權(quán)重;b(k+1)為第k+ 1次迭代后的偏置。
通過上述步驟可知,基于AMM的調(diào)優(yōu)算法在ADAM算法基礎(chǔ)上,將ADAM算法的前一迭代點處的方向矢量與當(dāng)前迭代點處的方向矢量加權(quán)求和所得矢量,作為下一個迭代點處的搜索方向。分別修正預(yù)測模型的權(quán)重及偏置值,以提高模型的收斂速度及精度。
結(jié)合生產(chǎn)線性能預(yù)測數(shù)據(jù)的時序性特征以及生產(chǎn)線性能的衡量指標(biāo),搭建基于AMM的模型調(diào)優(yōu)算法的生產(chǎn)線性能預(yù)測模型,如圖4所示。
圖4 生產(chǎn)線性能預(yù)測模型訓(xùn)練過程Fig.4 Training process of production line performance prediction model
基于AMM算法的生產(chǎn)線預(yù)測C–DBN模型具體訓(xùn)練步驟如下。
步驟1。對生產(chǎn)線性能特征數(shù)據(jù)以及生產(chǎn)線性能預(yù)測指標(biāo)數(shù)據(jù)進行數(shù)據(jù)標(biāo)準(zhǔn)化處理,采用z–score標(biāo)準(zhǔn)化,即
式中,x為樣本值;μ為x的均值;σ為x的標(biāo)準(zhǔn)差。
步驟2。生產(chǎn)線性能預(yù)測模型迭代次數(shù)、模型層數(shù)試驗確定,固定訓(xùn)練生產(chǎn)線預(yù)測模型各個結(jié)構(gòu)參數(shù)。
步驟3。采用對比分歧算法,訓(xùn)練得到每個RBM的最佳權(quán)重、偏置。
步驟4。采用以下a ~ h有監(jiān)督調(diào)優(yōu)流程,得到生產(chǎn)線預(yù)測模型全局最佳權(quán)重、偏置:
a.初始化預(yù)測模型輸出層(RNN神經(jīng)網(wǎng)絡(luò))的權(quán)重wzh、whh、why以及偏置 , 為
式中,size1為最后一個RBM的隱含層神經(jīng)元個數(shù);size2為記憶體個數(shù);size3為輸出層神經(jīng)元個數(shù)。
b.根據(jù)無監(jiān)督訓(xùn)練階段所得RBM的最佳權(quán)重,輸入生產(chǎn)線特征數(shù)據(jù),逐層計算得到各個隱含層值。
c.根據(jù)輸出層的權(quán)重wzh、whh,why以及偏置bh、by,計算出生產(chǎn)線性能的預(yù)測結(jié)果yi',即
式中,zt為最后一層隱含層的輸出;yi'為預(yù)測值。
d.將生產(chǎn)線性能預(yù)測值與真實標(biāo)簽值進行對比,計算兩者的平均絕對誤差值ε,即
e.調(diào)用基于AMM的調(diào)優(yōu)算法(2.2節(jié)中的步驟1~7),根據(jù)誤差值ε反向逐層調(diào)整各層權(quán)重、偏置。
f.重復(fù)步驟e直到誤差值從上到下逐層傳遞完畢。
g.根據(jù)重構(gòu)的權(quán)重和偏置,輸入生產(chǎn)線特征數(shù)據(jù),逐層計算得到該權(quán)重和偏置下的生產(chǎn)線性能預(yù)測值。
h.重復(fù)步驟d直到迭代次數(shù)達到最大迭代次數(shù)。
步驟5。得到完整生產(chǎn)線性能預(yù)測模型。
由于生產(chǎn)線的時序性,在模型進行有監(jiān)督訓(xùn)練的過程中,該模型輸入訓(xùn)練數(shù)據(jù)是連續(xù)時刻下的數(shù)據(jù),每連續(xù)t個時刻的數(shù)據(jù)進行1次輸入,最后1個時刻的生產(chǎn)線性能數(shù)據(jù)作為訓(xùn)練的標(biāo)簽,完成1次監(jiān)督訓(xùn)練過程。
根據(jù)前文對多品種小批量生產(chǎn)線特征的分析,以某電子產(chǎn)品的加工生產(chǎn)線的部分?jǐn)?shù)據(jù)參數(shù)為例 (表1),采用基于AMM的C–DBN模型對該生產(chǎn)線性能進行預(yù)測研究。
表1 生產(chǎn)線性能預(yù)測研究部分?jǐn)?shù)據(jù)Table 1 Partial data of production line performance prediction research
(1)時間步長分析。首先通過試驗來確定時間步的個數(shù),C–DBN模型的時間展開步分別取2、3、4。
從表2可以看出,隨著時間展開步數(shù)的增多,RMSE、MAE、MRE 3種誤差函數(shù)總體逐漸減小,但時間展開步數(shù)增加的同時訓(xùn)練時間也會逐步增大。從生產(chǎn)線性能擬合度R和預(yù)測趨勢準(zhǔn)確度DA角度分析,預(yù)測趨勢準(zhǔn)確度DA的變化和性能擬合度R的變化,基本可以忽略不計。綜合考慮誤差函數(shù)的減小幅度、訓(xùn)練時間的增加幅度以及預(yù)測準(zhǔn)確度和擬合程度,選擇結(jié)合3個時刻的數(shù)據(jù)作為輸入數(shù)據(jù)。因此生產(chǎn)線性能預(yù)測模型的輸入采用3個連續(xù)時刻的數(shù)據(jù)。
表2 輸入數(shù)據(jù)權(quán)重的確定Table 2 Determination of input data weight
(2) 模型層數(shù)分析。在不同的C–DBN模型網(wǎng)絡(luò)深度上依次試驗,記錄相應(yīng)的評價標(biāo)準(zhǔn)誤差值、擬合度以及預(yù)測趨勢準(zhǔn)確性的數(shù)值。最后,綜合3種評價標(biāo)準(zhǔn)誤差值、擬合度、預(yù)測趨勢的準(zhǔn)確性以及訓(xùn)練時間找出全局最優(yōu)解。
RBM網(wǎng)絡(luò)深度在1~4層之間上依次試驗,試驗結(jié)果如表3所示。從3種評價標(biāo)準(zhǔn)誤差角度出發(fā),當(dāng)C–DBN網(wǎng)絡(luò)深度為3時,即隱含層層數(shù)為2層時,3種評價標(biāo)準(zhǔn)誤差值均達到最小值,隨著模型層數(shù)的增大誤差逐漸增大且訓(xùn)練時間成倍增加。從生產(chǎn)線性能擬合度R以及預(yù)測趨勢準(zhǔn)確度DA角度分析,隱含層層數(shù)為2時,預(yù)測的準(zhǔn)確性也是最高的。因此,可以確定C–DBN模型深度為3時,是C–DBN網(wǎng)絡(luò)的最優(yōu)解。
表3 生產(chǎn)線預(yù)測模型層數(shù)分析Table 3 Analysis of model layers of production line prediction model
(1)與傳統(tǒng)預(yù)測方法對比。本文將改進后C–DBN模型與傳統(tǒng)DBN模型在生產(chǎn)線預(yù)測方面的性能進行對比。
以生產(chǎn)線在制品數(shù)量為例。將DBN模型的預(yù)測值與實際值,以及C–DBN模型的預(yù)測值進行對比,如圖5所示??梢钥闯?,DBN模型對生產(chǎn)線性能預(yù)測過程中,出現(xiàn)了梯度下降過度的現(xiàn)象,相比較C–DBN模型的預(yù)測值與真實值之間的吻合度較高,能較準(zhǔn)確地對生產(chǎn)線性能進行預(yù)測。
圖5 C–DBN與DBN預(yù)測結(jié)果對比Fig.5 Comparison of C–DBN and DBN prediction results
(2)預(yù)測值與真實值對比。根據(jù)試驗所得模型參數(shù)進行訓(xùn)練預(yù)測,根據(jù)生產(chǎn)效率預(yù)測值以及生產(chǎn)周期預(yù)測值,計算得到在制品數(shù)量值,分別將3個指標(biāo)的預(yù)測值與真實值進行對比以衡量模型的能力,如圖6所示??梢钥闯觯?個衡量指標(biāo)的預(yù)測值與真實值之間均存在一定的誤差,但各個衡量指標(biāo)的總體趨勢預(yù)測準(zhǔn)確度較高,基本符合真實趨勢。驗證了該生產(chǎn)線性能預(yù)測模型可有效地對生產(chǎn)線性能進行預(yù)測,且具有較高的準(zhǔn)確度。
圖6 生產(chǎn)線性能預(yù)測值與真實值對比Fig.6 Comparison between predicted value and real value of production line performance
針對多品種小批量生產(chǎn)模式零件種類多、混合排產(chǎn)難度大、零件的品質(zhì)不容易保障、所需設(shè)備多、設(shè)備工作量失衡等特點,本文采用深度學(xué)習(xí)的方法進行生產(chǎn)線性能預(yù)測。以生產(chǎn)線的在制品數(shù)量、生產(chǎn)周期、生產(chǎn)效率為性能指標(biāo),建立了面向時序數(shù)據(jù)的基于C–DBN的生產(chǎn)線性能預(yù)測模型,采用基于AMM算法的有監(jiān)督訓(xùn)練方法,實現(xiàn)了面向時序數(shù)據(jù)的生產(chǎn)線性能預(yù)測模型的有監(jiān)督訓(xùn)練調(diào)優(yōu),并通過實例驗證了該模型的有效性和準(zhǔn)確性。