奧運會公交工具路線選擇的設計與優化

2023-01-02 02:00:02 字數 5730 閱讀 8170

【摘要】本**通過對公交路線選擇問題的抽象簡化,建立了乙個明確、完整的數學模型。我們借鑑「集合」的概念,並採用了分層序列法,設計出了乙個便於任意兩個站點之間路線選擇並找到最佳路線的方案。

路線選擇系統分為可行路線查詢和最佳路線確定兩個部分,從而將實際乘車問題可以抽象為統計分析和目標優化的問題。可行路線查詢具體演算法:遍歷經過起始站的所有車次線存入集合ⅰ,與經過終點站的所有車次集合ⅱ進行比較。

兩個集合的交集即為直達車次。若無相同車次則繼續遍歷經過集合ⅰ各線路中起始站之後的所有站點(記為集合ⅰ』),與經過集合ⅱ各線路中終點站之前的站點(記為集合ⅱ』)進行比較,其交集即為中轉站點。如此「線—點—線」迴圈迭代,較快的找到所有的可行線路。

最佳路線的選擇問題我們建立了乙個多目標規劃模型,並且採用分層序列法求解,圓滿的解決了在換乘次數、耗費時間、車票費用三目標約束下最佳路線的選擇問題。

根據建立的多目標優化模型,可以求出問題(一)6組起始站~終點站的最佳路線,如第1組s3359→s1828的最佳路線有兩條:

問題(二)新增了兩條地鐵線,資料庫增大後同樣可求出6組起始站~終點站的最佳路線。其中第6組s0087→s3676由於地鐵站與公交車站聯通,可以乘地鐵直達:

問題(三)增加了步行選擇,等價於增加了通路。我們通過合理假設,認為從出發站點向四周輻射,步行時間在10分鐘以內的各站點都視為連通。把問題轉化為與前兩問相類似的問題。

此時比較的點集更大,但仍可以用相同的方法建立和求解模型。

關鍵詞: 最佳路線可行路線分層序列法

一問題的重述

我國人民翹首企盼的第29屆奧運會明年8月將在北京舉行,屆時有大量觀眾到現場**奧運比賽,其中大部分人將會乘坐公共交通工具(簡稱公交,包括公汽、地鐵等)出行。建立解決公交線路選擇問題的自主查詢計算機系統就很有必要,這裡有幾方面的因素需要考慮:「換乘次數」是大部分公交乘客在選擇出行方案時首先考慮的因素,「出行距離最短」也是乘客考慮的重要目標。

需要解決的問題:

1、僅考慮公汽線路,給出任意兩公汽站點之間線路選擇問題的一般數學模型與演算法。並根據附錄資料,利用模型與演算法,求出以下6對起始站→終到站之間的最佳路線。

(1)、s3359→s1828 (2)、s1557→s0481 (3)、s0971→s0485

(4)、s0008→s0073 (5)、s0148→s0485 (6)、s0087→s3676

2、同時考慮公汽與地鐵線路,解決以上問題。

3、假設又知道所有站點之間的步行時間,給出任意兩站點之間線路選擇問題的數學模型。

二模型的基本假設

1.假設公交工具的票價在很長一段時間內不發生變動;

2.假設每站之間的時間相同,都等於題目給出的平均時間,忽略路程的微小差異。

3.假設公共汽車公司有足夠多的公交車參加營運,不會發生車站乘客過多導致無法上車的情況;

4.假設氣候正常,路況良好,不會影響公共汽車的正常行駛。

5.假設交通秩序良好,公交工具路上不會出現意外的交通事故、零件損壞或者公交不會受交通阻塞等;

6.假設乘客坐公共汽車到達終點站之後必須下車,如果要繼續乘坐必須增加車費。

三符號說明

四問題的分析及模型的建立

4.1 乘客心理分析

公交線路資訊的資料給出了北京所有的公共汽車和地鐵的線路標號、經過站點名和公交之間換乘方式的情況,這實際就是比較真實反映了2023年北京奧運會的交通實況,我們設計的模型就是要能滿足不同乘客在查詢路線選擇時的相應要求。乘客在從任意起始站出發到終點站之間的路徑選擇不是惟一的,而且乘坐工具也是多樣的。基於相關文獻對乘客的出行心理進行的調查分析,其結果可以表明:

「換乘次數」是公交乘客出行方案選擇時優先考慮的因素,「公交行使時間最短」是公交乘客考慮第二重要的因素,「乘車總費用最少」是公交乘客次之考慮的因素。

4.2 北京公交網路分析

4.2.1連通性在公交網路中,多條公交線路雖然可以相交於空間的同乙個點,但是該點不一定是公交停靠站點,或者不是同時有站點,因而不同公交線路在此是不連通的。

公交網路中接點的連通狀態有三種:

1 同路公交路段的連通;

2 不同公交線路路段在同一點通過換乘實現連通;

3 不同公交線路路段在不同點的連通,此種情況需要換乘多次車,增加了時間的消耗;

