梅 朵 袁夢柯 鄭黎黎 鄂 旭
(渤海大學信息科學與技術學院1) 錦州 121013) (吉林大學交通學院2) 長春 130012)
交通信號控制和交通誘導是解決城市交通擁堵的主要手段.然而單一的交通信號控制只能在時間上改變交通流的分布,單一的交通誘導只能在空間上均衡交通流,因此,交通信號控制與交通誘導協同運作才能有效緩解城市交通擁堵,保證城市交通順暢.
Li等[1]采用仿真方法研究的VMS和交通信號控制系統協同問題.保麗霞等[2]提出的雙目標協同模型.徐立群[3]提出的一體化協同模型.孫智源等[4]提出的雙層規劃模型.通過分析發現,交通信號控制與交通誘導的協同時機有兩種情況:①通過預測交通流設計高峰時段的預先協同方案;②通過實時交通流設計擁堵發生中的協同方案[5-7].文中針對第一種情況,研究城市區域范圍內的交通信號控制與交通誘導的預先協同優化,引入飽和度、有效綠燈時長、周期時長和相位差作為約束,構建了一種城市區域交通信號控制與誘導協同的一體化模型,提出了一種基于MapReduce的并行遺傳算法對所提出的協同模型進行求解,并基于VISSIM仿真數據驗證所提出的協同模型和求解算法的有效性和可行性.
城市道路網是一個復雜的大系統,具有動態性、復雜性,也具有規律性.每天的早晚高峰時段,隨著交通需求的不斷增加,路網容量不能滿足需求,一些脆弱的交叉口和路段首先發生交通擁堵,如果不能進行行之有效的處理,極易出現交通流量上溢,造成區域交通擁堵.為了避免發生區域交通擁堵,在日常交通信號控制的基礎上,有效監控路網的實時交通流參數,如果發現某些交叉口或路段的流量變大、運行速度降低、排隊長度增加,則說明該交叉口或路段發生交通擁擠,當即將形成區域交通擁堵時,啟動交通控制與誘導協調方案,避免區域交通擁堵的發生.
文中所提出的交通控制與誘導協同方案的基本思想是:①從交通控制角度出發,通過不斷優化擁堵路段上下游交叉口的信號配時參數,及時有效地降低路段上的交通量,避免路段上的排隊長度增加;②從交通誘導角度出發,有效均衡整個路網的交通量,保證所有路段的總行程時間最小.
在建模時,充分考慮了交通管理者和駕駛員的目標,以“準系統最優”的指導思想為原則,構建區域交通控制與誘導協同模型[8].文中所構建的區域交通控制與誘導協同模型的目標函數如下.
(1)
式中:a為某路段;A(i)為從某節點到以節點i的所有弧段總和;xa(t)為t時刻a上的流量;ta(t)為t時刻a上車輛的總行程時間.
一方面從交通管理者的角度出發,考慮整個交通網絡的總行程時間最小,保證交通網絡系統流量均衡;另一方面從駕駛員的角度出發,實時調整交通信號配時,迅速卸載路段上的流量.
行程時間由兩部分構成:車輛在路段上的運行時間ta,r(t)和車輛通過交叉口的時間ta,s(t).
當路網處于暢通條件時,
ta,r(t)=Lj/?i
(2)
式中:Lj為路段j的長度;?i為時間段i內,路段j的平均速度的預測值.
當路網處于擁擠條件時,路段上會出現排隊車輛,ta,r(t)等于自由流行駛時間ta,r,f(t)和擁擠行駛時間ta,r,c(t)的總和.假設駕駛員的反應時間和啟動加速時間忽略不計,自由流行駛時間為
(3)
式中:Lj為路段j的長度;Lij為實時采集的排隊長度;?i為平均速度的預測值.
(4)
關于車輛通過交叉口的時間ta,s(t),文中采用修正后的HCM2010進行計算求得.
1) 飽和度 當區域路網的平均飽和度和飽和度方差都比較高的時候,表明路網中存在交通擁堵,因此路網的平均飽和度和飽和度方差應該都小于一定閾值.
(5)
(6)
(7)
2) 有效綠燈時長 從行人過街的安全性方面考慮,交叉口所有相位的有效綠燈時長參數不得小于一個閾值e(一般e≤6 s),交叉口所有相位的信號配時參數還應該滿足以下條件.
e≤gi≤T-(m-1)e,i=1,2,…,m
(8)
式中:m為交叉口的相位數;T為路網協同區域的統一周期時長;gi為相位i的有效綠燈時長.
3) 周期時長 從駕駛員的心理承受能力方面考慮,在設計路網協同區域范圍內的所有交叉口的統一周期時長時,需要滿足以下條件[9].另一方面,因為頻繁變換周期時長會造成交通混亂,所以路網協同區域范圍內的所有交叉口的統一周期時長取各個交叉口周期時長的最大值[10].
30≤T≤200,C=max{T1,T2,…,Tn}
(9)
式中:n為協同區域內交叉口的個數;Ti為交叉口i的信號周期時長,Ti通過Webster方法獲得,
(10)
(11)
式中:L為損失時間,s;Y為各個信號相位中的總流量比;yj為相位j的流量比;qd為設計交通量,pcu/h;Sd為設計飽和流量,pcu/h.
4) 相位差 在協同控制中,相位差是一個重要參數,交叉口i到j的上行相位差ψ上和交叉口j到i的下行相位差ψ下必須滿足下列條件.
(12)
式中:T為協同區域范圍內統一周期時長.
綜上,本文構建的區域交通控制與誘導協同優化模型為
(13)
構建的協同模型包括流量[x1,…xn1]、綠燈時長[g1,…gn2]和相位差[ψ1,…ψn3]三個參數,n=n1+n2+n3為參數數目,采用二進制編碼方法進行編碼,其編碼公式為[11]
(14)
采用二進制編碼方法對參數x、g和ψ進行編碼,設l1、l2和l3為編碼長度,那么l1+l2+l3即為染色體的總長度,解碼公式為
(15)
(16)
(17)
合理的適應度函數可以提高算法的效率和求解解的質量[12].基于“界限構建法”確定適應度函數為
(18)
該適應度函數可以保證遺傳操作中的概率非負,也可以避免出現因函數值差距大引起的種群平均性能變弱的現象.
1) 選擇操作算子 通過選擇運算,選出適應度值高的個體,并遺傳給下一代.文中的選擇運算采用輪盤賭法,則適應度值為f(i)的個體被選擇的概率為
(19)
2) 交叉和變異操作算子 交叉運算采用單點交叉法,即先確定交叉點區域,再確定交叉點,然后進行運算,生成新個體[13].變異操作盡可能地淘汰較差的個體,提高遺傳算法的全局搜索能力.變異操作運算選擇基本位變異法,先根據變異概率確定變異節點,然后進行基因變換,形成新個體.為盡量保存優秀個體,采用自適應交叉概率和變異概率函數確定變異點.具體函數分別為
(20)
(21)
文中設計的基于MapReduce的并行遺傳算法采用8臺計算機搭建Hadoop并行計算平臺.所設計的算法的詳細步驟如下.
步驟1種群初始化 主機器對種群進行初始化,并設置相應的參數,即種群大小M、染色體長度n和進化代數N.主機器將相應的參數分配到從機器上去.
步驟2對染色體進行二進制編碼 主機器在參數取值范圍內隨機生成種群大小的染色體,并均分成M個子種群,分配給M個從機器.
步驟3染色體解碼 以子種群編號為鍵,以染色體為值,組成鍵值對.每個從機器分別調用Map函數,對所有染色體進行解碼,從而得到x1,…,xn1的值.
步驟4計算信號周期 每個從機器分別調用Map函數,通過Webster法求得每個信號交叉口的周期時長.根據最大值原則,確定周期時長的最大值為公共信號周期時長T=max{T1,T2,…,Tn}.
步驟5染色體解碼,得到T每個從機器分別調用Map函數,采用公式(16)和(17)對染色體的后幾位進行解碼,求得[g1,…,gn2]、[ψ1,…,ψn3]的值.
步驟7計算適應度值 每個從機器分別調用Map函數計算適應度值,并按照鍵的不同,對其值進行歸約,得到各個小的數據集合,并將其保存到本地的HDFS中.
步驟8算法結束條件判斷 通過設置最大進化代數N,來判斷是否結束算法.如果達到最大進化代數,則輸出最優值J,x,g,ψ,T;否則,跳到步驟10.
步驟9選擇運算 主機器確定中間結果的位置,并通知Reduce函數.從機器調用Reduce函數,采用輪盤賭法從中間結果中選擇適應度值較高的個體遺傳給下一代.
步驟10交叉和變異運算 從機器調用Reduce函數,運用單點交叉法進行交叉運算,采用基本位變異法進行變異運算.最終得到的新一代個體存儲到HDFS中,返回步驟4.
步驟11算法終止條件判斷 當算法運行到最大進化代數N時,得到最優的J,x,g,ψ,T值,算法終止.
以長春市新民大街-自由大路-人民大街-解放大路所構成的區域路網的交通參數數據為基礎,通過VISSIM仿真軟件搭建圖1的區域路網.
圖1 試驗路網
在區域路網中,交叉口6、8的信號配時參數為(C,g)=(80 s,37 s),其余交叉口的信號配時參數為(C,g)=(90 s,42 s).仿真數據獲取時間為10 800 s,通過流量不斷增加,將仿真時間劃分為6個時間段,并在交叉口入口道的上游30~40 m處設置檢測器,每300 s完成一次交通參數數據的采集.
在實驗過程中,分別取Hadoop并行平臺的2、4、6、8個節點進行實驗.設置相同的串行算法和并行算法的參數:區域交通控制與誘導協同模型中涉及的參數有流量x1,…,x34、綠燈時長g1,…,g12、上行相位差ψ1,…,ψ12和下行相位差,其中,下行相位差可由周期和上行相位差做差得到.因此,算法的一條染色體包括58個變量,其長度為l=l1+l2+l3=12×34+6×12+7×12=564.種群規模:M=200;最大迭代代數:N=200;交叉概率Pc(i)和變異概率Pm(i):通過自適應函數不斷調整的自適應的概率.
運行VISSIM仿真軟件,不斷觀測區域路網的交通流量變化情況.通過交通流量持續增加,路網中車輛的運行速度減慢,并出現排隊長度.當VISSIM仿真進行到7 200 s時,區域路網中某些路段的排隊長度比大于0.3,由此判斷區域路網處于交通擁堵狀態,實行區域交通控制與誘導協同.
1) 實施協同 通過VISSIM仿真軟件采集7 200~7 500 s的路網交通參數數據,并將其作為串行遺傳算法和并行遺傳算法的輸入,運行程序獲得交通控制與誘導的參數值,見表1~2.由表1~2可知:兩種算法在求解交通參數時得到的結果差異不大,但是在求解總行程時間時,明顯看出并行算法的優勢,因為并行算法彌補了遺傳算法的缺陷,提高了最優解的質量.
表1 信號配時參數求解結果
表2 路段參數求解結果
圖2為實施交通控制與誘導協同后的區域路網各路段的流量對比圖和行程時間對比圖.由圖2a)可知,通過實施協同,協同前比較擁擠的路段上的流量被分配到其他的路段上,從而避免該路段上的擁擠蔓延,說明實施協同有效地均衡了整個區域路網的流量.由圖2b)可知,通過實施協同,減少了區域路網中各路段的行程時間,從而減少了整個路網的總行程時間,說明所提出模型具有有效性.
圖2 協同前后流量和行程時間對比圖
圖3~4為基于MapReduce的遺傳算法求解模型的運行時間對比圖和加速比曲線圖,其中并行節點數=1時是串行算法.由圖3可知,當并行節點數=2時,運行時間減少的并不多,因為并行算法的Map階段用時比較長,并行節點數過少,并不能明顯提高算法的運行速度.然而,當并行節點數=4和并行節點數=6時,明顯看出運行時間減小的幅度不斷增大,說明并行算法優勢表現出來了.但是,當并行節點數=8時,運行時間減少的幅度又變小了,主要因為并行節點數的增加會導致節點之間的通信負荷增大,可見并行節點數的選取要因情況而定,通過不斷實驗和反復對比,選擇合適的并行節點數,從而提高并行算法的效率.由圖4可知,通過不斷增加并行節點數,并行算法的加速比不斷提高,證明所提出的并行遺傳算法具有良好的擴展性.當并行節點數=8時,取得最大加速比:S8=238.35 s/39.26 s=6.12,即當并行節點數=8時,并行算法比串行算法快6倍多,最小運行時間38.64 s,滿足區域路網交通控制與誘導的需求.
圖3 運行時間對比圖
圖4 加速比曲線圖
以區域路網總行程時間最小為目標,構建了交通控制與誘導協同模型.①在計算行程時間時,通過引入排隊長度參數,對行程時間進行了更有效的表達,使計算得到的行程時間更加準確;②在建立模型約束條件時,通過引入排隊長度參數,更好地對相位差和有效綠燈時長進行了約束,使模型求得的參數更加準確.為了進一步提高協同模型的求解速度,文中采用基于MapReduce的并行遺傳算法求解協同模型,通過實驗發現,所提出的并行遺傳算法在求解協同模型時的運行速度和所求得解的質量均有所提高,從而驗證了所提出的協同模型和并行求解算法的有效性和可行性.