閆帥明,卜旭輝,朱盼盼,梁嘉琪
(河南理工大學(xué) 電氣工程與自動化學(xué)院,河南 焦作 454000)
為解決交通擁堵問題,緩解交通壓力,國內(nèi)外學(xué)者提出了匝道控制、交叉口信號控制[1-3]等控制方法,其中交叉口信號控制是解決交通擁堵問題的重要方法之一,合理的交叉口的信號優(yōu)化策略可以緩解城市道路擁擠程度,提高出行效率。
自GAZIS 和POTTS[4]等人對交叉口控制進行研究以來,隨著交通控制技術(shù)的發(fā)展,交叉口控制總體應(yīng)用方案可分為定時信號控制、按鈕式控制和感應(yīng)式控制等[5]。其中,定時信號配時方案是當前應(yīng)用最廣泛的交通控制方法,該方法通過提前設(shè)置好各個相位的信號周期來對交叉口進行控制,在當前有些路口中根據(jù)時段不同會給出不同的配時比例,這也屬于定時信號周期的范疇。按鈕式控制屬于人工控制的一種,即在有交通需求時按動按鈕,此方法適用于非交叉口(即路段上)的人行橫道上。感應(yīng)式控制是當前適用較廣的控制方法之一,其中根據(jù)次干道的交通需求而進行控制的方法稱為半感應(yīng)控制,根據(jù)提前在路口內(nèi)安裝檢測設(shè)備進行控制的方法稱為全感應(yīng)控制。
上述方法中除按鈕式控制外,其他方法均屬于自動控制。采用上述自動控制策略在解決交通擁堵問題中已經(jīng)起到了一定的效果,但是隨著交通量的不斷增大,上述方法已經(jīng)不能滿足當前需要,如在日常交通出行中會經(jīng)常出現(xiàn)交叉口交通流密度過大及車輛行駛緩慢問題,或某一相位的排隊長度遠大于另一相位排隊長度的現(xiàn)象。為緩解交通壓力,研究人員根據(jù)不同的控制標準提出了許多先進的控制方法,其中,文獻[6-8]提出一種基于ILC 的方案對交通信號進行控制,通過設(shè)置學(xué)習增益對每次迭代的輸入學(xué)習優(yōu)化得到信號配時方案,取得了良好的控制效果,文獻[9-11]通過道路密度均衡控制思想對交叉口進行控制,在對交通密度控制上取得了良好的控制效果[12],文獻[13]對在網(wǎng)絡(luò)控制中的數(shù)據(jù)丟包問題進行論述,通過取上一時刻的輸出值作為對丟失時刻輸出值的補償,并對MFAC 算法進行改進,從而達到期望控制效果,文獻[14]應(yīng)用MFAC 算法通過對丟失時刻的輸入值進行修正來處理數(shù)據(jù)丟失情況,該方法在實際應(yīng)用中取得了一定的控制效果。
上述交通控制研究在實際的路網(wǎng)控制中會受到信號波動、信號傳輸?shù)葪l件的影響,從而造成網(wǎng)絡(luò)數(shù)據(jù)丟包的現(xiàn)象,如在文獻[13-14]方法中,如果出現(xiàn)上下時刻的輸出和輸入差值較大的情況,則會影響系統(tǒng)的補償性能以及應(yīng)用性。
由于無模型自適應(yīng)迭代學(xué)習控制(MFAILC)是一種針對完全未知非線性離散系統(tǒng)的無模型方法,考慮到交叉口控制系統(tǒng)重復(fù)和建模困難的特性,本文基于交叉口排隊長度均衡控制思想,針對在路網(wǎng)網(wǎng)絡(luò)控制中存在的數(shù)據(jù)丟包問題,提出一種數(shù)據(jù)丟包情況下的交叉口排隊長度均衡控制方法。在數(shù)據(jù)丟包情況下利用系統(tǒng)輸入輸出數(shù)據(jù)構(gòu)造控制器,并考慮到數(shù)據(jù)丟失對系統(tǒng)控制性能的影響,設(shè)計一種數(shù)據(jù)丟失補償算法。
根據(jù)儲存轉(zhuǎn)發(fā)模型的建模方法[15],本節(jié)考慮過飽和交叉口的動態(tài)特性,給出交叉口各指標的數(shù)學(xué)描述。四相位交叉口示意圖如圖1 所示。
圖1 四相位交叉口示意圖Fig.1 Schematic diagram of four-phase intersection
從圖1 可以看出,四相位交叉口包含了東西、南北方向的直行、右轉(zhuǎn)、左轉(zhuǎn)等4 個相位,對于2 個交叉口分別有8 個排隊長度,排隊長度定義如下:在交叉口1,相位1(東西)西向東、東向西的排隊長度為y1,1(k)、y1,3(k),相位2(南北)南向北、北向南的排隊長度為y1,2(k)、y1,4(k);在交叉口2,相位1(東西)西向東、東向西的排隊長度為y2,1(k)、y2,3(k),相位2(南北)南向北、北向南的排隊長度為y2,2(k)、y2,4(k)。其中,C1、C2為2 個交叉口,pz、qz為路段上的交通擾動,Lz為兩交叉口之間路段z的長度。
根據(jù)文獻[16-17],在路口C1到路口C2之間路段z上,k周期時的排隊長度xz如下:
其中,Ic1為進入交叉口C1所有支路的集合,rm為上游車輛的轉(zhuǎn)向比,sm為上游路段的飽和流率,um(k)為上游支路轉(zhuǎn)向路段的路燈時間,V為下游支路的集合,rn為路段z流入下游路段的轉(zhuǎn)向比,sn為對應(yīng)路段z的飽和流率,un(k)為交叉口流入下游支路的綠燈時間。
綠燈時間滿足如下條件:
其中,F(xiàn)C為交叉口c對應(yīng)的相位集合,uc,i(k)為交叉口c中的相位i的綠燈時長,tc為總損失時間,T為周期時間,umin為最小綠燈時長,umax為最大綠燈時長。
將式(2)、式(3)代入式(1)可得:
路段z在k時刻路段末端的排隊長度用yz(k+1)表示:
其中,Qz(k)為經(jīng)過路段z到達路口隊列末的車輛數(shù),由式(10)表示:
其中,路段z的密度和速度分別為ρz(k)和vz(k),nz為路段z的車道數(shù),T為信號周期。路段的密度影響該路段的交通流速度,即速度vz(k)的描述如下:
當ρmin≤ρz(k)≤ρmax時:
其中,vfree為自由速度,即在沒有發(fā)生道路擁堵時的平均速度,vmin為最小速度,即達到飽和后道路的平均密度。
式(11)、式(12)中的ρz(k)可以表示如下:
其中,ρmin是在路段上車輛能以自由速度vfree行駛時的臨界密度,vmin則對應(yīng)的是阻塞密度ρmax,Lz為路段的長度,a和b為系統(tǒng)參數(shù)。
由于nz、Lz、vfree、vmin、ρmin、ρmax等均為常數(shù),結(jié)合式(10)~式(13),式(8)是關(guān)于xz(k)、yz(k)的函數(shù),改寫為:
其中,f(·)為非線性函數(shù)。
根據(jù)式(7),式(14)可改寫為:
其中,a=[0 0 0 -rn1sn1-rn2sn1-rn3sn1]。
根據(jù)式(8)、式(15),四相位交叉口的排隊長度動態(tài)方程如下所示:
在交叉口系統(tǒng)中時常會出現(xiàn)“紅燈排長隊,綠燈無車行”的現(xiàn)象,這種現(xiàn)象降低了交叉口綠燈使用效率,增加了出行成本。
排隊長度均衡控制思想根據(jù)交叉口的實際排隊長度合理分配綠燈時間,實現(xiàn)各交叉口排隊長度的均衡控制。在交叉口交通控制中的固定配時方案下,隨著周期數(shù)的增加,兩個交叉口的排隊長度差值會越來越大,這樣的配時是不合理的,需要根據(jù)實際排隊長度對信號燈重新配時,使交叉口的排隊長度達到平衡,所以均衡控制思想能夠合理地分配信號燈的時長,使得各路口的排隊長度達到均衡。
基于均衡控制思想,首先定義一個反映控制方案效果的指標,即交叉口排隊長度差(Queuing Length Difference,QLD)。定義在同一個交叉口下,其中各相位中最大的排隊長度為該方向上的排隊長度,其表示如下:
其中,yc,i(l,k+1)為第c個交叉口的第i個路口在第k+1 個周期的排隊長度,Lc,j(l,k+1)為第c個交叉口的第j個方向在第k+1 個周期的排隊長度,zc(l,k+1)為第c個交叉口在第k+1個周期的排隊長度,Y(l,k+1)表示兩交叉口的排隊長度差。
在1.1 節(jié)中,首先對交叉口進行建模,得到的系統(tǒng)動態(tài)模型式(16)滿足如下假設(shè):
假設(shè)1對于式(16)中的函數(shù)f(·),滿足一致全局Lipschitz 條件,即:
其中,kx、ky為Lipschitz 常數(shù)。
假設(shè)2給定期望向量yd(k),存在唯一有界控制輸入向量ud(k),使得:
根據(jù)式(17)~式(19),交叉口的排隊長度差可以轉(zhuǎn)換為:
其中,f(·)為未知非線性函數(shù)。
考慮到網(wǎng)絡(luò)控制過程中受到各種因素的影響,導(dǎo)致排隊長度差值數(shù)據(jù)在傳輸過程中存在數(shù)據(jù)丟失的現(xiàn)象。本文將數(shù)據(jù)丟失現(xiàn)象描述為概率已知的伯努利序列α(l,k),并假設(shè)控制器可以檢測出當前系統(tǒng)排隊長度差是否丟失,其定義為:
本文的控制任務(wù)是基于式(16)在滿足各初始的條件下,尋找信號燈的最優(yōu)控制u(l,k),使得系統(tǒng)存在數(shù)據(jù)丟失的情況下能達到期望效果,即實現(xiàn)各交叉口排隊長度的均衡控制。
本節(jié)基于MFAILC 方法[18],提出數(shù)據(jù)丟包情況下的交叉口排隊長度均衡控制方案。該方案通過調(diào)節(jié)信號燈u(l,k)的時長來改變各個路口的車輛排隊長度,使得存在數(shù)據(jù)丟包時在同一周期的排隊誤差e(l,k)收斂于零。
假設(shè)3在式(22)中,f(·)關(guān)于第2 個變量的偏梯度是連續(xù)的[18]。
假設(shè)4在交叉口交通系統(tǒng)式(22)中,對任意時刻k,當?shù)螖?shù)l接近無窮大時滿足,其中i=1,2,…,8 為交叉口控制輸入數(shù)目。
定理1在滿足上述假設(shè)條件下的系統(tǒng)式(22),當Δui(l,k)≠0 的條件下時,在任意時刻k和迭代次數(shù)l,一定存在一個與迭代相關(guān)的時變參數(shù)Φc(l,k)[18-20],使得:
其中,ΔY(l,k+1)=Y(l,k+1)-Y(l-1,k+1),Δu(l,k)=u(l,k)-u(l-1,k),u(l,k)=[u1(l,k),u2(l,k),…,u8(l,k)]T,Φc(l,k)=[φ1(l,k),φ2(l,k),…,φ8(l,k)]為系統(tǒng)的偽梯度。
當存在數(shù)據(jù)丟失的情況下時,排隊長度差可由式(26)表示:
由此,式(23)、式(25)可分別改寫為:
因為Φc(l,k)為未知量,設(shè)計其估計算法[18]為:
為提高式(30)對時變參數(shù)的跟蹤能力,定義如下參數(shù)重置機制:
其中,λ>0,μ>0,ρ∈(0,1],ε是一個小正數(shù)
為使該方案滿足實際道路控制要求,控制輸入u(l,k)滿足以下條件:
由數(shù)據(jù)補償算法式(29)、參數(shù)迭代更新算法式(30)、學(xué)習控制算法式(31)、參數(shù)重置算法式(32)和u(l,k)的限制條件式(33)共同組成了交叉口控制系統(tǒng)的MFAILC 方案。
定理2對于交叉口系統(tǒng)式(16),在假設(shè)成立的條件下,采用式(30)~式(32),在存在排隊長度差丟失的條件下,能夠保證當l趨近于無窮時,系統(tǒng)的輸出最大跟蹤誤差在整個采樣周期上收斂于零。
證明其他情形定義偽梯度估計誤差為:
將式(30)兩邊同時減去Φc(l,k),可得:
由定理1 可知,Φc(l,k)是有界的,再由式(47)可知是有界的,那么也可得出是有界的。
定義跟蹤誤差:
因為系統(tǒng)的數(shù)據(jù)是不完全丟失的,所以設(shè)kj表示數(shù)據(jù)未丟失時刻,由補償算法式(29)可知,在相鄰的沒有數(shù)據(jù)丟失時刻,kj與kj-1之間有:
根據(jù)式(30)、式(31),在數(shù)據(jù)丟失時刻控制算法、參數(shù)更新算法可寫為:
對式(46)兩邊取絕對值可得:
由式(47)可知,e(l,k+1)在迭代次數(shù)l趨近于無窮時收斂于零。
定理2 證明完畢。
本文分別通過MATLAB仿真和VISSIM-MATLAB聯(lián)合仿真對算法進行驗證。為快速驗證算法的有效性,首先使用MATLAB 仿真對算法的可行性進行驗證,然后根據(jù)VISSIM-MATLAB 聯(lián)合仿真平臺利用建立路網(wǎng)對算法進行驗證。
為驗證文中所述控制方案的有效性,分別給出固定配時方案、文獻[18]方案和本文方案的交叉口仿真結(jié)果。
考慮一個兩交叉口路段,如圖1 所示。MFAILC 系統(tǒng)參數(shù)主要有:μ=1,η=0.01,ρ=-1,λ=1,ε=1×10-5,Φc(1)=[0.1,0.1,…,0.1]T;交通流模型的系統(tǒng)參數(shù)主要有:轉(zhuǎn)向比r=,飽和流率s1=0.5,s2=0.6,L=2 000 m,a=1.7,b=1.8;期望排隊長度差值yd=0;各相位初始綠燈時長為u=30 s,初始排隊長度y=20 m。
車流量加載情況如下:
其中,k∈(0,45]為信號周期個數(shù),x1,x2,…,x6為流入路網(wǎng)的車流量,n為仿真總周期數(shù)。
在上述模型的基礎(chǔ)上利用固定配時進行仿真,結(jié)果如圖2 所示。
圖2 固定配時方案下的排隊長度Fig.2 Queue length under fixed time scheme
從固定配時方案的仿真結(jié)果可以看出,各個路口的排隊長度會隨著車輛數(shù)的變化而不斷增大,且各個路口之間的排隊長度差也會越來越大。這種情況在實際的交通系統(tǒng)中會造成交通堵塞,影響出行效率。
通過對固定配時方案和MFAILC 方案的仿真結(jié)果對比分析可知,MFAILC 方案能通過改變綠燈配時使得各交叉口的排隊長度趨于均衡。從各路口的排隊長度變化情況也可以看出,MFAILC 方案要優(yōu)于固定配時方案,這也驗證了MFAILC 方案的可行性和優(yōu)越性。
采用MFAILC 方案后的排隊長度差、排隊長度及各個路口的排隊長度變化情況如圖3 所示。從圖3 可以看出,隨著周期的變大和迭代次數(shù)的增加,排隊長度差不斷趨于一致,達到了期望的效果。
圖3 MFAILC 方案下排隊長度差Fig.3 Queue length difference under MFAILC scheme
本文需要對比固定配時方案和MFAILC 方案的控制效果以及在數(shù)據(jù)丟失下的MFAILC 方案(采用文獻[18]的方法)和丟失數(shù)據(jù)補償方案的控制效果。這樣可以清晰地表述出數(shù)據(jù)丟包對實際控制系統(tǒng)的影響和本文提出的補償算法的控制效果。數(shù)據(jù)丟包后的MFAILC 控制效果和補償方案下的控制效果如圖4 所示。
圖4 數(shù)據(jù)丟失描述Fig.4 Data dropout description
圖5~圖8 為在數(shù)據(jù)丟失率為0.5 時不同方案下各個路口的交通情況,其中,圖5 和圖6 為文獻[18]方法的控制效果,圖7 和圖8 為本文方案下的控制效果。
圖5 數(shù)據(jù)丟失下第10 次迭代的排隊長度差Fig.5 Queue length difference of the 10th iteration under data dropout
圖6 第10 次迭代的排隊長度差Fig.6 Queue length difference for the 10th iteration
圖7 補償方案下的排隊長度差Fig.7 Queue length difference under compensation scheme
圖8 補償方案下第10 次迭代的排隊長度差Fig.8 Queue length difference for the 10th iteration under the compensation scheme
首先對比圖6 和圖8,在數(shù)據(jù)丟包的情況下第45 個周期的排隊長度差都能收斂于期望值零,但是在數(shù)據(jù)丟失時收斂速度較另外兩種方案會比較慢。通過圖3、圖5、圖7 的對比可以發(fā)現(xiàn),在數(shù)據(jù)丟失的情況下實際排隊長度收斂效果會很差,在補償方案下雖然會有很大波動但也能快速達到收斂。通過對比可以看出,在數(shù)據(jù)丟失的情況下排隊長度波動比較大,而收斂后能夠連續(xù)保持收斂。
根據(jù)上文仿真結(jié)果對比可知,本文補償方案能削弱數(shù)據(jù)丟失對交通控制系統(tǒng)的影響,通過對丟失數(shù)據(jù)的補償,交叉口系統(tǒng)的排隊長度差能夠收斂于期望值,避免了實際交叉口交通控制中出現(xiàn)的“綠燈無車行、紅燈排長隊”的現(xiàn)象。
考慮一個多交叉口路網(wǎng),利用VISSIM 搭建路網(wǎng)模型,如圖9 所示,路網(wǎng)包含2 條主干道和4 條次干道。為證明本文算法具有普遍性,路網(wǎng)內(nèi)同時設(shè)計了T 型交叉口、兩車道與三車道交叉口等,共計有8 個路口的排隊長度,包括常用的四相位和兩相位控制方式,且在右轉(zhuǎn)車道不設(shè)信號燈,左轉(zhuǎn)占用1 個車道。仿真為30 個信號周期,每個周期為120 s,期望排隊長度差為零。在沒有交叉口連接的路段僅考慮到達車輛數(shù)和消散車輛數(shù)。
圖9 多交叉口路網(wǎng)Fig.9 Multi-intersection road network
路網(wǎng)有各路口車流量加載數(shù)據(jù),即流入路網(wǎng)車輛數(shù),各路口各相位綠燈時長初始值如表1 所示。系統(tǒng)參數(shù)為:η=1.2,μ=0.005,ρ=1,λ=0.01,ε=1×10-5。
表1 車流量加載數(shù)據(jù)Table 1 Vehicle flow loading data (vehicle·h-1)
圖10 為在數(shù)據(jù)丟包下MFAILC 方案控制各個路口的車輛排隊長度。從圖10 可以看出,在車輛完全加載結(jié)束時,經(jīng)過迭代各個路口的排隊長度趨于穩(wěn)定,由于出現(xiàn)數(shù)據(jù)丟失的情況,因此各個路口的車輛排隊長度還有很大幅度的波動,但由于算法的作用,整體排隊情況不會出現(xiàn)較大震蕩。
圖10 數(shù)據(jù)丟包下的排隊長度Fig.10 Queue length under data packet dropout
圖11 為在數(shù)據(jù)丟失情況下的排隊長度差與迭代次數(shù)和周期之間的關(guān)系。從圖11 可以看出,在存在輸出數(shù)據(jù)丟失的情況下,MFAILC 配時方案雖然能使排隊長度差向著期望值靠攏,但是由于數(shù)據(jù)丟包的影響,收斂速度很慢且出現(xiàn)較大的震蕩。
圖11 數(shù)據(jù)丟失下的排隊長度差Fig.11 Queue length difference under data dropout
因此,根據(jù)圖10、圖11 所示對交通信號控制的影響,需要數(shù)據(jù)補償方案來削弱輸出數(shù)據(jù)丟包對交叉口信號控制的影響如圖12 所示。
圖12 補償方案下的路口排隊長度Fig.12 Intersection queue length under compensation scheme
從圖13 可以看出,在補償方案下各個路口的排隊長度經(jīng)過100 次迭代后基本趨于均衡,由于路口車輛的累積作用,隨著周期數(shù)的增大而增大,但是到達一定的高度則趨于一致。由于受到數(shù)據(jù)丟包的影響在達到均衡后還會出現(xiàn)震蕩,但是由于補償?shù)淖饔脛t會繼續(xù)趨于收斂。與圖10 對比可以看出,補償方案能有效地對丟失數(shù)據(jù)進行補償。通過與圖11的對比可以發(fā)現(xiàn),補償方案能夠有效地對丟失的排隊長度差值進行補償,雖然有些補償時刻會出現(xiàn)震蕩,但是總體趨于平穩(wěn),達到了預(yù)期效果。
圖13 補償方案下的排隊長度差Fig.13 Queue length difference under compensation scheme
本文研究道路網(wǎng)絡(luò)控制中因數(shù)據(jù)丟包造成的道路擁堵問題,提出一種帶有丟包補償?shù)亩嘟徊婵谂抨犻L度均衡控制方案。建立交叉口運行過程的模型,考慮到該系統(tǒng)的非線性系統(tǒng)和交叉口控制重復(fù)特性,結(jié)合MFAC 和ILC 的優(yōu)點給出基于MFAILC的交叉口排隊長度均衡控制方案。針對數(shù)據(jù)丟失問題,對上述方案進行改進,設(shè)計交叉口丟失數(shù)據(jù)的補償算法,利用算法本身的偽梯度值、跟蹤誤差等對丟失數(shù)據(jù)進行估計。通過MATLAB 與VISSIM 的聯(lián)合仿真結(jié)果表明,MFAILC 方案可使交叉口的排隊長度差收斂于期望值,在實際運用中能很好地緩解道路交叉口的交通擁堵問題。在數(shù)據(jù)丟失的情況下,改進算法能夠有效地對其進行補償,削弱了數(shù)據(jù)丟失對系統(tǒng)的影響。由于在交通系統(tǒng)中,數(shù)據(jù)需進行網(wǎng)絡(luò)傳輸?shù)竭_交通控制中心,然而數(shù)據(jù)信號只有通過量化編碼后才能進行網(wǎng)絡(luò)傳輸,因此下一步將在本文研究基礎(chǔ)上同時考慮數(shù)據(jù)量化和數(shù)據(jù)丟失的交叉口控制方案。