朱 亮 王元慶 周 榮
(長安大學公路學院 西安 710064)
當前“四階段”建模理論與方法是交通模型最成熟且運用最廣泛的方法.交通分布預測是依據各小區的出行產生吸引量,預測得到小區間的出行交換量.現有交通分布預測模型主要有增長系數法、重力模型法及介入機會模型等[1].相對于其他分布預測模型,重力模型法綜合考慮社會經濟的變化和交通小區之間的出行阻抗等,是國內外交通規劃中使用最廣泛的交通分布預測方法[2-3].在進行重力模型交通分布預測之前,需對模型進行標定.
在重力模型標定方法研究上,閆小勇[4]總結了重力模型現有標定方法(最小二乘法和逐步搜索法),分析了現有逐步搜索標定算法法收斂速度慢的缺點,提出了一種基于拋物線法的重力模型標定算法,證明了該算法在收斂性與計算速度等方面有一定的提高.邵春福[5]提出判斷逐步搜索法標定重力模型的收斂條件是重力模型分布與現狀分布每次運行的平均行程時間之間的相對誤差滿足一定精度.胡圣華等[6]在交通阻抗函數中考慮小區重要度建立重力模型,該模型更適用于多組團城市的出行分布預測.朱順應等[7]在重力模型中運用模糊數學理論,考慮預測過程中的不確定性,運用模糊理論將小區的產生吸引量數據及小區間的阻抗數據設為模糊數建立重力模型,驗證了該模型的可行性.陶卓霖等[8]發現既有重力模型的標定存在偏誤,應考慮空間結構分布對重力模型的影響.朱鴻國等[9]考慮產生吸引重要性,提出基于區位影響因子的重力模型,解決城際間的出行分布預測.羅小強[10]針對調查中現狀OD分布矩陣中數據存在零值的問題,提出三種不同處理方法標定雙約束重力模型.Cordera 等[11]在鐵路分布預測中考慮火車站之間的空間影響建立重力模型,證明該模型比現有模型分配結果更加符合實際出行特性.
基于已有研究可知,重力模型的標定一般采用平均行程時間來控制收斂精度,出行時空分布能較好的反映出行特性及出行總量分布規律,若重力模型預測的出行時空分布與觀測的出行時空分布一致則可認為該模型標定結果符合實際.
基于此,本文提出利用出行時空分布來調整重力模型標定中的摩擦因子表,使模型預測的出行時空分布更好地擬合實際出行時空分布.考慮到在城市交通規劃實踐中,雙約束重力模型一般適用于中長期(5~10年)交通規劃預測,較為成熟、精確,因此本文以雙約束重力模型為研究對象.
雙約束重力模型預測出來的出行矩陣能滿足出行產生量與出行吸引量守恒,其基本形式如下:
qij=ai×bj×Oi×Dj×f(Rij)
(1)

②f(Rij)=exp(-bRij)為指數函數.

一般來講,冪指數函數適用于步行出行為主的城市,而指數型、Γ函數比較適合于以自行車、公共交通出行為主的城市[13].

逐步搜索法的重點與難點,在于交通阻抗函數f(Rij)參數及模型中的行列約束系數ai,bj的確定上.該方法標定是阻抗函數參數初始值設置越接近實際值收斂速度越快,參數調整步長越小則精度越高,但步長設置小標定收斂速度緩慢.
針對如何加快逐步搜索法標定過程,研究者們主要集中在尋找如何更快地逼近交通阻抗函數f(Rij)參數最優值的算法,目前算法上主要有牛頓法或類牛頓法(切線法)、Hyman法(割線法)及拋物線法.
1.2.1牛頓法
逐步搜索法中標定交通阻抗函數中的參數β,是通過比較模型預測的平均行程時間Cm與現狀平均交通阻抗C0是否足夠接近來確定的.構造函數
(2)
標定最優的阻抗函數的參數β可轉換為求T(β)=0的根問題,牛頓法是接近此類問題最常用的方法.其標定重力模型的過程如下.
步驟1假定阻抗函數的參數β的初始值β0,迭代次數m=0,允許誤差為ξ.
步驟2用當前的βm計算Tm=T(βm),若|Tm|<ξ,則終止算法,當前的βm為最優解;否則執行下一步.
理論上,使用牛頓法標定重力模型收斂速度非常快,但若阻抗函數的參數初始值與最優值相差較大時,可能導致不收斂,為解決這一問題,一些研究者考慮采用改進的牛頓標定算法法,比如采用下降法保證函數值收斂.同時在求βm+1時需對T(β)進行求導,若函數T(β)復雜時,求導將十分困難,降低標定速度.
1.2.2Hyman法

(3)
結合構造函數,可得迭代公式
(4)
Hyman法標定重力模型的過程如下.

某公路試驗路段地處平原,全長12km,起訖樁號為K21+500—K23+500,道路設計標準為雙向四車道,全線設計行車速度為60km/h。基層采用18cm6%的密實骨架級配水泥穩定碎石鋪筑,粉煤灰取代量為15%,基層鋪筑完成后采用預鋸縫+土工織物工程技術對收縮裂縫進行防治。
步驟2計算當前的Tm=T(βm),若|Tm|<ξ,則終止算法,當前的βm為最優解;否則執行下一步;

