黃亞坤 丁潤(rùn)澤 趙治文 吳鐵鷹
(南京航空航天大學(xué)能源與動(dòng)力學(xué)院 江蘇 南京 210016)
城市交通管理要比航空和鐵路運(yùn)輸管理復(fù)雜得多。因?yàn)楹桨唷⒘熊嚨倪\(yùn)行時(shí)間、出發(fā)地、終點(diǎn)、甚至當(dāng)前位置都可以知道,而城市交通,被管理的目標(biāo)有各種機(jī)動(dòng)車、非機(jī)動(dòng)車、還有行人,關(guān)鍵是他們個(gè)體的出行精確數(shù)據(jù)無法得到,這就給準(zhǔn)確的數(shù)值模擬帶來了很大的困難。大部分研究中都采用了連續(xù)數(shù)學(xué)函數(shù)建模的方式,甚至用于規(guī)劃模擬整個(gè)城市的交通管理。目前,世界上有一些相關(guān)模擬軟件,如美國(guó)的schwerdtfeger。國(guó)內(nèi)交警部門引進(jìn)后發(fā)現(xiàn)完全不適用于國(guó)內(nèi)情況。在說中國(guó)所有大城市的車輛擁有量過大,任何全城模擬管理算法都很難有較好的效果。所以,我們認(rèn)為:應(yīng)該綜合治理城市中的主干道的交通,主干道流量大,如果通暢,車輛無用排放總量就小。
本項(xiàng)目基于主干道承擔(dān)城市主要交通流量的原則,針對(duì)城市的主干道建立交通流量模型,通過主干道交通流量調(diào)節(jié)支路交通流量;同時(shí)采用各個(gè)十字路口紅綠燈錯(cuò)時(shí)算法和設(shè)置單行道配合主干道,使所有參與該干道的車輛遇紅燈等待的時(shí)間總和較小,并提高道路利用率。配合計(jì)算機(jī)科學(xué)理論,形成市內(nèi)主干道交通管理、錯(cuò)時(shí)紅綠燈、單行道合理設(shè)置等理論,通過對(duì)數(shù)據(jù)的統(tǒng)計(jì)和分析建立面向?qū)ο笪⒂^仿真模型,從而編寫出相應(yīng)的仿真程序,進(jìn)而驗(yàn)證了該方案具有減少等待時(shí)間、使流通量最大化的效果。
將一個(gè)城市分成n個(gè)模塊,分別用主干道和單行道進(jìn)行連接。通過設(shè)計(jì)錯(cuò)時(shí)紅綠燈配時(shí),達(dá)到城市主干道不間斷通行的目標(biāo)。以主干道為核心,提高主干道的通流量,從而緩解整個(gè)城市的交通擁堵問題。主要實(shí)施手段是軟件模擬:通過對(duì)主干道的調(diào)研、優(yōu)化,采用微觀交通仿真模型,以車輛為點(diǎn)、道路為軸,進(jìn)行算法設(shè)計(jì)及軟件編寫。

圖2.1 n個(gè)模塊井字形分布
程序中的道路為城市主干道。此類道路多為雙向多車道(上下行道路間有較寬的隔離帶),在此等價(jià)于平行但方向相反的兩個(gè)單行道。
單行道有多個(gè)十字交叉路口,主干道上的車流量要遠(yuǎn)遠(yuǎn)大于的支路車流量。
以南京市仙林大道為例,建立如圖2.1所示坐標(biāo)系:

