胡艷娟,胡 偉,潘雷霆
(長春工業大學 機電工程學院, 吉林 長春 130012)
在云制造環境下物流資源配置得到了優化,企業實現了信息、資源共享,這對物流企業也提出了新的挑戰。物流企業為了增強整體實力和競爭力,需要有效解決供需雙方不斷變化的需求。
物流運輸過程的供需雙方為了防止缺貨而人為地增加安全庫存。同時,物流配送服務中產生的服務成本以及配送時路況變化的影響也是不容忽視的。這些問題累加到一定程度將會導致牛鞭效應的產生,為了預防這一情況,需要對物流需求進行預測。
在云制造平臺上,匯集了大量的物流資源與服務,并實現了物流資源信息共享。物流資源調度過程中,云制造平臺通過對客戶未來需求進行預測,并結合用戶所需服務容量評估平臺內物流資源提供方的服務能力。這種模式下,用戶可以根據自身需求,以租賃的方式從云平臺獲取對應的資源與服務。因此,云制造模式下的物流資源需求預測方法需要考慮客戶需求信息多變性、物流任務時序的不確定性和物流服務的其他性質,使得物品屬性與物流資源屬性相匹配。
物流企業大多采用經驗預測法和傳統預測法[1]預測所需的物流資源。但是,經驗預測法過于主觀、缺乏科學依據,對客戶需求進行長期預測時,存在較大的誤差。傳統預測法在處理離散型數據時,難以取得理想的預測效果。此外,傳統需求預測方法很少考慮到需求量和相關影響因素的內在影響關系。近年來,眾多學者對深度學習理論在資源需求預測方面進行了深入研究。
文中在云制造環境下采用一種基于LSTM框架的需求預測模型,該模型與其他預測模型相比,能夠更好地利用平臺閑置的物流資源,實現物流資源信息精準預測。
物流運輸過程中受時間變化、突發事件等非線性因素影響,單一物流需求預測模型的預測效果差,難以滿足物流管理的實際要求。為解決上述問題,國內外學者紛紛對物流資源需求預測進行研究。楊建成[2]分析了ARIMA與SVM的優缺點,并在此基礎上提出了基于ARIMA-SVM的物流需求預測模型,該模型可有效提高物流需求預測精度;牛思佳等[3]提出利用熵權法和灰色預測法相結合,對北京大興機場航空物流吞吐量進行預測,得出在未來5年內機場貨郵吞吐量預測值,但是這種方法在處理較大數據時缺少魯棒性,其模型在進行大數據和長期預測時缺乏長效性和擴展能力;Kohestani V R等[4]采用隨機森林和 Keras回歸神經網絡算法對食品需求量進行預測,實驗表明,采用隨機森林算法模型的性能優于人工神經網絡模型的性能。深度學習是一種模仿人類大腦來認識數據模式的學習算法[5]。在處理非結構化數據(如圖像、文本、語音等)方面體現出極為優越的性能。如Zhuo Q Z[6]等提出的有長短時記憶(LSTM)神經網絡模型;劉明宇等[7]提出門控循環單元(GRU);Zhao X等[8]提出神經網絡模型和棧式自編碼(SAE)神經網絡模型等優化模型參數,不斷逼近理想參數值,優化模型整體性能;Altche F等[9]提出使用長短期記憶(LSTM)網絡能夠有效處理關于時間序列的相關問題。也有學者發現其他深度學習的方法,如量子生成對抗網絡[10](QGANs),它是利用量子信息原理把輸入特征映射到輸出分類,Wang G等[11]將其改進提出了前饋神經網絡(FNN)等,這些方法都可以運用到物流資源需求預測中。
在其他領域中,深度學習方法在需求預測方面也有一定的借鑒意義。 戴穩等[12]為了預測銑刀磨損損耗程度,簡化了傳統信號處理過程,并提出基于堆疊稀疏自動編碼網絡與卷積神經網絡的兩種預測模型,實驗驗證了其模型具有更好的效率與更優的精度;張陽等[13]提出一種改進小波包分析和長短時記憶神經網絡組合(IWPA-LSTM)的短時交通流預測方法,來克服交通流在不穩定狀態下,較短時間內交通流預測精度不高、過分依賴大量的歷史數據等缺陷。
云制造環境下物流資源調度系統如圖1 所示。
圖1中,云平臺根據獲取需求方的歷史物流需求數據及其相關數據(a),利用自身強大的計算能力將這些數據轉化為多個物流任務,形成任務池(b),并考慮到極端天氣(雨、雪等)和交通堵塞等影響物流需求因素。把這些物流任務及其影響因素代入到物流資源預測模型(c)。將這些預測結果和原先等待的物流任務匯集起來形成新的任務池(d),評估該任務池中物流任務所需的物流服務容量和類型,同時,評估云制造平臺上閑置的物流服務,根據不同的物流服務特征來劃分物流服務類型,并融合到平臺的資源池(e)中。根據資源池中的物流服務類型與任務池中的物流任務,按照時間順序進行對應(f),實現物流資源實時調度(g)。然而,在物流資源智能調度過程中,到達云平臺中物流任務的類型、時間等都具有不可預測性。所以,需要對所需的物流資源進行預測,以滿足即將到達云平臺的物流任務所需要的物流服務。另外,在云制造環境下,除了需要預測即將達到的物流任務,并及時提供需求方所需的物流服務,還需要充分考慮與物流資源需求量相關因素的內在關聯,并選擇所需要預測的目標和采用合適的算法。

