欒方軍,崔洪斌,韓忠華,孫亮亮
(沈陽建筑大學信息與控制工程學院,遼寧 沈陽 110168)
由于工藝流程中的一些如拉毛預養護等工序,受環境溫度、濕度、光照的影響較大,布料工序受機械噴口流速和混凝土原料配比等因素影響,如養護工序受養護窯余溫溫度差異影響,導致生產工時呈現一種不可控的波動特性,使得利用歷史數據的統計性結果所獲取到的工時與實際工時相比有一定偏差。隨著生產進程的推進,不斷累積的工時偏差,導致生產線上所執行的生產計劃常出現“脫軌”現象,即使通過資源調度和生產計劃調整也很難彌補工時偏差帶來的影響,從而降低了整個生產計劃的可執行性,導致生產計劃難以有效的指導企業實際的生產運作。通過分析預制構件生產過程,發現預制構件生產過程受季節,濕度和構件形狀等因素影響導致構件生產工時波動較大,因此目前從生產工藝角度設計的工時計算方法存在的誤差難以得到修正,使得生產計劃難以有效的指導企業實際的生產運作。從挖掘歷史生產數據價值的角度進行研究,探索一種通過歷史數據對工時預測模型進行訓練以得到更契合實際生產過程的工時的有效方法,近些年,深度學習飛速發展,由于深度學習能起到有效對已知數據進行解釋的作用,并且具有學習和分析的能力,因此深度學習能夠通過對一定規模的歷史數據進行分析來實現對未來部分結果的較高精度的預測。國內外學者已將深度學習理論廣泛應用于各領域的預測問題。Hamdulla Askar[1]等人提出了一種新穎的深度學習方法來預測圖數據庫中查詢任務的執行時間。設計并實現了一個基于長短期記憶(LSTM)的準確而有效的模型,以預測執行時間。楊建軍、何利力[2]為了降低企業生產車間空調能耗,基于長短期記憶(LSTM)網絡構建了一種工業空調啟動時間預測模型。使用該模型對車間空調提前啟動時間進行預測,并將預測結果應用于車間空調系統的啟動控制,以達到節能目的;采用平均絕對百分誤差(MAPE)對預測模型進行整體誤差評估,它結果表明:LSTM較好地解決了生產車間空調系統啟動時間預測問題,相較于傳統預測方法有著更小的MAPE。胡軍、鄭文東[3]由于當前的深度學習模型沒有特定的學習機制來捕獲時間序列預測中的突變信息。為此,提出了一種新的深度學習模型來捕獲數據之間的突變信息。為了捕獲突變信息對目標序列的影響,在編碼器的注意力機制中設計了一個新的函數映射,以處理歷史隱藏狀態和單元狀態信息的融合。Hamdulla Askar[4]提出了一種新穎的深度學習方法來預測圖數據庫中查詢任務的執行時間。設計并實現了一個基于長短期記憶(LSTM)的準確而有效的模型,以預測執行時間。石晶,彭其淵[5]等人分析列車晚點時間傳播規律,構建列車晚點時間被動關系網,表示列車到達、出發時刻的制約關系。基于廣義回歸模型公式,利用Logistic回歸模型和Poisson回歸模型分別預測相鄰、相間列車晚點時間。邊冰,鄭軍[6]等人提出一種基于RBF神經網絡的公交車到站時間預測,以公交車到站時間為輸入,以兩站相差的時間為輸出建立模型。李楠、焦慶宇[7]等人提出一種基于時間-空間-環境數據的深度學習模型(Spatio-temporal-environment deep learning model,STEDL)來提高滑行時間預測的準確性。使用STEDL模型對香港機場離場航空器滑行時間進行預測驗證。張盛濤、方紀村[8]等人采用深度學習中的長短期記憶神經網絡(Long Short-Term Memory,LSTM)方法預測道路旅行時間,通過調節LSTM隱藏層單元數和訓練次數得到最優的時間相關的LSTM模型。通過對國內外研究文獻綜合分析,深度學習理論在時間預測問題方面已經得到了一定的應用并且可以得到比較良好的預測效果,但是在預制構件生產問題方面尚沒有深度學習理論應用的先例,同時由于綜合考慮神經網絡效率及結構復雜度和用于訓練神經網絡的構件生產工時歷史數據不止包含其長度、寬度等空間特征相關屬性,還包含了具有一定規律性的季節、氣候等時序相關屬性,所以提出一種基于改進卷積神經網絡的預制構件生產工時預測方法。
該方法在對卷積神經網絡進行改進,在卷積結構后添加了門控循環單元,使其能夠利用歷史數據對神經網絡模型進行訓練,并通過不斷的學習來對生產工時進行更精準的預測,該方法填補了預制構件在生產工時預測方面的技術空白,能夠為企業生產計劃的編制提供數據支持。
裝配式建筑預制構件生產企業中構件生產的各工序上所需加工時間的預測問題可以看作是一類非線性回歸問題。使用收集到的包含時間信息的歷史生產數據作為預測模型的輸入,將需生產構件在生產線各工序上加工時間的預測數值作為模型輸出,構建了一種基于深度學習的工時預測模型。該模型的模型結構不僅能夠通過學習提取出構件自身屬性與構件加工所需時間之間的特征關系,也能夠探索出構件在季節更迭,氣候變化等因素影響下產生的相關時間序列與加工時間之間的隱性特征關系。
該模型訓練所使用數據集為調研所在裝配式建筑預制構件生產企業生產工廠內記錄的構件在生產線各工序段的實際生產加工歷史時間數據。該數據集內共有兩萬條數據,每條數據包含三十六個屬性,分別是:構件長度屬性,構件寬度屬性,構件體積高度屬性,構建類型屬性,構件生產所處環境溫度屬性,構件生產所處環境濕度屬性,構件生產時間,構件生產所處季節,構件生產時刻天氣等。數據集內數據類型主要分為浮點型(float)和字符串類型(string)。
對于深度學習神經網絡需用到大量的歷史數據,由于龐大的數據集具有數據多樣性和數據類型復雜性,無法保證訓練中的數據處于同一量級,所以需要進行數據預處理,以保證對于模型訓練的有效性。需要對數據集的預處理依次分為三步,分別是:字符數據處理、數值數據處理和數據升維處理。
● 字符類型數據預處理
首先對于數據集內離散的字符類型數據,需用到one-hot編碼進行文本特征提取,one-hot編碼將字符型數據轉化為以0和1表示的二進制表達方式,例如轉化數據集中判斷類數據,是則為1,否則為0,這樣可以將字符型特征轉化成為數值類型特征,能夠被深度學習模型識別。
● 數值類型數據預處理
對于數值型數據,在并不清楚各個維度中的數據重要程度時,需要對數據集中各個維度數據進行標準化,使各維度數據的重要性得到平均,更好的對網絡進行訓練。文章中使用了z-score標準化,該方法易于計算,能夠很好地將數據集中不同量級的數值類型數據轉化為同一量級,保證數據間可比性。

