郭鵬昕,蘇睿馳,何澤,吳磊,馬懿靖
(1.合肥工業(yè)大學(xué)管理學(xué)院,合肥 230009;2.合肥工業(yè)大學(xué)機(jī)械工程學(xué)院,合肥 230601)
在智能制造快速發(fā)展的時(shí)代,離散化生產(chǎn)是未來(lái)中小企業(yè)發(fā)展的主流,準(zhǔn)確預(yù)估訂單完工時(shí)間,有助于制定合理的生產(chǎn)計(jì)劃,有利于按時(shí)完工交付,從而提高企業(yè)信譽(yù)度。參考現(xiàn)有文獻(xiàn),當(dāng)前訂單完工期預(yù)測(cè)問(wèn)題,朱海平等[1]提出了一種經(jīng)驗(yàn)回歸預(yù)測(cè)方法,構(gòu)建車(chē)間生產(chǎn)過(guò)程的高級(jí)Petri網(wǎng)仿真模型;V. Vinod等[2]對(duì)交貨期分配方法與調(diào)度規(guī)則之間的關(guān)系進(jìn)行了研究,利用仿真結(jié)果開(kāi)發(fā)了元模型;申建紅等[3]綜合考慮了工期的不確定性及相關(guān)性,結(jié)合Shapley值函數(shù)與仿真技術(shù)建立工期預(yù)測(cè)模型;王燕青等[4]在實(shí)時(shí)作業(yè)車(chē)間基礎(chǔ)上考慮了用RBF神經(jīng)網(wǎng)絡(luò)搭建預(yù)測(cè)模型;劉道元等[5]建立了一種基于DBN-DNN的離散制造車(chē)間訂單完工期預(yù)測(cè)模型,并在回歸預(yù)測(cè)模型中加入dropout和L2正則化以提高泛化能力;Chen等[6]在對(duì)晶圓加工周期進(jìn)行預(yù)測(cè)時(shí),采用了BP神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)一定程度的深度學(xué)習(xí)。
在目前的預(yù)測(cè)方法研究中,深度學(xué)習(xí)已成為主流方法。本文建立了基礎(chǔ)的可擴(kuò)展性強(qiáng)的深度學(xué)習(xí)模型,可以根據(jù)具體生產(chǎn)車(chē)間具體調(diào)整,同時(shí)使用了實(shí)際生產(chǎn)數(shù)據(jù)來(lái)進(jìn)行訓(xùn)練和測(cè)試,適應(yīng)不同生產(chǎn)線且使用少量數(shù)據(jù)即可獲得較為準(zhǔn)確的結(jié)果,深度學(xué)習(xí)模型的可靠性高。
訂單完工期T是指在離散化生產(chǎn)系統(tǒng)中一個(gè)訂單的第一個(gè)產(chǎn)品開(kāi)始進(jìn)入系統(tǒng)到最后一個(gè)產(chǎn)品完工所花費(fèi)的總時(shí)間T=[t1,t2,…,tn][5]。其影響因素主要為生產(chǎn)車(chē)間的屬性W和訂單的構(gòu)成O兩類影響因素。其中車(chē)間屬性包含設(shè)備與人員的工作情況、當(dāng)前生產(chǎn)狀態(tài)、物流狀態(tài)、負(fù)載能力等多種不確定因素;訂單的構(gòu)成O則可用產(chǎn)品類型及對(duì)應(yīng)類型產(chǎn)品的數(shù)量來(lái)表示。
以上為影響訂單完工期的量化因素,即{O,W1,W2,…,Wn,W11,W12,…,W1m,…,Wnm},記訂單完工時(shí)間T=f(O,W1,W2,…,Wn,W11,W12,…,W1m,…,Wnm),由于函數(shù)F的形式未知,無(wú)法用簡(jiǎn)單的條件約束或線性關(guān)系擬合,因此采用機(jī)器學(xué)習(xí)的方法來(lái)建立影響因素與訂單完工時(shí)間的關(guān)系。傳統(tǒng)機(jī)器學(xué)習(xí)在車(chē)間產(chǎn)品數(shù)量M與訂單產(chǎn)品數(shù)量N比較大時(shí),影響因素也逐漸增大,一般模型在解決明確問(wèn)題時(shí)十分高效,但當(dāng)面對(duì)實(shí)際生產(chǎn)的復(fù)雜問(wèn)題時(shí),會(huì)出現(xiàn)泛化性差,應(yīng)用效果達(dá)不到目的。因此,采用深度學(xué)習(xí)的方法,尋找影響因素之間的隱式聯(lián)系并最終形成預(yù)測(cè)模型,可達(dá)到逼近實(shí)際生產(chǎn)過(guò)程中復(fù)雜非線性關(guān)系與以極高精度逼近任何非線性函數(shù)的目的。
樣本收集可以通過(guò)歷史數(shù)據(jù)統(tǒng)計(jì)和模擬試驗(yàn)進(jìn)行。由于模擬實(shí)驗(yàn)很難捕捉到真實(shí)生產(chǎn)作業(yè)中細(xì)節(jié)的影響因素,因此本文選擇實(shí)際生產(chǎn)數(shù)據(jù)進(jìn)行采集,本文從當(dāng)?shù)啬嘲l(fā)動(dòng)機(jī)生產(chǎn)裝配企業(yè)的制造執(zhí)行系統(tǒng)(MES系統(tǒng))獲取數(shù)據(jù),基于兩條發(fā)動(dòng)機(jī)生產(chǎn)線采集生產(chǎn)過(guò)程中的時(shí)間數(shù)據(jù)與影響因素?cái)?shù)據(jù),根據(jù)生產(chǎn)調(diào)查,可以運(yùn)用統(tǒng)計(jì)方法得到不同產(chǎn)品的工藝參數(shù)以及在固定設(shè)備的加工時(shí)間,結(jié)合對(duì)生產(chǎn)環(huán)境人員與設(shè)備的調(diào)查,對(duì)樣本進(jìn)行特征分析,如表1所示[7],人工篩選出明顯的特征值,篩除“臟”數(shù)據(jù),并加入設(shè)備故障、人員缺勤等不確定因素,最終整合收集了31 293組數(shù)據(jù)構(gòu)建數(shù)據(jù)集,構(gòu)建實(shí)際生產(chǎn)過(guò)程樣本,作為本方法的模型構(gòu)建的樣本。
表1 特征分析
深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的魯棒性,其強(qiáng)大的自學(xué)習(xí)能力能夠逼近任意的非線性函數(shù),建立深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型能夠有效處理時(shí)間預(yù)測(cè)問(wèn)題中多變量不確定性問(wèn)題的非線性關(guān)系。具體算法步驟如下:1)對(duì)MES獲取的數(shù)據(jù)進(jìn)行歸一化、標(biāo)準(zhǔn)化及主成分分析法處理,降低信息冗余;2)通過(guò)分析確定模型重要參數(shù);3)搭建模型訓(xùn)練數(shù)據(jù),根據(jù)訓(xùn)練結(jié)果調(diào)整參數(shù)及模型激活函數(shù)、優(yōu)化算法選擇;4)運(yùn)行算法得到結(jié)果,分析結(jié)果,對(duì)比其他機(jī)器學(xué)習(xí)模型,相應(yīng)算法流程如圖1[4]所示。
圖1 算法流程圖
本文對(duì)生產(chǎn)過(guò)程中各個(gè)環(huán)節(jié)進(jìn)行分析,生產(chǎn)過(guò)程中確定或不確定的因素都可影響訂單完工時(shí)間,從當(dāng)?shù)仄髽I(yè)的制造執(zhí)行系統(tǒng)(MES系統(tǒng))獲取數(shù)據(jù)文件后,除去影響因素中的不可抗力及部分人為因素,并對(duì)強(qiáng)相關(guān)性的數(shù)據(jù)進(jìn)行整合之后,以生產(chǎn)線為導(dǎo)向,利用MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)選取數(shù)據(jù),并獲取對(duì)應(yīng)的完成時(shí)間,導(dǎo)出數(shù)據(jù)為csv格式,以便Python讀取數(shù)據(jù)。將統(tǒng)計(jì)數(shù)據(jù)以影響因素的形式寫(xiě)入對(duì)應(yīng)類別的影響因素(0,0.5,1)作為樣本值,通過(guò)人工篩選出明顯的特征值,剔除無(wú)用數(shù)據(jù),最終整合了31 293組數(shù)據(jù)構(gòu)建數(shù)據(jù)集,并使用60%數(shù)據(jù)建立訓(xùn)練集,其余數(shù)據(jù)用于測(cè)試。整合的數(shù)據(jù)按時(shí)間長(zhǎng)短分類,特征包括工序數(shù)、工件數(shù)、生產(chǎn)線、人員缺勤、機(jī)器生產(chǎn)能力、人工生產(chǎn)能力、物流時(shí)間、物流不暢(通暢:0;短時(shí):0.5;超過(guò)1 d:1)[7]、機(jī)器故障(無(wú)故障:0;當(dāng)天可解決:0.5;當(dāng)天無(wú)法解決:1)[7]、物料短缺(不短缺:0;當(dāng)天可解決:0.5;當(dāng)天無(wú)法解決:1)[7]10個(gè)相關(guān)特征。因此每一組輸入樣本有10個(gè)輸入變量,每個(gè)變量代表一種影響完工期的信息,同時(shí)以每一輸入向量下的預(yù)測(cè)完工期作為輸出層。
使用主成分分析法(PCA,Principal Component Analysis)對(duì)數(shù)據(jù)進(jìn)行特征提取,降低數(shù)據(jù)的冗余,能夠進(jìn)一步減少數(shù)據(jù)中“臟”數(shù)據(jù)的隱患,使模型能夠更好地把握數(shù)據(jù)中的主要特征,以便后續(xù)模型運(yùn)算過(guò)程中提高預(yù)測(cè)的效率與準(zhǔn)確度。
3.3.1 網(wǎng)絡(luò)結(jié)構(gòu)的搭建
模型底層選擇激活函數(shù)為sigmoid交叉熵?fù)p失函數(shù),公式如下:
用softmax函數(shù)作為處理參數(shù)運(yùn)算過(guò)程中的分類問(wèn)題的激活函數(shù),公式如下:
由于時(shí)間預(yù)測(cè)問(wèn)題不同于傳統(tǒng)二分類問(wèn)題,使用logistic回歸算法建立k個(gè)獨(dú)立的二元分類器無(wú)法實(shí)現(xiàn)對(duì)時(shí)間的準(zhǔn)確預(yù)測(cè),只能得到時(shí)間的區(qū)間。因此使用Softmax回歸分類器更加有利于對(duì)時(shí)間預(yù)測(cè)問(wèn)題的結(jié)果表達(dá)。
傳統(tǒng)機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)通過(guò)1個(gè)隱層實(shí)現(xiàn)非線性映射,但為了提高模型的穩(wěn)定性和泛用性,本文選擇建立DNN(深度神經(jīng)網(wǎng)絡(luò))選擇包含3個(gè)隱層的神經(jīng)網(wǎng)絡(luò),輸入層包含節(jié)點(diǎn)數(shù)為10,即代表訂單所包含的10個(gè)不同特征,輸出層的節(jié)點(diǎn)數(shù)為1,即預(yù)測(cè)結(jié)果得到的時(shí)間。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
3.3.2 結(jié)構(gòu)參數(shù)的確定
該深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)內(nèi)部共包含65個(gè)隱含層神經(jīng)元,且均可被訓(xùn)練,依照訓(xùn)練樣本可以進(jìn)行學(xué)習(xí)迭代。由于基于多不確定變量構(gòu)建的時(shí)間預(yù)測(cè)模型,輸入變量的有限性導(dǎo)致在測(cè)試中發(fā)現(xiàn)學(xué)習(xí)率不宜過(guò)大,將導(dǎo)致嚴(yán)重的過(guò)擬合現(xiàn)象,故在學(xué)習(xí)過(guò)程中選擇模型訓(xùn)練過(guò)程中初始化學(xué)習(xí)精度ε為0.1,擴(kuò)展常數(shù)Spread定為3,模型輸入節(jié)點(diǎn)為樣本特征數(shù)10,輸出節(jié)點(diǎn)為1,訓(xùn)練步長(zhǎng)為500。取樣本中60%的數(shù)據(jù)作為深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練集,余下40%作為模型的測(cè)試集用以驗(yàn)證樣本的可靠性以及結(jié)果分析。
3.3.3 代碼實(shí)現(xiàn)
本文采用keras深度學(xué)習(xí)架構(gòu),基于tensorflow的深度學(xué)習(xí)庫(kù),利用Python實(shí)現(xiàn)深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型,核心代碼(部分)包括3個(gè)部分:
1)對(duì)樣本數(shù)據(jù)的預(yù)處理。劃分訓(xùn)練集與測(cè)試集,分割時(shí)間與其他特征,對(duì)特征數(shù)據(jù)進(jìn)行歸一化、標(biāo)準(zhǔn)化及PCA處理(參照3.2節(jié)):
2)模型構(gòu)建。依照模型架構(gòu)(參照3.3.1節(jié))最終實(shí)現(xiàn)深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,并且利用訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練,利用測(cè)試集進(jìn)行測(cè)試。
3)結(jié)果分析。根據(jù)模型的測(cè)試結(jié)果進(jìn)行l(wèi)oss曲線和val_loss曲線的繪制,利用對(duì)時(shí)間的預(yù)測(cè)結(jié)果,并通過(guò)對(duì)真值與預(yù)測(cè)值的反演計(jì)算RMSE(均方根差),衡量測(cè)試集預(yù)測(cè)值與真實(shí)值的樣本標(biāo)準(zhǔn)差,來(lái)評(píng)判預(yù)測(cè)結(jié)果的優(yōu)劣(參照4.1節(jié))。
本文以某發(fā)動(dòng)機(jī)生產(chǎn)及裝配車(chē)間為例,從發(fā)動(dòng)機(jī)兩條生產(chǎn)線上各選取部分?jǐn)?shù)據(jù),經(jīng)過(guò)歸一化及主成分分析法處理后,輸入深度學(xué)習(xí)模型。
多次實(shí)例運(yùn)行測(cè)試后最終得到的結(jié)果如表2所示。
表2 實(shí)例測(cè)試結(jié)果
RMSE(Root Mean Squared Error,均方根差)代表預(yù)測(cè)的值和觀察到的值之差的樣本標(biāo)準(zhǔn)差,用以表示預(yù)測(cè)結(jié)果分布的穩(wěn)定性。計(jì)算式如下:
loss采用均方誤差Mean Squared Error(MSE)評(píng)定指標(biāo),MSE可以評(píng)價(jià)數(shù)據(jù)的變化程度,在模型運(yùn)算過(guò)程中隨模型迭代次數(shù)增加而減少。
分析得出: 在相同條件下,多次試驗(yàn)所得出的訓(xùn)練結(jié)果不盡相同,但是訓(xùn)練速度及仿真精度變化不大,能夠在誤差很小的范圍內(nèi)完成對(duì)數(shù)據(jù)結(jié)果的預(yù)測(cè)。
為了進(jìn)一步驗(yàn)證深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)在解決本問(wèn)題上的優(yōu)越性能,根據(jù)對(duì)相似問(wèn)題的研究,構(gòu)建另外兩種機(jī)器學(xué)習(xí)訂單時(shí)間預(yù)測(cè)方法的模型,徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)-RBF神經(jīng)網(wǎng)絡(luò)模型[4]和BP神經(jīng)網(wǎng)絡(luò)模型[7],在相同樣本數(shù)據(jù)下,相同學(xué)習(xí)率的條件下,獨(dú)立進(jìn)行20 次實(shí)驗(yàn),將預(yù)測(cè)結(jié)果進(jìn)行比較。
作為完成訂單時(shí)間預(yù)測(cè)問(wèn)題的模型,RBF 網(wǎng)絡(luò)有更簡(jiǎn)潔的參數(shù)限定,預(yù)測(cè)結(jié)果變化幅度較小,而B(niǎo)P 網(wǎng)絡(luò)預(yù)測(cè)結(jié)果與實(shí)際結(jié)果有著相同的波動(dòng)趨勢(shì),且與實(shí)際結(jié)果的誤差較小,即對(duì)數(shù)據(jù)有更好的適應(yīng)性,更利于在不確定條件下做出預(yù)測(cè)。作為近年來(lái)典型的預(yù)測(cè)模型,與傳統(tǒng)邏輯回歸算法相比,均有較好的準(zhǔn)確性與適用性。
通過(guò)對(duì)20次實(shí)驗(yàn)結(jié)果進(jìn)行整體分析,選取RMSE(均方根差),作為評(píng)價(jià)分析指標(biāo),對(duì)比結(jié)果如表3所示。
表3 三種模型的誤差對(duì)比
由結(jié)果分析得知,DL神經(jīng)網(wǎng)絡(luò)、RBF 神經(jīng)網(wǎng)絡(luò)、BP神經(jīng)網(wǎng)絡(luò)3種模型都可以精準(zhǔn)地進(jìn)行訂單完成時(shí)間的預(yù)測(cè),但是DL神經(jīng)網(wǎng)絡(luò)的均方根差為2.610,低于RBF模型的6.982與BP網(wǎng)絡(luò)模型的9.424,綜上分析可知,DL神經(jīng)網(wǎng)絡(luò)模型的運(yùn)行精度更好,優(yōu)越性更強(qiáng)。
但深度學(xué)習(xí)方法由于在結(jié)構(gòu)上擴(kuò)大網(wǎng)絡(luò)尺寸,故本文方法比其他方法的網(wǎng)絡(luò)參數(shù)數(shù)量增加,使網(wǎng)絡(luò)更容易過(guò)擬合。尤其是在樣本不足的學(xué)習(xí)率過(guò)高的情況下,DL模型會(huì)出現(xiàn)嚴(yán)重的過(guò)擬合現(xiàn)象,模型的偏差小而方差大。且DL模型對(duì)樣本數(shù)據(jù)的要求比其他兩種機(jī)器學(xué)習(xí)模型高,導(dǎo)致的模型訓(xùn)練后的泛用性問(wèn)題使之局限于對(duì)目的任務(wù)的準(zhǔn)確預(yù)測(cè),進(jìn)一步優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)與數(shù)據(jù)初處理過(guò)程是下一步改進(jìn)方向。
本文重點(diǎn)針對(duì)離散型制造企業(yè)訂單完工時(shí)間預(yù)測(cè)展開(kāi)研究,搭建了一種基于深度學(xué)習(xí)的訂單完工時(shí)間預(yù)測(cè)模型。采用了歸一化處理數(shù)據(jù),運(yùn)用深度學(xué)習(xí)獲取訂單相關(guān)參數(shù)及參數(shù)與預(yù)測(cè)時(shí)間的相關(guān)函數(shù),有效提高了模型擬合度,比BP神經(jīng)網(wǎng)絡(luò)與RBF神經(jīng)網(wǎng)絡(luò)的效果更好。將基于深度學(xué)習(xí)的訂單完工時(shí)間預(yù)測(cè)模型運(yùn)用到離散化車(chē)間生產(chǎn)中,通過(guò)模型處理數(shù)據(jù),可以達(dá)到準(zhǔn)確預(yù)測(cè)生產(chǎn)時(shí)間的目的,能為企業(yè)的生產(chǎn)、調(diào)配、協(xié)調(diào)工作提供保證。