圖1 云制造平臺中物流資源調度系統
與傳統的機器學習相比,基于長短期記憶網絡(LSTM)建立的模型面對復雜多變的環境,仍然可以有效預測物流需求。而且LSTM模型還能有效避免RNN模型在預測過程中出現梯度消失與梯度爆炸的現象。它包含輸入層、隱藏層和輸出層,同時,層與層之間連接方式是全連接的,且序列數據將隨時間步長遞增。
影響需求變化的因素主要為三類:需求方所需服務類型發生變化、市場行情對需求的擾動、極端天氣和不可抗拒災害。文中記錄5種影響因素判斷指標,分別是客戶滿意度、市場期望值和雨、雪、交通事故的記錄次數,并對其進行歸一化處理[14],將其轉化為監督問題。

(1)
式中:Xi----評估結果i;
Ei----相對重要程度i。
預測目標是預測即將達到任務所需的物流資源需求量(見圖1)。根據周期性到達平臺的配送需求歷史數據,預測接下來配送服務需求量,據此產生虛擬需求量補充到調度模塊的決策隊列中。可以通過使用上一個時間步長t0的需求量z0作為輸入,預測當前時間步長t1的需求量z1作為輸出來實現。
采用單步預測方式對預測系統中的模型進行訓練,設定1 h為一個單位時間步長,用過去三個時間單位步長的樣本數據zm、zm+1、zm+2預測當下一個單位時間步長的樣本數據zm+3。采用標簽編碼方式對樣本數據按時序進行編碼,輸出時也按照時序輸出預測的數據,并標記標簽,即:

(2)
Γ(z0,z1,z2,z3,…,zn)≈Outn,
(3)
式中:datan----n時刻需求數據;
j----影響需求預測因素的類型;

tm----m時刻的時間步長。
z0,z1,z2,z3,…,zn----分別為樣本在0~n時刻輸入的序列樣本;
Outn----樣本在0~n時刻輸出標簽。
模型權重參數求解采用常見的梯度下降法,通過迭代逼近求取權重參數最佳值。文中采用sigmoid函數f(z)和tanh函數g(z)作為預測模型訓練的激活函數[15],即:

(4)
g(z)=2f(2z)-1。
(5)
采用均方根誤差和平均絕對誤差作為預測模型訓練的損失函數,并采用RMSE優化算法和MAE優化算法作為線索尋求最優參數來評價模型的性能水平。優化器則選用Adam[16]優化器進行梯度優化,使得模型準確率不斷提高,即:

