張 巖
(中國鐵道科學研究院集團有限公司 運輸及經濟研究所,北京 100081)
階段計劃是鐵路編組站作業(yè)指揮的核心環(huán)節(jié),其編制質量直接關系到車輛在編組站的停留時間[1-2],進而對列車運行時間和鐵路總體運輸能力產生影響[3-4]。鐵路編組站實際作業(yè)過程中存在著多種不確定性[5],已有學者以提高階段計劃的魯棒性為目標,研究不確定條件下編組站階段計劃的自動生成方法,使階段計劃在不確定性事件的隨機擾動下仍然保持最優(yōu)[6-7]。然而,列車晚點等異常突發(fā)事件使得階段計劃無法保持最優(yōu)性和持續(xù)可實施性,需要人工變更階段計劃后才能繼續(xù)執(zhí)行。鐵路編組站階段計劃調整研究方面,宋宇[8]從硬件結構、軟件結構、系統(tǒng)功能、系統(tǒng)流程4 個方面對編組站運輸調度自動化系統(tǒng)進行設計;?;菝馵9]給出了到發(fā)列車作業(yè)地點動態(tài)調整方法;張明[10]設計了一種協調優(yōu)化編組站調機運用和配流問題的模型;馬亮等[11]將計劃間沖突作為計劃變更的觸發(fā)條件之一,設計了計劃間沖突的檢測算法。在此,以作業(yè)數據實時反饋為基礎,面向編組站整體階段計劃動態(tài)最優(yōu)的目標,研究提出編組站階段計劃動態(tài)調整方法。
鐵路編組站階段計劃動態(tài)調整總體流程如圖1所示。編組站內信息系統(tǒng)約每1 h 可以接收鐵路局集團公司調度所更新的列車預計到達時間,基于歷史數據學習可預測專用線、貨場、車輛段取回待分解車列的到達時間,到達列車取下本務機后為到達車列,將到達車列和取回車列統(tǒng)稱為廣義到達車列。根據對歷史數據的機器學習,結合實時作業(yè)信息預測到達技術作業(yè)、解體、編組和出發(fā)技術作業(yè)過程的所用時間,利用人工智能算法結合列車和車輛相關信息進行車流動態(tài)推算,獲得最優(yōu)的解體、編組順序和出發(fā)列車車流來源,為階段計劃調整提供依據。實時監(jiān)測站內階段計劃的實施情況,基于作業(yè)過程用時預測和動態(tài)車流推算獲得的解編順序,動態(tài)計算各項作業(yè)的預計完成時間,每當鐵路局集團公司調度所給出的列車預計到達時間和本站預測的取回車列、技術作業(yè)、本務機作業(yè)和調機作業(yè)等預計完成時間變化時,需要調用1 次動態(tài)車流推算模塊計算1 次,獲得當前最優(yōu)的配流方案,車站調度人員根據現場車輛、股道、調機和作業(yè)人員的實時作業(yè)信息,決策并實施階段計劃調整。階段計劃采用循環(huán)滾動式調整規(guī)則,對時域數據進行連續(xù)不斷的循環(huán)反復優(yōu)化,以此來達到整個時間段內目標的最優(yōu)化。
圖1 鐵路編組站階段計劃動態(tài)調整總體流程Fig.1 Overall dynamic adjustment process of phase plan for railway marshalling station
1.2.1 數據預處理
為了確保動態(tài)車流推算結果的準確性,需要對到達技術作業(yè)、解體、編組和出發(fā)技術作業(yè)的作業(yè)過程用時進行精準預測。班組人員充足的編組站技術作業(yè)基本可以在30 min 以內完成,但是具體作業(yè)過程用時無法實時掌握,需要通過歷史數據學習與實時數據采集,預測到達、出發(fā)作業(yè)過程用時。對排風摘管、列檢、貨檢、試風等各項到達、出發(fā)技術作業(yè)過程用時單獨進行預測,總的到達、出發(fā)作業(yè)過程用時為各專業(yè)技術作業(yè)過程用時的最大值。解體作業(yè)的基本作業(yè)過程分為調機至到達場、連掛車列、推送車列至駝峰信號機、溜放分解。編組作業(yè)的基本過程分為調機至峰尾、平面調車連掛各車組、牽出車列至出發(fā)場。應對每一個過程的作業(yè)過程用時進行預測,疊加出最后總的解體、編組作業(yè)過程用時。
各項作業(yè)過程用時可利用機器學習方法進行預測,預測模型建立前需要對數據進行清洗,將各維屬性的數據類型處理為連續(xù)值或0-1 離散值。數據屬性預處理結果如表1 所示。對一個有d個可能取值的離散屬性,當d>2 時離散值的差值沒有實際意義,需轉為d個取值為0 或1 的二值屬性。
表1 數據屬性預處理結果Tab.1 Preprocessing results of data attribute
1.2.2 數據降維
數據降維主要是通過保存相關性REL較大的屬性特征,降低數據屬性的維度。針對到達、出發(fā)技術作業(yè),分別計算排風摘管、列檢、貨檢、試風等基本作業(yè)過程的實際用時與各數據屬性之間的相關性。針對解體作業(yè),分別計算調機至到達場、連掛車列、推送車列至駝峰信號機、溜放分解等基本作業(yè)過程的實際用時與各數據屬性之間的相關性。針對編組作業(yè),分別計算調機至峰尾、平面調車連掛各車組、牽出車列至出發(fā)場等基本過程的實際用時與各數據屬性之間的相關性。最后保留相關性系數較大的數據屬性,用于作業(yè)過程用時的預測模型訓練,從而實現數據降維。
1.2.3 預測模型訓練
針對編組站的各項基本作業(yè)過程進行數據屬性降維后,需要分別訓練各項基本作業(yè)過程用時的預測模型。首先進行訓練集和測試集的劃分,將80%的數據劃分到訓練集,用作基于機器學習的預測模型訓練,將20%的數據劃分到測試集。通過比較測試集合內真實作業(yè)過程用時與預測作業(yè)過程用時的方差,來驗證預測模型的效果。對于效果較差的模型,需要繼續(xù)采集增加訓練數據來完善模型參數。
模型訓練之前需要進行數據歸一化,將數據取值范圍線性變換為[0,1]。具體歸一化方法如公式⑵ 所示。
作業(yè)過程用時預測神經網絡模型如圖2 所示。排風摘管、列檢、溜放分解等作業(yè)過程用時預測的神經網絡模型包括輸入層、隱層和輸出層[13],隱層又可包括多層,選擇隱層數為1 的神經網絡。設有m個輸入屬性,則輸入層節(jié)點數為m,隱層有n個節(jié)點,輸出為1 個作業(yè)過程用時的預測值。
圖2 作業(yè)過程用時預測神經網絡模型Fig.2 Neural network model for operation process time prediction
以包括m個元素的列向量X= [x1,x2,…,xm]T為特征向量樣本,即為數據降維后包括列車長度、車輛數、禁溜車數量和空車數量等數據屬性的輸入列向量。n行m列的矩陣W為輸入層到隱層的權重系數矩陣,n個元素的列向量B= [b1,b2,…,bn]T為輸入層到隱層的偏置向量,包含n個元素的行向量P= [p1,p2,…,pn]為隱層到輸出層的權重系數向量,數值c為隱層到輸出層的偏置值,f為ReLU,sigmoid,tansig,purelin 等激活函數。各單項作業(yè)過程用時預測輸出結果y的計算值如公式⑶ 所示。
[4][18] 費昭珣:《東南亞國家的城市化進程及其特征》,《東南亞研究》1999年第4期,第49-54頁。
激活函數選用ReLU 函數,優(yōu)化器選用Adam算法[14],面向不同的作業(yè)過程用時分別對模型進行多輪訓練,并通過對隱層節(jié)點數量的調整后可獲得有效的模型。
1.3.1 動態(tài)車流推算過程描述
基于作業(yè)過程用時的精準預測可獲得精確的動態(tài)車流推算模型,設廣義到達車列集合A= {a1,a2,…,ak}代表階段內到達的車列和取回車列集合[6],按到達順序排列為a1,a2,…,ak,tai代表第i個到達車列ai的到達時刻,k代表階段內到達車列總數,T i到 和T i解 分別代表ai的到達作業(yè)過程總體用時和解體作業(yè)過程總體用時;出發(fā)列車集合D= {d1,d2,…,dl}代表階段內出發(fā)的列車集合,按出發(fā)順序排列為d1,d2,…,dl,tdj為本階段內第j列出發(fā)列車dj的出發(fā)時刻,l代表階段內出發(fā)列車總數,T j編 和T j發(fā) 分別代表dj的編組作業(yè)過程總體用時和出發(fā)作業(yè)過程總體用時。
1.3.2 動態(tài)車流推算模型約束條件
1.3.3 動態(tài)車流推算模型目標函數
首先應明確編組站動態(tài)車流推算模型求解的最優(yōu)化目標,可以為階段計劃兌現率最高或車輛在編組站的停留時間最短等。階段計劃兌現率高體現在所有列車都可以按時發(fā)車,在站停留時間短可以轉化為階段時間內向區(qū)間發(fā)出列車包含的車輛最多[4]。設vij代表ai向dj配入的車數,則模型的目標函數可用公式 ⒁ 表示,以階段時間內向區(qū)間發(fā)出的車數最多作為優(yōu)化目標。
1.3.4 動態(tài)車流推算模型求解算法
蟻群算法是解決旅行商問題的一種有效的人工智能算法,可以在規(guī)定時間內尋找到NP 問題的滿意解[15-16]。傳統(tǒng)旅行商問題可描述為旅行商從一個城市出發(fā)經過所有城市一次,如何選擇路徑使總行程最短,實質是在一個帶權無向圖中找一個權值最小的哈密爾頓回路[17-18]。可以將鐵路編組站動態(tài)車流推算模型求解問題抽象成帶權有向圖的最小權重路徑求解問題,將到達車列集合A= {a1,a2,…,ak}視為k個城市,螞蟻從當前時刻可行的任意到達車列出發(fā),隨機選擇下一個時刻可行的城市,即到達車列,直至所有到達車列被選擇完畢,目標是向區(qū)間發(fā)出的車數最多,即NUM最大。
編組站動態(tài)車流推算模型求解算法流程如圖3所示。算法開始后需要初始化信息素矩陣,為每個到達車列之間弧上的信息素賦初始值,然后進行循環(huán)迭代,迭代次數超過預定值或獲得收斂解時達到迭代停止條件,迭代結束,輸出包括解體順序的收斂解。進入一個迭代過程后需要將全部螞蟻隨機放到當前時刻可行的到達車列對應的城市上,循環(huán)逐個為每個螞蟻根據隨機遷移規(guī)則尋找一個路徑,找出一個NUM值最大的最優(yōu)路徑后為所有城市間的路徑更新信息素,循環(huán)進行下一次迭代。
圖3 編組站動態(tài)車流推算模型求解算法流程Fig.3 Solution algorithm process for calculation model of dynamic vehicle flow distribution in marshalling station
模型求解算法流程中螞蟻應用遷移規(guī)則隨機選擇下一個車列所用的隨機遷移規(guī)則如公式 ⒂所示。
模型求解算法中的倒數第2 步,更新所有路徑上的信息素時所用的信息素更新規(guī)則如公式 ⒃所示。
以利用高精度北斗定位人員作業(yè)手持終端、車號識別等技術對某編組站SAM 系統(tǒng)作業(yè)項目、作業(yè)股道、調機號、車次、車輛總數、開始時間、結束時間等數據進行補強獲得的數據為例,利用公式 ⑴ 給出的殘差相關系數計算公式計算數據屬性與預測作業(yè)過程用時之間的相關性,進行數據屬性降維分析,可以得到各項作業(yè)過程用時的主要影響因素。將解體作業(yè)中的溜放分解作業(yè)過程用時與數據屬性之間的殘差相關系數由大到小排列,根據公式 ⑴,溜放分解用時與各數據屬性間的殘差相關系數REL如圖4 所示。從圖4 可以看出,列車長度、車輛數、禁溜車數量、空車數量、解體鉤數與溜放分解作業(yè)過程用時存在較大的相關性。通過相關性計算還可得出編組作業(yè)中的平面調車連掛各車組的作業(yè)過程用時的主要影響因素包括車輛占用的股道數量、停放位置、車輛數量、車輛長度等。到達技術作業(yè)中的排風摘管作業(yè)過程用時的主要影響因素包括作業(yè)班組、作業(yè)時刻、停放股道、列車長度、車輛數量、摘管數量等。出發(fā)技術作業(yè)中的貨檢作業(yè)過程用時的主要影響因素有作業(yè)班組、作業(yè)時刻、停放股道、列車長度、車輛數量等。
圖4 溜放分解用時與各數據屬性間的殘差相關系數RELFig.4 Residual correlation coefficients between humping decoupling time and data attributes
分別選取500 個到達、解體、編組和出發(fā)作業(yè)過程用時的樣本數據作為測試集,單組數據的預測誤差為預測值與真實值的絕對值除以真實值,測試集平均誤差為單組數據誤差的均值。選取樣本數量不同的訓練集分別進行訓練,獲得各作業(yè)過程用時預測模型,預測模型的隱層節(jié)點數量如表2所示。
表2 預測模型的隱層節(jié)點數量 個Tab.2 Hidden layer node number of prediction model
不同樣本數量下測試集平均誤差變化趨勢如圖5 所示。隨著樣本數量的增加,各類作業(yè)過程用時的預測結果誤差均逐漸減小,當樣本數量達到10 000 時,到達、解體和出發(fā)作業(yè)過程用時的平均誤差小于21%,編組作業(yè)過程用時的平均誤差小于27%。
圖5 測試集平均誤差變化趨勢Fig.5 Average error variation tendency of test set
以3 級6 場布局的編組站為例,只針對上行出發(fā)列車計算階段計劃,設上行出發(fā)列車有15 組去向。上行出發(fā)場列車出發(fā)階段計劃根據階段到達車列情況編制,可消化全部到達車列。上行到達場階段內到達的廣義到達車列數量為6 ~ 13 時,利用蟻群算法對動態(tài)車流推算模型進行計算求解,蟻群算法信息素的重要度α= 0.7,啟發(fā)因子的重要度β= 0.7,信息素的蒸發(fā)系數ρ= 0.9。用i7 2.4GHz處理器和8G 內存配置的計算機進行求解,動態(tài)車流推算算法計算時間變化趨勢如圖6 所示。在確保階段內全部列車滿軸出發(fā)情況下,統(tǒng)計不同廣義到達列車數量的收斂解計算時間。在階段廣義到達車列數量小于13 時,計算時間與到達車列數量之間存在線性的關系,算法可在3 s 以內獲得最優(yōu)解,滿足階段計劃動態(tài)調整的實時性需要。
圖6 動態(tài)車流推算算法計算時間變化趨勢Fig.6 Calculation time variation tendency of dynamic vehicle flow distribution calculation algorithm
研究提出編組站階段計劃動態(tài)調整系列方法,利用提出的數據預處理和相關性分析方法,獲得編組站到達、解體、編組和出發(fā)作業(yè)過程用時的主要影響因素,利用歷史數據機器學習訓練獲得的神經網絡模型可以較為精準地預測作業(yè)過程用時,提出的動態(tài)車流推算求解算法可以在編組站調度指揮實際業(yè)務要求的時間內獲得最優(yōu)的動態(tài)車流推算方案,對于實現我國編組站階段計劃編制和調整的智能化、提高編組站整體作業(yè)效率具有現實意義。