武 帥,李季濤,張美勇
(1.大連交通大學 交通運輸工程學院,大連 116028;2.中國鐵路沈陽局集團有限公司 大連站,大連 116001)
逐年上升的旅客運輸任務量對鐵路客運站調(diào)車作業(yè)管理的信息化程度和新型運輸專業(yè)人才培養(yǎng)提出了更高的要求。目前,調(diào)車作業(yè)計劃推演通常是客運站調(diào)車區(qū)長按經(jīng)驗,借助手控沙盤完成,并向調(diào)車班組傳達本班作業(yè)的注意事項,值班員需要與現(xiàn)場司機聯(lián)系確認,才能開放進路。車站職教科、鐵路院校多是靠手動控制實驗沙盤完成調(diào)車教學。而實景沙盤的制作、維護成本較高,一旦車站發(fā)生線路改造,對應的沙盤硬件就會面臨整改甚至失效的問題。
仿真技術在鐵路運營管理領域的應用越來越廣泛,具有可控制、無破壞性、可重復使用等優(yōu)點[1],其關鍵技術從無交互的簡化離散事件仿真、軟件與實體推演沙盤相結(jié)合,發(fā)展為高度仿真的虛擬現(xiàn)實。主要應用場景為編組站技術作業(yè)仿真教學[2-3]、車站接發(fā)車模擬[4-6]、鐵路車站聯(lián)合演練仿真培訓[7],少有涉及客運站調(diào)車作業(yè)模擬推演方面的研究。客運站調(diào)車作業(yè)性質(zhì)不同于編組站,并非按車流方向編成列車,而是要在列車發(fā)車前完成必要的調(diào)車任務,如車輛的換/甩掛及檢修作業(yè),以保證本站始發(fā)列車的順利發(fā)車。因此,客運站調(diào)車計劃執(zhí)行過程仿真平臺會面臨諸多問題,包括調(diào)機在站內(nèi)和庫內(nèi)運行作業(yè)的復雜性,推送調(diào)車法下調(diào)機作業(yè)動作的不確定性,列車到發(fā)作業(yè)對調(diào)車作業(yè)的干擾性等。
綜上,本文旨在開發(fā)一種能夠自動讀取調(diào)車作業(yè)計劃并在電子沙盤屏幕上進行執(zhí)行過程仿真的平臺。
在鐵路客運站調(diào)車生產(chǎn)過程中,站內(nèi)、庫內(nèi)現(xiàn)存車的數(shù)量、位置會隨時間變化,任意時刻均對應一個站內(nèi)、庫內(nèi)現(xiàn)車狀態(tài),故需考慮調(diào)車作業(yè)計劃推演初始時刻的現(xiàn)車狀態(tài)。本文將調(diào)車作業(yè)的推演過程按時間順序分為3 種狀態(tài):現(xiàn)車加載、調(diào)車作業(yè)計劃執(zhí)行、執(zhí)行完畢。調(diào)車作業(yè)計劃執(zhí)行的全過程需要調(diào)用現(xiàn)車表、列車到發(fā)時刻表、調(diào)車作業(yè)計劃、列車編組順序表作為數(shù)據(jù)基礎,結(jié)合上文所述調(diào)車作業(yè)需求,繪制鐵路客運站調(diào)車作業(yè)計劃執(zhí)行過程仿真平臺業(yè)務流程,如圖1 所示。由于執(zhí)行完畢狀態(tài)僅是以調(diào)機入段作為起始標志,邏輯較為簡單,因此業(yè)務流程圖中僅展現(xiàn)現(xiàn)車加載狀態(tài)和調(diào)車作業(yè)計劃執(zhí)行狀態(tài)。
圖1 仿真平臺業(yè)務流程
從整體業(yè)務流程來看,作業(yè)車車號信息的生成和調(diào)車作業(yè)計劃推演是一切業(yè)務目標實現(xiàn)的前提。而作業(yè)車車號信息的生成必須保證平臺可以完成推演過程中所有作業(yè)車車號的檢索;調(diào)車作業(yè)計劃的全盤推演必須克服調(diào)機在站內(nèi)和庫內(nèi)運行作業(yè)的復雜性和推送調(diào)車法下調(diào)機作業(yè)動作的不確定性,從而解決調(diào)車的摘車動作合法性檢驗的難題。因此,如何完成作業(yè)車車號的檢索和調(diào)車的摘車動作合法性檢驗是調(diào)車作業(yè)計劃執(zhí)行過程仿真平臺開發(fā)的基礎。
本文基于AnyLogic 軟件設計鐵路客運站調(diào)車作業(yè)計劃執(zhí)行過程仿真平臺,基于迭代算法提出作業(yè)車車號檢索和摘車動作合法性檢驗的模型。
在平臺設計流程中,現(xiàn)車狀態(tài)加載和調(diào)車作業(yè)計劃執(zhí)行兩個狀態(tài)會處理大量數(shù)據(jù),以車號查找為例,若運用遞歸算法,其一項的計算量可達上萬次;而運用迭代算法則可較好地解決該問題。
迭代算法又稱輾轉(zhuǎn)算法,是一種不斷用變量的舊值遞推新值的計算過程,每次計算得到中間值,通過迭代關系算得下一步新值,直至遇到終止條件,具有可將復雜問題簡單化和不斷逼近最優(yōu)結(jié)果的特點。迭代算法包含3 個要素:起始條件、迭代關系和終止條件。一般要求起始條件盡可能地接近目標[8],也可根據(jù)問題特征或經(jīng)驗來選擇起始點;迭代關系對應的搜索方向要逐漸接近目標;而目標是否達成則要看終止條件是否被滿足。
綜上,為降低計算冗余,本文通過循環(huán)結(jié)構來設計關于不同變量的迭代模型,以實現(xiàn)作業(yè)車車號檢索和調(diào)車動作合法性檢驗功能。算法模型參數(shù)如下:
sk為第k次計算的數(shù)據(jù)序號;
xk為第k次計算后數(shù)據(jù)序號跨度;
vk(sk,xk)為第k次計算結(jié)果;
起始條件:
s1=1
迭代關系:
sk+1=sk+xk
終止條件:當計算至k=n或1時,停止計算,保留第sk個數(shù)據(jù),作為下一個迭代目標的起始點。若表示本次迭代計算返回值為第sk個數(shù)據(jù);若表示運算過程或數(shù)據(jù)來源出現(xiàn)紕漏,停止計算,并停止推進仿真時鐘,實現(xiàn)運算過程的自我校驗;若則表示本次計算無返回值。
本文把變量原值定為計算的第1 個數(shù)據(jù)的值,通過循環(huán)結(jié)構完成變量的迭代,當變量值達到目標函數(shù)的最優(yōu)值時,則完成一次計算任務,下一個計算任務會接續(xù)上一次迭代的變量新值繼續(xù)計算,從而遍歷表中的每一個數(shù)據(jù)。
鐵路客運站的作業(yè)車可為站內(nèi)到達列車,也可來自庫內(nèi)現(xiàn)車,本文以站內(nèi)到達列車作業(yè)車車號查找為例。到達列車的列車編組順序表中包含各到達列車所對應車輛的車號信息,調(diào)車作業(yè)計劃的記事欄包含作業(yè)車車號信息。為了正確顯示作業(yè)車車號,可利用AnyLogic 軟件中的RailCar 智能體建立關于車號信息的迭代模型。默認本列車起始車輛車號顯示為空,數(shù)據(jù)跨度xk均為1,當遍歷列車編組順序表得到的迭代值與記事欄作業(yè)車的6 位數(shù)車號相等時,則完成車號檢索,若則說明本次到達列車不含該調(diào)車計劃規(guī)定的作業(yè)車。
鐵路客運站的到發(fā)場與客技庫的布局關系可分為橫列式和縱列式兩種,雖然調(diào)機的作業(yè)徑路有差異[9],但在推送調(diào)車法下均可將調(diào)機動作大致分為4 類,即:調(diào)機在庫內(nèi)有車股道掛車或摘車、調(diào)機在庫內(nèi)無車股道摘車、調(diào)機牽引車列出庫至到發(fā)場、調(diào)機將到發(fā)場車列推送至庫內(nèi)。同樣是執(zhí)行摘車鉤,目標股道上有車的摘車鉤包括一次掛車和一次摘車動作,目標股道上無車的摘車鉤僅是一次摘車動作。而計算機無法分辨推送法下的調(diào)機摘車細節(jié),因此需要進行調(diào)車動作的合法性判斷。比如,當調(diào)機執(zhí)行摘車動作時,若目標股道上有車,僅執(zhí)行一次摘車動作而不預先與股道上車輛連掛,則判斷為動作不合法。針對這兩種不同的股道情景,本文利用AnyLogic軟件中的邏輯模塊建立有關軌道現(xiàn)車數(shù)的迭代模型,利用程序判斷摘車鉤動作的合法性。起始默認每個摘車鉤為僅一次摘車動作,由于每一鉤不相同,故每次迭代時的數(shù)據(jù)序號跨度xk取本鉤計劃的軌道號。若循環(huán)結(jié)構的軌道現(xiàn)車迭代結(jié)果為0,則摘車鉤動作合法;若迭代結(jié)果大于0,則當前摘車鉤動作不合法,摘車鉤動作將變?yōu)橄葤旌笳?/p>
本文以大連站為例,基于AnyLogic 軟件的仿真環(huán)境,采用Visual Studio2013 開發(fā)工具和Java 語言,開發(fā)了大連站調(diào)車作業(yè)計劃執(zhí)行過程仿真平臺。
大連站為盡頭式車站,到發(fā)場與客技庫采用縱列式布局。本平臺將車場線路作為推演界面的主視圖,用機車車輛的動畫移動模擬推演調(diào)車過程,并用不同顏色指示燈的閃爍方式及動態(tài)的高亮文字提示當前推演狀態(tài)。所有的應用信息均顯示在屏幕上,也可切換局部視圖放大觀看推演過程,解決了縱列式車場排布帶來的視圖狹長問題。該操作界面在基本不改變行車人員現(xiàn)有習慣的同時,更直觀地描述站場形態(tài)。平臺功能結(jié)構如圖2 所示。
圖2 平臺功能結(jié)構
本文根據(jù)大連站到發(fā)場和客技庫縱列式布局,以及調(diào)車作業(yè)特點,設計了具體的邏輯模型,包括現(xiàn)車加載狀態(tài)邏輯、調(diào)車作業(yè)計劃執(zhí)行狀態(tài)邏輯和執(zhí)行完畢狀態(tài)邏輯。利用AnyLogic 軟件軌道庫的Couple 和Decouple 模塊完成車場的機車、車輛和車列的摘掛邏輯設計。平臺邏輯模型如圖3 所示。
圖3 平臺邏輯模型
平臺推演界面如圖4 所示,包括主菜單、顯示面板、調(diào)車作業(yè)計劃、鉤作業(yè)時分統(tǒng)計、注意事項、沖突進路記錄6 部分。其中,主菜單包含文件、2D視圖、3D 視圖、演示和系統(tǒng)管理5 個功能區(qū);顯示面板包括當前仿真時間、調(diào)車作業(yè)執(zhí)行過程仿真中各類狀態(tài)指示燈、當前執(zhí)行鉤計劃和站場示意圖4項內(nèi)容,其中,站場示意圖是以大連站縱列式布局為基礎的示意模型,分為站內(nèi)、客技庫兩部分;調(diào)車作業(yè)計劃顯示本次仿真推演的所有調(diào)車作業(yè)內(nèi)容;鉤作業(yè)時分統(tǒng)計、注意事項、沖突進路記錄顯示每鉤計劃的推演計算、判斷的結(jié)果。
圖4 推演界面布局
(1)調(diào)車計劃執(zhí)行動態(tài)顯示
顯示面板各狀態(tài)指示燈會指示當前推演狀態(tài)、當前是否有列車到發(fā)作業(yè)進行及作業(yè)車車次。調(diào)車計劃表可實時顯示當前執(zhí)行鉤計劃在計劃表中的位置。在某一鉤計劃的執(zhí)行過程中,該鉤計劃會在計劃表中被標紅,直至鉤計劃結(jié)束,恢復黑色,同時下一鉤計劃被標紅,循環(huán)至調(diào)車計劃執(zhí)行完畢。
(2)車號顯示
在推演過程中出現(xiàn)的所有車輛的車號,若與調(diào)車作業(yè)計劃表中“記事”一欄存在的車號相同,會被標記在該車輛的上方,并跟隨車輛移動。
(3)調(diào)車鉤時分數(shù)據(jù)統(tǒng)計
從調(diào)車作業(yè)計劃推演開始時刻起,調(diào)機每執(zhí)行完一鉤計劃都會在鉤作業(yè)時分數(shù)據(jù)統(tǒng)計圖中添加顯示本鉤計劃的作業(yè)時分數(shù)據(jù),以此實現(xiàn)隨推演過程實時生成調(diào)車鉤作業(yè)時分統(tǒng)計。
(4)調(diào)車班組注意事項
仿真平臺在執(zhí)行至某一鉤計劃時,會根據(jù)當前現(xiàn)車狀態(tài)和鉤計劃內(nèi)容,計算并判斷本鉤中是否含有需要調(diào)車班組額外掌握的作業(yè)注意事項。
(5)沖突進路記錄
在調(diào)車作業(yè)過程中出現(xiàn)列車到發(fā)作業(yè),調(diào)機需要停止作業(yè)并在線路上等待行車作業(yè),同時,平臺將判斷本務機與調(diào)機的進路是否存在沖突,并記錄在沖突進路記錄一欄,若兩項作業(yè)不能平行進行,則該條記錄會被紅色高亮顯示。
由于大連站的車場采用縱列式布局,為了更直觀地展示推演過程,使用戶能夠詳細觀察調(diào)車作業(yè)細節(jié),如車號信息等,本平臺將車場劃分為幾個視圖分區(qū)。平面2D 視圖可展示調(diào)車作業(yè)計劃中被標記的車號,分為“站內(nèi)”視圖、“客技庫”視圖和“整體”視圖。主菜單下點擊“整體”按鈕即切換到含蓋整個站場的視圖。3D 視圖可展示調(diào)車過程的立體動畫效果,如圖5 所示。
圖5 車站整體3D 視圖
本文針對鐵路客運站調(diào)車作業(yè)計劃執(zhí)行過程分析了業(yè)務流程,基于迭代算法進行平臺模型算法設計,并以大連站為實例研發(fā)了調(diào)車計劃執(zhí)行過程仿真平臺。該平臺運用平面和立體視圖的切換設計,實現(xiàn)了調(diào)車作業(yè)計劃無實物自動推演,實時展示當前調(diào)車作業(yè)計劃執(zhí)行內(nèi)容及調(diào)車作業(yè)狀態(tài)信息,并自動生成每鉤作業(yè)時分數(shù)據(jù),實現(xiàn)了調(diào)車作業(yè)實時數(shù)據(jù)的可視化。
該平臺可輔助車站值班員排列進路,輔助調(diào)車區(qū)長檢查調(diào)車計劃編制的合理性;同時,可為車站職教科、鐵路專業(yè)院校提供一種新型的教學方式,尤其是疫情期間,利用本平臺的電子推演功能可實現(xiàn)遠程教學,減少人員流動,更適合實踐教學的高效開展,修改線路簡便,維護成本較低。下一步的工作將基于現(xiàn)有調(diào)車作業(yè)計劃執(zhí)行過程仿真平臺的功能,對多調(diào)機協(xié)同作業(yè)與列車到發(fā)作業(yè)之間的影響沖突等問題進行研究。