程序會(huì)在各路口按規(guī)定時(shí)間生成車輛;由支路駛出和駛?cè)胫鞲傻赖能嚵髁拷葡嗟龋虼撕雎赞D(zhuǎn)彎。
設(shè)計(jì)時(shí)主干道按井字形分布。針對(duì)同一條主干道,對(duì)比紅綠燈錯(cuò)時(shí)和同步時(shí)的車輛等待時(shí)間。下圖所示為主干道紅綠燈示意圖,各紅綠燈分別控制不同方向的車流。
以兩條主干道相交的十字路口為起點(diǎn),即不同模塊的交點(diǎn)處,設(shè)此處紅綠燈同步且紅綠燈的時(shí)間比為a0:b0=1,然后分別根據(jù)雙向車流量以及到該路口到下個(gè)路口的距離進(jìn)行錯(cuò)時(shí)調(diào)節(jié):到達(dá)第一個(gè)紅綠燈H1時(shí),假設(shè)其紅綠燈的時(shí)間比為a1:b1,一次進(jìn)行推算,直到第n個(gè)紅綠燈Hn的時(shí)間比再次恢復(fù)同步,即an:bn=1。這樣做可以實(shí)現(xiàn)不間斷通行(即“綠波原理”),以達(dá)到使車流量最大的目的。詳細(xì)計(jì)算過程如下:
我們假設(shè)每一個(gè)路口距起點(diǎn)路口距離分別為X1、X2、X3……Xn;車輛恒定速度v;車輛到達(dá)各路口耗時(shí)依次為ΔT1、ΔT2、ΔT3……ΔTn,
則車輛到達(dá)第一個(gè)路口耗時(shí)ΔT1=X1v;
車輛到達(dá)第二個(gè)路口耗時(shí)ΔT2=X2-X1v;
以此類推,車輛到達(dá)第n個(gè)路口耗時(shí)ΔTn=Xn-Xn-1v;
總計(jì)ΔT=ΔTi=Xnv。
因?yàn)橥档那闆r相同,可知當(dāng)距離為2Xn時(shí),往返正好同步,即模塊交點(diǎn)處同步。
以仙林大道為例,我們對(duì)道路以及現(xiàn)行交規(guī)進(jìn)行改善。在模塊交點(diǎn)處十字路口的紅綠燈同步計(jì)時(shí),而其間所有的十字路口上下行紅綠燈錯(cuò)時(shí)。由于上下行車輛到達(dá)同一路口所走的路程不相同,但主干道車速均勻且相等,故上下行車輛到達(dá)同一個(gè)十字路口所經(jīng)歷的時(shí)間不同,從而產(chǎn)生時(shí)間差ΔT。利用這時(shí)間差ΔT,實(shí)現(xiàn)支路車輛進(jìn)入和駛出路口隔離帶處的等待區(qū),使支路車輛分步穿過主干道,犧牲支路車輛的通暢,借此保證主干道的暢通,從而實(shí)現(xiàn)主干道通流最大化和等待時(shí)間最小化。
2.5.1 支路車輛過多
針對(duì)上下班高峰期和周末道路車輛過多的情況:在上下班以及周末時(shí)間,直接設(shè)置管理支路橫穿的兩個(gè)紅綠燈為永久紅燈,禁止通行。使支路車輛混入主干道并在下一個(gè)十字路口左轉(zhuǎn)通行,從而錯(cuò)十字路口穿過主干道。
2.5.2 支路車輛少
當(dāng)車輛少的時(shí)候,支路車輛主要利用主干道綠波通行的車流間隔通行。即主干道為不間斷通行,支路車輛依靠主干道紅燈時(shí)間分兩次通行。
面向?qū)ο笤O(shè)計(jì)思想比較適合我們的現(xiàn)實(shí)世界,我們的世界就是由各種實(shí)際的或抽象對(duì)象(Objects)組成的,因此面向?qū)ο缶幊陶Z(yǔ)言被廣泛地用于軟件開發(fā)。
在本項(xiàng)目的軟件設(shè)計(jì)中我們根據(jù)對(duì)實(shí)際情況的觀察、分析,用類(Class)較真實(shí)地描述了城市道路交通的各個(gè)單元。
3.1 類的設(shè)計(jì)
3.1.1 路CRoad
也就是所要研究的主干道,它由若干個(gè)路口組成,每個(gè)路口有它的坐標(biāo)(圖3.1)。這些坐標(biāo)值也就定義了該干道的長(zhǎng)度,同時(shí)坐標(biāo)系也用于給車輛定位。雖然,從數(shù)學(xué)的觀點(diǎn),這只是一維坐標(biāo),但它可以模擬彎曲的主干道,也就是坐標(biāo)指標(biāo)是相對(duì)于干道上基準(zhǔn)點(diǎn)的距離。
3.1.2 路口CIntersection
路口的紅綠燈可以設(shè)置為圖2.3的形式,也可以改為4組(無中間等待區(qū))或3組(單行主干道)。由于數(shù)據(jù)較為簡(jiǎn)單,紅綠燈的描述就直接在路口類內(nèi)。
路口數(shù)據(jù)結(jié)構(gòu)除了含有多組紅綠燈外,還定義了路口的車道數(shù)。根據(jù)我們的觀察,一般正常行駛的情況下,每秒鐘每條道平均只能過1輛車。因此,路口就可以模擬道路的通量。如果進(jìn)入路口的車輛太多,以至于綠燈時(shí)無法全部通過,有些車輛只好原地等待,等待時(shí)間將被加入最后結(jié)果。
3.1.3 車輛CVehicle
車輛在模擬中主要的數(shù)據(jù)為位置、行駛方向、進(jìn)出路口,當(dāng)然,還可以車輛的紅燈等待時(shí)間,最后這個(gè)數(shù)字被累積到該干道總的車輛紅燈等待時(shí)間中,并用于判斷配時(shí)方案的好壞。
3.2 道路信息的輸入形式:從文件中提取。Road.cpp中BOOL CRoad::Construct(CStringstrInputFile)讀取。輸入文件