(1)
其中x是原始數據,μ是整體數據的均值,分母為數據的標準方差。
● 數據的升維處理
在傳統的卷積神經網絡接口中,一般接收的輸入對象為三維圖像數據,因此在進行卷積操作之前對數據進行升維處理,原始數據為兩萬條,每條數據擁有36個屬性,所以首先將數據重構成為(6,6)的形狀,然后繼續數據重塑為(6,6,None)使原本的數據轉化成為形狀為(6,6,1)的單通道灰度圖,這樣就可以將數據輸入卷積神經網絡進行卷積操作并進行訓練。
針對于裝配式建筑預制構件生產工時預測問題,提出一種基于深度學習的局部調度方法,利用歷史構件生產工時數據和神經網絡模型學習能力,實現對裝配式建筑預制構件生產工時的預測。
2.3.1 激活函數的選擇
激活函數一般來說是非線性函數,激活函數主要用途是使模型對于非線性分布的數據具有映射和學習的能力,如果不設置激活函數,無論模型的結構及深度如何都只能實現對線性輸入的學習,無法對非線性的輸入實現非線性映射。選用激活函數為ReLU函數,原因如下:
● ReLU函數
如式(2)所示,ReLU函數使大于0的x值保持不變,當x為負時使x值為0
ReLU(x)=max(x,0)
(2)
在深度學習模型中,相比較其它兩個激活函數,ReLU的表達能力更加強。ReLU函數不會像Sigmoid函數,當輸入趨近于負數時,預測值與正確值之間的差距會逐漸減小,出現梯度消失的現象,導致模型學習能力下降。
2.3.2 損失函數的選擇
損失函數大致分為兩類,一類是分類損失函數,一類是回歸損失函數,由于需解決的問題屬于回歸問題,所以模型所需損失函數需要從回歸損失函數中選取。
MAE(平均誤差)損失函數與MSE不同,如式(3)所示,MAE主要是算出真實值與預測值之間誤差的絕對值之和的均值。

