張嘉敏,張嘉銳
(1.山東科技大學 交通學院,山東 青島 266590;2.中國鐵路濟南局集團有限公司青島機務(wù)段,山東 青島 266041)
城市軌道交通是國家新型基礎(chǔ)設(shè)施建設(shè)的七大領(lǐng)域之一。網(wǎng)絡(luò)化已成為當今城市軌道交通發(fā)展的既成事實,據(jù)最新數(shù)據(jù)統(tǒng)計[1],截至2019年底,世界上共有520座城市開通城市軌道交通,涉及75個國家和地區(qū),總運營里程超過28198km;中國累計有40座城市開通城市軌道交通,總運營里程達6730.27km,線網(wǎng)規(guī)模和客流規(guī)模均位居全球首位。交通系統(tǒng)仿真技術(shù)運用計算機模型再現(xiàn)和分析復雜交通現(xiàn)象,Railsys、Opentrack分別是德國漢諾威大學和鐵路管理咨詢公司、瑞士蘇黎世聯(lián)邦理工學院開發(fā)的鐵路網(wǎng)絡(luò)系統(tǒng)仿真軟件,技術(shù)成熟度較高,但針對中國軌道交通系統(tǒng)的具體仿真應用,其可二次開發(fā)編程的靈活度具有一定的局限性,NetLogo在一定程度上可以較好彌補這方面的不足。
從物理構(gòu)成角度考察,城市軌道交通網(wǎng)絡(luò)是由線路、車站等行車設(shè)備及其之間的關(guān)聯(lián)關(guān)系連接而成的多起訖點的靜態(tài)網(wǎng)絡(luò)(many-origin-to-many-destination networks),車站、區(qū)間、軌道等是網(wǎng)絡(luò)結(jié)構(gòu)功能的基礎(chǔ)體系[2],是城市軌道交通列車運行的必要物理支撐。城市軌道交通線路間的關(guān)聯(lián)關(guān)系包括對等關(guān)系、主次關(guān)系、并行分流、交叉銜接、完全銜接等,換乘站特別是大型換乘站是城市軌道交通網(wǎng)絡(luò)的關(guān)鍵結(jié)合點,線路與換乘點的關(guān)聯(lián)關(guān)系主要指線路通過還是終止于換乘點;交匯于換乘站點的線路,由于線路與換乘站點關(guān)系以及線路之間的不同關(guān)系,會產(chǎn)生不同的換乘方向個數(shù),進而衍生線網(wǎng)規(guī)劃設(shè)計與運營管理的復雜性,其中乘客的交換流向稱為換乘方向[3]。
交通運輸網(wǎng)絡(luò)的物理統(tǒng)計特征主要包括節(jié)點中心性、小世界特性、無標度特征、權(quán)重和強度分布、社區(qū)結(jié)構(gòu)以及靜態(tài)/動態(tài)魯棒性。從幾何角度考察,通常交通運輸網(wǎng)絡(luò)的規(guī)劃設(shè)計一般都有特定的形狀,如放射狀、矩形、網(wǎng)格狀、三角形[4];其中網(wǎng)格型(棋盤型)結(jié)構(gòu)和放射型結(jié)構(gòu)是最常見、最基本的城市軌道交通線網(wǎng)的幾何形態(tài)結(jié)構(gòu),在此基礎(chǔ)上,考慮增加環(huán)線,又可形成“環(huán)線+網(wǎng)格型”和“環(huán)線+放射型”等多種演繹形態(tài)。早期的一些公共交通系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計主要著眼于簡單的放射型,然而,從20世紀80年代以來發(fā)生了一些變化,對于交通網(wǎng)絡(luò)設(shè)計大多數(shù)方法要么采用更為切合實際的、不規(guī)則的網(wǎng)格形狀,要么認為網(wǎng)絡(luò)結(jié)構(gòu)對于建模無關(guān)緊要而不予以特別指定[5-6]。
文獻[7]綜合應用數(shù)學規(guī)劃、網(wǎng)絡(luò)模型和數(shù)據(jù)統(tǒng)計分析的方法研究復雜的公共交通網(wǎng)絡(luò)。通過對北京地鐵網(wǎng)絡(luò)的動態(tài)屬性的詳細分析,文獻[8]的研究表明,當考慮客流量時,城市軌道交通網(wǎng)絡(luò)的異質(zhì)性與脆性會隨時間發(fā)生變化。作為城市公共交通的一種方式,城市軌道交通網(wǎng)絡(luò)的形式化表示可以有兩種類型,即基于頻率(frequency-based)的表示方法和基于時刻表(schedule-based)的表示方法[9]。在基于頻率方法的表達模型中,根據(jù)網(wǎng)絡(luò)中邊與節(jié)點的關(guān)系,一般采用拓撲有向圖(如L型空間或P型空間)或連接矩陣的方式架構(gòu)城市軌道交通物理網(wǎng)絡(luò)。不同規(guī)模下城市軌道交通網(wǎng)絡(luò)的節(jié)點度分布服從冪律分布,其網(wǎng)絡(luò)具有典型的小世界特性和無標度特征[10]。綜合來看,城市軌道交通網(wǎng)絡(luò)的幾何物理特性主要涵蓋通達性、延展性、可靠性、便捷性、先進性,其中先進性具體表現(xiàn)為面向業(yè)務(wù)運作層面的數(shù)字化建設(shè)、信息化/自動化運行與維護、自助式智能化乘客服務(wù)等,在技術(shù)裝備(如傳感器與視頻監(jiān)測技術(shù)、基于CBTC列車運行控制系統(tǒng))與管理水平(如車輛自動定位技術(shù)AVL、客流自動計數(shù)APC)上具備了現(xiàn)代化物理信息系統(tǒng)(CPS)的典型特征,為城市軌道交通網(wǎng)絡(luò)的智能化運營提供了硬件基礎(chǔ)。
NetLogo[11]是由Uri Wilensky在1999年發(fā)起的,由美國西北大學連接學習和計算機建模中心(CCL)負責持續(xù)開發(fā),是一系列源自StarLogo的多主體建模語言的下一代。Net-Logo完全可編程,人在回路,可以在所有主流平臺上(Mac,Windows,Linux等)作為一個獨立應用程序運行;面向?qū)ο螅苿又黧w(海龜)在由靜態(tài)主體(瓦片)組成的網(wǎng)格上移動;交互性強,主體之間可以創(chuàng)建鏈接,形成聚集、網(wǎng)絡(luò)和圖;內(nèi)置大量原語,特別適合于對隨時間演化的復雜系統(tǒng)進行建模,可用2D或3D模式查看模型,提供對自然和社會現(xiàn)象進行仿真的可編程建模環(huán)境,界面構(gòu)建包括輸出區(qū)、開關(guān)、按鈕、選擇器、滑動條、監(jiān)視器、文本框、注解,具有強大靈活的繪圖系統(tǒng),建模人員能夠向成百上千的獨立運行的“主體”(agent)發(fā)出指令,從而使得探究微觀層面上的個體行為與宏觀模式之間的聯(lián)系成為可能,因為許多個體之間的交互可能會涌現(xiàn)出宏觀模式。
網(wǎng)絡(luò)環(huán)境是城市軌道交通系統(tǒng)運行的主要決定因素與基礎(chǔ)載體,城市軌道交通網(wǎng)絡(luò)環(huán)境具有多元化、交互性等特征,利用NetLogo平臺,可以生成較為真實的城市軌道交通網(wǎng)絡(luò)環(huán)境,相較于Anylogic[12]仿真軟件,利用NetLogo以代碼方式生成城市軌道交通網(wǎng)絡(luò)環(huán)境,NetLogo更具靈活性和可實現(xiàn)性。基于NetLogo平臺架設(shè)生成城市軌道交通網(wǎng)絡(luò)環(huán)境,要統(tǒng)籌集成車站節(jié)點、軌道線路、列車、乘客這四大要素,及其相互間的非線性復雜交互演化。NetLogo仿真的基本思想是:生成增強現(xiàn)實的城市軌道交通網(wǎng)絡(luò)環(huán)境場景,將軌道交通系統(tǒng)中的主要要素模擬成計算機中的主體(agents),各要素之間的交互行為模擬成agents的屬性和行為,并引入交互機制,將人/車/路作為一個完整交通系統(tǒng),設(shè)計動態(tài)性場景庫,以供各主體agent在感知、分析的基礎(chǔ)上進行決策、控制、優(yōu)化、執(zhí)行等活動。交通運輸網(wǎng)絡(luò)建模是一項富有挑戰(zhàn)性的任務(wù),城市軌道交通網(wǎng)絡(luò)仿真環(huán)境的生成是其他相關(guān)具體網(wǎng)絡(luò)仿真項目環(huán)節(jié)的依托與載體,如動態(tài)路徑選擇規(guī)劃、客流分配、出行行為分析、能力計算[13]、運力運量匹配[14]、運輸組織方案與運行圖評估、客流強度自適應性測算、行車調(diào)度指揮、網(wǎng)絡(luò)規(guī)模匡算與可達性分析等。
類似于其它仿真軟件,城市軌道網(wǎng)絡(luò)仿真環(huán)境可以用NetLogo底圖導入的方式,但是由于相關(guān)技術(shù)資料獲取的困難性,在沒有底圖的情況下,只能利用NetLogo以代碼方式生成,而且相較于底圖導入,雖然增加了編程技術(shù)難度,但更富仿真生成靈活性和界面效果友好性。在明確仿真目的,確定各項仿真技術(shù)參數(shù)的基礎(chǔ)上,運用智能體建模,城市軌道交通網(wǎng)絡(luò)環(huán)境生成NetLogo仿真流程如圖1所示。
圖1中各子環(huán)節(jié)生成代碼示例如下,其中每行代碼雙分號后的文字為注釋語句。
to setup
clear-all ;;將世界重設(shè)為初始、全空狀態(tài)
setup-nodes ;;建立車站節(jié)點
setup-URT-network ;;建立城市軌道交通網(wǎng)絡(luò)
setup-trains ;;創(chuàng)建列車主體
setup-OD ;;隨機生成客流需求矩陣
reset-ticks ;;按時間步更新
end
to setup-nodes
set-default-shape circles"circle"
create-circles 6 ;;網(wǎng)絡(luò)中創(chuàng)建6個節(jié)點
[
ask circle 0[

圖1 城市軌道交通網(wǎng)絡(luò)環(huán)境生成NetLogo仿真流程
setxy 0 0 ;;將車站0設(shè)置在中心位置
set size 4 ;;設(shè)置幾何尺寸
set label 0 ;;設(shè)置標簽
set station-type center-transfer-station ;;車站0的類型為中心換乘站
set station-capacity 4200 ;;參照地鐵設(shè)計規(guī)范虛設(shè)車站最大容量
set alighting-proportion random 10/10 ;;設(shè)置列車在車站的下客率
]
ask circle 1[
setxy-5 10
set size 2
set label 1
set station-type transfer-station ;;車站1的類型為一般換乘站
set station-capacity 3200
set alighting-proportion random 10/10
]
ask circle 2[
setxy 8 10
set label 2
set station-type intermediate-station ;;車站2的類型為中間站
set station-capacity 2500
set alighting-proportion random 10/10
]
ask circle 3[
setxy 12-3
set size 2
set label 3
set station-type transfer-station ;;車站3的類型為一般換乘站
set station-capacity 3200
set alighting-proportion random 10/10
]
ask circle 4[
setxy 6-11
set size 3
set label 4
set station-type larger-transfer-station ;;車站4的類型為較大換乘站
set station-capacity 3600
set alighting-proportion random 10/10
]
ask circle 5[
setxy-4-9
set label 5
set station-type end-station ;;車站5的類型為始發(fā)/終到站,即端點站
set station-capacity 2000
set alighting-proportion random 10/10
]
]
End
to setup-URT-network
ask circle 0[create-link-with circle 1];;鏈接車站0與車站1,進而創(chuàng)建紅線
ask link 0 1[
set thickness 1
set color red
set weight 1200 ;;weight的單位為米,即相鄰兩站間的距離
]
ask circle 0[create-link-with circle 3]
ask link 0 3[
set thickness 1
set color red
set weight 700
]
ask circle 1 [create-link-with circle 2];;創(chuàng)建綠線
ask link 1 2[
set thickness 1
set color green
set weight 850
]
ask circle 2[create-link-with circle 0]
ask link 2 0[
set thickness 1
set color green
set weight 1000
]
ask circle 0[create-link-with circle 4]
ask link 0 4[
set thickness 1
set color green
set weight 650
]
ask circle 5 [create-link-with circle 4];;創(chuàng)建藍線
ask link 5 4[
set thickness 1
set color blue
set weight 1100
]
ask circle 4[create-link-with circle 3]
ask link 4 3[
set thickness 1
set color blue
set weight 900
]
end
create-cars num-trains
[
setxy-5 10 ;;設(shè)置所有列車初始地理位置
set train-speed 9.72 ;;設(shè)置列車速度
set capacity 1000 ;;設(shè)置單列車最大載客量
set npob 0 ;;設(shè)置初始車上乘客人數(shù)
]
to setup-OD
create-persons 15 ;;對稱OD矩陣上半對角設(shè)置有15個元素
[
ask person 13 [ ;;person后邊的數(shù)字13代表who值
;;person 13-person 17 分別代表OD 01,02,03,04,05
;;任意兩個海龜?shù)膚ho編號都不會重復,此前已創(chuàng)建6個circles和7條links,who值已從0編號到12,故此處person的who值從13開始
set O 0 ;;乘客的O點為車站0
set D 1 ;;乘客的D點為車站1
set label 01 ;;乘客的標簽為01
setxy 0 0 ;;乘客已經(jīng)位于出發(fā)車站0
set color 9
hatch random-poisson 3*60*0.1 ;;OD需求矩陣元素對應同類乘客數(shù)量值
]
ask person 14[
set O 0
set D 2
set label 02
set color 15
hatch random-poisson 3*60*0.2
]
ask person 15[
set O 0
set D 3
set label 03
set color 25
hatch random-poisson 3*60*0.2
]
ask person 16[
set O 0
set D 4
set label 04
set color 35
hatch random-poisson 3*60*0.2
]
ask person 17[
set O 0
set D 5
set label 05
set color 45
hatch random-poisson 3*60*0.3
]
ask person 18[ ;;person 18--person 21分別代表 OD 12,13,14,15
set O 1
set D 2
set label 12
setxy-5 10
set color 55
hatch random-poisson 2*60*0.1;;set arr-rt random-poisson 2
]
ask person 19[
set O 1
set D 3
set label 13
set color 65
hatch random-poisson 2*60*0.3
]
ask person 20[
set O 1
set D 4
set label 14
set color 75
hatch random-poisson 2*60*0.4
]
ask person 21[
set O 1
set D 5
set label 15
set color 85
hatch random-poisson 2*60*0.2
]
ask person 22 [ ;;person 22--person 24分別代表 OD 23,24,25
set O 2
set D 3
set label 23
set color 95
hatch random-poisson 2*60*0.3
]
ask person 23[
set O 2
set D 4
set label 24
set color 105
hatch random-poisson 2*60*0.4
]
ask person 24[
set O 2
set D 5
set label 25
set color 115
hatch random-poisson 2*60*0.3
]
ask person 25 [ ;;person 25-person 26分別代表 OD 34,35
set O 3
set D 4
set label 34
set color 125
hatch random-poisson 2*60*0.4
]
ask person 26[
set O 3
set D 5
set label 35
set color 135
hatch random-poisson 2*60*0.6
]
ask person 27[ ;;person 27代表OD 45
set O 4
set D 5
set label 45
set color 107
hatch random-poisson 2*60
]
]
End
在NetLogo仿真平臺依圖1流程運行上述代碼,生成一個具有6個車站節(jié)點、3條軌道線路(紅線、綠線、藍線)的城市軌道交通網(wǎng)絡(luò)如圖2所示。在該網(wǎng)絡(luò)環(huán)境生成三條路徑,r1:1-0-4-5,r2:1-2-0-4-5,r3:1-2-0-3-4-5,在該環(huán)境下再編制路徑選擇/客流分配代碼并仿真運行500個時間步后,獲得乘客在各條路徑上的分布特征如圖3所示,發(fā)現(xiàn)路徑r3吸引了最多乘客,可視為關(guān)鍵路徑。