(6)

(7)
式中:m----迭代次數;
yi----實際值;

文中數據來源于南方某個物流公司的物流需求數據[17],對數據進行整合后,對其進行脫敏、歸一化處理。處理后的需求數據樣本一共有9 000個,按照配送服務完成時間為基準,并以小時為單位統計。將數據樣本分為訓練組和測試組。其中,訓練組的樣本數據數量為8 775個,測試組的樣本數據數量為225個。
ARIMA(p,q,d)模型[18]由三部分組成:AR(p)表示p階自回歸模型;d為差分階數,記作I(d);q階移動平均模型,記作MA(q)。雖然ARIMA預測模型簡單,不需要依靠其他外界因素的數據也可以精準預測。但是,他要求數據的時間序列是穩定的,且具有線性關系,而物流需求預測需要考慮到多重影響因素。
RNN神經網絡在處理時間序列問題時,具有良好的效果。然而,RNN神經網絡模型隨著時間軸傳遞會出現梯度消失和梯度爆炸的現象,在處理長周期的時間序列問題時,RNN模型會顯得力不從心。因此,需引入LSTM神經網絡結構,并訓練LSTM的相關算法。
RNN神經網絡和 LSTM神經網絡結構如圖2所示。
相比RNN只有一個傳遞狀態Ht,LSTM則有兩個傳輸狀態:Ct(cell state)和Ht(hidden state)。LSTM是通過一種“門”結構來達到對傳遞信息保護和控制目的。這三個門分別為輸入門、遺忘門和輸出門。
RNN神經網絡和 LSTM神經網絡結構如圖3所示。
遺忘門對于上一個節點傳送的數據信息進行選擇性記憶。主要通過忘記函數Ft讀取上一隱藏狀態Ht-1和這一階段輸入xt,控制上一狀態Ct-1。其中,Ct-1的數值介于0到1之間。1表示“完全保留”,0表示“完全舍棄”,見圖3(a)。
Ft=Φ(Wf·[Ht-1,xt]+bf),
(8)
式中:Φ----sigmoid函數;
Wf----遺忘門的權重矩陣;
bf----遺忘門的偏置項。

(a) RNN

(b) LSTM

(a) 遺忘門

(b) 輸入門

(c) 輸出門
輸入門對上一個節點傳送的數據信息進行選擇性記憶。主要是對輸入xt進行選擇記憶。首先,輸入門中的sigmoid層決定哪些信息需要更新;再通過tanh層生成一個向量,也就是備選的用來更新的內容it。
it=Φ(Wi·[Ht-1,xt]+bi),
(9)
式中:Wi----輸入權重矩陣;
bi----輸入門的偏置項;
it----輸入函數。
其次,我們把這兩部分聯合起來,更新Ct的狀態,將舊狀態Ct-1更新為Ct、Ct-1與Ft相乘,丟棄掉確定不需要的信息。t中tanh激活函數將內容歸一化至-1到1之間;接著加上itt,即新的候選值,并根據我們決定更新每個狀態的程度進行變化,見圖3(b)。
(10)
Ct=Ct-1Ft+ict,
(11)
輸出門ot首先需要運行一個sigmoid函數確定將要輸出的部分。通過tanh函數進行處理,將數值范圍控制在-1到1之間,并將它和sigmoid門的輸出相乘,見圖3(c)。
ot=Φ(Wo·[Ht-1,xt]+bo),
(12)
Ht=ot*tanh(Ct),
(13)
式中:Wo----輸出權重矩陣;
bo----輸出門偏置項。
文中采用LSTM 神經網絡的訓練流程,如圖4所示。