圖3.2為輸入文件格式。其中第一列為十字路口名;第二列為坐標(biāo);第三列為上行方向路口綠燈開啟時(shí)間與坐標(biāo)原點(diǎn)(學(xué)海路)綠燈開啟時(shí)間的延遲;第四列為下行方向路口綠燈開啟時(shí)間與坐標(biāo)原點(diǎn)(學(xué)海路)綠燈開啟時(shí)間的延遲;第五列為主方向紅綠燈周期時(shí)間;第六列為主方向綠燈時(shí)間;第七列為該路口主干到車輛進(jìn)入時(shí)間間隔;第八列該路口次干道車輛進(jìn)入間隔時(shí)間;第九列為路口主方向車道數(shù),也是每秒鐘的通量,用于在綠燈亮?xí)r,最多可以過多少輛車;第十列是橫向路的道數(shù)。
坐標(biāo)原點(diǎn)(學(xué)海路)是主要交叉路口,也就是說,上下行紅綠燈在這一點(diǎn)是同步的。從理論上,存在下一個(gè)同步路口,是的紅綠燈再次同步。這個(gè)路口就是圖2.1中的另一個(gè)網(wǎng)格點(diǎn)。
城市里車流量隨時(shí)間段可分為高峰低谷,在星期里還有周末工作日之分。不同時(shí)間段,流量不同,最佳配時(shí)方案也應(yīng)該不同。
3.3 算法設(shè)計(jì)
從現(xiàn)實(shí)世界中,車輛、行人和紅綠燈的運(yùn)行基本上是相互獨(dú)立的,每個(gè)個(gè)體有他的思維,理論上軟件模擬應(yīng)該用多線程(Multi-threading)的方法。計(jì)算機(jī)將這些對(duì)象獨(dú)立模擬,它們按照自己的規(guī)律運(yùn)行,同時(shí)要考慮之間的關(guān)系,而這些關(guān)系是隨機(jī)的。從此可見,多線程軟件編寫難度非常大。
本項(xiàng)目考慮到實(shí)際情況,選用了單線程方法。但是在計(jì)算過程中,每個(gè)對(duì)象也是按自己的規(guī)律單獨(dú)模擬,當(dāng)然也要考慮它們之間的關(guān)系,如紅燈停綠燈行。程序中這些對(duì)象的動(dòng)作是靠秒觸發(fā)來進(jìn)行的,也就是通過時(shí)間秒的循環(huán),對(duì)所有對(duì)象觸發(fā)計(jì)算,使其能夠在這一秒正確地完成自己該做的動(dòng)作。
程序從數(shù)據(jù)文件讀入數(shù)據(jù),在建立了道路后,通過模擬一大批車(算例中為1千輛),根據(jù)設(shè)定的各路口流量,逐輛進(jìn)行模擬,當(dāng)所有車輛都駛出路口時(shí),計(jì)算結(jié)束,從而得到總紅燈等待時(shí)間。
這一算法,沒有復(fù)雜的數(shù)學(xué)公式,只有上述簡(jiǎn)單公式。這些公式完全可以近似描述我們?nèi)粘=煌ǜ鲗?duì)象的行為。編程難度也大大減小,計(jì)算結(jié)果具有統(tǒng)計(jì)意義。
3.4 程序模擬
3.4.1 將輸入文件第三、四列按行車速度和路段距離配時(shí),程序中的行車速度是m_nMPerS = 14,約50km/h。目前全0的設(shè)置意味著個(gè)路口紅綠燈是同時(shí)的。
3.4.2 最后兩列數(shù)據(jù)可以調(diào)整主干道和單行次干道流量比值。注意:同一橫道上的綠燈可能不同時(shí)亮,所以穿越車輛只能在中間隔離帶路口停下等待另一邊綠燈。一次橫穿車輛不宜過多,以免造成路口堆積。
3.4.3 現(xiàn)在程序模擬總共1000輛車進(jìn)入,后駛出該路段的情況。當(dāng)所有的車都駛離時(shí),模擬結(jié)束。
3.4.4 程序還考慮了控制流量。實(shí)際上每分鐘通過的車輛是有限的,路越寬、可通過的車越多。通量代表了道路在單位時(shí)間可通過車的最大輛數(shù),當(dāng)車流量大于該值時(shí),意味著堵車了。程序中用車道數(shù)來代表通量,也就是說,通量為1輛/秒/道。
采用控制變量的方法對(duì)紅綠燈的配時(shí)比例與主干道車流量做了一系列模擬,通過程序在南京仙林大道進(jìn)行1000輛車,在各路口按規(guī)定時(shí)間生成車輛,對(duì)等的拐彎用直行等價(jià),得出模擬結(jié)果如下:
表3.3車輛進(jìn)入主干道時(shí)間間隔2s/輛,紅綠燈周期120s,配時(shí)比例變化