圖2 NetLogo生成的城市軌道交通仿真網(wǎng)絡(luò)

圖3 乘客在各條路徑上的分布特征
《中國城市軌道交通智慧城軌發(fā)展綱要》[15]明確指出,城軌交通行業(yè)應推進城軌信息化,發(fā)展智能系統(tǒng),建設(shè)智慧城軌,實現(xiàn)智慧網(wǎng)絡(luò)管理,開創(chuàng)“交通強國、城軌擔當”的新局面。在軌道交通數(shù)字化、網(wǎng)絡(luò)化、信息化、智能化的總體發(fā)展趨勢下,NetLogo等仿真技術(shù)可以動態(tài)地、形象而逼真地模仿/復現(xiàn)軌道交通系統(tǒng)的種種現(xiàn)象,經(jīng)濟而有效的評估交通問題的相關(guān)解決方案[16],是研究復雜交通問題的重要工具,亦是智能交通運輸系統(tǒng)的重要組成部分之一,從而達到探究/解析軌道交通系統(tǒng)智能運營[17]的目的。本文研究了基于NetLogo的城市軌道交通網(wǎng)絡(luò)仿真環(huán)境生成問題,并進行了實例驗證,為后續(xù)進一步深入開展相關(guān)仿真研究奠定了基礎(chǔ)與參考。實際軌道交通網(wǎng)絡(luò)數(shù)據(jù)OD對數(shù)往往十分龐大(與車站數(shù)近似成平方關(guān)系),可以考慮在滿足應用需求的前提下歸并部分OD,劃分區(qū)域OD,壓縮路網(wǎng)模型規(guī)模,再利用NetLogo平臺生成網(wǎng)絡(luò)仿真環(huán)境。