圖4 LSTM神經網絡的訓練流程
輸入:各個時刻(T1,T2,T3,…,Tn)的配送點需求量和導致配送異常的影響因素異常值。
1)創建LSTM神經網絡。
2)輸入T1、T2時刻配送點需求量和導致配送異常的影響因素常值。
3)將T1、T2時刻數據進行訓練,輸出訓練后的期望值。
4)輸入T2、T3時刻配送點需求量和導致配送異常的影響因素異常值。
5)將T2、T3時刻數據進行訓練,輸出訓練后的期望值。
6)直至完成對Tn-1時刻數據訓練,輸出最后一個期望值Tn。
7)LSTM神經網絡訓練完成。
輸出:LSTM神經網絡訓練后的結果。
實驗配置見表1。

表1 實驗環境配置
采用Tensorflow[19]深度學習框架,編程語言版本為Python3.7,在anaconda環境下建立物流資源需求預測模型。為了避免過擬合情況出現,將物流資源數據樣本分為訓練組和測試組,并評估測試組的數據。訓練數據是模型不斷調整權重的集合,測試數據是用于測試模型性能。
ARIMA模型的參數p、q、d值分別設置為5,1,0。LSTM預測模型和RNN預測模型參數設置相同,輸入節點個數設置為50,輸出1個節點,迭代次數為1 000次,批處理參數為64,實驗次數為100次。最終得到未來225 d的物流需求量的預測值,如圖5所示。
其中,圖5表示LSTM、RNN與ARIMA三種網絡模型預測值和真實值的比較。由于圖像不具備較好的觀測效果,故針對預測結果進行卡方擬合檢驗[20]。首先分別假設LSTM、RNN與ARIMA三種網絡預測結果不符合真實值;然后,分別將LSTM、RNN與ARIMA三種網絡的預測值代入下式

(14)
式中:ε----卡方擬合檢驗的觀測值;
Oi----預測值;
Ei----真實值。

LSTM與RNN方法相比,LSTM物流資源預測模型比RNN物流資源預測模型的誤差值要小,而且在運算過程中表現出更好的迭代效果。
訓練組曲線和測試組曲線對比如圖6所示。

(a) LSTM

(b) RNN

(c) ARIMA

圖6 訓練組曲線和測試組曲線對比
在模型訓練方面,LSTM訓練組曲線和RNN訓練組曲線幾乎重合,收斂性一致。而在模型測試方面,相同迭代次數下LSTM測試組損失值明顯小于RNN測試組損失值,故有更好的迭代效果。
為了不同方法構建的模型之間的精準度。對這些預測模型進行仿真。根據仿真結果可以發現,采用LSTM預測模型,其預測結果明顯好于采用RNN和ARIMA預測模型的預測結果。
不同算法下的預測值見表2。

表2 不同算法下的預測值表
從表2中清晰看出,LSTM物流需求預測模型的預測效果更加顯著。因此,采用LSTM神經網絡建立物流需求預測模型效果最好。
由于誤差評價指標常常采用均方根誤差(RMSE)和平均絕對誤差(MAE)兩種,文中也針對其優劣進行了比較實驗。性能評測如圖7所示。

(a) RMSE

(b) MAE
從圖7可以看出,模型采用MAE損失函數的誤差值10.212,而采用RMSE損失函數的誤差值11.724,說明采用MAE損失函數更能反映預測值誤差的實際情況。模型在不同時期的性能評測見表3。
從表3可以看出,使用MAE損失函數的平均誤差值小于RMSE。此外,分別對不同比例的樣本數據進行神經網絡訓練,其結果仍然是MAE的誤差值小于RMSE的誤差值。因此,采用MAE損失函數的預測模型,預測精度更高,其預測需求量更加接近實際需求量。

表3 性能評測表
研究了云制造環境下物流資源需求預測問題,首先,在云制造環境下需要評估即將進行的任務所需服務容量,提前將要到達的任務安排好合適的服務窗口。其次,針對物流任務所需服務容量的不確定性這一問題提出的基于LSTM物流資源需求預測模型可以在多重因素影響下準確預測客戶需求,為合理調整調度方案提供科學依據。最后,分別采用多種評價指標反映預測值誤差情況,在對物流資源需求預測時,MAE損失函數有更好的表現。