苗曉變 ,廖家俊 ,梅華杰 ,馮 沖 ,毛嘉莉
(1.華東師范大學 數(shù)據(jù)科學與工程學院,上海 200062;2.華為技術(shù)有限公司,杭州 310000)
隨著大數(shù)據(jù)、人工智能、云計算等新一代信息技術(shù)的日趨廣泛應用,傳統(tǒng)的鋼鐵物流行業(yè)開啟了數(shù)字化轉(zhuǎn)型,進入網(wǎng)絡貨運時代.通過構(gòu)建網(wǎng)絡貨運平臺,對車輛和貨物進行合理匹配,解決了貨源與車源之間的信息不對稱問題.貨運平臺將所有客戶所在地 (運輸終點) 按照行政區(qū)域劃分為多個流向,對于各個流向承運貨物的車輛統(tǒng)稱為運力.由于鋼鐵產(chǎn)成品常采用公路長途運輸,需要由重卡、超重卡汽車執(zhí)行運輸任務,貨運平臺僅對貨車進行單程 (即由鋼廠到客戶企業(yè)) 運輸任務指派,返程 (返回鋼廠) 貨源則由貨車司機自行聯(lián)系,司機更傾向于接受其熟悉流向的運輸任務,故承運不同運輸流向的車輛數(shù)分布極不均勻.如圖1 所示,在某一家物流企業(yè)的網(wǎng)絡貨運平臺上注冊有6 048 名貨車司機(山東省內(nèi)),其中超過2 700 名司機只承擔過1 個流向的運輸任務.圖1 反映了鋼鐵物流中車輛對路線的依賴度.為緩解企業(yè)的倉庫貨物囤積問題,保證運輸任務的高效執(zhí)行,亟需恰當?shù)倪\力預測方法來支持運力調(diào)度與車貨匹配決策.
圖1 車輛對路線的依賴度分析Fig.1 Analysis of vehicles dependence on routes
鋼鐵物流中的運力預測問題,其目是預測未來時段內(nèi)運輸某個流向的空閑車輛信息.近年來,僅有少數(shù)研究基于車輛軌跡為網(wǎng)約車派單平臺設計了給定區(qū)域的空載車輛數(shù)預測方法[1],該類方法僅關(guān)注局部時空區(qū)域?qū)M/出給定區(qū)域車輛數(shù)的影響.與運力預測類似的交通預測問題受到了學術(shù)界、工業(yè)界的普遍關(guān)注,并獲得了較為廣泛的研究,這些研究大多是解決城市道路的流量預測以及旅行時間預測[2-5]等問題.上述方法和研究未關(guān)注不同車輛對運輸流向的偏好,不適合用于解決鋼鐵物流的運力預測問題.鑒于貨車司機對運輸流向的高度依賴性,為支持運力的有效調(diào)度,運力預測需要提供不同流向可服務車輛的信息 (如車輛ID).隨著網(wǎng)絡貨運平臺業(yè)務的不斷發(fā)展,海量的貨車軌跡、運單、車輛以及運輸終點等物流數(shù)據(jù)被積累,這些物流數(shù)據(jù)為運力預測問題的研究提供了機會.鋼鐵物流對不同流向的可用運力預測問題主要包括2 部分工作: ①預測各個時段內(nèi)返回鋼廠的空閑運力信息,稱為運力的可達性預測;②預測到達鋼廠的運力在未來時段選擇承運的運輸流向.
鑒于鋼鐵物流的復雜性,運力預測正面臨嚴峻的挑戰(zhàn).基于歷史物流數(shù)據(jù)的分析發(fā)現(xiàn),貨車再次成為鋼廠的可用運力,其時長包括完成平臺分配運輸任務的執(zhí)行時間和任務完成后返回鋼廠的時間.如圖2 所示,每次運輸中,貨車的行程涉及離開鋼廠(運輸起點,Pstart)運輸貨物到客戶企業(yè)(運輸終點,Pend) 和再驅(qū)車返回鋼廠.運力預測亟需解決的2 個問題: 第一,根據(jù)車輛每行駛4 h 司機必須休息20 min 的交通法規(guī),貨車在執(zhí)行長距離運輸途中需要多次在休息區(qū)停留.由于司機的個體習慣以及停留原因的不同,導致在各個休息區(qū)耗時的不同,增加了預測運輸完成時間的難度.第二,由于返程時司機自行聯(lián)系運輸貨源,導致運輸返程軌跡缺失,從而造成返程時間的不確定.
圖2 鋼鐵貨運全程示例Fig.2 Illustration of steel freight
對于運輸任務執(zhí)行過程中的停留時長不確定問題,究其原因是受司機個體差異化的駕駛習慣以及客戶企業(yè)收貨時間不同等因素影響.鑒于此,本文通過結(jié)合運單、車輛、運輸終點以及車輛軌跡數(shù)據(jù)等提取多個表征司機駕駛習慣的特征,同時獲取不同客戶的收貨習慣 (這里指客戶企業(yè)的工作時間范圍) 特征,并將上述特征輸入所構(gòu)建的運力可達性預測模型.針對返程軌跡缺失導致返程貨起/終點不確定帶來的返程時間預測誤差過大問題,本文將運輸任務執(zhí)行與返程時間的預測問題并入運力可達性預測問題進行研究.文中首先通過對歷史物流數(shù)據(jù)進行分析,提取包括反映司機駕駛習慣的特征與返程時間的相關(guān)特征;考慮到特征之間的相互影響,受注意力機制[6]的啟發(fā),在構(gòu)建運力可達性預測模型時設計了兩個注意力網(wǎng)絡,分別用于捕捉對駕駛習慣有影響的不同特征及其影響權(quán)重、以及對返程時間有影響的特征及其影響權(quán)重.
此外,鑒于運力服務流向的有限性,本文通過對運單和軌跡數(shù)據(jù)的進一步分析發(fā)現(xiàn),貨車司機在缺少熟悉流向時傾向于接受相似流向的運輸任務.因此,為降低貨車的空駛率,可以根據(jù)流向間的相似性進一步擴充貨車的服務流向集合.為此,本文定義了流向間的相似度,從而基于相似流向生成運力的候選運輸流向集.考慮運輸流向在地理空間上的距離相近 (稱為流向的地理相似度) 以及流向間的潛在相似性 (稱為流向的語義相似度),將流向間的相似度定義為地理相似度與語義相似度的加權(quán)和.關(guān)于語義相似度計算,若貨車的歷史運輸任務中除運輸次數(shù)最多的流向外,還運輸過其他流向,則認為這兩個流向具有語義相似性.如果歷史數(shù)據(jù)中同時選擇運輸這兩個流向的司機越多,那么這兩個流向之間的語義相似度越大.
對于各運輸流向的運力候選集,本文根據(jù)可達性預測模型得到各時段內(nèi)的可達運力集.隨后,需要結(jié)合貨車司機長期的運輸流向偏好與流向價格變化給司機帶來的短期流向選擇影響,預測未來時段內(nèi)可用運力選擇的運輸流向.為提取司機的流向選擇行為隨時間變化的規(guī)律,本文將該問題建模為一個時間序列預測問題.具體地,按照運單時間基于司機歷史承運的流向生成隨時間變化的流向序列,預測未來時段司機選擇接受的運輸流向.鑒于長短期記憶網(wǎng)絡 (Long Short-Term Memory,LSTM) 在捕捉長周期時序特征方面的優(yōu)勢[7],本文利用LSTM 模型預測可達運力選擇接受的運輸流向,從而獲得未來時段內(nèi)各個流向的可用運力列表.
本文的主要貢獻如下.
(1) 首次提出了鋼鐵物流的運力預測問題,并設計了1 個三階段的運力預測方法,包括基于流向相似度的運力候選集生成、候選運力的可達性預測,以及可達運力選擇承運的流向預測等.
(2) 為降低停留時長不確定與返程軌跡缺失對運力可達性預測精度的影響,基于歷史物流數(shù)據(jù)提取車輛停留行為特征、運輸終點特征、環(huán)境特征;同時,引入自注意力機制分別獲取不同特征對貨車運輸行程與返程耗時的影響及其權(quán)重.
(3) 基于物流企業(yè)真實數(shù)據(jù)集上的對比試驗,驗證了本文所提預測方法的有效性;此外,本文模型已成功地應用于鋼鐵物流企業(yè)的網(wǎng)絡貨運平臺.
本文后續(xù)結(jié)構(gòu): 第1 章梳理運力預測的相關(guān)工作;第2 章對重要概念進行形式化定義,并給出本文研究的問題定義;第3 章詳細介紹本文提出的技術(shù)方案;第4 章在真實數(shù)據(jù)集上對本文所提方法與一些經(jīng)典方法進行對比實驗;第5 章是對全文的總結(jié).
交通流量預測與運力預測較為相似,其主要任務是通過分析城市道路網(wǎng)絡中的時空數(shù)據(jù) (如車輛的軌跡數(shù)據(jù)),對各條道路或不同地理區(qū)域內(nèi)通行的車輛數(shù)進行預測,該問題已得到廣泛而深入的研究.早期,Kamarianakis 等[8]利用自回歸移動平均 (Auto-Regression and Moving Average model,ARMA) 模型對道路網(wǎng)絡交通流進行建模.但是由于統(tǒng)計模型僅關(guān)注單個路段或較小的道路網(wǎng)絡區(qū)域,捕捉復雜非線性關(guān)系的能力有限,不適用于由數(shù)千個路段組成的大型城市路網(wǎng)的交通流量預測問題.隨著機器學習模型的興起,不少學者開始將機器學習模型引入交通預測研究中.Manoel 等[9]使用支持向量機回歸模型 (Support Vector Regression model,SVR) 預測短期高速公路交通流量.Guy 等[10]結(jié)合集成學習方法 (如隨機森林) 與自適應增強算法 (Adaptive Boosting,AdaBoost) 組成弱學習器用于交通流量預測.近年來,隨著深度學習技術(shù)的迅猛發(fā)展,更多學者在交通流量預測工作中引入深度神經(jīng)網(wǎng)絡模型以提升預測精度.Zhang 等[11]將城市路網(wǎng)中的交通流量數(shù)據(jù)視為圖像數(shù)據(jù)進行處理,提出了基于卷積神經(jīng)網(wǎng)絡 (Convolutional Neural Networks,CNN) 的深度時空殘差網(wǎng)絡 (Spatio-Temporal Residual Networks,STResNet) 模型對交通流量進行預測.
在運力預測方面,Wong 等[2]提出了兩階段的方法預測空閑出租車的行駛行為與出租車數(shù)量分布的變化,并提出了定制的深度殘差神經(jīng)網(wǎng)絡(Deep Supply-Demand,DeepSD) 模型來預測每個區(qū)域的網(wǎng)約車服務供需缺口,繼而根據(jù)供需缺口進行運力調(diào)度.DeepSD 模型可以看作是1 個使用多種數(shù)據(jù)源的多層感知器[12].Ke 等[13]對城市道路網(wǎng)絡按照六邊形網(wǎng)格進行劃分,提出了基于六邊形的卷積神經(jīng)網(wǎng)絡集成框架,實現(xiàn)網(wǎng)約車服務的供需缺口預測.該模型不考慮司機的偏好,只關(guān)注每個區(qū)域內(nèi)的運力總數(shù)預測.不同于上述方法應用的網(wǎng)約車場景,在以鋼鐵物流為代表的大宗物流場景中,貨車司機對運輸流向依賴性較強.此外,交通流量預測僅根據(jù)各個區(qū)域之間的時空關(guān)系預測出每個區(qū)域的流量數(shù)量,無法預測每個流量的具體信息.如果采用交通流量預測方法進行運力預測,會導致在后續(xù)的運力調(diào)度階段無法兼顧運力對流向和貨物的偏好,導致司機滿意度下降,造成司機流失,影響平臺的長遠發(fā)展.因此,為支持運力調(diào)度以及車貨匹配的有效決策,本文提出的運力預測問題需面向不同運輸流向預測可用車輛的信息 (如車牌號),不能直接采用上述方法解決.
如前所述,本文提及的運力預測問題與給定時段內(nèi)運力的可達性預測相關(guān),后者的預測精度取決于運輸?shù)竭_時間與返程時間預測的有效性.近年來,車輛的旅行時間預測問題已成為交通、物流等領(lǐng)域內(nèi)的經(jīng)典預測問題,涌現(xiàn)出了一大批研究工作.它們大致可以分為2 類: ①基于路徑的時間預測,即預測車輛行駛通過給定路徑需要的時長;②基于起點/終點 (Origin-Destination,OD) 的行駛時長預測,即給定起點和終點,不指定具體路徑,預測車輛從起點出發(fā)行駛至終點所需時間.在基于路徑的旅行時間預測方法中,給定路徑的總的旅行時間常被估算為車輛在每個路段的行駛時間與每個交叉路口的等待時間的總和.Jenelius 等[14]提出了SMA (Spatial Moving Average) 模型,根據(jù)歷史數(shù)據(jù)提取不同路段之間的空間相關(guān)性.Zheng 等[15]將旅行時間預測問題建模為1 個回歸問題,提出了WDR(Wide-Deep-Recurrent) 模型,Wide-Deep 用于捕捉行程的整體信息,并采用循環(huán)神經(jīng)網(wǎng)絡 (Recurrent Neural Networks,RNN) 模型對軌跡建模以學習路段之間的關(guān)聯(lián)信息.與之相比,基于OD 的旅行時間預測方法則聚焦于給定OD 的旅行時間預測.Jindal 等[3]提出的用于旅行時間估計的多層前饋神經(jīng)網(wǎng)絡(Spatio-Temporal Neural Networks,ST-NN)模型,先以起點和目的地的經(jīng)緯度坐標作為輸入來預測旅行距離,再結(jié)合旅行距離與時間信息估計旅行所需時間.Li 等[4]提出了無需路線信息的到達時間預測方法,根據(jù)有限的可用信息以及復雜的時空依賴性,提出了預估到達時間的多任務表征學習(MUlti-task Representation learning model for Arrival Time estimation,MURAT)模型,并通過多任務學習在訓練階段利用歷史行程的路徑信息進一步提升了模型的性能.Wang 等[5]通過計算具有相似起點和目的地位置的相鄰行程的加權(quán)平均值來估計被查詢行程的行駛時間.與上述工作不同的是,本文提出的可達性預測方法不僅考慮了時空相關(guān)性,還關(guān)注了對運力可達預測結(jié)果有影響的環(huán)境因素、司機個人駕駛習慣、客戶地卸貨規(guī)律、貨物品種等方面.
(1)終點
每個終點表示1 個客戶所在地,即1 次運輸任務需要送達的具體位置.本文中終點由(eid,eadd,elon,elat)組成.其中,eid為終點ID,eadd為自然語言表示的終點地址,elon、elat分別為終點的經(jīng)度和緯度.
(2)流向
流向表示對終點的劃分,多個距離相近的終點屬于同一個流向.本文中終點根據(jù)行政區(qū)縣劃分為流向,將山東省內(nèi)的20 000 余個終點劃分為135 個流向.
(3)貨車
貨車為在平臺上注冊的運輸車輛,由 (cid,cno,cer)組成.其中,cid表示車輛ID,cno表示車牌號,cer表示車輛司機.
(4)運力
(5)運單
運單表示1 次運輸任務的記錄,由1 個五元組 (cid,eid,s,l,Δt) 組成.五元組是由運輸任務的承載貨車cid、終點eid和開始時間s,并加入鋼廠至終點的歷史平均路徑距離l和完成運輸并返回鋼廠所需時間 Δt組成.其中,歷史平均路徑距離l為該終點所有歷史運單路徑距離的平均值,且每個歷史運單的路徑距離為貨車行駛軌跡經(jīng)過的路徑總長度.
(6)貨車歷史軌跡
貨車的歷史軌跡記錄每輛貨車從運輸開始至貨物送達之間的行駛過程,每間隔2 min 進行1 次采樣,每條軌跡為S個連續(xù)的歷史GPS 點,即貨車軌跡Ptra,i={p1,p2,···,pS},每個GPS 點包含經(jīng)度、緯度和時間戳.此外本文所用軌跡數(shù)據(jù)集中也記錄了產(chǎn)生當前軌跡的貨車ID.
(7)運力預測問題
公式(1)中:F(·)表示本文提出的模型預測函數(shù);表示流向i在t+1 時刻的運力.
本文所采用的數(shù)據(jù)來自山東某鋼鐵物流公司運營中采集的真實數(shù)據(jù),主要包括車輛軌跡數(shù)據(jù)和訂單數(shù)據(jù),以及運輸終點和車輛的輔助信息.平臺采集的原始軌跡數(shù)據(jù)不記錄軌跡生成時車輛的行為目的,然而,本文的運力預測模型訓練需提取車輛每次運輸任務完成過程中的特征,從而學習車輛的駕駛習慣.因此,本文需要對軌跡數(shù)據(jù)進行切分,將每個車輛的原始軌跡根據(jù)運輸任務切分為不同的子軌跡,為提升軌跡質(zhì)量,對子軌跡進行異常點處理和缺失識別并補齊,為提取車輛到達客戶地的卸貨特征,還需識別車輛在客戶地附近的停留行為.除此之外,由于司機駛離鋼廠后平臺無法對司機進行實時監(jiān)控,只可通過GPS 軌跡采集軌跡數(shù)據(jù),為預測貨車的可達性,本文需要對運輸完成和返程時間等數(shù)據(jù)進行補齊,并為防止異常數(shù)據(jù)對訓練的干擾,需剔除運單數(shù)據(jù)中的異常值.綜上所述,為方便后續(xù)的特征正確提取,本文需要對平臺采集的原始軌跡和運單數(shù)據(jù)進行多種預處理.
2.2.1 軌跡數(shù)據(jù)預處理
軌跡數(shù)據(jù)是指有帶時間戳的位置組成的序列,在對車輛軌跡分析的過程中,可以提取司機的駕駛行為,如停留時間、停留頻次等.軌跡數(shù)據(jù)預處理旨在提高軌跡質(zhì)量,并將每個車輛的軌跡切分為與運單匹配的子軌跡.
(1) 切分子軌跡
采集原始軌跡數(shù)據(jù)中每輛貨車執(zhí)行每個自然月的運輸任務位置信息作為1 條軌跡,本文根據(jù)各個運單的起始時間,將車輛軌跡切分為與不同運單匹配的多條子軌跡.
(2) 異常點處理
在軌跡數(shù)據(jù)的采集過程中,由于GPS 設備故障或信號不穩(wěn)定,會產(chǎn)生一些異常數(shù)據(jù)點.本文主要識別并處理速度異常軌跡點,貨車的行駛速度通常小于60 km/h,本文將速度大于90 km/h 的軌跡點識別為速度異常軌跡點予以刪除.
(3) 缺失軌跡識別與處理
在貨車行駛過程中,由于車內(nèi)信號設備故障或衛(wèi)星信號不穩(wěn)定等情況,在相當長一段時間內(nèi)無法正常采集貨車的位置信息,導致貨車部分軌跡缺失.以車輛軌跡中從信號丟失到再獲取的時間間隔作為軌跡缺失時間段,令每條軌跡中存在M個缺失時間段,則以1 條軌跡中M個缺失時間段的總和與該軌跡總時間的比值作為軌跡的缺失率.當1 條軌跡的缺失率超過50%,則稱該條軌跡為嚴重缺失軌跡,將其剔除;若缺失率不超過50%,則使用線性插值法補充缺失時間段的軌跡點序列.
(4) 客戶地停留行為識別與處理
客戶地停留行為是指貨車從進入客戶企業(yè)所在地到離開的這段時間內(nèi)的停留行為,反映了貨車在客戶企業(yè)的卸貨過程,包括排隊等待與卸貨作業(yè).根據(jù)同一客戶不同運單的卸貨時間可以獲得客戶企業(yè)的有效工作時段,稱之為收貨習慣.
2.2.2 運單數(shù)據(jù)預處理
(1)數(shù)據(jù)補齊
原始運單數(shù)據(jù)包括運單的終點 (客戶地)、出發(fā)時間、承運車輛、貨物品種.為預測貨車的可達性,根據(jù)歷史運單軌跡中貨車在客戶企業(yè)完成卸貨作業(yè)與再次返回鋼廠的時間間隔獲得貨車完成運輸任務返回鋼廠耗費的時長.
(2)異常數(shù)據(jù)剔除
由于車輛故障或者司機延時確認運輸完成等因素,部分運單存在嚴重超時問題,根據(jù)95%的置信區(qū)間剔除同一終點的時間異常運單數(shù)據(jù).
本文構(gòu)建了基于自注意力機制的三階段運力預測方案,包括運力候選集生成、候選運力可達性預測與各流向的可用運力預測,總體框架如圖3 所示: 首先,計算流向之間的相似度,根據(jù)當前流向及其相似流向的歷史運力集生成各個運輸流向的運力候選集.然后,在可達性預測階段,引入自注意力機制構(gòu)建可達性預測模型.具體地,在從多個來源的物流數(shù)據(jù)集上提取特征之后,考慮貨車運輸途中受各種復雜因素的影響,結(jié)合自注意力機制學習不同特征的重要性,并將其輸入全連接神經(jīng)網(wǎng)絡中預測車輛是否可達.最后,在可用運力預測階段,根據(jù)每個可達車輛的歷史運輸流向,計算未來時段貨車到達鋼廠后選擇承運的流向,最終產(chǎn)生任一流向的可用運力列表.
圖3 總體框架Fig.3 Framework of capacity prediction
不同流向?qū)\力的需求不同,若司機偏好流向貨源不足時,司機可能選擇其他流向承運.為預測各運輸流向的可用運力,本文通過計算運力候選集,擴充可能承運每個流向的運力.首先,利用歷史數(shù)據(jù)捕捉歷史運輸任務中承運過各流向的車輛;然后,通過計算流向之間的相似度,根據(jù)當前流向及其相似流向的歷史運力集生成各流向的運力候選集.
3.1.1 流向相似度
給定N個流向,流向之間的相似度包括流向之間的地理相似度和流向之間的語義相似度.
(1) 地理相似度
地理相似度衡量流向之間在地理空間上的相近程度.1 個流向中包含多個終點.為衡量2 個流向之間的距離,首先確定每個流向的中心位置,然后對流向所包含的所有終點進行聚類,如圖4 所示.圖4中,將聚類后終點數(shù)最多的A1類的中心位置作為該流向的中心位置,表示流向的地理位置.
圖4 流向位置計算示例Fig.4 Calculation and graphical presentation of flow location
假設流向Fi中心位置的經(jīng)緯度為 (llon,1,llat,1),流向Fj中心位置經(jīng)緯度為 (llon,2,llat,2),則流向Fi和流向Fj之間的地理距離ddist(i,j) 為兩中心位置之間的半正矢距離.半正矢距離表示地球表面兩點之間的球面距離,計算公式為
其中R為地球半徑.流向Fi和流向Fj之間的地理相似度Ssim1′,ij的計算公式為
對Ssim1′,ij進行歸一化處理,得到地理相似度Ssim1,ij.其計算公式為
(2) 語義相似度
語義相似度用于衡量流向之間的潛在相似性.具體地,若貨車的歷史運輸流向集合中既包括流向Fi又包括流向Fj,可推斷流向Fi和流向Fj之間具有某種相似性,比如,流向Fi和流向Fj可從同一條國道上到達.本文把此類相似性稱為語義相似度.當同時包括2 個流向的車輛數(shù)越多時,流向間的語義相似度越高.根據(jù)歷史運單數(shù)據(jù)得到流向Fi的歷史運輸車輛集合Si={c1,c2,c3,···,cm},ci表示貨車i.利用Jaccard 相似度計算流向Fi和流向Fj之間的語義相似度Ssim2′,ij,公式為
對Ssim2′,ij進行歸一化處理,得到語義相似度Ssim2,ij.其對應公式為
結(jié)合地理相似度和語義相似度,就可獲得流向Fi和流向Fj之間的相似度Ssim,ij.其計算公式為
其中,α為超參數(shù),表示不同相似度的權(quán)重,取值范圍為(0,1).對于有同一條國道與高速公路經(jīng)過的流向,其地理距離影響程度與交通不便地區(qū)相比更小,則α取值相應減小.α值視具體業(yè)務情況而定.
3.1.2 運力候選集計算
流向的運力候選集表示可運輸該流向的所有運力的集合,不僅包括歷史上運輸過該流向的所有車輛,還包括潛在可能運輸該流向的車輛.鑒于此,本文根據(jù)當前流向和相似流向的歷史運力集的集合生成各流向的運力候選集,根據(jù)公式(7)計算流向間的相似度,選擇與每個流向最相似的k個流向,則流向Fi的運力候選集XFi表示為
本節(jié)將結(jié)合各流向的運力候選集,通過特征提取,結(jié)合自注意力機制構(gòu)建候選運力可達性預測模型,預測候選運力在預期時間內(nèi)能否到達鋼廠成為可用運力.候選運力可達性預測模型整體如圖5所示.
圖5 候選運力可達性預測模型Fig.5 Candidate capacity accessibility forecasting model
3.2.1 特征提取
目前基于OD 的旅行時間預測方法普遍采用深度學習模型[3-5],從數(shù)據(jù)中提取豐富的特征是深度學習模型的關(guān)鍵步驟.本文從運單、軌跡等數(shù)據(jù)中提取多個特征,包括運力特征、流向客戶特征、貨物特征、時間特征和環(huán)境特征等,如表1 所示,隨后對其建立高維特征映射.
表1 特征描述Tab.1 Description of features
(1) 運力特征
貨車司機的駕駛習慣影響車輛的行程時長.本文提取車輛的cid作為車輛特征,以歷史平均停留次數(shù)cstayTime和停留時間cstayDura作為駕駛習慣特征.
(2) 流向客戶特征
運力可達性與其執(zhí)行運輸任務的終點緊密相關(guān).因此,本文根據(jù)客戶目的地的歷史運單和軌跡提取相關(guān)特征.車輛到達客戶地的時間以及從客戶地返回鋼廠的行駛時間依賴于客戶企業(yè)與鋼廠之間的距離,故提取每個終點所在區(qū)縣及該終點與鋼廠之間的平均路徑距離ediff作為特征;除此之外,不同客戶的收貨習慣 (工作時段) 不同、客戶收貨時間的早晚會影響貨車將貨物送達之前行程中的停留時間、客戶企業(yè)的收貨能力 (即卸貨設備作業(yè)能力) 也會影響貨車在送達之后等待卸貨的時間.因此,本文提取客戶的收貨時段etime和歷史平均卸貨時長edura作為特征.歷史卸貨時長通過提取軌跡在客戶地的停留時長得到.
(3) 貨物特征
貨車運輸?shù)呢浳锲贩N影響運輸?shù)乃俣扰c到達目的地后的卸貨時長.通過對歷史數(shù)據(jù)的分析發(fā)現(xiàn),運輸鋼卷類和鋼管類貨物的貨車行駛速度比運輸板材類貨物的貨車行駛速度慢.因此,本文提取貨物品種mcate以及是否是卷類mroll作為貨物特征.
(4) 時間特征
時間特征也是影響貨車返回時間的一個重要因素.如果貨車早上由鋼廠出發(fā),司機為了1 d 中能再運輸1 趟,會盡可能早地返回鋼廠;如果貨車是在下午或者晚上出發(fā),司機很可能選擇在第二天返回鋼廠.因此,本文提取運單的出發(fā)時間tstart、日期dstart、歷史平均返程時間treturn、歷史平均運輸周期tperiod作為時間特征.
(5) 環(huán)境特征
提取其他可用信息作為環(huán)境特征,例如天氣w.由于貨車運輸周期長,故本文的環(huán)境特征為出發(fā)之后近3 d 之內(nèi)是否有陰雨天.
上述步驟提取的特征包括數(shù)值特征和ID 等類別特征 (高維的一元特征).本文將類別特征引入Embedding 嵌入層;同時,將稀疏的類別特征向量通過神經(jīng)網(wǎng)絡映射為固定長度的低維稠密向量,對該嵌入層不做單獨訓練,與整個神經(jīng)網(wǎng)絡同時訓練.
3.2.2 自注意力機制(Self-Attention)
本文在模型中設計了2 個不同的注意力網(wǎng)絡(ATT1 和ATT2),用于解決運輸途中的停留時長不確定問題和因返程軌跡缺失而導致的返程時間不確定問題.
雖然由于司機個體的駕駛習慣不同,每個司機運輸途中的停留時間難以確定,但在數(shù)據(jù)分析中仍可觀察到各流向包含停留時間在內(nèi)的總運輸時長具備的時間與空間的相關(guān)性.如圖6 所示,不同流向的貨車返回時間相對于出發(fā)時間具有不同的模式.如山東省臨沂市蒙陰縣流向(圖6(a)),隨著出發(fā)時間越來越晚,貨車的平均返回時間反而越來越短;而對于承載河東區(qū)流向的貨車(圖6(b)),凌晨出發(fā)的車輛會及時返回,下午出發(fā)的車輛返回所需時間均在6~ 8 h 之間.
圖6 不同終點與出發(fā)時間的相關(guān)性Fig.6 Correlation of transport duration with vehicle departure times for different delivery terminals
本文在模型中首先設計了1 個自注意力網(wǎng)絡ATT1 用以捕捉運輸途中的停留時長特征.該模塊捕捉多個特征對不同司機駕駛習慣的作用,每個特征被分配1 個注意權(quán)重.本文設定,ei ∈RE表示第i個特征的E維嵌入向量,共H個特征向量;ej1∈RE表示顯式反映司機駕駛習慣特征 (歷史平均停留時長) 的第j個向量;每個特征向量對駕駛習慣的影響權(quán)重αi,1.先由第一個查詢向量q1∈RH和索引向量k1∈RH點積得到原始分值Ssocre,i,1; 再對原始分值歸一化處理.計算過程對應的公式為
公式(10)—公式(11)中:Wq,1∈RE×H;Wk,1∈RE×H.如式公(9)—公式(11)所示,特征向量ei通過轉(zhuǎn)換矩陣進行非線性變換轉(zhuǎn)換到注意力空間,變換后的索引向量ki與查詢向量q1進行點積,得到Ssocre,i,1,表示特征ei對ej1的重要性;再通過Softmax 函數(shù)歸一化處理得到每個特征的權(quán)重αi,1(公式(12));然后通過公式
將所有特征向量按照權(quán)重合并為嵌入向量εi1∈RE,并將εi1輸出至下一層網(wǎng)絡,如圖5(b)所示.
在使用上述注意力網(wǎng)絡捕捉運輸途中的停留時長特征之后,本文可以更準確地估計司機當前運輸任務的運輸完成時間,但仍需估計司機在運輸完成后司機何時能返回并進行下一次運輸.其中難點是由于返程司機自行聯(lián)系貨源、運輸返程軌跡缺失導致返程時間不確定.此處引入對不同流向各司機的運輸間隔周期特征 (此次運輸結(jié)束時間至下次運輸結(jié)束時間為一個運輸間隔周期),并使用另一個注意力網(wǎng)絡捕捉特征.
與ATT1 不同,第二個注意力網(wǎng)絡 (ATT2) 用以捕捉影響司機返程的特征重要性.ATT2 中的查詢向量q2∈RH,計算公式為
其中ej2∈RE為反映司機返程時間的特征 (包括運輸間隔周期特征).ATT2 的輸出表示為ε2.
本文使用的2 個自注意力機制各自使用共享的查詢向量.與使用不同查詢向量學習不同字段的特征相比,使用共享查詢向量學習不同字段的特征有助于構(gòu)建更健壯、更準確的選擇準則,特別是對于具有稀疏特征的字段[16].
對由3.1節(jié)中計算得到的流向Fj的運力候選集XFj中的貨車使用可達性模型預測,判定每輛候選
可用運力預測旨在為可達運力集預測每個可達運力選擇運輸?shù)牧飨?3.2 節(jié)中預測出流向Fj可達運力集合Vj={c1,c2,···,cl},ci表示1 個可達貨車i.對于這些可達貨車,由于每一輛貨車并非只是1 個流向的固定運力,當司機熟悉的流向缺少待發(fā)貨源或價格下降等情況發(fā)生時,司機可能會根據(jù)車隊需要選擇運輸其他相似流向.在本階段根據(jù)可達運力的歷史運輸流向,采用LSTM 模型預測每個可達運力下次選擇的運輸流向,獲得各流向的可用運力列表.
LSTM 是傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡 (RNN) 的變體,可以處理時序的長期依賴問題[17],適用于貨車司機根據(jù)自身運輸經(jīng)驗和車隊需要選擇運輸流向的場景.1 個LSTM 模塊主要由輸入門、輸出門、遺忘門等組成.LSTM 模型預測可達運力流向選擇過程如圖7(a)所示,每個LSTM 單元結(jié)構(gòu)如圖7(b)所示.
圖7 LSTM 模型結(jié)構(gòu)示意Fig.7 LSTM structure
該LSTM 的訓練過程: 對于每個可達運力ci,其歷史流序列為 [fflow,1,fflow,2,···,fflow,t],fflow,k表示ci的1 次歷史運輸任務對應的流向,對其進行獨熱編碼生成輸入序列[fflow_embed,1,fflow_embed,2,···,fflow_embed,t],每個LSTM 單元隱藏層狀態(tài)為 [h1,h2,···,ht],則每個單元的更新公式為
公式(15)—公式(20)中:ft為遺忘門決定前一時刻的狀態(tài)Ct-1有多少信息被保留,一般而言,對于車隊固定運力該值較小,而對于個人流動運力該值較大;it為輸入門決定輸入xt有多少信息被輸入,該部分輸入貨車司機近幾次的歷史運輸流向;ot為輸出門決定要輸出當前狀態(tài)Ct中的多少信息,即決定本次運輸流向及近期運輸模式有多大程度上可代表司機的長期運輸習慣;σ為Sigmoid 激活函數(shù);表示單元更新值.
隨后,計算每個可達運力選擇的運輸流向,進而獲得每個流向在t+1 時間段的可用運力列表
算法1 給出了本文所提運力預測模型的執(zhí)行過程: 首先,基于歷史運單集,根據(jù)相似性計算公式(公式(6))得到流向之間的相似度矩陣A,則流向運力候選集X為最相似的k個流向歷史運輸車輛集合;然后,對候選運力中的每個運力分別提取特征ri,通過嵌入層將高維特征映射為低維稠密向量ei,通過兩層自注意力機制分別捕捉影響司機駕駛習慣和運輸周期的特征,得到融合特征向量ε1、ε2,再將其聚合輸入多層感知機(Multilayer Perceptron,MLP)訓練,獲得該運力的可達性{0,1},從而得到流向Fj的可達運力集合Vj;最后,將每個可達運力的歷史承運流向序列輸入LSTM 模型中獲得每個可達運力選擇的流向,從而產(chǎn)生每個流向Fj的可用運力集
本文在真實數(shù)據(jù)集上進行了一系列實驗,對所提出的技術(shù)方案的有效性進行了評估.本文所用數(shù)據(jù)集來自山東某鋼鐵物流企業(yè)的真實數(shù)據(jù)集,包含了2021 年11 月至2022 年2 月共4 個月320 499 條運單數(shù)據(jù)及其對應的軌跡數(shù)據(jù)、車輛數(shù)據(jù)和終點數(shù)據(jù),其中訓練數(shù)據(jù)的時段為2021 年11 月至2022 年1 月 (共3 個月).為構(gòu)建訓練集,本文將每個訓練日的時間按 1 個/2 h 時間片進行劃分,預測后續(xù)時間片 (可選) 的流向可用運力集合.因此,本文共有3 909 446 個訓練項.
本文采用混淆矩陣評價運力預測模型的有效性,混淆矩陣包括了樣本的實際標簽與模型預測標簽之間的關(guān)系.
總樣本數(shù)為N;對于每個樣本xi,預測值yi={0,1}表示可用運力i在預測時間片是否會選擇該流向;樣本真實值ti={0,1}表示運力i在預測時間片是否真實到達鋼廠并運輸了該流向.評價指標如下.
(1) 準確率
準確率(Accuracy,A)表示預測正確的樣本比例.其計算公式為
(2) 精確率
精確率(Precision,P)表示預測為可用的運力中真實運輸該流向的運力占比.其計算公式為
(3) 召回率
召回率(Recall,R)表示在預期時間真實運輸該流向的運力中預測正確的運力占比.其計算公式為
(4)F1分數(shù)
F1分數(shù)(F1-score)表示精確率和召回率的調(diào)和平均值,綜合了精確率和召回率.F1-score 的取值范圍為[0,1],其值越接近1 表示模型預測效果越好,而越接近0 表示模型效果越差.其計算公式為
可達性預測模型對本文中的運力預測結(jié)果起決定性作用,若可達性預測模型效果不理想,則運力預測結(jié)果必然更差.因此,先對可達性預測模型的有效性進行評估.由于沒有相關(guān)工作預測車輛在預期時間是否可達,本文對幾種基于OD 的旅行時間預測模型的輸出進行修改以適應鋼鐵物流的預測場景,具體地,通過比較行程的出發(fā)時間加上模型輸出的旅行時間是否早于預期時間,達到可達性預測的目的.以下是本文選擇的幾種用于評估可達性預測的模型.
(1)歷史平均 (History Average,HA)[18]
歷史平均是指旅行時間為該終點歷史記錄的平均值.
(2)線性回歸(Linear Regression,LR)[4]
線性回歸是指將返回時間視為鋼廠與終點之間的距離L 的函數(shù),訓練一個簡單的線性回歸模型作為基線模型.
(3)隨機森林 (Random Forest,RF)[19]
隨機森林是1 個集成學習模型,將司機、終點、客戶、出發(fā)時間作為輸入,訓練1 個隨機森林模型;
(4)基于最近鄰的方法(Temporally Weighted Neighbors,TEMP)[5]
基于最近鄰的方法利用所有具有相似起點和目的地的歷史行程的加權(quán)平均旅行時間估計本次的旅行時間,每個相鄰行程的權(quán)重為相鄰行程與預測行程平均速度的相似性.
(5)本文所提出的可達性預測模型(Proposed Method,簡稱Proposed)
本文所提出的可達性預測模型考慮了司機駕駛習慣和貨物、流向等偏好,來預測每個候選運力的可達性.
本文用于評估可達性預測模型的性能指標如4.1 節(jié)所述.圖8—圖11 分別展示了幾種模型在數(shù)據(jù)集上的準確率(A)、精準率(P)、召回率(R)、F1分數(shù)(F1-score)的對比.
由實驗結(jié)果可以看出,每個模型的準確率(A)都比其他幾個評價指標高.這是因為準確率表示分類預測正確的比例.在本文中,由于司機運輸周期長,在預測時間片之前若貨車的上1 個運單未結(jié)束,則貨車不可達,每個運單在多個時間片的可達性均為0,數(shù)據(jù)整體負樣本比例較大,所以準確率相對其他指標較高.
從圖8—圖11 中可以看出,使用簡單平均的方法也會有相對較準確的結(jié)果.出乎意料的是,對線性回歸(LR)和隨機森林(RF)這2 個模型增加司機和終點距離等特征后,各個指標相對于簡單平均都有所下降.這表明同一終點、同一司機的行駛習慣也是差異化的,如果只是簡單地使用1 種模式預測效果反而更差.與簡單平均類似,同樣也是將歷史行程返回時長的平均值作為預測行程返回時長的TEMP,利用行程速度定義了不同行程之間的相似度,根據(jù)行程之間的相似度加權(quán)平均歷史行程的返回時間,提升了TEMP 方法的預測性能.TEMP 為多個對比實驗中精確率和召回率均較高的模型.
圖8 不同流向的準確率 (A) 比較Fig.8 Accuracy comparison of multiple accessibility prediction methods for different flows
圖9 不同流向的精確率 (P) 比較Fig.9 Precision comparison of multiple accessibility prediction methods for different flows
圖10 不同流向的召回率 (R) 比較Fig.10 Recall comparison of multiple accessibility prediction methods for different flows
本文所提出的方法(Proposed)雖然準確率沒有提升,但是精確率和召回率都相對其他模型有了明顯上升.由圖11 可以看出,尤其是黃島區(qū)、膠州市、城陽區(qū)這3 個流向,本文提出的模型對預測精度的提升最為明顯.F1-score 為精確率和召回率的調(diào)和平均值,可以反映出模型的整體性能,這表明本文所提出的可達性預測模型是有效的.
圖11 不同流向的F1-score 比較Fig.11 F1-score comparison of multiple accessibility prediction methods for different flows
本節(jié)中驗證了不同屬性特征的有效性,包括車輛特征、貨物特征、終點特征、時間特征、環(huán)境特征.為此本文基于上述的數(shù)據(jù)集設計了1 組對比試驗,每個實驗剔除其中一種屬性的特征.如表2 所示,根據(jù)實驗結(jié)果發(fā)現(xiàn),車輛特征和貨物特征對預測效果有顯著的影響,消除這兩個屬性會使得F1-score 指標分別下降43%和20%.這與本文前述挑戰(zhàn)相符合,貨車運輸行駛時間與網(wǎng)約車行駛時間預測中不同,網(wǎng)約車所在的城市路網(wǎng)場景中,其他條件不變時,不同的司機不會導致行駛時間有較大差異,大多數(shù)出租車網(wǎng)約車司機都很有經(jīng)驗,對有限的路網(wǎng)非常熟悉,有相似的駕駛習慣[20],而鋼鐵物流中,由于運輸時間長,路途遙遠,司機對路線和整個路網(wǎng)的熟悉程度不同,因此不同的司機駕駛習慣不盡相同,所以在此場景下,針對司機進行個性化的返程預測非常重要.
表2 不同屬性特征的重要性分析Tab.2 Effect of attribute component on the accessibility prediction
本文將基于可達運力集的可用運力預測視為時間序列預測問題,即根據(jù)可達運力的歷史運輸流向預測每個可達運力在預期時間的承運流向.本文選擇以下幾種模型進行對比.
(1)直接法 (Direct)
直接法認為貨車司機傾向于選擇歷史運輸最多的流向.
(2)k-近鄰 (k-Nearest Neighbors,kNN)[21]
k-近鄰認為如果1 個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別.找到訓練集樣本空間中的k個距離預測樣本x最近的點,統(tǒng)計k個距離最近的點的類別,找出個數(shù)最多的類別,將x歸入該類別.
(3)樸素貝葉斯 (Naive Bayes,NB)[22]
樸素貝葉斯是一種基于貝葉斯定理與特征條件獨立假設的分類方法.對于給定的訓練數(shù)據(jù)集,首先基于特征條件獨立假設學習輸入/輸出的聯(lián)合概率分布;然后基于此模型,對給定的輸入x,利用貝葉斯定理求出后驗概率最大的輸出y.
(4)梯度提升決策樹 (Gradient Boosting Decision Tree,GBDT)[23]
梯度提升決策樹是以CART 決策樹作為基學習器的boosting 集成學習算法,其中每一棵決策回歸樹學習的是之前所有樹的結(jié)論和殘差,通過擬合得到1 個當前的殘差回歸樹,其最終預測值等于所有回歸樹預測值之和.
(5)隨機森林 (Random Forest,RF)[19]
隨機森林是以決策樹為基學習器的bagging 集成學習算法,集成學習的核心思想就是將若干個弱(基) 分類器組合起來,得到1 個分類性能顯著優(yōu)越的強分類器.
(6) ARIMA (Auto-Regressive Integrated Moving Average)模型[24]
ARIMA 模型將非平穩(wěn)時間序列轉(zhuǎn)化為平穩(wěn)時間序列,根據(jù)差分后的平穩(wěn)序列建模預測.
(7) 長短期記憶網(wǎng)絡(LSTM)[7]
LSTM 是時間循環(huán)神經(jīng)網(wǎng)絡,為解決一般的循環(huán)神經(jīng)網(wǎng)絡存在的長期依賴問題而提出,是具有長短期記憶能力的神經(jīng)網(wǎng)絡.
除直接法外,其他方法預測時均考慮了有運輸需求流向的庫存和價格信息.選擇準確率(A)作為評價指標,若預測的可達運力傾向流向與司機實際選擇的流向相同,則認為預測正確,否則預測錯誤.具體實驗對比結(jié)果見圖12.由圖12 可以發(fā)現(xiàn),LSTM 模型的準確率(A)最高.盡管ARIMA 模型也是一種時序預測模型,但ARIMA 模型預測要求時間序列數(shù)據(jù)是穩(wěn)定的,且本質(zhì)上只能捕捉到線性關(guān)系,對于不穩(wěn)定數(shù)據(jù)ARIMA 模型無法有效捕捉規(guī)律.本文的預測序列為歷史承運流向序列,會受到當時的價格及車隊需求影響.使用ARIMA 模型的預測效果較差;LSTM 模型不僅可以捕捉到短期內(nèi)價格等因素變化的影響,也可以捕捉到長期序列中司機對流向的偏好.因此,LSTM 模型預測效果最佳.
圖12 可用運力預測模型效果對比Fig.12 Accuracy comparison of multiple available capacity prediction models
本文所提出的三階段運力預測方法已成功應用并部署于山東省某鋼鐵企業(yè)的在線物流平臺,可支持山東省內(nèi)共136 個流向的運力預測,用于平臺上6 000 余輛注冊貨車的運力調(diào)度.
本文針對鋼鐵物流的運力調(diào)度決策提出了一種三階段的運力預測模型,包括運力候選集生成、候選運力可達性預測與流向可用運力預測等.基于運單、車輛、運輸終點與車輛軌跡等數(shù)據(jù),提取影響運輸任務執(zhí)行時間與返程時長的重要特征,通過引入雙層自注意力機制獲取不同特征的影響權(quán)重,有效解決了長距離運輸過程中的停留時長不確定與返程軌跡缺失的問題.基于真實數(shù)據(jù)集上的對比實驗驗證了本文所提方法的有效性.在未來的研究中,會結(jié)合車輛的實時位置以及鋼廠所在地的交通狀況進一步提升運力預測精度.