張小芳,馮慧芳
(西北師范大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院,甘肅 蘭州 730070)
社會車輛數(shù)量過多、區(qū)域間物資分配差異過大以及道路容量不足或設(shè)計不妥導(dǎo)致城市交通擁堵問題日漸嚴(yán)重,這些問題不僅降低了乘客的出行體驗,增加了出行成本,還引發(fā)了環(huán)境污染、交通安全等一系列問題。這些問題已經(jīng)難以由傳統(tǒng)的交通管制、限號等措施解決。
隨著智能交通系統(tǒng)(ITS)的崛起,這個難題有了突破性的進(jìn)展。ITS能夠有效地利用現(xiàn)有交通設(shè)施,實現(xiàn)人、車和路的有機(jī)結(jié)合和協(xié)調(diào)發(fā)展,優(yōu)化城市交通網(wǎng)絡(luò),提高運(yùn)輸效率,降低環(huán)境污染等。最優(yōu)路徑規(guī)劃是智能交通系統(tǒng)、智能車載導(dǎo)航系統(tǒng)中的關(guān)鍵內(nèi)容,近年來受到城市交通、地理信息系統(tǒng)、計算機(jī)科學(xué)等領(lǐng)域的國內(nèi)外學(xué)者的廣泛關(guān)注。通過合理的路徑規(guī)劃,不僅能使人們的出行更高效、快捷,同時也能緩解交通壓力,有助于交通管理和控制。傳統(tǒng)的最短路徑規(guī)劃算法[1-2]主要包括Dijkstra算法、遺傳算法、蟻群算法、Floyd算法以及神經(jīng)網(wǎng)絡(luò)算法等。這些傳統(tǒng)方法雖然在一定程度上滿足了一定需求的路徑規(guī)劃,但由于城市交通網(wǎng)絡(luò)比較復(fù)雜,以及許多交通約束的存在,這些方法仍不能解決真實交通網(wǎng)絡(luò)中的路徑規(guī)劃問題,因此很多學(xué)者對這些方法進(jìn)行了改進(jìn)。
Fan等人[3]對經(jīng)典Dijkstra算法進(jìn)行了研究,通過改進(jìn)其數(shù)據(jù)存儲結(jié)構(gòu)和受限算法的搜索范圍來提高算法的有效性。吳紅波等人[4]將路況信息與道路風(fēng)險作為影響因素對Dijkstra算法進(jìn)行了改進(jìn),建立車輛行駛路線選擇模型,并借助GIS網(wǎng)絡(luò)分析技術(shù)對最優(yōu)路線進(jìn)行分析與驗證。Wei等人[5]用改進(jìn)的Dijkstra算法來解決最大負(fù)載路徑問題。Guo等人[6]考慮車輛油耗和排放測量因素,以最短時間、最短距離、最少燃料消耗和最低排放等為優(yōu)化目標(biāo)改進(jìn)了Dijkstra算法,最后使用ArcGIS和MATLAB軟件對該算法進(jìn)行了仿真驗證。Huang等人[7]引入路徑的權(quán)值矩陣,增加基于角度因子函數(shù)和可見性函數(shù)的轉(zhuǎn)移概率函數(shù),設(shè)置懲罰函數(shù)以提高路線搜索的準(zhǔn)確性。馬榮貴等人[8]通過重新定義啟發(fā)函數(shù)和信息素更新算子來改進(jìn)基本蟻群算法,提出了一種多約束質(zhì)量最優(yōu)路徑算法。文獻(xiàn)[9]提出了一種改進(jìn)的離散蝙蝠算法(IDBA)。該算法首先利用Floyd-Warshall算法將不完全連通圖轉(zhuǎn)換為完備圖,然后模擬蝙蝠的覓食和避障過程,在完整圖中尋找滿足約束條件的最短路徑。
在真實的城市交通網(wǎng)絡(luò)中,兩點間的路程最短路徑可能由于擁堵等客觀因素使得行駛時間變長,即不一定是最優(yōu)路徑,因此,有必要進(jìn)行動態(tài)最優(yōu)路徑規(guī)劃。此時,交通大數(shù)據(jù)的迅速發(fā)展吸引了研究者們的注意力,成為城市交通路徑規(guī)劃研究的一種新途徑。交通大數(shù)據(jù)內(nèi)容豐富,通過數(shù)據(jù)挖掘技術(shù)就可獲得城市交通網(wǎng)絡(luò)的動態(tài)性特征,為進(jìn)一步的交通路徑規(guī)劃做準(zhǔn)備。
Zhang等人[10]使用一種改進(jìn)的基于概率的路徑選擇算法構(gòu)建了一張道路圖,然后使用SPFA在構(gòu)建的道路圖上進(jìn)行最優(yōu)路徑規(guī)劃,但僅考慮了道路長度這個單一因素。Zhao等人[11]構(gòu)建多層次路網(wǎng)結(jié)構(gòu),通過挖掘大量出租車軌跡獲得路網(wǎng)各個路段的屬性,然后使用Floyd算法為出租車駕駛員提供最快行駛路徑。Yan等人[12]將用戶偏好與實時交通條件相結(jié)合,建立了一種動態(tài)實時路徑選擇模型,通過自適應(yīng)學(xué)習(xí)算法為車輛提供更加準(zhǔn)確和個性化的路徑選擇策略,實驗結(jié)果表明該模型有效地減少了車輛的平均行駛時間。文獻(xiàn)[13]將路徑規(guī)劃問題與遞歸神經(jīng)網(wǎng)絡(luò)(RNN)模型結(jié)合,采用基于邏輯方法確定默認(rèn)路徑,然后應(yīng)用歷史最短路徑數(shù)據(jù)訓(xùn)練RNN,最后使用地圖更新算法尋找動態(tài)最短路徑。王潤澤等人[14]通過改進(jìn)的動態(tài)蟻群算法來建立動態(tài)路徑規(guī)劃模型,該模型能夠根據(jù)道路擁堵級別和動態(tài)路網(wǎng)阻抗的變化動態(tài)規(guī)劃車輛行駛路徑。
雖然上述研究成果提供了多種路徑的規(guī)劃方法,但是仍存在一些缺陷:
1)基于路網(wǎng)拓?fù)浣Y(jié)構(gòu)的路徑規(guī)劃屬于靜態(tài)優(yōu)化策略,大部分只考慮距離因素,沒有考慮城市交通網(wǎng)絡(luò)的動態(tài)性,城市交通網(wǎng)絡(luò)的交通狀態(tài)隨時間變化,此刻選擇的最優(yōu)路徑,在下一時段就可能是最擁堵的路徑。
2)基于交通大數(shù)據(jù)的路徑優(yōu)化研究成果,是結(jié)合當(dāng)前的交通網(wǎng)絡(luò)的路況信息和路網(wǎng)拓?fù)浣Y(jié)構(gòu)的路徑規(guī)劃策略,但是,這些策略中僅考慮了1個或2個交通因素。在實際交通網(wǎng)絡(luò)中,影響行駛路徑的因素有很多,如距離、行駛時間、能耗、擁堵程度、個人偏好等。
3)蘭州市是甘肅省的省會城市,地處中國西北,是典型的帶狀組團(tuán)式結(jié)構(gòu),城區(qū)主要坐落于河谷地狹長的地帶內(nèi)。由于地形先天不足以及道路設(shè)施規(guī)劃不合理,使得其交通時常發(fā)生擁堵甚至癱瘓的狀況。
基于上述考慮,本文把多因素結(jié)合在改進(jìn)的Viterbi算法中,建立基于實時交通狀態(tài)的多因素約束的交通路徑規(guī)劃模型。以蘭州市出租車GPS軌跡數(shù)據(jù)為基礎(chǔ),對蘭州市城市交通網(wǎng)絡(luò)的路徑規(guī)劃進(jìn)行實證研究。
針對城市路網(wǎng)的拓?fù)浣Y(jié)構(gòu),采用主方法[15]構(gòu)建城市交通復(fù)雜網(wǎng)絡(luò)模型。主方法在建立路網(wǎng)模型時是將實際路網(wǎng)中的交叉路口和路段分別抽象為復(fù)雜網(wǎng)絡(luò)中的節(jié)點和連邊,保留了路網(wǎng)的空間分布特性。根據(jù)路段的交通流方向可將道路分為單向和雙向車道,由于各個路段不同方向的交通流特性可用多個參數(shù)刻畫,比如路段距離、車輛行駛時間等,因此,在考慮各個路段的交通流方向、交通流特性及動態(tài)性時,城市交通網(wǎng)絡(luò)便可抽象為動態(tài)有向多重加權(quán)復(fù)雜網(wǎng)絡(luò)。
1)路段長度。
2)車輛行駛時間。
(1)
其中,vsw表示在觀測時間段t在路段(vi,vj)上第s輛出租車的第w個瞬時速度,ms表示在該時間段內(nèi)在該路段上第s輛出租車軌跡點之和,n表示該時間段內(nèi)在該路段上的出租車總數(shù)。
3)交通流密度。
交通流密度[17]指某一時刻同方向單位長度路段上的車輛總數(shù)。該指標(biāo)表示在一條道路上車輛的密集程度,能夠反映交通擁堵程度,交通流密度越小,表示道路越暢通,反之則說明道路越擁堵。在觀測時間段t內(nèi)其計算公式為:
(2)
4)車道時間占有率。
車道時間占有率[18]指所有被觀測的車輛通過路段(vi,vj)所用時間的總和與觀測時間t的比值,其數(shù)值越小,說明車輛經(jīng)過該路段花費時間越少,代表道路越通暢,反之代表越擁堵。其計算公式如式(3):
(3)
用多重權(quán)重屬性評價路段的交通狀態(tài)時,不同屬性在評價模型中的重要程度不同,權(quán)重值反映了各屬性在模型中所起的作用,因此,需要確定各類屬性在模型中的權(quán)重。其確定方法主要有主、客觀賦權(quán)法以及兩者的結(jié)合——綜合賦權(quán)法[19]。綜合賦權(quán)法既能借鑒決策者的專家經(jīng)驗,又能客觀反映屬性值的變化分布規(guī)律。比如,司機(jī)和交通管理者對城市路網(wǎng)的交通狀態(tài)隨時間的演化特點比較了解,這屬于專家經(jīng)驗。通過城市交通大數(shù)據(jù)分析交通狀態(tài)變化趨勢,以樣本數(shù)據(jù)的分布特征為依據(jù),確定多權(quán)重屬性的權(quán)重分配,這屬于客觀賦權(quán)法。本文采用綜合賦權(quán)法對交通網(wǎng)絡(luò)模型的多權(quán)重屬性進(jìn)行權(quán)重分配。
1.3.1 基于層次分析法的主觀賦權(quán)法
層次分析法[20](Analytic Hierarchy Process,AHP)是主觀賦權(quán)法中使用頻率最高的一種確定多因素權(quán)重的方法。在交通領(lǐng)域,它是根據(jù)交通管理者與有經(jīng)驗的司機(jī)的主觀經(jīng)驗判斷,通過比較因素之間的重要程度,構(gòu)造判斷矩陣,再利用特征根法求解各因素的權(quán)重占比。AHP確定因素的權(quán)重具體步驟為:
Step1構(gòu)造判斷矩陣:已知影響因素為路段長度、車輛行駛時間、交通流密度、車道占有率,根據(jù)Saaty等提出的1~9級標(biāo)度法構(gòu)造判斷矩陣B:
Step2計算權(quán)重:采用特征根法計算權(quán)重。計算判斷矩陣B的最大特征值λmax及其對應(yīng)的特征向量α,將α進(jìn)行歸一化處理,歸一化后的結(jié)果即為對應(yīng)因素的權(quán)重。
Step3一致性檢驗:對判斷矩陣B進(jìn)行一致性檢驗。首先,計算一致性指標(biāo)CI(n)=(λmax-n)/(n-1),其中n表示因素個數(shù)。然后,RI(n)的值在《平均隨機(jī)一致性指標(biāo)》表中可以得到。最后,計算一致性比例CR=CI/RI,如果CR<0.1,則可認(rèn)為判斷矩陣的一致性可以接受;否則需要對判斷矩陣進(jìn)行修正。
CR(n)=CI(n)/RI(n)
(4)
其中,CI(n)=(λmax-n)/(n-1),n=4,RI(4)=0.89。由于CR(4)=0.0503<0.1,故滿足一致性要求。
1.3.2 基于信息熵的客觀賦權(quán)法
屬性的無序度可以用信息熵[21]來刻畫,它的計算是基于實際的交通數(shù)據(jù),因此該方法計算得到的各屬性的權(quán)重不受人的主觀喜好控制,可以客觀反映屬性值的變化分布規(guī)律?;谛畔㈧氐臋?quán)重計算步驟為:
Step1權(quán)重屬性標(biāo)準(zhǔn)化:
Step2計算各屬性的信息熵:
(5)
Step3計算各屬性的客觀權(quán)重:
(6)
1.3.3 確定綜合權(quán)重分配
綜合賦權(quán)法既能借鑒決策者的專家經(jīng)驗,又能客觀地反映屬性值的變化分布規(guī)律。其計算公式如式(7):
kj=ανj+βμj
(7)
其中,α與β分別為主、客觀權(quán)重的占比系數(shù),且α+β=1。
由于本文選擇路段長度、車輛行駛時間、交通流密度、車道占有率這4個指標(biāo)作為交通網(wǎng)絡(luò)模型的多重權(quán)重屬性,故有向加權(quán)復(fù)雜網(wǎng)絡(luò)模型的路阻函數(shù)[22]定義時要考慮這4個屬性特征。另外,交通網(wǎng)絡(luò)是動態(tài)網(wǎng)絡(luò),在不同時段,每個路段的交通狀態(tài)動態(tài)地變化,最優(yōu)路徑的規(guī)劃時要以實時路況信息為依據(jù),因此,每個路段在某時間段的路阻函數(shù)定義如下:
(8)
圖1給出了將有向加權(quán)復(fù)雜網(wǎng)絡(luò)轉(zhuǎn)換為籬笆有向網(wǎng)絡(luò)的示例,其中圖1(a)是一個有向加權(quán)復(fù)雜網(wǎng)絡(luò),圖1(b)為其轉(zhuǎn)化后以1號節(jié)點為起點的籬笆有向網(wǎng)絡(luò),即Viterbi圖。在Viterbi圖中,圓圈內(nèi)的數(shù)字代表節(jié)點編號,每條邊上的數(shù)字大小刻畫了不同的權(quán)重大小。將有向加權(quán)復(fù)雜網(wǎng)絡(luò)轉(zhuǎn)換為籬笆有向網(wǎng)絡(luò)的方法步驟:1)從源節(jié)點開始,保留源節(jié)點與其相鄰節(jié)點的圖結(jié)構(gòu),并將這些鄰居節(jié)點放入第1狀態(tài)節(jié)點集合X1={x1i,i=1,2,…n1}中;2)將X1中的每個節(jié)點作為新起點進(jìn)行遍歷,保留與其相鄰節(jié)點的圖結(jié)構(gòu),將集合X1中節(jié)點的所有鄰居節(jié)點放入第2狀態(tài)節(jié)點集合X2={x2j,j=1,2,…n2}中;3)再對集合X2進(jìn)行步驟2的操作,一直進(jìn)行下去,直到遍歷完所有節(jié)點,最終形成的圖結(jié)構(gòu),即為籬笆有向加權(quán)網(wǎng)絡(luò)。
(a)有向加權(quán)復(fù)雜網(wǎng)絡(luò)
基于改進(jìn)的Viterbi算法的最優(yōu)路徑規(guī)劃算法如算法1所示。使用該算法對圖1中從源節(jié)點1到其他節(jié)點的最優(yōu)路徑進(jìn)行求解的過程如圖2所示。這里,最優(yōu)路徑的定義是為了與傳統(tǒng)最短路徑進(jìn)行區(qū)分,最短路徑是指起、終點間行駛距離最短的路徑,而最優(yōu)路徑是指起、終點間道路阻抗值總和最小的路徑。
由圖2(b.1)可知,在第2狀態(tài)的計算中從節(jié)點1到節(jié)點1、2、5均存在多條路徑,在到達(dá)同一節(jié)點(例如5號節(jié)點)的多條路徑(1→5、1→2→5)中選擇保留最短路徑(1→5),刪除其余路徑(1→2→5),進(jìn)而得到圖2(b.2)。后續(xù)狀態(tài)的計算方法同上。整個計算中每一步都保留局部最優(yōu)解,因此大大減少了計算復(fù)雜度。最終在圖2(d.2)中得到最優(yōu)路徑結(jié)果如表1所示。
(a)第1狀態(tài)的計算
表1 1號節(jié)點到其他各節(jié)點的最優(yōu)路徑及路徑長度
算法1 基于改進(jìn)Viterbi算法的最優(yōu)路徑規(guī)劃算法
輸入:Gt=(V,E,Ft),源節(jié)點vs
輸出:在t時刻,vs到其他節(jié)點的最優(yōu)路徑
步驟3 計算源節(jié)點vs到第2個狀態(tài)X2的所有節(jié)點的最短路徑長度。對于集合X2中的第j個節(jié)點x2j,從源節(jié)點vs到x2j的最短路徑為經(jīng)過第一狀態(tài)節(jié)點集合任何一個節(jié)點x1i的路徑與直接到達(dá)的路徑中的較短路徑,即最短路徑長度為:
步驟4 類似步驟3,計算出從vs到第3,第4,…直到最后一個狀態(tài)的所有節(jié)點的最短路徑長度,經(jīng)過最短路徑長度的節(jié)點構(gòu)成了源節(jié)點vs到其他所有節(jié)點的最優(yōu)路徑。
蘭州市是甘肅省的省會城市,地處中國西北,是典型的帶狀組團(tuán)式結(jié)構(gòu),城區(qū)主要坐落于河谷地狹長的地帶內(nèi)。蘭州市5個城區(qū)中城關(guān)區(qū)由于行政單位較多、中小學(xué)幼兒園聚集使得上下班高峰期車流量過大,極易發(fā)生擁堵。
本文進(jìn)行最優(yōu)路徑規(guī)劃的實驗路網(wǎng)選取的是城關(guān)區(qū)從南關(guān)十字到汽車東站的一片區(qū)域,如圖3所示。該區(qū)域西起南關(guān)十字,東至汽車東站,路網(wǎng)包括慶陽路、甘南路、平?jīng)雎返仍趦?nèi)的35個路段。其中甘南路部分路段(西起金昌南路,東至平?jīng)雎?、暢家巷的部分路段(東起金昌南路,西至靜寧南路)為單向車道,其他路段均為雙向車道。
圖3 研究區(qū)域
實驗使用的是蘭州市3000輛出租車的GPS軌跡數(shù)據(jù),數(shù)據(jù)采集時間為2017年3月6日—2017年3月12日。該數(shù)據(jù)集是連續(xù)7天的數(shù)據(jù),具有一定的代表性,恰好體現(xiàn)了工作日和休息日的城市交通狀態(tài)和居民出行規(guī)律。在使用前需對原始GPS數(shù)據(jù)預(yù)處理,首先,清理原始GPS數(shù)據(jù)中的離群點、缺失值、冗余值等;然后,通過MNTG(Minnesota Traffic Generator)獲得蘭州市主城區(qū)路網(wǎng)拓?fù)湫畔ⅲ蛔詈?,將軌跡數(shù)據(jù)匹配到路網(wǎng)信息上。
首先,以30 min為觀測時間長度,對每天24 h的交通基礎(chǔ)數(shù)據(jù)進(jìn)行統(tǒng)計,計算城市路網(wǎng)每個路段的路段長度、車輛行駛時間、交通流密度、車道占有率的值;然后,計算1.3節(jié)中3種方法下的權(quán)重系數(shù),進(jìn)而得到實驗路段的阻抗值;最后,對優(yōu)化構(gòu)建的有向多重加權(quán)復(fù)雜網(wǎng)絡(luò)模型采用改進(jìn)Viterbi算法求解最優(yōu)路徑。由于城市交通網(wǎng)絡(luò)狀態(tài)隨時間變化,故構(gòu)建的復(fù)雜網(wǎng)絡(luò)隨時間動態(tài)變化。計算不同因素的權(quán)重時,在AHP中,本文借助MATLAB里的eig函數(shù)來求解判斷矩陣的最大特征值及對應(yīng)的特征向量,進(jìn)而得到不同因素的權(quán)重;在熵權(quán)法中,本文以軌跡大數(shù)據(jù)為基礎(chǔ),通過MATLAB語言編程,得到該方法下的不同因素的權(quán)重;在綜合賦權(quán)法中,以主、客觀賦權(quán)占比為6∶4來計算得到不同因素的權(quán)重。表2給出了不同方法在不同時間段下各屬性的權(quán)重系數(shù)。
表2 不同方法所得高峰期和非高峰期權(quán)重系數(shù)
由于篇幅所限,僅對2個具有代表性的時段(早高峰、非高峰期)進(jìn)行分析。圖4(a)和圖4(b)為相同起終點(起點南關(guān)十字,終點汽車東站)時,早高峰時段7:30—8:00和非高峰時段5:30—6:00在不同方法下得到的最優(yōu)路徑規(guī)劃結(jié)果。
由圖4(b)可知,在非高峰時段基于主觀賦權(quán)和綜合賦權(quán)的最優(yōu)路徑一致,且最優(yōu)路徑大部分和最短距離路徑重合。由此可見,主觀賦權(quán)體現(xiàn)了用戶的個人偏好和經(jīng)驗,在非高峰期是較好的路徑選擇方法。但是該方法并不適合在交通高峰期使用,由圖4(a)可知,基于主觀賦權(quán)最優(yōu)路徑和綜合賦權(quán)的最優(yōu)路徑有部分路段并不重合,這是由于在高峰期,路徑選擇受交通狀態(tài)的影響比較大,使用考慮了主觀和客觀因素的綜合賦權(quán)法得到的路徑才是最優(yōu)路徑。另外,高峰期最優(yōu)路徑和最短路徑?jīng)]有重合部分,因為距離最短路徑上的甘南路是高峰期擁堵比較嚴(yán)重的路段,所以該路段不會出現(xiàn)在由主觀賦權(quán)和綜合賦權(quán)得到的最優(yōu)路徑上。
(a)7:30—8:00
本文用定性指標(biāo)(影響因素個數(shù))與定量指標(biāo)(路徑阻抗值的大小)來對不同算法的好壞進(jìn)行評價。傳統(tǒng)的最短路徑算法僅考慮距離這個單一的因素來進(jìn)行路徑規(guī)劃,而本文提出的最優(yōu)路徑規(guī)劃算法通過充分考慮多種交通流因素及用戶的偏好與經(jīng)驗,使得推薦的最優(yōu)路徑既滿足用戶的個性化需求,又符合城市路網(wǎng)的交通狀態(tài),為用戶提供的出行路徑更加合理。此外,綜合賦權(quán)法在早高峰和非高峰期得到的最優(yōu)路徑的阻抗值分別為2.6287、4.1057,均低于由主觀賦權(quán)法得到的阻抗值2.6361、4.1768。這說明本文提出的綜合賦權(quán)最優(yōu)路徑規(guī)劃算法更加科學(xué)合理。
合理的路徑規(guī)劃方案不僅能使人們的出行更高效、快捷,同時也能緩解交通壓力,有助于交通管理和控制。本文提出的動態(tài)最優(yōu)路徑規(guī)劃算法以軌跡大數(shù)據(jù)和城市路網(wǎng)拓?fù)浣Y(jié)構(gòu)為基礎(chǔ),既考慮了城市動態(tài)變化的交通狀態(tài),又考慮了出行用戶的個性化需求與偏好。采用基于層次分析法和熵權(quán)法相結(jié)合的綜合賦權(quán)法,對優(yōu)化構(gòu)建的有向多重加權(quán)復(fù)雜網(wǎng)絡(luò)模型采用改進(jìn)的Viterbi算法求解最優(yōu)路徑,提高了算法效率。利用蘭州市真實的出租車GPS數(shù)據(jù),驗證了該算法的實效性。該算法構(gòu)建的有向多重加權(quán)復(fù)雜網(wǎng)絡(luò)模型具有很好的推廣性,可以考慮更多交通影響因素推薦最優(yōu)出行路徑,同時也適合大規(guī)模城市交通網(wǎng)絡(luò)的路徑規(guī)劃。今后筆者將研究如何提高城市交通狀態(tài)的精確判斷,解決不同約束下的路線規(guī)劃問題,為城市居民出行提供參考。