周瀛
(長(zhǎng)春建筑學(xué)院,吉林 長(zhǎng)春 130604)
MATLAB 是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,具有如下特點(diǎn):
a.計(jì)算功能強(qiáng)大。
b.圖形展示功能強(qiáng)大。MATLAB 強(qiáng)大的繪圖功能使得數(shù)據(jù)的可視化變得非常簡(jiǎn)單。
c.工具箱功能強(qiáng)大。MATLAB 包含大量已編寫程序,用戶可直接進(jìn)行計(jì)算、圖示建模仿真及其他相關(guān)研究。
d.幫助功能完整。
數(shù)學(xué)建模的過程大概可以分為以下幾個(gè)步驟:
a.根據(jù)實(shí)際問題,明確建模目的,收集必要數(shù)據(jù)資料。
b.分析數(shù)據(jù)資料,提出若干符合實(shí)際背景的假設(shè)。
c.抽象并簡(jiǎn)化變量及參數(shù)間的關(guān)系,建立數(shù)學(xué)模型。
d.根據(jù)模型特點(diǎn)選取適當(dāng)方法進(jìn)行模型求解。
e.模型分析與檢驗(yàn),即用實(shí)際問題的實(shí)測(cè)數(shù)據(jù)驗(yàn)證模型是否可靠。
為解決城市道路交通擁堵問題,提高預(yù)測(cè)道路交通流狀態(tài)的準(zhǔn)確性,交警部門提供了局部區(qū)域7 日內(nèi)道路的互聯(lián)網(wǎng)導(dǎo)航平臺(tái)數(shù)據(jù)、浮動(dòng)車數(shù)據(jù)以及交通卡口監(jiān)測(cè)數(shù)據(jù)。根據(jù)所提供的數(shù)據(jù)進(jìn)行以下問題的研究:
a.構(gòu)建模型描述道路交通流實(shí)際狀態(tài),并比較分析說明模型特點(diǎn)。
b.構(gòu)建指標(biāo)用以直觀描述路段的暢通程度,基于采集數(shù)據(jù)計(jì)算所有路段的暢通程度。
c.構(gòu)建模型進(jìn)行道路擁堵預(yù)測(cè),在道路發(fā)生擁堵后的任何時(shí)間點(diǎn),基于已獲取的歷史監(jiān)測(cè)擁數(shù)據(jù),可以進(jìn)行道路堵變化的預(yù)測(cè)。
3.1.1 每條道路都沒有車輛出現(xiàn)故障或發(fā)生交通事故。
3.1.2 卡口數(shù)據(jù)、浮動(dòng)車數(shù)據(jù)等實(shí)時(shí)數(shù)據(jù)在采集過程中不受極端天氣影響。
3.1.3 車輛在單位小時(shí)內(nèi)的運(yùn)動(dòng)為勻速運(yùn)動(dòng)。
3.1.4 各變量因素之間不存在間接影響。
3.2.1 問題一
3.2.1.1 數(shù)據(jù)處理
第一,整理不同時(shí)間段各個(gè)路段的交通流量數(shù)據(jù),并對(duì)缺失數(shù)據(jù)作出缺失處理;第二,將時(shí)間段進(jìn)行劃分,以1 小時(shí)為單位作為觀測(cè)時(shí)長(zhǎng),將七天時(shí)間劃分成168 個(gè)時(shí)間段;第三,結(jié)合卡口數(shù)據(jù),統(tǒng)計(jì)各個(gè)道路單位時(shí)間內(nèi)駛向不同方向的車輛數(shù)。
3.2.1.2 模型建立
交通流必須具備兩個(gè)條件:一是在道路上,二是在運(yùn)行中。本文認(rèn)為在足夠短的時(shí)間內(nèi)交通流保持連續(xù)性不變。定義交通流量Q 的計(jì)算方法:
其中,T 為觀測(cè)時(shí)長(zhǎng)(小時(shí));N 為T 小時(shí)內(nèi)通過的車輛數(shù)。
3.2.1.3 模型求解
城市道路基礎(chǔ)設(shè)施狀況是影響交通流量的因子,很大程度上決定了交通流量具有非線性和不確定性[4],但人們出行行為具有總體規(guī)律性,一定程度上又決定了交通流量具有時(shí)空相似性。經(jīng)過求解公式(1),得到各條路段在不同時(shí)間段內(nèi)的交通流量,利用MATLAB 繪制出每個(gè)路段七天的交通流量圖如圖1 所示(以路段一為例,其余各路段類似):
圖1 路段一交通流實(shí)際狀態(tài)
通過分析發(fā)現(xiàn),交通流量具有時(shí)間相似性,即同一地理位置或同一區(qū)域的人們出行時(shí)間具有規(guī)律性,例如各路段在通勤日或雙休日具有相似的交通流特點(diǎn),在同一天內(nèi)達(dá)到流量高峰的時(shí)間段基本相同。
3.2.2 問題二
3.2.2.1 數(shù)據(jù)處理
基于問題一歸納整理出任一位置的實(shí)際交通流量,利用MATLAB 軟件中的“max”函數(shù)統(tǒng)計(jì)出每條道路的最大交通流量。依據(jù)道路所占權(quán)重進(jìn)行回歸擬合,統(tǒng)計(jì)出通勤日與周末的車流量,進(jìn)而衡量道路暢通程度。
3.2.2.2 模型建立
同一條件的道路同一時(shí)刻不同位置截面所通過的車輛數(shù)目不同,則這條道路任一位置的暢通程度[5]不同。路網(wǎng)中有n 條路段,i 時(shí)刻道路j 的暢通概率定義為道路在某一時(shí)刻交通狀態(tài)等級(jí)處于可接受狀態(tài)的路段暢通程度,計(jì)算方法如下:
其中,Q(i,j)為實(shí)際交通流量;為道路j的最大交通流量且=maxQ(i,j);-Q(i,j)表示道路剩余交通流量。
為了使評(píng)價(jià)結(jié)果具有一致性,基于問題一所統(tǒng)計(jì)的數(shù)據(jù),利用卡口數(shù)據(jù)進(jìn)行平均交通流量(i,j)的回歸擬合分析,如下:
其中,α (i,j)表示道路j第i 時(shí)刻交通流量所占權(quán)重值。通過隸屬函數(shù) μ建立起與暢通概率P(i,j)之間一對(duì)一的關(guān)系,公式如下:
用隸屬函數(shù) μ作為評(píng)價(jià)道路路段暢通程度的指標(biāo),將隸屬度區(qū)間[0,1]劃分為四個(gè)區(qū)間,每個(gè)區(qū)間對(duì)應(yīng)一類評(píng)估詞,劃分結(jié)果見表1:
表1 擁堵程度表
3.2.2.3 模型求解
利用MATLAB 擬合出隸屬度關(guān)于時(shí)間的函數(shù)圖像,如圖2(以路段一為例,其余各路段類似):
對(duì)比表1,由圖2 可以發(fā)現(xiàn),該路段在通勤日的暢通程度如下:00:00~06:30 期間車輛來往較少,路段處于暢通狀態(tài);06:30~07:00 期間開始進(jìn)入早高峰,路段變得非常擁堵;07:00~11:00 期間路段持續(xù)非常擁堵;11:00~13:00 期間車輛稍有減少,路段進(jìn)入擁堵狀態(tài);13:00~21:00期間路段再次進(jìn)入非常擁堵狀態(tài),21:00 以后路段逐漸由非常擁堵狀態(tài)進(jìn)入基本暢通狀態(tài)。
圖2 路段一暢通程度
3.2.3 問題三
3.2.3.1 數(shù)據(jù)處理
對(duì)道路網(wǎng)數(shù)據(jù)以及浮動(dòng)車軌跡數(shù)據(jù)進(jìn)行篩選與關(guān)聯(lián),剔除部分異常數(shù)據(jù),將車速小于或等于某一特定值時(shí)作為判斷為堵車時(shí)的速度,將速度為0 的數(shù)據(jù)全部篩選出來。在道路發(fā)生擁堵后的任一時(shí)間點(diǎn),統(tǒng)計(jì)出同一時(shí)刻不同道路的當(dāng)前車流量,進(jìn)一步與最大交通流作比較,分析擁堵程度并預(yù)測(cè)擁堵變化。
3.2.3.2 模型建立
聚類分析可根據(jù)對(duì)象之間的相似程度將對(duì)象劃分為幾個(gè)類別,是一種非常重要和有效的無監(jiān)督分類方法[6]。本文采用模糊聚類分析理論中的FCM 算法進(jìn)行道路擁堵預(yù)測(cè)??紤]樣本集X= {x1,x2,…,xn},其中xi={xi1,xi2, …,xik},將X 分為k個(gè)模糊子集,聚類結(jié)果由聚類中心矩陣C= {c1,c2, …,ck}及隸屬度矩陣μ共同表示:
FCM 算法的數(shù)學(xué)描述為:
(1) 設(shè)定聚類數(shù)k、指數(shù)權(quán)重m 及停止閾值 ε;初始化聚類中心C(0);設(shè)置計(jì)數(shù)器b=0。
(2) 計(jì)算模糊隸屬度矩陣 μ(b):
(3) 計(jì)算新的模糊聚類中心C(b+1):
本文選擇模糊綜合評(píng)判方法實(shí)現(xiàn)對(duì)路網(wǎng)交通狀態(tài)的實(shí)時(shí)評(píng)價(jià),步驟如下:
并認(rèn)為兩者的關(guān)聯(lián)度越高,指標(biāo)x 屬于類別j 的隸屬度越高。
步驟2:計(jì)算模糊隸屬度矩陣
步驟3:為路網(wǎng)暢通率和路網(wǎng)負(fù)荷裕度賦予權(quán)重W=(w1,w2),對(duì)于不同的指標(biāo),如果交通管理者對(duì)其關(guān)注程度高,則賦予其較高的權(quán)值;否則,賦予較低的權(quán)值。
步驟4:計(jì)算綜合評(píng)價(jià)矩陣B=W?U,其中
步驟5:確定最終輸出結(jié)果b*=max (b1,b2, …,b14)。
3.2.3.3 模型求解
采用K 均值聚類分析法,利用MATLAB[5]軟件實(shí)現(xiàn),經(jīng)過對(duì)坐標(biāo)和時(shí)間的兩次聚類后,得到聚類結(jié)果。為了刻畫不同路口在各個(gè)時(shí)間段的擁堵程度,用表示路口,時(shí)間段為t= {t0,t1, …,t23},將同一時(shí)間段內(nèi)的不同路口的交通流量最大值記為qmax(t,l),最小值記為qmin(t,l),不同路口在各個(gè)時(shí)間段的擁堵程度,記作ω(t,l),關(guān)系式如下:
其中,q(t,l)為第l 個(gè)路口的第t 個(gè)時(shí)間段內(nèi)的交通流量以其中一個(gè)路口L1為例,給出t1~t12交通擁堵程度表(其余類似)如表2。
表2 路口L1 交通擁堵程度
3.2.4 模型的分析檢驗(yàn)
第一,模型的穩(wěn)定性好。利用MATLAB 軟件對(duì)處理后的數(shù)據(jù)進(jìn)行畫圖分析,輸出的圖像能準(zhǔn)確地看出實(shí)際交通流的變化特征,易發(fā)現(xiàn)其規(guī)律性;第二模型的層次性好,試用范圍廣,易于推廣。利用MATLAB 軟件對(duì)大數(shù)據(jù)進(jìn)行K 均值聚類法,算法快速簡(jiǎn)單;第三,模型尚有不足之處,對(duì)缺失數(shù)據(jù)的處理方法有待改進(jìn),改進(jìn)后可減小由于數(shù)據(jù)缺失造成的誤差。
通過上述模型的求解過程不難發(fā)現(xiàn),MATLAB 強(qiáng)大的數(shù)值計(jì)算功能、圖形展示功能及編程功能使其在解決數(shù)學(xué)建模問題時(shí)展現(xiàn)出其它軟件無法比擬的優(yōu)勢(shì)。將MATLAB 應(yīng)用于數(shù)學(xué)建模的過程中必將能夠使數(shù)學(xué)模型更好地反映實(shí)際問題的本質(zhì)屬性。
科學(xué)技術(shù)創(chuàng)新2022年22期