結(jié)論:車輛進(jìn)入主干道時(shí)間間隔/紅綠燈周期不變,配時(shí)比例(綠/紅)越大,該方案的減少等待時(shí)間效果降低。說明此優(yōu)化設(shè)計(jì)當(dāng)主干道車輛流暢時(shí),方案效果降低,符合實(shí)際道路情況。
表3.4車輛進(jìn)入主干道時(shí)間間隔變化,紅綠燈周期120s,配時(shí)比例1/1

結(jié)論:紅綠燈周期、配時(shí)比例不變,車輛進(jìn)入主干道時(shí)間間隔越大,該方案的減少等待時(shí)間效果降低。說明此優(yōu)化設(shè)計(jì)隨著主干道車輛減少,即當(dāng)主干道車輛流暢時(shí),方案效果降低,符合實(shí)際道路情況。
綜述:由上述仿真數(shù)據(jù)可知,在一定范圍內(nèi),交通越擁堵,此方案越有效。但當(dāng)車輛少到一定程度時(shí),仿真出的等待時(shí)間差趨近于定值,說明當(dāng)主干道通暢的情況下,我們方案效果存在極限值。由模擬結(jié)果看出,本仿真程序基本符合實(shí)際情況。
1.考慮到我國(guó)大城市的車輛數(shù)量大等特點(diǎn),我們提出通過主干道紅綠燈配時(shí)方案,來減少車輛的遇紅燈等待總時(shí)間,達(dá)到減少無用的汽車排放,同時(shí)也是整個(gè)城市交通較通常。
2.提供了一面向?qū)ο筌浖捎糜诔鞘兄鞲傻兰t綠燈配時(shí)模擬,以確定較好的配時(shí)方案。算例證明,改程序模型與算法較符合實(shí)際實(shí)際情況,有較好的實(shí)用性。
由于采用了面向?qū)ο缶幊蹋撥浖苋菀走M(jìn)一步改進(jìn),以更適合現(xiàn)實(shí)的交通實(shí)際情況,提高模擬精度。另外,使用該軟件,幾乎無需在路上改變或添加任何硬件,只需變換各路口的配時(shí)時(shí)間。而且還可以做到按日、按時(shí)間段配時(shí),優(yōu)化城市交通,減少無用的汽車排放污染。另外,復(fù)雜的城市交通網(wǎng)絡(luò)可以簡(jiǎn)化成圖2.1的主干道和支路,一個(gè)城市只要主干道通暢(大流量),那么整個(gè)城市交通就通暢,總體無用汽車排放就少。本軟件可以用于反覆地分別模擬調(diào)整各主干道配時(shí),以達(dá)到較好地治理整個(gè)城市交通的目的。
[1]曹樹志.智能紅綠燈對(duì)城市交通節(jié)能減排效果的仿真. Computer Knowledge and Technology. No.13,May 2011
[2]周慧虹. 科學(xué)設(shè)置紅綠燈關(guān)乎節(jié)能減排. 光明日?qǐng)?bào). 2009.11.0909:25
[3] 周文軍. 發(fā)展智能交通緩解南京交通擁堵. China Academic Journal Electronic Publish House. 2012年第11期上
[4] 熊建平. 交通擁堵的治本之道
[5] 魏明楊方延等. 交通仿真的發(fā)展及現(xiàn)狀研究.Vol.15No.8Aug 2003Journal of System Simulation
黃亞坤(1992年9月--)男 籍貫:寧夏中衛(wèi)市 學(xué)歷:本科在讀 專業(yè):飛行器動(dòng)力工程