(3)
模型中所選損失函數為MAE損失函數,因為MAE損失函數對于數據中的異常值和誤差值具有更好的魯棒性,在實際生產過程中,生產數據也許會因為某些原因導致與常規數據產生偏離,但卻符合實際情況,此時的數據就屬于異常點,由于訓練數據集本身規模較大,必然會產生一些異常點,所以選用具有更好魯棒性的MAE損失函數。
2.3.3 神經網絡的構建
1)卷積神經網絡模型
卷積神經網絡與全連接神經網絡的模型結構整體相似,但在每相鄰的兩層之間卻不像全連接神經網絡每個節點都與上一層的所有節點相互連接,卷積神經網絡相鄰兩層之間有部分節點相互連接,且每一層的節點會組成一個三維矩陣。卷積神經網絡能夠卷積層的疊加和迭代學習到數據間的潛藏特征,并且通過反向傳播不斷更新改進參數促使得出的結果無限的接近真實解。但針對所提出的工時預測問題,卷積神經網絡雖然有效但是缺少對于數據集中時間序列相關屬性的特征提取能力
2)改進卷積神經網絡模型
在改進卷積神經網路的生產工時預測方法中,將待解決的問題看作是一個非線性回歸問題。因為數據集中包含多個時間序列相關屬性,所以在改進卷積神經網絡結構中加入了GRU層,提取數據中的時間特征,提升網絡結構的學習能力,降低模型的損失度,提升預測的精準度。在改進卷積神經網絡結構內的卷積層之間添加池化層,目的是在保證模型深度的情況下,提取數據主要特征,減少模型參數,防止過擬合,提高模型泛化能力。添加Dropout層防止訓練中產生過擬合現象。改進卷積神經網絡結構中選用ReLU函數作為激活函數,可以更加有效的進行梯度下降及反向傳播,避免梯度爆炸及梯度消失等現象,減少整體的計算成本。

圖1 網絡結構圖
如圖1所示,改進卷積神經網絡結構中分為特征提取塊、初始點時間預測塊、GRU網絡塊。Conv1至Conv7皆為卷積層,卷積核形狀設置為2*2,步長為1,且設置padding=same使得輸入和輸出的形狀保持一致。池化層采用最大池化,將最大池化窗口設置為2*2,步長設置為1。利用Flatten層的操作,將多維數據拉平,方便接入后面的全連接層。將特征提取塊、初始點時間預測塊輸出數據結合作為GRU網絡塊的輸入,并最終輸出一個一維數據作為總體輸出結果。
相比于使用普通的卷積神經網絡來處理裝配式建筑預制構件生產工時預測問題,創建的改進模型結構不僅能夠使用卷積層提取出數據集內含的空間特征,更添加了門控循環單元,使得模型能夠提取出到數據集的時間特征,學習到數據集中隱含的時間序列關系。相比于單一使用卷積神經網絡,構建的神經網絡能夠進一步提升模型整體的學習速度,提高模型損失值下降速度,提升模型的精準度,提升模型學習效果。
為了驗證改進卷積神經網路的生產工時預測效果,搭建仿真環境,應用Pycharm 2018a作為編程工具,使用Python3.6和基于tensorflow-GPU2.0.0得深度學習框架進行仿真,操作系統為Windows10,使用英特爾i5-8500 6核處理器,內存大小為8G。
它數據選取調研過程中所獲得的裝配式預制構件車間收集排產工時數據,在前期工作中,調研企業生產車間已經配備完善的構件追蹤系統和產品數據記錄機制,對于構件排產工時有大量數據記錄,將這些數據進行整理,按照固定7:2:1比例將數據分為訓練集、測試集和驗證集,并在仿真過程中將數據進行預處理以應用至神經網絡模型的訓練。
在對收集到的裝配式建筑生產車間歷史數據進行預處理后,可以得到[6,6,1]形式的三維數組。且最終的輸出形狀設置為1。

表1 模型參數
通過使用從某裝配式建筑生產車間收集的數據對神經網絡模型進行訓練,在訓練過程中對模型參數進行調整使其達到最優效果,通過訓練模型給出的損失函數和對比測試集得出的精準度,可以判斷模型效果是否通過調參得到上升。
設置模型的學習率為0.01,優化器參數選擇Adam,設置batch size為32,epoch為15。

圖2 損失函數下降曲線
如圖2,為模型的損失函數下降曲線,其中X軸為迭代代數,Y軸模型的損失率。
如圖3,為模型的精準度曲線圖,其中X軸為模型的迭代代數,Y軸為模型的精準度。通過分析損失函數曲線圖和精準度曲線圖可知,隨著模型迭代次數的增加,其精準度無限趨近于0.98并保持平衡,可以為裝配式建筑預制構件生產工時預測提供有力的理論支持。

圖3 精準度曲線

