摘 要: 地鐵列車運行圖是地鐵運輸中十分重要的組成部分,,它是地鐵行車組織的工作計劃和工作基礎(chǔ)。將列車運行圖自動編制及優(yōu)化系統(tǒng)分為數(shù)據(jù)庫子系統(tǒng)和運行圖調(diào)圖子系統(tǒng)兩部分,,闡述了整個系統(tǒng)的框架結(jié)構(gòu)及其優(yōu)化算法,,給出了開發(fā)結(jié)果。
關(guān)鍵詞: 列車運行控制,;運行圖,;運行優(yōu)化
中國城市軌道交通正處于快速發(fā)展階段,尤其在上海,,軌道交通已成為公共交通的主要方式,。大量軌道交通ATS(Automatic Train Supervision)系統(tǒng)的使用,有效地提高了地鐵調(diào)度效率,,增強了軌道交通的安全性和準確性,。
而列車運行圖是ATS系統(tǒng)的重要組成部分,一方面列車運行圖是軌道交通運輸部門實現(xiàn)列車安全,、正點運行的基礎(chǔ),,另一方面也是其經(jīng)濟有效地組織地鐵運輸工作和列車運行生產(chǎn)計劃的根據(jù)[1]。列車運行圖自動編制的實現(xiàn),,將有效地減輕編圖人員勞動強度,、縮小編圖周期、提高運行圖編制質(zhì)量,。而在此基礎(chǔ)上對運行的優(yōu)化將進一步提高列車的運行效率,節(jié)約運行成本,。
1 列車運行圖自動編制系統(tǒng)結(jié)構(gòu)
城市軌道列車運行圖的要素包括:列車區(qū)間運行時分,、列車停站時間、列車在折返站停留時間,、列車折返出發(fā)間隔時間,、列車出入車輛段作業(yè)時間、追蹤列車間隔時間和連發(fā)間隔時間[2],。
整個系統(tǒng)有兩個主要組成部分:數(shù)據(jù)庫子系統(tǒng)和運行圖調(diào)圖子系統(tǒng),。其中數(shù)據(jù)庫子系統(tǒng)包括數(shù)據(jù)管理和數(shù)據(jù)存儲兩個模塊,,它是編圖的基礎(chǔ)又是編圖的歸屬,負責(zé)存儲,、組織,、管理整個排布系統(tǒng)的數(shù)據(jù)信息。調(diào)圖子系統(tǒng)包括運行圖自動編制,、運行圖調(diào)整,、運行圖輸出模塊,它是系統(tǒng)的核心部分,。根據(jù)地鐵運營情況,,通過求解模型中的函數(shù),得到編制列車運行圖的數(shù)據(jù),,自動完成列車運行圖的排布并經(jīng)人工介入調(diào)整后輸出使用,。運行圖自動編制系統(tǒng)結(jié)構(gòu)如圖1所示。
2 調(diào)圖子系統(tǒng)結(jié)構(gòu)設(shè)計與實現(xiàn)
2.1 調(diào)圖子系統(tǒng)中的文檔/視圖結(jié)構(gòu)
微軟MFC的文檔/視圖結(jié)構(gòu)為實現(xiàn)運行圖自動編制系統(tǒng)提供了方便,、實用的框架結(jié)構(gòu),,便于程序的設(shè)計、分工,、調(diào)試和系統(tǒng)維護,,所以本系統(tǒng)采用文檔/視圖結(jié)構(gòu)[3]。所用到的幾個非常重要的成員函數(shù)如下:
?。?)CView::GetDocument函數(shù):該函數(shù)返回的是指向文檔的指針,,利用它就可以對文檔類成員函數(shù)及公共數(shù)據(jù)成員進行訪問。
?。?)CView::OnInitialUpdate函數(shù):對視圖對象進行初始化,。當應(yīng)用程序啟動或用戶從File菜單中選擇了New或Open時,該CView虛函數(shù)會被自動調(diào)用,。
?。?)CDocument::UpdateAllViews函數(shù):文檔數(shù)據(jù)改變時通知所有視圖對所顯示的數(shù)據(jù)進行相應(yīng)的更新。
?。?)CView::OnUpdate函數(shù):對文檔進行訪問,、讀取文檔數(shù)據(jù),然后對視圖的數(shù)據(jù)成員或控制進行更新,,以便文檔的變化,。應(yīng)用程序調(diào)用CDocument::UpdateAllViews時,應(yīng)用程序框架會相應(yīng)地調(diào)用該函數(shù),。
?。?)CDocument::OnNewDocument函數(shù):當用戶從File菜單中選擇了New時,框架將首先構(gòu)造一個文檔對象,,然后調(diào)用該虛函數(shù),,在此設(shè)置文檔數(shù)據(jù)成員的初始值,。
2.2 文檔/視圖結(jié)構(gòu)的實現(xiàn)
主要圖形數(shù)據(jù)放在CMTTDDoc類(從CDocument派生的文檔類)中,,在CDynSplitView2視圖(運行圖顯示與調(diào)圖視圖)中用圖形數(shù)據(jù)對象提供的接口對圖形數(shù)據(jù)進行顯示輸出,,即顯示/打印運行圖。在CMTTDview視圖(站名與區(qū)間信息視圖)中,,同樣調(diào)用圖形數(shù)據(jù)對象接口顯示車站和區(qū)間信息,。
由于車站信息也是運行圖的一部分,,因此,兩視圖顯示的位置必須一致,,二者都依賴于文檔類中的圖形數(shù)據(jù)進行統(tǒng)一,。m_TrainGraph是一個CTrainGraph類的對象,而CTrainGraph類封裝了運行圖的圖形數(shù)據(jù),,并提供操作接口,,基本上所有的運行圖操作都圍繞該類進行。與CMTTDDoc類相關(guān)聯(lián)的有CMTTDview類和CDynSplitView2類兩個視圖類,,后者用于運行圖的顯示和調(diào)圖操作,,而前者在與后者對應(yīng)的位置顯示車站和區(qū)間信息。OnLButtonDown()等操作都必須做類似:CMTTDDoc*pDoc=GetDocument(),;的操作,,最后通過pDoc進行操作。
實現(xiàn)時采用的結(jié)構(gòu)如圖2所示,。
3 數(shù)據(jù)庫子系統(tǒng)的設(shè)計與實現(xiàn)
由于地鐵運行圖的特點,,開發(fā)時采用微軟的Access作為平臺,共分為三個數(shù)據(jù)庫:系統(tǒng)數(shù)據(jù)庫,、基本數(shù)據(jù)庫及結(jié)果數(shù)據(jù)庫,。其中系統(tǒng)數(shù)據(jù)庫包含了地鐵線路表和運行參數(shù)表,如表1所示,。該表決定了排哪一條線路的運行圖以及對該線路運行圖的基本要求,;基本數(shù)據(jù)庫則可以存儲該線路的所有參數(shù):車站、股道,、道岔,、區(qū)間、列車,、上下行客流,、車庫、日行車計劃等多個數(shù)據(jù)字典,;而結(jié)果數(shù)據(jù)庫則保存了經(jīng)過計算后該線路的旅客時刻表、查錯記錄表及質(zhì)量指標表,。
由于本系統(tǒng)的所有重要數(shù)據(jù)都存儲在全局變量中,,因此數(shù)據(jù)庫子系統(tǒng)的數(shù)據(jù)管理工作主要是通過全局變量來傳遞窗口和界面的數(shù)據(jù)到數(shù)據(jù)庫,,即要時時保持數(shù)據(jù)庫中數(shù)據(jù)與全局變量的一致。如要更新某條記錄示例如下:
CString strSQL,;
strSQL.Format(“update station_table站名=’%s’,,\
代碼=’%s’ ,\
站型=%d,,\
站臺中心X坐標=%d\
站臺類型=%d\
停站時間=%d\
折返時間=%d\
存車線入正線時間=%d\
where代碼=’%s’”,,”火車站”,”srs”,,2,,0,1,,50,, 60,60,,”srs”),;
myDAO.DBExcuteSQL(strSQL,0),;
//myDAO是一個CDAO類的對象
數(shù)據(jù)庫子系統(tǒng)實現(xiàn)了數(shù)據(jù)操作簡便快捷,,所用基礎(chǔ)數(shù)據(jù)輸入后便可自動生成部分關(guān)鍵編圖的特點。不僅減少了部分輸入數(shù)據(jù)的工作量,、提高了數(shù)據(jù)的準確度,,而且經(jīng)檢查、查詢,、修改,、保存,形成了比較準確,、穩(wěn)定,、可靠的運行圖數(shù)據(jù)庫子系統(tǒng)。
4 運行圖優(yōu)化方法的探討
在此重點探討由各折返段行車密度確定最少列車使用數(shù)的方法,。
以此可以容易地推廣到m個折返區(qū)段以及環(huán)形路的情況,,在此不再贅述。運行圖的優(yōu)化可以從多個角度考慮,,此處討論的只是其中的一種情況,。
對運行圖的優(yōu)化是有必要的,通過優(yōu)化可以確定最少的列車使用數(shù),,得到最優(yōu)的日班行車計劃,,對提高地鐵運能、節(jié)約運輸成本起到積極的作用。
本研究以上海軌道交通8號線為原型,,設(shè)計開發(fā)了供地鐵調(diào)度人員使用的運行圖自動編制及優(yōu)化系統(tǒng),。列車運行圖自動編制的實現(xiàn)將有效地減輕編圖人員的勞動強度、縮小編圖周期,、提高運行圖編制質(zhì)量,。在此基礎(chǔ)上對運行的優(yōu)化將進一步提高列車的運行效率,節(jié)約運行成本,。該系統(tǒng)也可以作為ATS系統(tǒng)的一部分,,可大量節(jié)省ATS系統(tǒng)二次開發(fā)的成本。
參考文獻
[1] Binarne Stroutrup. The c++ programming language[M]. 北京:高等教育出版社,,2001.
[2] 姜堅華.上海軌道交通線ATC系統(tǒng)的比較[J].城市軌道交通研究,,2003(2):56-59.
[3] 莊巍,陳永生.上海地鐵列車運行圖自動編制系統(tǒng)[J]. 計算機工程,,2003,,29(21):11-16.