李向農(nóng),范丁元
(中鐵工程設(shè)計(jì)咨詢集團(tuán)有限公司,北京 100055)
隨著新一輪《中長(zhǎng)期路網(wǎng)規(guī)劃》的實(shí)施,鐵路網(wǎng)絡(luò)效應(yīng)將更加強(qiáng)化,路網(wǎng)結(jié)構(gòu)空前復(fù)雜[1],運(yùn)量預(yù)測(cè)與鐵路網(wǎng)絡(luò)分析聯(lián)系緊密[2]。鐵路網(wǎng)絡(luò)的復(fù)雜性和抽象性,決定了利用計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)圖形計(jì)算和分析已成必由之路[3]。目前,常用的此類計(jì)算機(jī)系統(tǒng)中,TransCAD系統(tǒng)傾向于地理信息和公路、城市道路,信息顯示和查詢不符合我國(guó)鐵路運(yùn)量預(yù)測(cè)模式[4];RGIS系統(tǒng)可進(jìn)行鐵路網(wǎng)絡(luò)圖形的屏幕顯示和路網(wǎng)分配、數(shù)據(jù)統(tǒng)計(jì)和分析等功能,但主要偏向于統(tǒng)計(jì)分析[5]。本鐵路網(wǎng)絡(luò)分析系統(tǒng),創(chuàng)新發(fā)展了大規(guī)模鐵路網(wǎng)多路徑計(jì)算,運(yùn)量分配及動(dòng)態(tài)調(diào)整,列車時(shí)刻數(shù)據(jù)提取、運(yùn)輸徑路提取技術(shù)。鐵路網(wǎng)絡(luò)圖形呈現(xiàn)、車站和線路屬性編輯、運(yùn)輸徑路比較、運(yùn)量分配和動(dòng)態(tài)調(diào)整、區(qū)段客貨流和旅客列車對(duì)數(shù)查詢、運(yùn)輸路徑提取等功能于一體,并應(yīng)用于鐵路前期研究和路網(wǎng)規(guī)劃等領(lǐng)域。
本系統(tǒng)作為軟件應(yīng)用系統(tǒng),提供功能眾多,并采取了與既有國(guó)內(nèi)外相關(guān)系統(tǒng)差異化、專業(yè)導(dǎo)向性研發(fā)思路。主要技術(shù)有:簡(jiǎn)化路網(wǎng)KSP計(jì)算技術(shù)、區(qū)段運(yùn)量分配及動(dòng)態(tài)調(diào)整技術(shù)、統(tǒng)計(jì)區(qū)段運(yùn)量的OD構(gòu)成技術(shù)、列車時(shí)刻數(shù)據(jù)智能識(shí)別和徑路提取技術(shù)等。
鐵路網(wǎng)多路徑計(jì)算(即KSP計(jì)算)是本系統(tǒng)其他功能(如徑路比較、路網(wǎng)分配及動(dòng)態(tài)調(diào)整等)的基礎(chǔ)[6]。為使系統(tǒng)能夠達(dá)到即時(shí)人機(jī)交互、隨時(shí)信息反饋、所見即所得的設(shè)計(jì)目標(biāo),本系統(tǒng)采用了先進(jìn)行全局KSP計(jì)算,再根據(jù)需要隨時(shí)提取任意節(jié)點(diǎn)對(duì)間徑路的設(shè)計(jì)模式。全局KSP計(jì)算復(fù)雜度和空間復(fù)雜度極高[7]。為能在普通計(jì)算機(jī)上完成計(jì)算,本系統(tǒng)創(chuàng)新研發(fā)出簡(jiǎn)化路網(wǎng)KSP計(jì)算方法。設(shè)有簡(jiǎn)化路網(wǎng)G(N,E),|G|=Q,Q為網(wǎng)絡(luò)中真節(jié)點(diǎn)數(shù),計(jì)算所有真節(jié)點(diǎn)之間的前K條較短路徑。將節(jié)點(diǎn)i和節(jié)點(diǎn)j間的第K條路徑Rij(k)用以下數(shù)據(jù)結(jié)構(gòu)遞歸表示。
Rij(k)={ID,w,v,ID1,ID2}
(1)
式中,ID為標(biāo)識(shí)數(shù)字,唯一標(biāo)識(shí)真節(jié)點(diǎn)i到j(luò)間的某條路徑;w為該路徑長(zhǎng)度;v為該路徑所經(jīng)由的真節(jié)點(diǎn);ID1標(biāo)識(shí)該路徑中由真節(jié)點(diǎn)i到v的子路徑;ID2標(biāo)識(shí)該路徑中經(jīng)由真節(jié)點(diǎn)v到j(luò)的子路徑。以上五元組可唯一確定G中一條路徑。
具體步驟如下。
首先,對(duì)其進(jìn)行初始化,記K維向量R(i,j)={Rij(k)|k=1,2,…,K}。構(gòu)造矩陣Dk={R(i,j)|i=1,2,…,Q;j=1,2,…,Q} 。若真節(jié)點(diǎn)i和j相鄰,Rij(1).v=-1;否則Rij(1).w=∞,表示無此路徑。
其次,計(jì)算Dk,k=1,2,…,K。由Rik(k1).w和Rkj(k2).w計(jì)算Rij(kr).w,通過循環(huán)更新Dk-1,得到Dk。
該技術(shù)主要解決在大規(guī)模路網(wǎng)節(jié)點(diǎn)情況下,計(jì)算路網(wǎng)全部節(jié)點(diǎn)對(duì)大量路徑進(jìn)行存儲(chǔ)和提取路徑的問題,對(duì)于大規(guī)模路網(wǎng)中每個(gè)節(jié)點(diǎn)對(duì)間K短路徑(K值較大)的計(jì)算復(fù)雜度和空間復(fù)雜度有明顯降低,從而提高計(jì)算該問題對(duì)一般PC機(jī)的內(nèi)存適應(yīng)能力及實(shí)時(shí)反應(yīng)能力,而不失交通網(wǎng)絡(luò)信息的完整性,提高了鐵路運(yùn)量預(yù)測(cè)和路網(wǎng)規(guī)劃效率及科學(xué)性。
在傳統(tǒng)最短路徑分配基礎(chǔ)上,本系統(tǒng)開發(fā)出分配結(jié)果的動(dòng)態(tài)調(diào)整功能,即根據(jù)路段運(yùn)量規(guī)模、平行徑路的平衡利用或項(xiàng)目要求等因素,將繁忙路段的運(yùn)量動(dòng)態(tài)分流到次短徑路的技術(shù),目標(biāo)函數(shù)與具體分配方法如下
(2)
關(guān)鍵技術(shù)為,對(duì)經(jīng)過要調(diào)整區(qū)段的OD對(duì)排序,按最小繞行距離從小到大排序,選擇最小繞行的OD調(diào)出至空閑區(qū)段,可保證目標(biāo)函數(shù)在滿足的條件下始終最小,OD調(diào)入也可根據(jù)繞行最小進(jìn)行調(diào)出。經(jīng)過分配調(diào)整分流,能夠模擬出現(xiàn)狀路網(wǎng)上與實(shí)際客貨流徑路最為接近的分配結(jié)果,并使研究年度路網(wǎng)分配更加平衡合理,滿足設(shè)計(jì)要求[8]。同時(shí),本系統(tǒng)可隨時(shí)切換,按路徑長(zhǎng)度、旅行時(shí)間、廣義費(fèi)用進(jìn)行分配。
本系統(tǒng)應(yīng)用人工智能的聚類分析和模式匹配,開發(fā)出可準(zhǔn)確識(shí)別表格形式和結(jié)構(gòu),以及提取列車時(shí)刻表詳細(xì)數(shù)據(jù)的方法。關(guān)鍵技術(shù)為:首先,根據(jù)聚類分析確定表格范圍;其次,根據(jù)先驗(yàn)的表頭模式、車站名模式、車次模式、時(shí)刻模式通過人工智能算法確定表格內(nèi)部結(jié)構(gòu);再次,根據(jù)已掌握的表格結(jié)構(gòu)提取列車時(shí)刻表詳細(xì)數(shù)據(jù);最后,對(duì)提取的數(shù)據(jù)進(jìn)行合并整理并查錯(cuò)處理,發(fā)現(xiàn)問題及時(shí)反饋并報(bào)告有問題的工作表名、行車號(hào)及出錯(cuò)類型。通過以上算法,不但可提取準(zhǔn)確的列車時(shí)刻表數(shù)據(jù),還能找出數(shù)據(jù)中的錯(cuò)誤和可疑位置。
列車時(shí)刻數(shù)據(jù)提取后,須根據(jù)路網(wǎng)結(jié)構(gòu)確定每一列旅客列車在路網(wǎng)上的運(yùn)輸路徑[9]。本系統(tǒng)開發(fā)出根據(jù)路網(wǎng)節(jié)點(diǎn)相鄰程度、線路包含車站等圖形拓?fù)浣Y(jié)構(gòu)與旅客列車時(shí)刻表數(shù)據(jù)中站名比對(duì)匹配的計(jì)算方法,可準(zhǔn)確確定每列車的運(yùn)輸路徑,并將之突出顯示在鐵路網(wǎng)絡(luò)圖形上。
2.1.1 運(yùn)輸徑路比較模塊需求
通過徑路計(jì)算和比較,可對(duì)項(xiàng)目功能定位、建設(shè)必要性運(yùn)量構(gòu)成及流向進(jìn)行更好地研究和分析,其在運(yùn)量預(yù)測(cè)中起著重要作用[10]。目前,路網(wǎng)信息識(shí)別和運(yùn)輸徑路分析基本通過紙質(zhì)圖形或電子圖片,經(jīng)手工計(jì)算或EXCEL表格公式和數(shù)據(jù)錄入進(jìn)行計(jì)算[11]。隨著鐵路網(wǎng)絡(luò)的進(jìn)一步復(fù)雜化,鐵路網(wǎng)絡(luò)站點(diǎn)多、區(qū)段數(shù)量大,計(jì)算復(fù)雜度極高、工作量巨大。因此,快速查詢?nèi)我鈨绍囌鹃g距離和路徑具有重要的現(xiàn)實(shí)意義。
2.1.2 OD加載、運(yùn)量分配、調(diào)整模塊及流量分析需求
加載OD數(shù)據(jù)后,根據(jù)時(shí)間、距離及廣義費(fèi)用等因素,將OD數(shù)據(jù)間的分布交通量分配至具體徑路中[12]??舍槍?duì)項(xiàng)目的運(yùn)輸特點(diǎn),分析路段運(yùn)量構(gòu)成,確定研究項(xiàng)目承擔(dān)的運(yùn)量級(jí)別。針對(duì)流量分析顯示更符合實(shí)際的客流、貨流流向,便于圖形化顯示斷面流量大小,更好地進(jìn)行流量分析和動(dòng)態(tài)路網(wǎng)分配。因此,開發(fā)出可以進(jìn)行OD數(shù)據(jù)加載、運(yùn)量分配、運(yùn)量動(dòng)態(tài)調(diào)整及流量分析的網(wǎng)絡(luò)分析系統(tǒng),對(duì)研判預(yù)測(cè)的合理性起重要作用。
2.1.3 列車時(shí)刻數(shù)據(jù)提取模塊需求
目前,旅客列車時(shí)刻表原始精確數(shù)據(jù)主要來自于鐵路局提供的EXCEL表格和鐵路12306網(wǎng)站的數(shù)據(jù)[13]。但鐵路局表格格式多樣,且同一車次分散存放,車站次序也有時(shí)任意排列,人工提取數(shù)據(jù)工作量巨大,且需有一定的經(jīng)驗(yàn)才能準(zhǔn)確提取,對(duì)計(jì)算機(jī)數(shù)據(jù)提取技術(shù)要求較高;12306網(wǎng)站的列車時(shí)刻數(shù)據(jù)顯示不出運(yùn)輸路徑。因此,本系統(tǒng)開發(fā)出可準(zhǔn)確識(shí)別表格形式和結(jié)構(gòu),以及提取列車時(shí)刻表詳細(xì)數(shù)據(jù)的方法。
本系統(tǒng)的體系結(jié)構(gòu)可分為三大單元:核心數(shù)據(jù)結(jié)構(gòu)層、核心算法層和功能實(shí)現(xiàn)層[14]?;趫D形網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu)、單路徑與多路徑的運(yùn)輸徑路矩陣、OD向量及OD矩陣、列車時(shí)刻表矩陣和控制參數(shù)等,通過簡(jiǎn)化路網(wǎng)KSP計(jì)算技術(shù)、區(qū)段運(yùn)量分配及動(dòng)態(tài)調(diào)整技術(shù)、統(tǒng)計(jì)區(qū)段運(yùn)量的OD構(gòu)成技術(shù)、列車時(shí)刻數(shù)據(jù)的智能識(shí)別和徑路提取技術(shù)等核心算法,最終實(shí)現(xiàn)12個(gè)主要系統(tǒng)功能。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)主要功能模塊分為12個(gè)部分:鐵路網(wǎng)圖形信息顯示;圖形編輯;車站、線路、中間站詳細(xì)信息及編輯;單徑路和多徑路計(jì)算;運(yùn)輸徑路比較;OD加載、運(yùn)量分配及調(diào)整;流量分析及圖形化顯示;旅客列車時(shí)刻表讀??;線路客車對(duì)數(shù)統(tǒng)計(jì);路網(wǎng)信息和徑路計(jì)算結(jié)果的讀取和存儲(chǔ);外部信息交換;EXCEL報(bào)表輸出等。以下對(duì)部分模塊進(jìn)行重點(diǎn)介紹,軟件界面如圖2所示。
圖2 軟件界面
2.3.1 運(yùn)輸徑路比較模塊
系統(tǒng)可進(jìn)行自動(dòng)徑路比較(通過選擇起、訖點(diǎn))[15]、自定義徑路比較(通過選擇起、訖點(diǎn)和中間節(jié)點(diǎn))[16],可進(jìn)行運(yùn)輸距離、旅行時(shí)間及廣義費(fèi)用比較,并在三者間隨意切換[17]。徑路比較結(jié)果均在圖形窗口和屬性窗口中反饋,運(yùn)輸徑路比較結(jié)果如圖3所示。
圖3 運(yùn)輸徑路比較結(jié)果
2.3.2 OD加載、運(yùn)量分配、調(diào)整模塊及流量分析模塊
系統(tǒng)可加載483個(gè)和582個(gè)原始OD小區(qū)交流數(shù)據(jù)以及自定義的文本格式存儲(chǔ)的OD矩陣數(shù)據(jù),進(jìn)行運(yùn)量分配[18]。獨(dú)創(chuàng)路網(wǎng)分配動(dòng)態(tài)調(diào)整方法,根據(jù)多徑路計(jì)算結(jié)果,調(diào)整繁忙區(qū)段流量并圖形化顯示其運(yùn)量大小,更符合鐵路實(shí)際運(yùn)輸特點(diǎn)[19]。通過獨(dú)創(chuàng)的鼠標(biāo)選擇上行或下行方法,可在屬性窗口選入控制區(qū)段,并在屬性窗口中顯示控制區(qū)段運(yùn)量,以及每個(gè)控制區(qū)段的OD構(gòu)成,同時(shí)在圖形窗口顯示運(yùn)輸徑路;還可按運(yùn)量大小用不同線條寬度進(jìn)行徑路顯示,使之更直觀化、清晰化。OD加載分配類型、分配計(jì)算及結(jié)果、手動(dòng)分配窗口及流量分析、圖形化顯示及分配結(jié)果如圖4~圖6所示。
圖4 OD加載分配類型、分配計(jì)算及結(jié)果
圖5 手動(dòng)分配窗口
圖6 流量分析、圖形化顯示及分配結(jié)果
2.3.3 列車時(shí)刻數(shù)據(jù)提取模塊
系統(tǒng)可讀取格式多樣的鐵路局旅客列車時(shí)刻EXCEL表數(shù)據(jù)[20],對(duì)之進(jìn)行排序、整理和查錯(cuò)處理,并在圖形窗口和屬性窗口中同時(shí)顯示運(yùn)輸徑路。檢查時(shí)刻表的重復(fù)車次、可分配性與起終點(diǎn)和顯示運(yùn)輸徑路如圖7和圖8所示。
圖7 檢查時(shí)刻表的重復(fù)車次、可分配性與起終點(diǎn)
圖8 顯示運(yùn)輸徑路
本系統(tǒng)是應(yīng)用型軟件系統(tǒng),實(shí)用性強(qiáng),采用C++語言編寫,通過加載國(guó)鐵集團(tuán)483個(gè)和582原始OD小區(qū)交流數(shù)據(jù),研究鐵路局客貨運(yùn)電子數(shù)據(jù)特性,更符合鐵路運(yùn)輸徑路的形成機(jī)理,提高了系統(tǒng)對(duì)各類數(shù)據(jù)的自適應(yīng)能力。系統(tǒng)可充分利用路網(wǎng)信息采用圖形表達(dá),提供動(dòng)態(tài)修改和增補(bǔ)路網(wǎng)信息功能,有比較完善的圖形編輯、鐵路車站和線路區(qū)段信息編輯功能;同時(shí),將鐵路運(yùn)輸徑路比較、原始OD讀取、路網(wǎng)分配、斷面流量分析和動(dòng)態(tài)調(diào)整,以及列車時(shí)刻數(shù)據(jù)提取、查詢集成至系統(tǒng)中,對(duì)不同運(yùn)輸徑路和區(qū)段運(yùn)量構(gòu)成均提供信息反饋和交互功能。該系統(tǒng)具有以下特點(diǎn)。
(1)首創(chuàng)簡(jiǎn)化路網(wǎng)KSP計(jì)算技術(shù)、區(qū)段運(yùn)量分配及動(dòng)態(tài)調(diào)整技術(shù)、統(tǒng)計(jì)區(qū)段運(yùn)量OD構(gòu)成技術(shù)、列車時(shí)刻數(shù)據(jù)智能識(shí)別與提取、運(yùn)輸徑路提取技術(shù)。
(2)優(yōu)化算法減少參與計(jì)算節(jié)點(diǎn)規(guī)模,精簡(jiǎn)數(shù)據(jù)結(jié)構(gòu),可滿足系統(tǒng)快速響應(yīng)的目的。
(3)列車時(shí)刻數(shù)據(jù)處理和大規(guī)模提取,提供了網(wǎng)絡(luò)的快速解決方案。
(4)系統(tǒng)以圖形方式顯示運(yùn)量及徑路,分析結(jié)果呈現(xiàn)直觀且清晰。
該系統(tǒng)應(yīng)用在成達(dá)萬高鐵、沿江高鐵、通蘇嘉甬鐵路等項(xiàng)目,已取得良好效果。相較于傳統(tǒng)的手動(dòng)分配法和其他軟件,分別提高100倍和5倍以上的設(shè)計(jì)工效,具有良好的經(jīng)濟(jì)社會(huì)效益。