4.2.2結點性質在公交網路中,站點可以按到一定原則抽象成網路圖上的相關結點,從而可以有效模擬出公交線路之間的情況。

①在同一道路上行使的不同公交線路在行程上是有部分重疊的,但各自的站點不可能完全重疊;

②在公交網路中,結點與屬性之間為一對多的關係。道路網中空間位置和屬性相同的同名站點,在公交網路中因位於不同的公交線路而性質和權值可能不一樣。

4.2.3有向線性質實際的公交線路是有方向的,起點和終點決定了公交線路的行駛路徑和方向,不同的公交線路有不同的行駛路線和方向,即使同一路公交車,其上行車和下行車行使的路徑和停靠站點也可能不完全重疊,所以公交網路圖應是有方向的,應引入有向線路集,而空間位置相同的結點和權值在不同線路上是不同的。

4.2.4換車代價模擬在公交網路上的實際通勤中,人們選擇路徑最優,實際上是考慮時間最優,即在盡量短的時間到達目的地。

同時根據人們的行為習慣,在時間較優的情況下,還要考慮到達目的地的方便程度,比如中途是否要換車,換車時是否步行等,稱之為便捷性最優。

4.2.5複雜性北京作為我國的首都,又是乙個歷史悠久的老城市,具有站點繁多,道路體系複雜的特點。

從題目給出的資料來看,總共有520條公交線路,約4000個公交站點,構成乙個極其龐大且複雜的公交網路。

4.3 可行路線選擇演算法

4.3.1 一般查詢公交線路的方法

我們先來觀察一種普通的公交線路的查詢方法。一般來說,從a站乘公交車到b站,會先看經過a站的車有直接到b站的嗎?若有,馬上得到直達車路線。

若無,則再看a站有什麼車經過,經過a站的車會到達哪些站?這些站有到b站的車嗎?若經過a站的車會到達c站,而c站恰好有直接到b站的車,則可考慮在c站轉車。

若無,則乘坐經過a站的車到另一站如c站下車,經過c站的車可以到達乙個有直達b站的車的站點d嗎?若有再在d站轉車,兩次轉車可到達b。若無,兩次轉車不成功。

如此推論下去,得出計算結果可能是:從a站到b站需要轉好幾次甚至十幾次車才能到達。這樣的結果對於北京公交查詢來說顯然是沒有什麼意義的。

必須找出一種新的高效可行的演算法。

4.3.2上下行線路處理

根據我們對公交網路分析知道,結合北京公交網路資料資訊。乘客出行路徑的選擇就是使用者從起點出發到目的地,究竟選擇乘坐哪路公交車,如何換乘才能最方便。因此演算法要解決的問題是在已經建立好的公交網路上尋找一條換乘次數最少、距離字短的路徑。

一般來說,路徑選擇演算法有兩種模式:①以換乘次數為代價換取空間上的距離最短;②以演算法搜尋時間為代價換取換乘次數最少。根據上述我們對乘客心理分析知道,大部分乘客還是願意少換乘車或者不換乘。

顯然第一種演算法方向是應該提倡的。根據我們對公交網路分析知道,同一車次其上行車和下行車行使的路徑和停靠站點也可能不完全重疊。所以我們將公交車有上行和下行方向有分的車次分別作為兩個獨立的車次,上下行彼此毫不相干。

如題目中給出的車次l002,就可以分成l002a與l002b兩個車次。l002a表示l002的上行線,l002b為下行線。如此來原本520條路線在計算機表示中就變成了1040條,雖然資料庫的容量增加了一倍,但與公交線路查詢的準確性相比,這點犧牲是值得的。

另外這種處理方法令人可喜的是資料庫訪問時間並沒有太明顯的增加。

4.3.3 查詢演算法的基本思想

以下便是我們求解問題和編制程式的具體演算法,下述該演算法比上敘一般路徑選擇演算法複雜度小很多,且滿足中轉次數不超過2次情況下到達目的地。也可以新增中轉次數限制條件使得在某一次比較之後能直接結束程式,以獲得有限次中轉的合理方案。演算法的基本思想框圖如下:

我們的演算法主要借鑑了「集合」的概念,先分別求出與出發站點和目的站點相關的車次的集合,再求交集,交集裡的元素即為可行解。如果交集為空,再衍生出與上述車次相關的站點集合,並求交集。如此可以迭代下去,找到所有可行方案。

在查詢從站點s***1到站點s***2 的可行方案的過程中,演算法的基本思想如圖1 所示,首先查詢能直達站點s***1 的所有路線和能直達站點s***2 的所有車次,對這兩個集合求取交集,如果存在交集,則結束迭代,交集裡的所有車次即為所有可直達的車次;如果沒有交集,則查詢站點s***1 所能直達的所有站點和能直達站點s***2 的所有站點,對這兩個集合求取交集,如果存在交集,則結束迭代,交集裡的所有站點即為一次換乘的中轉站點,從出發站到該站點的車即為換乘前坐的車,從該站點到s***2坐的車即為應換乘的車次;如果沒有交集,則查詢經過站點s***1所能直達的所有站點的所有車次,和經過站點s***2所能直達的站點的所有車次,對這兩個集合求交集,如果存在交集,則得到必須換乘兩次才能到達的乘車方案,交集裡的所有車次為第一次中轉後應換乘的車次。如果仍然沒有交集,就說明經過兩次中轉仍然無法到達,可以依照此法繼續迭代,直到找到乘車方案為止。但是由於隨著中轉次數的增加,需要遍歷的資料量會大幅增加,為了提高系統查詢效率,對允許的換乘次數加以限制,認為換乘兩次以上無法找到。

