左志?王立曉?孫小慧
摘 要:針對道路網(wǎng)絡(luò)的交通分配,基于GIS平臺和二次開發(fā)平臺,開發(fā)了交通分配過程的透明化展示課件。從道路網(wǎng)絡(luò)數(shù)據(jù)和交通小區(qū)OD數(shù)據(jù)準備,到整個交通分配程序的一般框架,詳細介紹課件開發(fā)的整個過程。該課件有助于學(xué)生對于交通分配方法的深入理解,從數(shù)據(jù)層面上懂得交通分配的運行過程,有利于課堂教學(xué)效果的提升,也可為交通工程相關(guān)課程提供一定參考。
關(guān)鍵詞:課件開發(fā);交通規(guī)劃;交通分配;GIS二次開發(fā)
一、背景
在《交通規(guī)劃》課程的“四步法”之中,最關(guān)鍵也是最難理解和實現(xiàn)的就是最后一步方法,即交通量分配。該方法基于Wardrop第一和第二原理,在數(shù)學(xué)的解釋上屬于多維度非線性優(yōu)化問題,幾乎無法用人工方法計算得到最終結(jié)果,只能通過計算機實現(xiàn)[1],。課堂講授過程中,雖然教師詳細講解,并用PPT等方式去展示,但學(xué)生對交通分配究竟如何實現(xiàn),仍然處于一知半解的狀態(tài),導(dǎo)致很多學(xué)生在最終的交通分配方法應(yīng)用上體會不深,不能夠從最基礎(chǔ)的層面上達到對方法的深刻理解。針對存在的問題,也有教師會采用交通規(guī)劃軟件,在課堂上對交通分配的過程進行演示,但由于商業(yè)軟件自身的封閉性,其中路段上的交通量數(shù)據(jù)是如何分配,判斷規(guī)則怎樣設(shè)置,迭代計算如何進行,對學(xué)生來說,仍然是黑盒子。因此,為使學(xué)生達到對交通分配過程的深入了解,從最根本上理解道路網(wǎng)絡(luò)中交通分配的運行規(guī)則,有必要從最基礎(chǔ)的層面對此過程進行實現(xiàn),以利于學(xué)生直接了解交通分配的計算機實現(xiàn)過程。
本文針對交通分配方法,基于GIS平臺進行二次開發(fā),設(shè)計并實現(xiàn)了交通分配的基礎(chǔ)展示課件,課件有助于讓學(xué)生從數(shù)據(jù)底層對交通分配過程實現(xiàn)深入了解,有助于《交通規(guī)劃》課程交通分配方法的詳細講解,達到令學(xué)生理解并掌握該方法的教學(xué)效果。論文后續(xù)章節(jié)內(nèi)容概括如下:第一部分簡要介紹了交通分配方法,第二部分說明實現(xiàn)交通分配的數(shù)據(jù)準備,第三部分詳細說明基于GIS平臺二次開發(fā)的實現(xiàn)過程,最后是文章總結(jié)。
二、交通分配方法
通常,交通分配方法按照是否符合Wardrop用戶平衡原理分為兩種,即平衡分配方法和非平衡分配方法。非平衡分配方法相對而言較為簡單,有全有全無分配、增量分配、多路徑分配以及多路徑-增量分配等方法。平衡分配方法則是依據(jù)用戶平衡準則和網(wǎng)絡(luò)費用最低準則的不同分為用戶平衡(User Equilibrium, UE)和系統(tǒng)最優(yōu)(System Optimization, SO)兩種方法。因用戶平衡能更為符合實際地描述網(wǎng)絡(luò)的交通狀態(tài),故本文所要實現(xiàn)的交通分配模型也是用戶平衡交通分配模型[2]。
1956年,Beckman提出了對應(yīng)于用戶平衡準則的如下路段無容量約束的交通分配問題(Traffic Assignment Problem, TAP)數(shù)學(xué)規(guī)劃模型。具體形式如下:
其中,公式符號含義如下:
—路段a上的交通流量,δ為輔助變量,取值為0或1;
ta—路段a的交通阻抗;
ta(xa)—路段a以流量為自變量的阻抗函數(shù);
fkrs—出發(fā)地為r目的地為s的OD間第k條路徑上的流量;
qkrs—出發(fā)地為r目的地為s的OD間第k條路徑上的交通量;
該數(shù)學(xué)規(guī)劃模型提出20年后,到1975年,學(xué)者LeBlanc等人才開始將Frangk-Wolfe算法應(yīng)用于模型的求解,最終形成了廣泛應(yīng)用的F-W解法,該解法的詳細流程見邵春福的教材《交通規(guī)劃原理》[3]。
三、數(shù)據(jù)準備
制作交通分配課件,需要準備的數(shù)據(jù)如下:
(1)道路網(wǎng)絡(luò)圖及相關(guān)屬性數(shù)據(jù)
道路網(wǎng)絡(luò)圖及其相關(guān)屬性是交通分配的基礎(chǔ),通常意義上的道路網(wǎng)絡(luò)圖在交通分配中是不可用的,必須將道路網(wǎng)絡(luò)數(shù)據(jù)在GIS平臺中進行一系列的處理[4],包括連通性檢驗、節(jié)點生成處理、網(wǎng)絡(luò)拓撲處理、路段方向處理、道路相關(guān)屬性輸入等等。需要注意的是,交通小區(qū)形心連線也是一種特殊的路段,需要對其屬性進行特殊處理,通常將其通行能力設(shè)置為無限大,而時間設(shè)置為非常小。本課件中路段文件命名為Link,后文用Link指代路段。
(2)交通小區(qū)及OD數(shù)據(jù)
交通小區(qū)數(shù)據(jù)最主要的是小區(qū)的編號,以及其它屬性如人口、小區(qū)面積等等。此外小區(qū)間的OD一般以三列表的形式表示,第一列為起點小區(qū),第二列為終點小區(qū),第三列為小區(qū)之間的交通量。
四、GIS平臺二次開發(fā)的實現(xiàn)
本課件基于Mapinfo軟件平臺,利用Mapbasic二次開發(fā)語言實現(xiàn)基于GIS的交通分配方法。首先在基礎(chǔ)路網(wǎng)數(shù)據(jù)處理過程中,編制了對路網(wǎng)進行拓撲的程序。程序主要的作用是在路網(wǎng)基礎(chǔ)上生成Link相交處的節(jié)點,同時對節(jié)點編號自動賦值,并依據(jù)節(jié)點編號對各個路段進行拓撲,使路網(wǎng)形成節(jié)點到節(jié)點的有向圖。主程序如下:
sub main
call createpoint
call toponode
end sub
其中,createpoint子程序為在各Link的起終點生成節(jié)點,即Node,并自動編號,toponode子程序的功能是對Link進行拓撲,用起終點Node編號標識Link的方向,以及根據(jù)路段的單雙向?qū)傩?,生成反向輔助Link。
基礎(chǔ)數(shù)據(jù)準備好之后,是在程序中讀入路網(wǎng)數(shù)據(jù)及OD流量數(shù)據(jù),收斂判斷值。主程序如下,其中readod子程序為讀取OD流量,readnetwork子程序為讀取路網(wǎng)數(shù)據(jù),路網(wǎng)數(shù)據(jù)主要以分方向的Link為單位,包括id、length、traveltime、freeflowtime、flow、capacity、direction等屬性,而readcontrolparameter子程序則是程序的控制參數(shù),包括步長搜索參數(shù)、收斂控制參數(shù)、最大迭代次數(shù)等。數(shù)據(jù)讀取程序如下:
sub readdata
call readod
call readnetwork
call readcontrolparameter
end sub
其次是進行交通分配,分配程序最主要的過程是調(diào)用最短路徑函數(shù),其次是進行路段上的流量累加,路段出行時間的更新,以及下一步迭代方向和步長的搜尋,本程序主要使用黃金分割法尋找最優(yōu)步長。程序主要框架內(nèi)容如下:
sub trafficassignment
call initial
do while not (fconvergence< 0.001 or iterationNum> 9999)
call flowloading
call directionfinding
call stepfinding
call computeconvergence
loop
call dataoutput
end sub
其中,initial子程序主要為了分配網(wǎng)絡(luò)初始化,以及一些參數(shù)的初始賦值;接下來是進行收斂判斷;子程序flowloading的作用是在路網(wǎng)上加載OD流量,流量加載根據(jù)OD間的路徑出行時間和上一次的計算結(jié)果判斷,若為初次加載則是直接尋找基于自由流的時間最短路徑加載;子程序directionfinding和stepfinding的功能是尋找下一次的迭代方向與步長,此步驟需要輔助流量向量以便于下一次網(wǎng)絡(luò)流量的加載;computeconvergence則是計算收斂系數(shù),以用來判斷程序是否達到收斂標準;最后則是結(jié)果輸出,結(jié)果包括迭代次數(shù),收斂參數(shù)計算結(jié)果,每次迭代的Link流量以及出行時間等內(nèi)容。
五、總結(jié)
本文介紹了基于GIS的交通分配的課件開發(fā)過程,包括從數(shù)據(jù)準備到程序開發(fā)的一些詳細內(nèi)容。該課件可以從底層數(shù)據(jù)層面對學(xué)生展示交通分配過程中的各種數(shù)據(jù)變化,如路段交通流、通行時間等,將商業(yè)軟件中封閉的黑盒子變成白盒子。課件有利于學(xué)生對交通分配過程的深入理解,提升課堂教學(xué)效果,同時也可以為其它交通規(guī)劃后續(xù)課程提供一定的參考。
參考文獻:
[1]Sheffi, Y. Urban Transportation Networks: Equlibrium Analysis with Mathematical Programming [M]. Prentice-Hall, Inc., Englewood Cliffs,1982.
[2]陸化普.交通規(guī)劃理論與方法[M].清華大學(xué)出版社,2006,第二版.
[3]邵春福.交通規(guī)劃原理[M].中國鐵道出版社,2006.
[4]羅云啟,羅毅.數(shù)字化地理信息系統(tǒng)MapInfo應(yīng)用大全[M].北京希望電子出版社,2001.