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