4.3.4可行路線查詢演算法的具體實現步驟:

演算法開始:

step1:

輸入出發站名s***1和目的站名s***2

查詢所有經過的車次(最多 1040*86*2次)

得到結果:

庫ls1:lai(肯定不會超過100個資料,根本不會有乙個50輛車到同乙個站點停靠)

庫le1:lbi(同上不會超過100個資料)

step2:

比較庫ls1與庫le1中是否有相同車次?(la與lb比較 100*100次)

有——》記入庫(直達)

無——》無法直達

step3:

查詢(1):庫ls1中後面各車次中各站名sai

查詢(2):庫le1中前面各車次中各站名sbj

得到結果:

庫ls1中後面各車次中各站名sai,庫ss1:sai(最多50*86個)

庫le1中前面各車次中各站名sbj,庫se1:sbj(最多50*86個)

step4:

比較ss1 和se1中的元素(為中轉站)。

庫ss1和庫se1中是否有相同站名?

有——》記入庫(一次中轉):sai=sbj,及相應的始乘車次和轉乘車次

無——》無法一次中轉完成

step5:

查詢(3): 經過sai的所有車次

查詢(4): 經過sbj的所有車次

得到結果:

庫ls2:lam經過sai的所有車次

庫le2:lbn經過sbj的所有車次

step6:

比較庫ls2 和庫le2中相同的元素(為中間車次)。

有——》記入庫(二次中轉):lam=lbn,及相應的兩個中轉站名和從出發站點、目的站點到中轉站的車次

無——》無法兩次中轉完成

至此,完成了對所有可行路線的搜尋,並保證不去計算超過兩次中轉以上的方案。

演算法結束

4.4 最佳路線模型的建立

4.4.1 問題分析和求解策略選擇

根據乘客出行選擇的統計分析知道,乘客確定最優路線主要考慮的因素有換乘次數、時間、費用。要求找到一條最佳路線,使這三個目標都達到最優。由此可見,最佳路線模型的建立實際上是乙個多目標規劃問題。

解決多目標規劃問題一般的做法是將多目標規劃問題化成單目標規劃問題來處理。而通常的轉化方法有主目標法、分層序列法、線形加權求和法等多種求解策略。根據乘客出行選擇統計分析知道,優化路線主要有換乘次數、時間、費用三個目標。

換乘次數是乘客路線選擇時考慮的最重要的,實際在可行路線演算法已經很好的體現換乘次數少作為我們的第一有效解。因為時間和費用這兩個目標孰輕孰重缺乏具體數字說明,即很難賦予這兩個目標的權重係數和界限值。因此主目標法、線形加權求和法等方法是不太適合模型的求解。

考慮到看奧運會這個大背景下,能否按時進入比賽場地是較多人們關心的問題。相對與費用來說,時間應該是次之重要的目標。在解決規劃問題上,分層序列法是我們使用的最好求解策略。

奧運會的感人故事

蘇麗文感動指數 13次被擊倒頑強爬起 北京奧運會跆拳道女子57公斤級銅牌爭奪戰,中華台北隊的蘇麗文迎戰19歲的克羅埃西亞選手祖布契奇,由於之前晉級賽中嚴重受傷,蘇麗文只能將傷腿微微點地。比賽中,她一次次被擊倒,又一次次站起來繼續比賽。終於在第14次倒在地上後,她傷心地哭了出來,再也無力站起來。此時,...

關於奧運會的知識

奧運知識問答 1 奧林匹克運動的發祥地在何處?奧林匹亞。位於希臘首都雅典西南約300公里的地方 2 古代奧運會創始人是誰?伊菲圖斯。3 奧運火炬是如何起源的?奧林匹克火炬起源於古希臘神話中普羅公尺修斯為人類上天盜取火種的故事。為了紀念這位神話中的英雄,古代奧運會採取點燃聖火的儀式 4 擲鐵餅者 是誰...

難忘的奧運會開幕式

2010年8月8日,乙個令世界沸騰的日子,乙個令中國人驕傲 歡呼的大喜日子。全世界首腦齊聚北京來 這一次盛大的北京奧運會開幕式。首先登場的是國家總理 主席 運動員與外國嘉賓。螢幕上出現了有朋自遠方來,不亦樂乎!是說有外國的朋友來我們中國,我們要熱情招待他們。接著五彩繽紛的烟花射向天空,變成無數條彩帶...