羅 元,任愛珠
(清華大學土木工程系防災減災研究所,北京100084)
在虛擬現(xiàn)實模擬中,虛擬車輛在交通流隨機因素的影響下很容易產(chǎn)生交通事故或者造成交通堵塞,因此為了模擬現(xiàn)實生活中交通管理部門對交通流的引導,使虛擬車輛能夠最大限度的利用道路的通行能力,本文通過蟻群算法來模擬現(xiàn)實生活中交通流的引導優(yōu)化。
虛擬現(xiàn)實城市道路交通流智能模擬的目的是在虛擬環(huán)境中模擬城市道路交通流的運行,并使用智能控制方法對交通流模擬進行優(yōu)化,使虛擬交通流的運行更加通暢,更加符合實際交通流的運行狀況。
虛擬現(xiàn)實城市道路交通流模擬能夠讓研究者和用戶在完全安全的虛擬環(huán)境中根據(jù)自身需求模擬多種交通運行的狀況;此外,通過逼真的交通流運行模擬能夠讓受訓者沉浸在具有高度真實感的三維虛擬環(huán)境中,從而無風險地對交通流的運行獲得更直觀的感受,更好地學習和掌握交通安全技能。
目前國內外關于虛擬現(xiàn)實交通流模擬的相關研究并不多見,其中較為著名的是FORUM 8公司開發(fā)的UC-win/Road軟件[1]。該軟件具有強大的三維建模功能,能夠根據(jù)用戶設定的交通量、車輛分布和信號燈控制等信息生成簡單的虛擬交通流,模擬交通流的運行。但是由于UC-win/Road SDK對交通流模擬二次開發(fā)的支持不夠,用戶不能基于該軟件開發(fā)出多種不同類型的交通運行狀況模擬插件,因此使用UC-win/Road軟件進行虛擬現(xiàn)實交通流模擬并不是最好的選擇。
此外,南京大學的Ye Xiaoling等[2]、英國Swansea大學的Gareth Ayres等[3]、美國 North Carolina大學的 Jur van den Berg等[4]、日本 Takushoku 大學的 Sang Baofeng 等[5]、中國海洋大學的王春[6-7]、天津城市建設學院的費娜[8]以及其他一些研究者也在不同的虛擬現(xiàn)實平臺上一定程度地實現(xiàn)了虛擬交通流模擬。在這些研究中,有一些在虛擬現(xiàn)實顯示方面取得了一定的成果,能夠較為逼真的顯示車輛的運行情況,不過這些虛擬現(xiàn)實的交通流模擬都還不完善,對車輛運動的處理過于簡單;另一些研究更多的將重點放在交通流的數(shù)值模擬方面,沒有能夠很好地解決如何在保證虛擬現(xiàn)實表現(xiàn)質量的基礎上實現(xiàn)交通流運動特征的模擬問題。
在蟻群算法交通流數(shù)值優(yōu)化方面,溫州大學的Yang A-long等[9]、北京交通大學的谷遠利等[10]、華南理工大學的林泉等[11]、東南大學的張文潔等[12]都通過蟻群算法對路網(wǎng)最優(yōu)路徑進行求解或是對交通流量進行預測和分配。這些研究都以求解固定的單一最優(yōu)解為目標,但是這些算法都無法滿足虛擬現(xiàn)實交通流模擬的要求。在虛擬現(xiàn)實交通流模擬中,智能優(yōu)化必須要在動態(tài)的環(huán)境下進行,隨著虛擬車輛的運動最優(yōu)解也隨時在改變,而目前國內外尚沒有相關研究去探索動態(tài)的交通流智能優(yōu)化方法。
本文研究如何在現(xiàn)有條件下模擬具有高沉浸感、高人機交互的智能化城市道路虛擬交通流運行,以進一步探索虛擬現(xiàn)實交通流智能模擬的方法與技術,驗證虛擬現(xiàn)實技術在交通流研究中的適用性以及發(fā)展前景。本文討論了蟻群算法在城市道路虛擬交通流模擬中的適用性,結合城市道路虛擬交通流模擬的特征,對蟻群算法做出了適當?shù)母倪M,通過數(shù)值試驗獲得關鍵參數(shù)的取值,實現(xiàn)了城市道路虛擬交通流的智能模擬,最終通過實例對本文模擬方法的有效性進行了驗證。
蟻群算法是20世紀90年代才發(fā)展出來的一種新型的模擬螞蟻群體行為的智能仿生優(yōu)化算法,它通過模擬螞蟻社群在覓食過程中的協(xié)作機制來實現(xiàn)解的優(yōu)化[13]。由于蟻群算法具有自組織性,能夠通過自學習不斷提高個體的適應性,而且算法不依賴優(yōu)化問題本身的嚴格數(shù)學性質,因此蟻群算法常常被用于解決復雜的非線性問題,試圖通過該算法求得全局最優(yōu)解。
蟻群算法自從誕生以來,迅速成為國際仿生模擬研究的熱點,人們對蟻群算法進行了各種各樣的改進,并把它應用到不同的領域試圖解決一些用別的方法不能很好解決的問題,除了商旅問題之外,還包括車間作業(yè)調度問題、網(wǎng)絡路由問題、車輛路徑問題、機器人路徑問題、電力分配等。
對比虛擬現(xiàn)實城市道路交通流智能模擬的要求和蟻群算法的特點可以發(fā)現(xiàn):虛擬現(xiàn)實交通流是由智能化的車輛構成的,要實現(xiàn)交通流整體優(yōu)化,必須實現(xiàn)單體車輛的路徑優(yōu)化,而解決這一問題的關鍵在于車輛與車輛之間信息的交流溝通,讓每一輛車都能夠全面的了解整體交通狀況,根據(jù)現(xiàn)有的實時交通信息,選擇對自己最有利的路徑;虛擬現(xiàn)實交通流智能模擬的問題空間,也就是道路網(wǎng)絡,實際上就是以車道為節(jié)點的有向圖,節(jié)點與節(jié)點之間的連接則是車輛的運動如直行、轉彎等;城市道路交通流智能化控制的目的是通過車輛之間信息的共享和取舍 (包括揮發(fā)),讓車輛能夠根據(jù)實時交通狀況調整自身路線,找到最優(yōu)路徑,從而實現(xiàn)城市道路交通流的整體優(yōu)化。以上這些特點與蟻群算法的求解方式和過程都非常類似,因此本文選擇使用蟻群算法來對城市道路虛擬交通流進行智能模擬。
但是應該指出,虛擬現(xiàn)實城市道路交通流智能模擬問題和一般的蟻群算法應用問題有很大的差別,主要表現(xiàn)在:
(1)虛擬現(xiàn)實城市道路交通流的道路網(wǎng)絡是由車道節(jié)點和節(jié)點之間的關系 (直行、變道、轉彎等)構成的,這與一般的道路網(wǎng)絡正好相反。
(2)虛擬現(xiàn)實道路網(wǎng)絡節(jié)點之間的關系有相鄰 (相鄰車道)和相接 (后續(xù)連接車道)兩種,而每種關系又有2~4種連接,使網(wǎng)絡節(jié)點之間的關系復雜度遠超過一般道路網(wǎng)絡。如果直接把普通的蟻群算法應用在虛擬現(xiàn)實交通流道路網(wǎng)絡中,計算量和計算速度都不能保證滿足實時性的要求。
(3)虛擬城市道路交通流智能優(yōu)化的目標,是能夠實時地根據(jù)全局交通狀態(tài),為每輛車都找到一條費用最小的路徑。如果把每輛智能化的車輛看成一只人工螞蟻的話,那么交通流優(yōu)化與蟻群算法不同的是,每輛車都有自己的目標,而且每輛車都希望找到最優(yōu)或者近似最優(yōu)解,但是單獨的一只人工螞蟻則沒有明確的目標,也不要求找到最優(yōu)或者近似最優(yōu)解。
(4)在城市道路虛擬交通流智能模擬中,虛擬車輛自身的運動會對最優(yōu)解造成影響:對于擁有同樣起點和終點的一系列虛擬車輛,如果它們全部都駛入同一條最優(yōu)路徑,很容易造成該路徑的擁堵,從而該路徑也就不再是真正的最優(yōu)路徑。每一輛虛擬車輛的運動都在對它自身的最優(yōu)解造成影響,所以城市道路虛擬交通流智能化模擬的最優(yōu)解并不是固定不變的,而是隨著道路網(wǎng)絡中車輛的運動在隨時改變的。
因此可見如果使用蟻群算法來優(yōu)化城市道路智能交通流必須要讓算法更快更準確地收斂,才能夠滿足虛擬現(xiàn)實模擬的需求,所以要將蟻群算法應用于虛擬交通流智能優(yōu)化,必須要做相應的改進,以使算法能夠盡快、盡可能準確地計算出車輛實時路徑,滿足城市道路交通流優(yōu)化要求。
城市道路虛擬交通流智能控制的目標,是讓交通流中的車輛能夠根據(jù)實時交通信息和自身目標決策行車路線,在初始路線的基礎上進行調整,以使車輛行駛的費用最小。本文取道路通行時間作為車輛行駛的費用。
為了將蟻群算法應用到交通流智能優(yōu)化中來,本文將具有智能化能力的車輛作為人工螞蟻,一輛車就是一只螞蟻,而車輛釋放的信息素則取為道路通行速度Q=v,每輛車在通過某條道路以后計算出車輛在該道路上的平均通行速度v=l/t,其中l(wèi)為道路長度,t為在道路上行駛的時間,那么道路的信息素就是所有通過道路的車輛的平均速度的均值,這樣信息素越大的道路通行能力越強,越能夠吸引車輛使用該道路,反之亦然。需要注意,在無車輛行駛的道路中,車輛的通行速度為該道路限速。通過信息素的傳播,可以讓別的車輛了解道路的通行能力,從而決定是否更換路徑。在此基礎上,本文對蟻群算法做出的改進詳述如下。
1.1.1 絕對感知閾值
車輛行駛時,駕駛員通過自己的觀察 (視覺、聽覺)來感知周圍交通環(huán)境的變化。心理學上把恰好能夠引起感覺的最小刺激量定義為絕對感覺閾限AST(absolute sensor threshold)[13]。
車輛駕駛員同樣存在自己的AST。在真實交通流中,駕駛員按照自己的既定路線前進,同時觀察對比周圍道路上交通流的情況。如果原路線的交通流運行順暢,那么即使別的道路交通流更加順暢,駕駛員一般也不愿意更改既定路線、走別的路到達目標。即人的心理活動存在一定的惰性,不愿意輕易使用未知的、具有風險的方案而放棄原有的已知的、有一定缺點的方案。只有在自己原計劃行駛的道路的交通流出現(xiàn)明顯的堵塞,而別的路線交通流狀況明顯優(yōu)于目前路線的情況下,駕駛員才會考慮更換線路。
本文設計當相互連接的道路信息量與原始路徑的道路信息量的差值ΔQ未超過駕駛員AST時,讓駕駛員忽略該刺激的存在,仍然選擇原有路徑前進。只有當信息量差值較大,超過了駕駛員AST時,駕駛員才在信息素刺激下趨于選擇信息量較大的路徑。這樣能夠有利于車輛向最優(yōu)方向進行搜索,加速路徑可行解收斂,也節(jié)約了大量的計算時間。
1.1.2 基于距離的啟發(fā)函數(shù)
研究表明,啟發(fā)函數(shù)對于蟻群算法的收斂速度有很大的影響,好的啟發(fā)函數(shù)能夠加速算法收斂,同時不影響蟻群算法中路徑選擇的多樣性,因此選擇一個合適的啟發(fā)函數(shù)h是非常重要的。本文以車輛當前道路連接的道路到目的地的距離為基準,計算啟發(fā)函數(shù)如下
式中:hij——從第i個節(jié)點轉移到第j個節(jié)點的啟發(fā)函數(shù),dj——第j個節(jié)點到目的地的歐氏距離。
于是可以得到車輛從第i個節(jié)點轉移到第j個節(jié)點的狀態(tài)轉移概率為
式中:allowedi——車輛下一步可以選擇的節(jié)點,Qj——第j個節(jié)點的信息量,α——信息因子,表示信息量的相對重要性,其值越大,車輛越傾向于選擇通行能力強的道路,車輛之間的協(xié)作性越強,β是啟發(fā)因子,表示啟發(fā)函數(shù) (也就是距離)的相對重要性,其值越大,車輛受節(jié)點相對距離的影響越大。
1.1.3 信息素擴散
本文為了提高蟻群算法的全局收斂性,更真實地模擬蟻群信息系統(tǒng),研究了螞蟻信息素的擴散方法,以使車輛之間的整體協(xié)作更強。
當車輛在一條道路上行駛到道路終點后,它會根據(jù)行駛的時長和道路長度計算出行駛的平均速度,然后釋放出信息素,并將該信息素存儲在道路信息數(shù)據(jù)中。同時,該信息素會以該道路節(jié)點為中心向外擴散,影響附近其它節(jié)點的信息素量,從而影響附近車輛的路徑選擇。通過這樣的協(xié)作,其它車輛能夠更好的了解附近整體道路網(wǎng)絡的通行能力,從而提高算法的收斂速度。
鑒于道路本身比較長,一條道路的通行能力對離得太遠的道路上的車輛路徑選擇影響很小,因此本文僅考慮信息素的一級擴散,即車輛在當前道路上釋放的信息量只會擴散到與該道路相連接的道路上 (包括進入該道路的道路和從該道路出去的道路)。則可得到每條道路的信息量為
式中:Qi——第i條道路上的信息素總量,Qj——道路i上的車輛釋放的信息量,Onroadi——行駛過道路i的車輛,m——道路i上的車輛數(shù)量;Qk——道路i相鄰道路上的車輛釋放的信息素,Nexti——所有與i相鄰道路上的車輛,n——相鄰道路上車輛的數(shù)量;η——信息擴散因子,它決定了擴散的信息量的多少,η越大,信息量擴散得越多,當前道路通行能力對周圍車輛的影響就越大。
1.1.4 信息素揮發(fā)
信息素的數(shù)據(jù)存儲在道路對象中,每隔一段時間就需要進行一次揮發(fā),其目的是為了避免之前的經(jīng)驗過多的影響后來的車輛的選擇。
在一般的蟻群算法中,信息素的積累和揮發(fā)都是在所有螞蟻完成一次迭代以后進行的,但是在虛擬現(xiàn)實交通流優(yōu)化控制中,因為要照顧交通信息的實時性,所以必須每隔一段時間就進行一次更新。本文中具體的做法是:在道路對象中存儲最多cl/6個通過本道路的車輛信息量 (c為道路車道數(shù),l為道路長度,6為每輛車在道路中所占長度的平均值)作為信息隊列,求取道路信息量時取這些信息量的均值,在交通流模擬開始的時候將這些信息量都初始化為道路限速,然后每通過一輛車,就用該車輛的信息量頂替當前排在第一個的信息量,先入先出,循環(huán)往復,這樣就能夠實時更新道路信息量的大小了。需要注意的是,對于長時間沒有車輛駛入的道路,本文每隔t/c的時間就為該道路自動塞入一個大小為該道路限速的信息量,t為該道路出口信號燈周期,這樣就能夠保證道路信息量與其通行能力相稱。
1.1.5 算法設計
通過以上改進,就可以得到應用于城市道路虛擬交通流智能仿生優(yōu)化的蟻群算法,詳述如下:
(1)車輛進入道路,檢查是否到終點,否則繼續(xù);
(2)計算下一步驟的道路的信息量與原計劃道路信息量差值是否超過車輛AST,是則繼續(xù),否則按照原計劃路徑繼續(xù)前進,回到步驟 (1);
(3)按照信息量的多少和啟發(fā)函數(shù) (如式 (1))計算下一步驟的道路;
(4)車輛駛出當前道路,計算平均速度,將其作為信息素賦予道路對象,同時在當前道路周圍擴散信息素;
(5)進入下一條道路,檢查是否到達終點,如果否,則回到步驟 (3)。
為了評價上述算法的執(zhí)行效率,需要考察算法的時間復雜度。算法的時間復雜度是指算法中執(zhí)行加減乘除等基本操作的次數(shù),假設車輛數(shù)目為n,道路網(wǎng)絡中道路節(jié)點數(shù)量為m,表1將算法中各個步驟的時間復雜度分別列出。
表1 虛擬交通流蟻群優(yōu)化算法時間復雜度
當m、n足夠大時,低次冪的時間復雜度可以忽略,則由上表可知,虛擬交通流蟻群優(yōu)化算法的時間復雜度為
對于有m個道路節(jié)點的城市道路虛擬交通流網(wǎng)絡來說,每一輛車輛有3m-2/2種不同的路徑,求解最優(yōu)解最準確的辦法是使用全局搜索,以路徑對比為基本操作,則全局搜索需要3m-2/2-1次操作才能保證得到最優(yōu)解,當m=40時需要15天才能找到一個最優(yōu)解。相比而言,蟻群算法能夠大大提高計算的時間效率。
虛擬交通流蟻群優(yōu)化算法的時間復雜度主要取決于道路網(wǎng)絡中節(jié)點的數(shù)量,在網(wǎng)絡范圍不太大時,其時間復雜度優(yōu)于遺傳算法和神經(jīng)元網(wǎng)絡算法[14-16]。由于目前用于城市道路虛擬交通流模擬道路網(wǎng)絡節(jié)點一般都不超過100個,所以蟻群算法仍然具有優(yōu)勢,是一種比較有效的算法。
蟻群算法收斂性的研究相比其應用而言并不廣泛,也不充分,很多蟻群算法的收斂性無法得到理論上的證明[13]。本文試圖探討虛擬交通流蟻群優(yōu)化算法與一般蟻群算法的區(qū)別及其收斂性。
城市道路虛擬交通流蟻群優(yōu)化算法的目標是達成在全局范圍內的最優(yōu),而一般的蟻群算法的目標是通過蟻群尋找到一條最優(yōu)路徑。此外在城市道路虛擬交通流蟻群優(yōu)化算法中,所謂最優(yōu)路徑實際上是動態(tài)最優(yōu),與人工螞蟻(車輛)的運動是直接相關的。因此在研究城市道路虛擬交通流蟻群優(yōu)化算法收斂性時,無法忽略這兩個不同點,尤其是無法忽略最優(yōu)解與人工螞蟻運動的關聯(lián)性。
假設在一個穩(wěn)定交通流的環(huán)境里,某車輛n在第k次迭代中尋找到了它的最優(yōu)路徑,則在其最優(yōu)路徑中的某個道路節(jié)點i處,車輛選擇該節(jié)點的概率為
由于交通流處于穩(wěn)定狀態(tài),因此Qi,k是一個常數(shù),且存在 Qi,k> Qj,k,di< dj,因此 pi,k> pj,k。由于向節(jié)點 i轉移的狀態(tài)概率更大,因此會有更多車向節(jié)點i轉移,駛入最優(yōu)路徑。但是這個過程并不長,因為駛入i的車越多,其通行能力越差,從而導致Qi,k下降,而某一個或幾個Qj,k則升高,最終會出現(xiàn)pi,k<pj,k的情況,于是車輛又改變自己的選擇,駛入節(jié)點j,這時節(jié)點j又成為了新的最優(yōu)路徑。同樣的,當駛入節(jié)點j的車輛過多時,節(jié)點i會重新成為最優(yōu)路徑,車輛就在這樣的動態(tài)平衡中不斷更換自己的道路選擇,實現(xiàn)交通流的全局最優(yōu)??梢?,城市道路虛擬交通流蟻群優(yōu)化算法是不能收斂到某一個固定解的,本算法沒有一個固定最優(yōu)解,不過無論是節(jié)點i或是j,它們能夠在某一時刻成為車輛最優(yōu)解,說明他們在某些特殊情況下是時間費用最小的路徑,這樣的解稱為較優(yōu)解。城市道路虛擬交通流蟻群優(yōu)化算法對于不同線路 (即起點終點不同)的車輛可以擁有多個較優(yōu)解。
為了獲得合理的城市道路虛擬交通流蟻群優(yōu)化算法參數(shù)取值范圍,本文使用數(shù)值試驗的方法對算法中參數(shù)的值影響算法的程度進行了考察。
1.3.1 絕對感知閾值
首先需要確定的是絕對感知閾值AST=ΔQ的取值。本文在4×4(個道路節(jié)點)、6×6、8×8、10×10等不同規(guī)格的道路網(wǎng)絡中,分別取不同的交通流量值和AST值,多次統(tǒng)計考察車輛改變初始路徑的頻率,得到了一系列有規(guī)律的結果,以4×4的道路網(wǎng)絡為例 (6×6、8×8、10×10的道路網(wǎng)絡結果類似),結果見表2。
從表2可以看出,當?shù)缆肪W(wǎng)絡中車輛總數(shù)在500至800之間時,交通狀況處于不擁堵到擁堵之間的正常水平,AST的取值能夠比較大的影響車輛路徑的選擇,如圖1所示。
表2 改變路徑的車輛比例 (%,4×4道路網(wǎng)絡)
圖1 絕對感知閾值AST對車輛路徑選擇的影響
從圖1中可見,在相同的AST取值下,車流密度越大,選擇改變初始路徑的車輛比例就越少,而在相同的車流密度時,AST越大,選擇改變初始路徑的車輛也越少,這是符合常識的——車流密度較大時,出現(xiàn)擁堵的可能性也增大,改變路線的難度和風險也都隨之增大;AST較大時,更難出現(xiàn)滿足其要求的不同線路,能夠改變路徑的機會也減小。經(jīng)過觀察可以得出,當AST位于15km/h至20km/h之間時,改變路徑的車輛比例較為合理,在5%至65%之間,因此本文選擇AST=15km/h作為車輛是否更換初始路徑的絕對感知閾值。
1.3.2 信息因子和啟發(fā)因子
信息因子α和啟發(fā)因子β之間互相作用影響螞蟻對路徑的選擇,它們的功能既互相補充又互相牽制,因此本文將它們合在一起考慮。
車輛的路徑最優(yōu)解與車輛本身的運動密切相關,因此在某些時刻求得精確的最優(yōu)解難度較大,而由于每輛車都要求盡可能地找到適合自身的較優(yōu)解,因此對算法的速度有較高的要求。本文通過數(shù)值試驗,考察不同的α與β的取值組合對算法的影響。本文在4×4、6×6、8×8、10×10的道路網(wǎng)絡中針對不同密度的均勻交通流進行了模擬,都得到了類似的結果,但是由于尺寸較小的網(wǎng)絡中解的好壞差異和算法收斂速度的差異不明顯,因此本文以8×8的道路網(wǎng)絡、車輛總數(shù)為3200的情況為例考察α與β的取值。
首先考察不同的α與β的取值對進行算法收斂速度的影響,如表3所示。表中的數(shù)據(jù)是單一車輛求解得到最優(yōu)解或較優(yōu)解的平均迭代次數(shù)。從表中可以看出,求解最優(yōu)解或較優(yōu)解的平均迭代次數(shù)最少時,α與β分別等于5和20??傮w來看,當α越來越大時,信息量所起的引導作用就越來越明顯,求解的效率也會相應地增加,但是當α過大時,反而會導致有時求解效率不如同樣β水平下α較小的時候的求解效率,例如表中β取10、20和30時,當α等于10時,求解效率反而不如α等于5時的效率,這是因為車輛路徑選擇過分追求信息量以后,會出現(xiàn)車輛被別的不相干的道路上的信息量所吸引導致走了多余的行程。從表中可以看出,當α在2到5之間時求解的總體效率是比較高的。而當β越來越大時,離目的地的距離所起的引導作用就越來越明顯,求解的總體效率也會增加。但是與α取值的情況類似的,當β過大時,反而會導致求解效率降低,例如表中當α取2和5時,β等于30時的迭代次數(shù)多于β等于20時的迭代次數(shù),這是因為過分重視距離的遠近,會導致車輛固執(zhí)地選擇距離更近但是通行能力較差的道路,所以導致解的質量下降。從表中可以看出,當β在10到20之間時求解的總體效率較高。圖2顯示了不同的α與β取值對算法收斂性的影響。
表3 不同的α與β取值對算法收斂性的影響
圖2 不同的α與β取值對算法收斂性的影響
為了確定α與β的取值還需要考察解的精確性。如表4所示,表中的數(shù)據(jù)是在不同的α與β的取值時,經(jīng)過數(shù)次迭代之后某路線車輛的最優(yōu)解或較優(yōu)解 (即較短的行駛時間)。該線路的理論最優(yōu)解為196.3s,從表中可以看到,當α為2、β為10時,能夠獲得最接近理論最優(yōu)解的較優(yōu)解214.2s。與表3的情況類似,α越大解越優(yōu),但是α過大時的解不如α稍小一些時的解;β越大解越優(yōu),但當β過大時解不如β稍小一些時的解。總體來看,當α在2到5之間、β在10到20之間時獲得的解是比較好的。圖3顯示了不同的α與β取值對解精確性的影響。
表4 不同的α與β取值對解精確性的影響 (s)
圖3 不同的α與β取值對解精確性的影響
本文還模擬驗證了當?shù)缆肪W(wǎng)絡中車輛總數(shù)為1000、2000和4000時α與β的取值對虛擬交通流蟻群優(yōu)化算法的影響,結果發(fā)現(xiàn)不同密度的交通流對以上所述的結論沒有太大的影響。
綜上所述,考慮到本文的道路網(wǎng)絡 (五道口地區(qū))尺寸,本文選擇了α=5、β=10作為本文虛擬交通流蟻群優(yōu)化算法的信息因子和啟發(fā)因子。
1.3.3 信息擴散因子
信息擴散因子η的作用是通過信息素的局部擴散來增強虛擬交通流蟻群優(yōu)化算法的全局性,因此可以通過考察局部范圍內交通流的整體速率得知交通流的運行狀況,從而從側面反映擴散因子的效果。本文在5×5的道路網(wǎng)絡中以正常范圍內的交通狀況模擬驗證信息擴散因子η對交通流整體運行速率的影響。
圖4是在道路網(wǎng)絡中總車輛為1300輛時,交通流完全均勻的狀態(tài)下擴散因子η與交通流整體旅行時間的關系,所有用來計算旅行時間的車輛都擁有相同的起點和終點。圖中橫坐標為η的取值,縱坐標為平均旅行時間 (s)。從圖中可以看出,當交通流完全均勻時,η越大則交通流的整體旅行時間越長,即總體速率越慢,這是因為在完全均勻的交通狀態(tài)中,道路的通行能力沒有差別,擴散因子會增加非優(yōu)解中道路的吸引力,使車輛選擇這些不必要的道路的幾率增大,導致車輛繞路,旅行時間提升。
但在現(xiàn)實生活中幾乎不會遇到道路網(wǎng)絡中交通狀況完全均勻的情況,總是或多或少會有一些偏差,這時擴散因子η就能夠發(fā)揮它的正面作用:引導車輛向車少速度快的道路上前進。為了研究在交通流不完全均勻時擴散因子η對交通流整體速率的影響,首先要定義交通流的偏差值d。本文定義交通流的整體偏差值d為道路網(wǎng)絡中不同道路的通行能力的最大差值,用通行速率來表示,例如在5×5的道路網(wǎng)絡中,所有道路的通行速率的最大差值為30km/h,則稱該道路網(wǎng)絡中交通流的整體偏差值d為30km/h。
圖4 均勻交通流中η對平均旅行時間的影響 (s)
表5列出了在不同的交通流整體偏差值水平下擴散因子η與交通流平均旅行時間的關系。圖5顯示了不同偏差值下擴散因子η對車輛平均旅行時間的影響 (s)。從表5中可以發(fā)現(xiàn),隨著偏差值的增大,擴散因子η的圖形中出現(xiàn)了一個波谷:一開始η增加時,交通流平均旅行時間會減小,當?shù)竭_某個谷底后,η再增加,平均旅行時間就會增加。這是因為在交通流偏差值增大后,不同道路之間的通行能力差別變大,所以η增加時,能夠吸引更多的車輛駛往通行能力強的道路,從而使道路網(wǎng)絡的整體通行能力上升,車輛速度增加,平均旅行時間減小;而當η增大到一定程度以后,道路網(wǎng)絡的整體信息量都提升了,因此車輛有更大的幾率選擇非優(yōu)解的道路,導致了車輛繞遠路,從而旅行時間上升。
表5 擴散因子對交通流平均旅行時間的影響 (s)
圖5 不同偏差值下η對平均旅行時間的影響 (s)
為了觀察不同交通流密度下η值對平均交通旅行時間的影響,本文使用不同的交通流密度進行了數(shù)值試驗,結果如表6所示,表中數(shù)據(jù)是在不同的交通流密度下,交通流整體偏差值為30km/h時,不同η值對交通流平均旅行時間的影響。
表6 不同密度下η對平均旅行時間的影響 (s)
從表6中可以看出,隨著交通流密度的增加,η值對交通流平均旅行時間的優(yōu)化作用越來越小,這是因為交通流密度大時,總體的交通狀況不好,車輛通過局部的路徑改變很難取得更小的時間花費,而此時如果一味增加η值,會提升道路網(wǎng)絡的總體信息量,使車輛盲目選擇路徑,導致總體旅行時間增加。
總起來說,當η值在0.01至0.03之間時,能夠比較有效地提升交通流的整體速度,優(yōu)化交通流運行,即使在交通流密度較大或是交通流偏差量較小的情況下,0.01至0.03之間的η值也不會顯著增加交通流的總體旅行時間。相比而言,當η值取0.03時對交通流的優(yōu)化效果更好,因此本文取信息擴散因子η為0.03。
本文以北京市海淀區(qū)五道口地區(qū)為模板建立了面積為1100 m×1100 m的虛擬環(huán)境,并使用城市道路虛擬交通流蟻群優(yōu)化算法對虛擬環(huán)境中的車流進行了模擬,通過將模擬結果與五道口地區(qū)的實際交通流進行對比,驗證了算法的有效性。
首先作者對五道口地區(qū)的交通流量和信號燈周期進行了統(tǒng)計,結果如表7和表8所示 (五道口地區(qū)平面圖見圖6)。
通過計算每條道路上車輛的平均時距,再結合車輛速度、道路的長度和車道數(shù)可以估算出,在交通通暢時,五道口地區(qū)的車輛總數(shù)約為900輛;在交通擁堵時,五道口地區(qū)的車輛總數(shù)約為1400輛。因此,根據(jù)以上數(shù)據(jù)設置好模擬的初始化變量以后,本文對道路網(wǎng)絡中車輛總數(shù)分別為900和1400時的虛擬交通流運行進行了模擬 (虛擬模擬效果如圖7),并統(tǒng)計了虛擬交通流模擬中幾條道路雙向橫截面的交通流量,這幾條道路分別是:成府路中段、中關村東路北段、荷清路中段和雙清路南段 (如圖8所示),統(tǒng)計結果見表9。
表7 五道口地區(qū)交通流量統(tǒng)計
表8 五道口地區(qū)信號燈周期
圖8 交通流統(tǒng)計檢驗橫截面
表9 虛擬交通流模擬系統(tǒng)道路橫截面交通流統(tǒng)計
虛擬交通流模擬道路橫截面交通流量與表7中真實交通流相同道路橫截面交通流量的對比如圖9所示,其中橫坐標的1是成府路中段由東向西方向,2是成府路中段由西向東方向,3是中關村東路北段由南向北方向,4是中關村東路北段由北向南方向,5是荷清路中段由南向北方向,6是荷清路中段由北向南方向,7是雙清路南段由南向北方向,8是雙清路南段由北向南方向。
通過在兩種交通狀況下虛擬交通流量和真實交通流量的對比可以發(fā)現(xiàn),在總體交通密度較小時,虛擬交通流在大部分道路橫截面上 (除了雙清路的兩個方向以外)交通量都大于真實交通流,但是兩者之間的差別并不大,除了雙清路兩個方向的交通量差別較大,其余的橫截面交通量差距都不超過22.0%(成府路中段由東向西方向)。這是因為在實際的交通流中,由于雙清路西側與鐵道相近,該鐵路經(jīng)常有火車通過,此時雙清路必須封閉道路,導致出現(xiàn)短暫的堵塞;而在鐵路以東50米,又有一個道路交叉口(雙清路與清華東路交叉口,不在本文地圖中),該交叉口與地圖中的B交叉口 (雙清路與荷清路交叉口)距離過近,導致常常出現(xiàn)兩個交叉口之間的車輛堵塞;此外,B交叉口處人流量和非機動車流量極大,且往往不遵從紅燈停、綠燈行的交通規(guī)則,常常亂穿馬路,導致車輛通過道路交叉口時容易遲滯。因此真實交通流在雙清路與荷清路的道路交叉口處極易形成交通堵塞,減緩車流的前進。而在虛擬現(xiàn)實交通流模擬中,由于使用了蟻群算法對交通流進行優(yōu)化,車輛會自動選擇車少的路徑前進,使堵塞不容易發(fā)生,這樣使交通流能夠通過自身的調節(jié)能力將原本可能過度集中形成堵塞的交通流分散在整個道路網(wǎng)絡中,讓交通流的運行更通暢;而且虛擬車輛的運行完全按照理論進行,不會出現(xiàn)搶道等現(xiàn)象,效率很高;此外虛擬環(huán)境中沒有行人、非機動車、火車等交通干擾因素。綜合以上3個原因,導致在虛擬環(huán)境中很難出現(xiàn)如同真實交通中常見的堵塞,所以車輛運轉更通暢,道路網(wǎng)絡的整體交通流量也增加。在虛擬環(huán)境的雙清路的兩個截面中,由于原本的堵塞沒有形成,很多原本應該走雙清路的車輛改換了別的道路,所以導致雙清路的交通流量反而下降了很多。
圖9 不同密度下的虛擬與真實交通量
而當總體交通流密度增大以后,虛擬環(huán)境中的交通流量與真實交通流量差別仍然不大 (最大差別為中關村東路由南向北方向,14.8%)。虛擬環(huán)境中所有道路截面交通量相比總體交通密度較小時都有所增加,真實世界中的情況也類似,除了雙清路截面。這是因為在真實世界中交通流密度增大后,雙清路過于擁堵,導致車輛行駛過于緩慢,所以雙清路的交通流量反而下降了。但是在虛擬環(huán)境中,由于上文所分析的原因,很難出現(xiàn)交通堵塞,所以雙清路的交通流量比起交通流密度較小時仍然有所上升。
綜合以上分析可見,城市道路虛擬交通流蟻群優(yōu)化算法能夠較準確地模擬真實世界中交通流運行的情況,能夠在很大程度上使交通流向現(xiàn)實生活中一樣運行,而且該算法能夠讓交通流更合理地利用交通資源,使交通流整體運行更通暢,更不容易形成交通堵塞,能夠為現(xiàn)實生活中的交通流引導提供參考。
本文深入研究了蟻群算法的特點,結合虛擬現(xiàn)實城市道路交通流智能模擬的需求,對蟻群算法在絕對感知閾值、啟發(fā)函數(shù)、信息素的擴散和揮發(fā)等方面做出了改進,通過數(shù)值模擬獲得了算法關鍵參數(shù)的取值,成功地將蟻群算法應用于虛擬交通流智能模擬,并通過實例驗證了算法的有效性。研究結果表明,城市道路虛擬交通流蟻群優(yōu)化算法能夠較好地模擬實際交通流的運行情況,實現(xiàn)對交通流的引導,讓道路設施得到最大化的利用,是一種能夠有效模擬交通流運行的算法。
[1]HE Zheng,Ito Y.The application of VR simulation software in Civil Engineering[C]//Shanghai:The 2nd Engineering,Construction& Computer Applications Innovation Forum,2009:256-261(in Chinese).[何征,伊藤裕二.虛擬現(xiàn)實仿真軟件在土木工程中的應用[C]//上海:第二屆工程建設計算機應用創(chuàng)新論壇,2009:256-261.]
[2]Ye X,Yang Y,Zou L.Research on the application of virtual reality technology in transportation[C]//Wuhan:Mechanic Automation and Control Engineering,2010:2887-2890.
[3]Ayres G,Mehmood R.On discovering road traffic information using virtual reality simulations[C]//Cambridge:11th Computer Modelling and Simulation,2009:411-416.
[4]Van den Berg J,Sewall J,Lin M,et al.Virtualized traffic:Reconstructing traffic flows from discrete spatiotemporal data[C]//LA:Virtual Reality Conference,2009:183-190.
[5]Sang B,Mizuno K,F(xiàn)ukui Y,et al.Introducing recognition ratios for urban traffic flow simulation in virtual cities[C]//NY:Proceedings of the 8th International Conference on Virtual Reality Continuum and its Applications in Industry,2009:267-270.
[6]Wang C,Chen G,Liu Y,et al.Virtual-reality based integrated traffic simulation for urban planning[C]//Wuhan:Computer Science and Software Engineering,2008:1137-1140.
[7]WANG C.Application and research of virtual city microscopic traf-fic simulation system based on VR/GISintegration[D].Qingdao:School of Information Science and Engineering,Ocean University of China(in Chinese).[王春.基于VR/GIS一體化城市微觀交通虛擬仿真系統(tǒng)的研究與應用[D].青島:中國海洋大學信息科學與工程學院,2010.]
[8]FEI N.Research of the application of virtual reality technology in urban traffic simulation system [D].Tianjin:Electronics and Information Engineering Department,Tianjin Institute of Urban Construction,(in Chinese).[費娜.虛擬現(xiàn)實技術在城市交通仿真系統(tǒng)中的應用研究[D].天津:天津城市建設學院電子與信息工程系,2009.]
[9]Yang A,Chen W,Gao L.Minmum-cost of road network planning based on max-min ant algorithm [C]//Hangzhou:2nd Information Science and Engineering,2010:2171-2174.
[10]GU Yuanli,LI Shanmei,SHAO Chunfu.Study on cooperation of traffic control and route guidance based on ant algorithm [J].Journal of System Simulation,2008,20(10):2754-2781(in Chinese).[谷遠利,李善梅,邵春福.基于蟻群算法的交通控制與誘導協(xié)同研究[J].系統(tǒng)仿真學報,2008,20(10):2754-2761.]
[11]LIN Quan,XU Lunhui,TANG Dehua.Study on application of improved ant algorithm in dynamic traffic assignment[J].Science Techno logy and Engineering,2009,9(18):5410-5414(in Chinese).[林泉,許倫輝,唐德華.改進蟻群算法在動態(tài)交通分配中的應用研究 [J].科學技術與工程,2009,9(18):5410-5414.]
[12]ZHANG Wenjie,DENG Wei.Application of dynamic route select problem based on ant colony algorithm [J].Technology& Economy in Areas of Communications,2009,11(1):51-53(in Chinese).[張文潔,鄧衛(wèi).基于蟻群算法的動態(tài)路徑選擇問題 [J].交通科技與經(jīng)濟,2009,11(1):51-53.]
[13]DUAN Haibin.Principles and application of ant colony algorithm[M].Beijing:Science Press,2005(in Chinese).[段海濱.蟻群算法原理及其應用[M].北京:科學出版社,2005.]
[14]HAN Ruifeng.Principles and application of genetic algorithms[M].Beijing:China North Industries Group Press,2010(in Chinese).[韓瑞峰.遺傳算法原理與應用實例[M].北京:兵器工業(yè)出版社,2010.]
[15]MA Rui.Principles of artificial neural network [M].Beijing:China Machine Press,2010(in Chinese).[馬銳.人工神經(jīng)網(wǎng)絡原理[M].北京:機械工業(yè)出版社,2010.]
[16]LIU Qing.Artifical neural network algorithms improving and application in the hydraulic measuring technique[D].Jiangsu:Hohai University,2005(in Chinese).[劉清.人工神經(jīng)網(wǎng)絡算法的改進及其在水利測量技術中的應用[D].江蘇:河海大學水利水電工程專業(yè),2005.]