圖4 模型效果對比
預制構件生產線具有多工序、多工位的特點,每天投產的大量構件上線前要在多個模臺上進行分配,因此,其排產過程具有典型NP-hard問題的特征。預制構件生產技術來源于現代澆筑式混凝土澆筑工藝,其生產工時受車間內環境因素的影響會產生波動,這使得實際生產工時與傳統工時計算方法獲取到的工時存在誤差,隨著生產進程的推進,這種誤差不斷累積,導致利用歷史數據的統計性結果編制的排產計劃難以有效指導預制構件的復雜生產過程。對于預測工時誤差導致的排產計劃脫離實際的問題,提出了一種基于改進卷積神經網絡的工時預測方法來進行解決,用更加精準的工時來輔助制定排產計劃,使排產計劃更加貼合實際生產。
為了驗證改進工時預測方法的效果,對其進行仿真它。依據某預制構件生產車間的生產流程可將生產線劃分為六道工序,分別是:支模工序、綁筋工序、布料工序、拉毛預養護工序、蒸養工序、拆模工序。以部分實際生產數據作為它數據,將包含改進卷積神經網絡工時預測方法在內的多種預測方法獲取的工時與實際工時進行對比論證。
3.4.1 評價指標介紹
采集某工廠內的部分預制構件生產訂單與場內環境信息如表2,并對表內的兩萬條數據進行隨機抽取組成仿真它數據。對改進卷積神經網絡工時預測、卷積神經網絡工時預測和傳統工時預測方法分別從精準度、復雜度、穩定性、合理性、工時分量偏差度(即所有構件在所有工序內工時的偏差度之和)、工時總量偏差度(即整批構件經過某種排產操作后得到的總加工工時和實際的總加工工時之間的偏差度)六個方面進行綜合評價。精準度、復雜度、穩定性、合理性四個評價因素以優,良,合格,差進行評判。利用構件加工的工時偏差值進行計算可得出各預測方法的工時偏差度。
i∈{1,2,…,n},j∈{1,2,…,m}
(4)
Fsum=max(0,Tdsum-TCsum)
(5)
Bsum=max(0,TCsum-Tdsum)
(6)
fsum=αFsum+βBsum
有很多員工每天的生活一成不變,他們處理相同的事務,體驗相同的挫折,最后獲得相同的結果。正因為每天都體驗同樣的事情,因此一線員工最知道存在什么問題,同時對于解決這些問題都有著很好的想法。精益尋求將員工中未利用的想法和改善措施與企業的總目標結合起來,來追求企業的長期績效[3]。一個好的精益組織一定是充分利用了員工的智慧。當員工參與度發生變化時,企業精益生產的效果也必然會出現變化。
(7)

(8)

(9)
n為構件數,m代表工序數;α和β分別代表構件的超前和滯后權重,設置為0.8和0.2;TCsum為構件加工完成時間;Tdsum為構件加工目標完成時間。式(4)為各構件在各工序上工作時間偏差值之和;式(5)為所有構件通過排產得出的總加工工時相比較實際工時的超前時間;式(6)為所有構件通過排產得出的總加工工時相比較實際工時的滯后時間;式(7)為構件總加工工時的偏差值。

表2 預制構件生產訂單與場內環境信息數據表
3.4.2 評價結果
圖5是構件工時預測時間與實際生產工時對比折線圖。圖中直觀的表現出各種工時預測方法所得的工時與實際工時的偏差大小。表3為評價指標參數表。精準度、復雜度、穩定性、合理性四個屬性的評價結果可通過它數據得出。工時分量偏差度、工時總量偏差度可分別通過式(8)和(9)得出。為評價對象個數。

圖5 構件工時預測時間與實際生產工時對比折線圖
綜合評價中,由于每一個評價因素的重要程度不同,所以需要對六種評價因素的權值進行設置,分別設置為0.2、0.1、0.2、0.1、0.2、0.2,并將權值數值設置為矩陣。

(10)
V={0.2,0.1,0.2,0.1,0.2,0.2}
(11)
R=V*U
(12)

表3 評價指標參數
依據式(12)可以得出最終的評價結果如表4所示。通過綜合評判結果可知,改進卷積神經網絡結構效果更優,改進工時預測方法獲取所得工時從總體分析效果更佳,獲取到的工時數據更加貼近實際。改進工時預測方法的應用能夠進一步提升管理人員對預制構件生產進程的管控能力。

表4 評價結果
針對預制構件生產工時預測問題進行研究,對生產線上歷史生產工時數據進行了分析,提出一種基于改進卷積神經網絡的生產工時預測方法,該方法運用改進卷積神經網絡對歷史數據進行訓練,能夠有效地為預制構件提供較為準確的生產工時。通過它驗證表明該方法的結果精準度高,相比較其它方法具有更高的仿真效果。
在裝配式建筑產業內,裝配式建筑生產工廠內的生產結構復雜,生產工藝多樣,生產進度影響因素多變,生產線上可調度空間小,生產產品移動代價高等原因,所以下一步還需將提出的預測方法部署至實際工廠生產管理系統中,以測試方法的實用效果。