基于計(jì)算機(jī)算法的城市公交網(wǎng)絡(luò)出行路徑問(wèn)題研究
作者:陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院 陜西西安 梁 萌
發(fā)布時(shí)間:2014-06-18 16:18:40
【摘 要】在龐大的公交網(wǎng)絡(luò)系統(tǒng)中如何選擇最優(yōu)的出行方案是居民普遍關(guān)心的問(wèn)題。文章基于計(jì)算機(jī)算法實(shí)現(xiàn)了對(duì)出行方案快速高效的選擇,首先設(shè)計(jì)了公交網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu),其次詳細(xì)闡述基于SQL語(yǔ)言的算法步驟,最后以具體實(shí)例證實(shí)本研究的快速性及準(zhǔn)確性,本文的研究為居民的出行提供了快速高效的解決方案。
【關(guān)鍵詞】計(jì)算機(jī)算法 城市公交網(wǎng)絡(luò) 出行路徑
近年來(lái),研究人們出行過(guò)程換乘交通工具決策優(yōu)化問(wèn)題,以提高人們的出行效率,是一個(gè)亟待解決的議題。本研究綜合以往研究所用的方法并結(jié)合人們出行情況的問(wèn)卷調(diào)查結(jié)果,建立了以最少換乘次數(shù)以及最短外出距離為最終出行目標(biāo)的模型。為了避免數(shù)據(jù)爆炸的出現(xiàn),選用的儲(chǔ)存公交網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)庫(kù)是大型的,這樣便于對(duì)數(shù)據(jù)進(jìn)行管理和維護(hù),為了提高算法運(yùn)算速度,選用Transace—SQL語(yǔ)言的求解算法。
公交網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu)
根據(jù)公交網(wǎng)絡(luò)的構(gòu)成情況,為了區(qū)分各方向上的線路及站點(diǎn),本節(jié)首先對(duì)每個(gè)線路中的站點(diǎn)進(jìn)行編號(hào)。例如,10路(南行)線路中的第一站a、中間站b、中間站c、最后一站d分別用1、2、3、4進(jìn)行編號(hào),那么10路(北行)線路中的站點(diǎn)第一站d、中間站c、中間站b、最后一站a的自然數(shù)編號(hào)為1、2、3、4。同時(shí),借助SQL server設(shè)計(jì)如表1、表2所示的儲(chǔ)存站點(diǎn)、線路以及編號(hào)的數(shù)據(jù)結(jié)構(gòu)。
表1 線路站點(diǎn)
表2 公交站點(diǎn)間距
求解步驟
本算法的求解思想是:將兩個(gè)目標(biāo)進(jìn)行分層處理,也就是說(shuō)利用Transace—SQL語(yǔ)言的編寫(xiě)程序?qū)崿F(xiàn)操作中所需的運(yùn)算,能夠得到不同換乘次數(shù)(0次即直達(dá)、1次、2次)的出行方案,并將所得的方案存儲(chǔ)于相應(yīng)的數(shù)據(jù)庫(kù)表(如表3、表4所示)中,接著編寫(xiě)儲(chǔ)存過(guò)程的參數(shù),進(jìn)而選出最優(yōu)的出行方案。
表3 直達(dá)方案
表4 一次換乘方案
具體步驟如下:⑴創(chuàng)建一個(gè)帶參數(shù)的存儲(chǔ)過(guò)程,該參數(shù)包括初始站和目的站。⑵從表1中分別找出所有經(jīng)過(guò)初始站和目的站的線路集合,命名為line-set-1,line-set-2。⑶將上一步所得的兩個(gè)集合取交集,得到的集合命名為line-set-3。⑷判斷上步所得到的交集中是否為空,如果不是空值,那么存在直達(dá)出行方案,進(jìn)而將該方案存入表3,轉(zhuǎn)到步驟⒀;如果是空值,則轉(zhuǎn)到步驟⑸。⑸分別找出line-set-1和line-set-2所對(duì)應(yīng)的所有站點(diǎn)的集合,依次命名為Transfer-stop-set-1和Transfer-stop-set-2。⑹將上一步得到的兩個(gè)集合取交集得到的集合命名為Transfer-stop-set-3。⑺判斷⑹得到的集合是否為空,如果不是空值,那么則說(shuō)明通過(guò)一次換乘能到達(dá)目的站,轉(zhuǎn)而進(jìn)行步驟⑻;如果是空值,則轉(zhuǎn)到步驟⑽。⑻找出Transfer-stop-set-3集合中所有的1次換乘線路,命名為line-set-4。⑼將集合line-set-1與line-set-4取交集,得到的集合命名為line-set-5,表示第一次乘車的路經(jīng)集;將集合line-set-2與line-set-4取交集,得到的集合命名為line-set-6,表示第一次換乘的路經(jīng)集;依據(jù)模式“初始站a—首次乘車路徑L1—首次換乘站b”以及站a和換乘站b在路徑L1中的自然數(shù)編號(hào)的大小來(lái)確定所選擇的路徑是否是正確的(例如10路(南行)路徑正確,則10路(北行)路徑錯(cuò)誤),由此得到一次換乘中的上一段路徑方案,如此類推可以得到下半段換乘方案。⑽分別找出Transfer-stop-set-1和Transfer-stop-set-2所對(duì)應(yīng)的所有線路集合,命名為Transfer-line-1和Transfer-line-2;將所得的兩個(gè)集合取交集,得到的新集合為第一次換乘線路集合,命名為Transfer-line-one。⑾如果上步最后所得到的集合是空集,則到步驟⒂;如果不是空集,則到步驟⑿。⑿找出Transfer-line-one里邊的全部站點(diǎn)集合,命名為temp-transfer-stop,將其分別與Transfer-stop-set-1和Transfer-stop-set-2取交集,得到的集合依次命名為Transfer-stop-11和Transfer-stop-21;分別找出經(jīng)過(guò)Transfer-stop-11和Transfer-stop-21的全部線路集合,依次命名為line-set-10、line-set-12,并將line-set-12與集合line-set-2取交集,得到的集合依次命名為Transfer-line-two,將line-set-10與line-set-1取交集,得到的集合line-set-11,并依照⑼中的方法將得到的外出方案存入transfer-two-time-trip表。⒀建立所有外出方案的外出距離的存儲(chǔ)過(guò)程,并且都要帶有輸入和輸出參數(shù)。⒁依照上步得到的外出距離找到最優(yōu)的外出路線,則算法結(jié)束。⒂如果換乘次數(shù)是在3次及以上,則建議選用其他交通工具出行,則算法結(jié)束。
實(shí)際應(yīng)用分析
利用上文給出的求解步驟,本文以武漢市的260個(gè)公交站點(diǎn)和25條公交線路數(shù)據(jù)為數(shù)據(jù)基礎(chǔ),建立數(shù)據(jù)庫(kù)以及數(shù)據(jù)表。比如,出發(fā)站為“武漢車站”,目的站為“武漢大學(xué)”,需要在SQL查詢分析器中輸入:find-trip-strategy‘武漢車站’‘武漢大學(xué)’,系統(tǒng)立即可得到如下表所示方案。
表5 一次換乘方案
說(shuō)明,從武漢車站到武漢大學(xué)之間沒(méi)有直達(dá)的線路,所以得到了一次換乘方案,由于本研究基于的目標(biāo)是最少的換乘次數(shù),所以該表輸出即為最終換乘結(jié)果方案表,接著依據(jù)所建立的外出方案距離的存儲(chǔ)過(guò)程得到所需的最優(yōu)外出路線。
結(jié)語(yǔ)
該研究為解決龐大公交網(wǎng)絡(luò)系統(tǒng)下的快速高效選擇出行方案提供了可行思路,為人們的出行帶來(lái)了一定程度的便利。參考文獻(xiàn):
[1]溫金輝.用于最短路算法的公交網(wǎng)絡(luò)模型構(gòu)建[J].交通標(biāo)準(zhǔn)化,2011(08):35-38.
[2]汪濤,許樂(lè),張繼,方志耕.城市公交網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)及其演化模型研究[J].公路交通科技,2009(11):42-45.
[3]王東,劉剛.基于復(fù)雜網(wǎng)絡(luò)的城市公交網(wǎng)絡(luò)的研究[J].統(tǒng)計(jì)研究,2008(11):52.


- 走進(jìn)陜西中小學(xué)看實(shí)驗(yàn)教學(xué):在實(shí)踐探究中埋下成長(zhǎng)的“種子”
- 讓實(shí)現(xiàn)夢(mèng)想的路更通暢——陜西新高考模擬志愿填報(bào)現(xiàn)場(chǎng)見(jiàn)聞
- 走進(jìn)陜西中小學(xué)看體育變化:課間延長(zhǎng)了,體育課增加了,特色活動(dòng)更豐富了
- 崗位學(xué)雷鋒標(biāo)兵事跡掠影:在立德樹(shù)人中弘揚(yáng)和踐行雷鋒精神
- 全省教育大會(huì)一線反響:落實(shí)立德樹(shù)人根本任務(wù) 奮力譜寫(xiě)陜西教育新篇章