Hyman法收斂速度比牛頓法差.但由于其用差商代替求導,解決了函數求導的復雜性,其計算效率比牛頓法好.
1.2.3拋物線法
牛頓法求導標定重力模型相當于切線法,Hyman用差商代替求導相當于割線法,Hyman法能避免牛頓法復雜的求導過程,提高標定過程的計算效率.從幾何意義上,拋物線法是收斂速度介于割線法與切線法之間的一種方法,構造二次差值多項式進行迭代計算[14].該方法標定過程的計算比牛頓法簡單,比Hyman法復雜,具體算法本文不在介紹.

表1 三種方法優缺點比較
通過比較可知,現有的幾種重力模型標定方法在結構上基本一致.Hyman法具有易于編程實現特點,因此被現有交通規劃軟件CUBE,TRANSCAD及EMME/2等采用.
以往重力模型的標定主要利用逐步搜索法標定阻抗函數參數,標定效率受制于阻抗函數參數的初始值設置及其步長的迭代算法,參數初始值及步長設置不當可能降低收斂速度和標定精度,為解決該問題,提出一種基于出行時空分布的重力模型標定方法,該方法標定的出行時空分布表可直接用于交通出行特征相似區域.
基于出行時空分布的標定方法與逐步搜索法標定原理基本一致,假定阻抗函數為離散函數,用摩擦因子表來表示,表分為兩列,第一列為阻抗值,第二列為相應的摩擦因子值,其中摩擦因子是指從阻抗函數計算得到的值,標定摩擦因子表相當于標定阻抗函數;根據摩擦因子表、產生與吸引量及重力模型公式計算得到出行時空分布表,標定迭代方法是比較觀測的出行時空分布表與預測的出行時空分布表,若兩者差異滿足精度要求則標定結束,否則根據觀測的出行時空分布表與預測的出行時空分布表來調整摩擦因子表,其中出行時空分布表是指出行時間與出行總量的關系表,表分為兩列,第一列為出行時間,第二列為出行總量.
其中標定摩擦因子表的過程是把第二列所有摩擦因子的值都先設置為“1”,然后逐步循環迭代,調整每一阻抗范圍內的摩擦因子值.每次循環迭代i包括以下步驟.
步驟1用最新的摩擦因子表及基年出行量和吸引量,應用重力模型預測出一個出行分布矩陣.
步驟2根據預測的出行分布矩陣及基年出行時間矩陣提取時空分布表,然后對每一時間段出行時空分布值與觀測的出行時空分布值進行比較.如果各個范圍都滿足收斂性判別標準則程序停止,即根據出行時空分布表計算出的平均行程時間與觀測出行時間分布表計算出的平均行程時間之差滿足某一條件.如果不滿足收斂條件,則轉到步驟3.
步驟3對每個時間段r,更新其摩擦因子值.
(5)

步驟4調整完成后返回步驟1.
對標定后的摩擦因子表進行縮放,并不會影響重力模型的輸出結果.標定算法流程見圖1.
利用交通規劃Cube軟件以西安市50個小區出行數據為例比較兩個標定方法之間的精度.Cube中兩個方法的標定模塊見圖2~3.Cube中現有的重力模型標定算法采用逐步搜索Hyman法.

圖1 基于出行時空分布的雙約束重力模型標定算法流程

圖2 Cube中逐步搜索法標定模塊
在軟件中設置標定收斂條件MAXITERS=99,MAXRMSE=0.01,其中MAXITERS為重力模型最大迭代次數,軟件中最大的迭代次數為99,若未設置MAXITERS默認為最大迭代次數.

圖3 Cube中基于出行時空分布的雙約束重力模型標定模塊


從算法上看,基于出行時空分布法迭代的公式運算比逐步搜索法簡單,計算效率更快.出行時空法的收斂速度更快.根均方差的大小反映兩矩陣之間的差異大小,以兩矩陣之間的根均方差為目標,將兩種標定方法預測的OD矩陣與基年OD矩陣及迭代次數進行比較,分析標定方法的精度及收斂速度,見表2.
實驗結果表明,基于出行時空分布法進行重力模型的標定精度比逐步搜索法(Hyman法)要高.基于時空分布法的迭代次數少于逐步搜索法,收斂速度更快,主要由于出行時空法是基于基年和預測的分布預測數據調整摩擦因子,而逐步搜索法是基于前兩次的迭代阻抗函數參數及相應的平均阻抗值調整下一次阻抗函數參數.

表2 兩標定方法精度比較
文中對逐步搜索法進行重力模型標定進行了總結,分析了該方法標定效率受制于阻抗函數參數的初始值設置及其步長的迭代算法,提出了一種基于時空分布的重力模型標定方法,并通過實例進行了驗證.改進后的標定方法能滿足重力模型的標定精度要求,同時比逐步搜索法的精度要高,收斂速度更快.