關(guān)鍵詞:Anylogic;航站樓;模擬仿真
中圖分類號:TP391.9 文獻(xiàn)標(biāo)志碼:A
0 引言(Introduction)
新型冠狀病毒感染疫情,使全球民航運(yùn)輸領(lǐng)域遭受到重大沖擊,但仍有較大比重的出行人員選擇民航運(yùn)輸方式。根據(jù)中國民用航空局發(fā)布的《2021年民航行業(yè)發(fā)展統(tǒng)計(jì)公報(bào)》顯示,2021年全國民航運(yùn)輸機(jī)場完成旅客吞吐量9.07億人。
機(jī)場航站樓是民航運(yùn)輸體系的重要組成部分,容納了大量旅客。在整個(gè)體系中,機(jī)場候機(jī)樓承擔(dān)著疏散旅客和聚集旅客的作用[1]。若旅客離港業(yè)務(wù)進(jìn)展緩慢,會延長旅客滯留時(shí)間,降低旅客的出行體驗(yàn)。因此,航站樓必須從細(xì)節(jié)入手,通過優(yōu)化機(jī)場航站樓布局方案和更好地進(jìn)行航站樓內(nèi)部資源管理,為旅客提供高效、快捷的出行體驗(yàn)。
相較于傳統(tǒng)的數(shù)學(xué)模型,虛擬仿真技術(shù)具備體驗(yàn)性和交互性的特點(diǎn)[2]。采用計(jì)算機(jī)模擬仿真的形式,可以在不使用任何物理資源的條件下,獲得與航站樓實(shí)際運(yùn)行接近的模擬效果[3-6]?;谝陨咸攸c(diǎn),本研究使用Anylogic仿真軟件對機(jī)場航站樓進(jìn)行環(huán)境構(gòu)建和邏輯模塊編寫,完成模型運(yùn)行中數(shù)據(jù)的可視化。
1 社會力模型簡介(Introduction to the socialforces model)
公式(4)中參數(shù)意義與公式(3)中參數(shù)意義類似,此處不再贅述。
Anylogic仿真軟件使用的行人庫基于社會力模型,能夠精準(zhǔn)地描述行人心理對其行為的影響,并且重現(xiàn)疏散過程中“快即慢”“出口拱形”等現(xiàn)象[2],因此本研究選用Anyloigc仿真軟件進(jìn)行仿真建模。
2 航站樓空間模塊的構(gòu)建(Terminal spacemodule construction)
航站樓模擬空間的構(gòu)建是完成整體仿真過程的基礎(chǔ),本研究根據(jù)真實(shí)的航站樓CAD圖的比例構(gòu)建航站樓模擬空間,在Anylogic仿真軟件中使用空間模塊進(jìn)行相應(yīng)的設(shè)施搭建。空間模塊包括Walls(墻體)、Target line(目標(biāo)線)、Service(服務(wù)區(qū)域)等。在Anylogic仿真軟件中,墻體可視為模擬空間中存在的墻壁和障礙物,目標(biāo)線可視為行人智能體生成、前往和消失的線。目標(biāo)線在本研究中作為旅客登機(jī)生成和消失區(qū)域,是旅客智能體生成區(qū)域和登機(jī)目標(biāo)。服務(wù)區(qū)域可以分為區(qū)域服務(wù)和線性服務(wù),與邏輯模塊結(jié)合使用可視為智能體在此區(qū)域內(nèi)接受服務(wù)。服務(wù)區(qū)域在本研究中作為航站樓內(nèi)行人可參與各種服務(wù)設(shè)施,例如航站樓內(nèi)部店鋪、安檢排隊(duì)線。
圖1為航站樓模擬空間模塊搭建效果圖,整體框架描繪線條表示航站樓墻體,各登機(jī)口用目標(biāo)線設(shè)置,并在附近進(jìn)行標(biāo)號,作為旅客智能體的最終目的地。登機(jī)口附近區(qū)域?yàn)槁每偷菣C(jī)前的休息區(qū)域,被墻體包裹的其他矩形區(qū)域?yàn)楹秸緲莾?nèi)部的商鋪。本研究中以安檢區(qū)域作為分割線將航站樓分為值機(jī)大廳與等待大廳,值機(jī)大廳中并排排列的服務(wù)線為值機(jī)柜臺及排隊(duì)區(qū)域。調(diào)整比例尺,使1 m對應(yīng)6.57像素,讓空間模塊的比例與真實(shí)航站樓一致。至此,航站樓模擬空間模塊搭建完成。
3 航站樓離港旅客流程分析(Terminaldeparture passenger flow analysis)
為了使模擬效果更加貼近航站樓的日常運(yùn)行,需要對當(dāng)前航站樓的運(yùn)行流程進(jìn)行分析。在航站樓中,旅客要經(jīng)歷的流程可以分為必要流程和非必要流程兩類。必要流程是指旅客在登機(jī)前要經(jīng)歷的必要事件,如安檢、值機(jī)等。不進(jìn)行必要流程則無法進(jìn)行下一流程。非必要流程是指旅客可以根據(jù)自身意志選擇行動,如到咖啡店買咖啡、到問訊處咨詢等。航站樓旅客服務(wù)流程如圖2所示。
航站樓的環(huán)境復(fù)雜,本研究僅考慮航站樓旅客登機(jī)層,不考慮旅客到達(dá)層,旅客到達(dá)后先進(jìn)門安檢,然后可以選擇進(jìn)入值機(jī)流程或享受值機(jī)大廳提供的其他服務(wù),而值機(jī)是必須的流程且只需進(jìn)行一次,值機(jī)流程后,則需要選擇安檢流程或享受值機(jī)大廳提供的其他服務(wù)。旅客安檢后進(jìn)入等待大廳,在等待大廳需要選擇候機(jī)流程或享受等待大廳提供的其他服務(wù)。到登機(jī)時(shí)間,機(jī)場廣播通知旅客登機(jī),此時(shí)進(jìn)行登機(jī)流程,至此旅客在航站樓經(jīng)歷的整個(gè)流程結(jié)束。以上僅為航站樓旅客需經(jīng)歷的簡單流程,仿真模擬所需細(xì)節(jié)構(gòu)造將在第5部分給出。
4 邏輯模塊構(gòu)造(Logical module construction)
本研究使用Anylogic仿真軟件中的邏輯模塊進(jìn)行航站樓流程構(gòu)造??梢岳肁nylogic仿真軟件中的行人庫仿真模擬旅客智能體,其中行人庫中包含pedSource模塊、pedSink模塊、pedGoTo模塊等,通過連接線連接各個(gè)邏輯模塊,可以實(shí)現(xiàn)旅客智能體從生成到經(jīng)歷各個(gè)流程的整體過程。但是,邏輯模塊不能單獨(dú)使用,必須與空間模塊相結(jié)合,才能仿真模擬旅客在航站樓的整個(gè)流程。在Anylogic模型中,智能體通過左側(cè)目標(biāo)線與行人生成模塊(pedSource)結(jié)合,實(shí)現(xiàn)從左側(cè)目標(biāo)線生成行人智能體。矩形節(jié)點(diǎn)與行人等待模塊(pedWait)結(jié)合,實(shí)現(xiàn)行人智能體等待。線服務(wù)與行人服務(wù)模塊(pedService)結(jié)合,實(shí)現(xiàn)線性等待。pedGoTo模塊讓智能體從線性排隊(duì)到達(dá)最后目標(biāo)線,pedSink使智能體消失,也是流程的終點(diǎn),如圖3所示。
但是,僅使用Anylogic行人庫自帶邏輯模塊,會使得在頁面中的邏輯模塊過多,并導(dǎo)致連接線繁雜,不利于后期更改模塊或找尋相應(yīng)的參數(shù)。因此,本研究使用封裝智能體的方式,將重復(fù)的邏輯模塊封裝為智能體,減少頁面中的邏輯模塊,并能準(zhǔn)確定位各模塊[8]。
Anylogic仿真軟件封裝智能體并在主界面中使用的方式如下:①選擇新建智能體的類型;②根據(jù)使用者的需求,使用軟件自帶的邏輯模塊在新智能體類型中構(gòu)建邏輯圖;③在主界面中通過拖拽的方式將新建智能體類型放入主界面中;④在新建的智能體類型中設(shè)置邏輯模塊參數(shù)。
以智能體值機(jī)為例,值機(jī)柜臺的數(shù)量為12個(gè),一個(gè)值機(jī)柜臺有10個(gè)值機(jī)窗口,同樣值機(jī)的排隊(duì)線也有10條。在不封裝智能體的情況下,由于行人庫中的選擇模塊(ped SelectOutput)只能選定5個(gè)分支,則至少需要選擇2個(gè)模塊、10個(gè)服務(wù)模塊(ped Service)以及30多條連接線,因此要完成整個(gè)值機(jī)模塊的復(fù)雜性非常高。
封裝智能體,僅需設(shè)置初始智能體的數(shù)量,并綁定封裝智能體的內(nèi)部參數(shù),即可實(shí)現(xiàn)多個(gè)相近的邏輯流程。
圖4展示了封裝智能體的過程,左側(cè)為封裝智能體,右側(cè)為使用封裝好的智能體。封裝智能體內(nèi)部使用enter模塊,一般與exit模塊對應(yīng)使用。exit模塊將傳入智能體從流程流中取出,并允許用戶指定如何處理它們。enter模塊則接受exit模塊中取出的智能體,并將智能體插入流程模型的特定點(diǎn)。圖5中的enterCheckIn 模塊起到了接受智能體的作用。queueBeforeCheckIn模塊綁定值機(jī)線性服務(wù),RestrictedAreaStart與RestrictedAreaEnd模塊作為限制模塊,限制它們之間的模塊智能體數(shù)目。checkin模塊綁定目標(biāo)線,旅客智能體將在此處停留,模擬辦理值機(jī)窗口的業(yè)務(wù),然后行人智能體將在圖標(biāo)處離開本封裝智能體。在主界面中可以直接選擇與邏輯模塊綁定的空間模塊,但是封裝后,需要在封裝智能體內(nèi)部提供一些參數(shù),使用封裝模塊時(shí)將需要的值與封裝智能體內(nèi)部參數(shù)對應(yīng),實(shí)現(xiàn)邏輯模塊與空間模塊的綁定。
封裝智能體使用過程如圖4右側(cè)所示,將傳入?yún)?shù)與封裝智能體內(nèi)部參數(shù)的類型和數(shù)量進(jìn)行對應(yīng),即可使用封裝智能體。在本研究中,創(chuàng)建了10個(gè)checkin智能體,它們的索引可由get(index)獲得,而下方checkIn1_checkInDeskQueueShape與checkIn1_stopBeforeDeskLine是由本研究提前創(chuàng)建的該類型數(shù)據(jù)的集合,各包含了10個(gè)線服務(wù)與10個(gè)相對應(yīng)的等待線。通過以上方式可將提前創(chuàng)建的10個(gè)checkin智能體綁定不同的空間模塊,而checkInTimeMin、checkInTimeMean等是所有checkin智能體公用的參數(shù),以上就完成了封裝智能體的使用,實(shí)現(xiàn)了一個(gè)值機(jī)柜臺的邏輯模塊與空間模塊的綁定,后續(xù)需要再次封裝,就可以獲得12個(gè)值機(jī)柜臺的集合的封裝智能體checkins。
其他的服務(wù)流程類似,本文不再贅述,航站樓整體邏輯模塊如圖5所示。旅客智能體通過passengerarrival模塊生成,從5個(gè)入口進(jìn)入值機(jī)大廳,通過exitTo選擇進(jìn)入checkins模塊進(jìn)行值機(jī)流程,或是選擇進(jìn)入serviceBeforeCheckIn模塊享受值機(jī)大廳提供的其他服務(wù),而旅客智能體完成值機(jī)流程后,通過Towait_or_leave模塊離開,并從fromCheckin模塊與選擇享受值機(jī)大廳提供的其他服務(wù)的旅客智能體匯合,通過service_exit模塊。在service_exit模塊中,可以選擇旅客智能體進(jìn)入服務(wù)或進(jìn)行值機(jī)或安檢,如果旅客智能體未進(jìn)行值機(jī)流程,那么將無法進(jìn)行安檢流程。安檢模塊分為經(jīng)濟(jì)艙安檢與貴賓安檢,旅客智能體經(jīng)過安檢模塊后,可以前往等待大廳服務(wù)模塊或等待起飛,直到登機(jī)流程開始,旅客智能體排隊(duì)登機(jī)進(jìn)入登機(jī)口后,整個(gè)流程結(jié)束。為了避免旅客智能體無法進(jìn)行登機(jī)操作卻仍留在仿真環(huán)境中,使用passengerIsLateOrDocumentsAreNotCorrect模塊接收所有無法按時(shí)完成整體流程的旅客智能體,并銷毀智能體。
5 參數(shù)設(shè)定及仿真模擬(Parameter setting andsimulation)
5.1 輸入?yún)?shù)設(shè)定
輸入的參數(shù)準(zhǔn)確與否是仿真是否可靠的直觀體現(xiàn),本研究從中國民用航空第二研究所獲得了大量真實(shí)數(shù)據(jù),包括值機(jī)時(shí)間、安檢時(shí)間、候機(jī)時(shí)間等。但是,大量的數(shù)據(jù)無法直接當(dāng)作參數(shù)輸入模型中,需要采用數(shù)學(xué)方法獲得能夠輸入模型的參數(shù)。
(1)旅客到達(dá)分布
旅客到達(dá)分布是指同一航班旅客到達(dá)航站樓時(shí)間的分布情況??刂坡每椭悄荏w的到達(dá)時(shí)間,對模擬仿真研究至關(guān)重要。根據(jù)現(xiàn)有研究[3]可知,到達(dá)旅客分布基本符合泊松分布,從真實(shí)數(shù)據(jù)來看,旅客提前到達(dá)時(shí)間處于飛機(jī)起飛前1~3 h,故根據(jù)泊松分布與旅客到達(dá)時(shí)間區(qū)間確定同一航班各旅客智能體到達(dá)時(shí)間間隔。
(2)功能單元與工作人員配備
功能單元與工作人員人數(shù)如表1所示。
值機(jī)柜臺數(shù)量為12個(gè),同時(shí)值機(jī)柜臺開啟的數(shù)量隨著時(shí)間變化而有所變化,由于機(jī)場航站樓的航班較為密集,因此值機(jī)柜臺開啟數(shù)量基本保持在10個(gè)左右,值機(jī)柜臺配備工作人員1~2人、后臺開包檢查員配備4~8人。
值機(jī)大廳商鋪有21個(gè),等待大廳有商鋪49個(gè),根據(jù)每個(gè)商鋪的面積大小通常配備服務(wù)人員2~6人。
安檢柜臺數(shù)量有28個(gè),與安檢通道數(shù)量一致,安檢柜臺工作人員一般配備1人,安檢通道工作人員配備2~6人。
航站樓樓層入口有5個(gè)(不包含其他樓層)。
航站樓登機(jī)口共69個(gè),在本研究樓層中有43個(gè),其余登機(jī)口在本樓層樓下,但是需要從值機(jī)大廳乘坐電梯或扶梯到達(dá)下一層登機(jī)口。雖然這部分旅客并不在本研究中的樓層進(jìn)行登機(jī)操作,但流程操作一致,故邏輯模塊中對于此類旅客,流程結(jié)束即旅客到達(dá)扶梯指定位置。
(3)各單元服務(wù)時(shí)間
關(guān)于各單元的服務(wù)時(shí)間,由于旅客攜帶物品情況、旅客年齡、旅客操作是否熟悉等因素各不相同,因此無法確定一個(gè)統(tǒng)一的時(shí)間,但經(jīng)過數(shù)據(jù)分析,得出各功能單元服務(wù)時(shí)間區(qū)間如表2所示。
旅客完成值機(jī)的時(shí)間大多為1~4 min,有部分旅客由于自身原因花費(fèi)時(shí)間會大大超出此時(shí)間區(qū)間,所以此類數(shù)據(jù)應(yīng)當(dāng)剔除。安檢時(shí)間是指旅客通過整個(gè)安檢通道花費(fèi)的平均時(shí)間,一般為1~2 min,同樣有大大超出平均時(shí)間的特例,在此也不做考慮。機(jī)場播放登機(jī)廣播一般為飛機(jī)起飛時(shí)間前30 min,本研究不考慮航班延誤或提前等情況,默認(rèn)為航班準(zhǔn)時(shí)起飛,在機(jī)場播放登機(jī)廣播后,工作人員開始檢查登機(jī)牌,并引導(dǎo)旅客從登機(jī)口進(jìn)入飛機(jī),一般檢查時(shí)間為1~6 s即可完成。
(4)航班信息
本文模擬環(huán)境采用真實(shí)航班信息,包含航班名稱、起飛時(shí)間、值機(jī)柜臺和航班人數(shù)。航班人數(shù)在本模型中與旅客到達(dá)分布結(jié)合,完成旅客到達(dá)模塊。值機(jī)柜臺的數(shù)據(jù)包括值機(jī)柜臺名稱、值機(jī)時(shí)間、航班信息等,在本研究的航站樓中,旅客可以在各航空公司的柜臺進(jìn)行值機(jī)操作,而其中有一些柜臺僅向商務(wù)艙開放,在值機(jī)模塊前,智能體需要提前從所有可選擇的值機(jī)柜臺中選擇一個(gè)進(jìn)行值機(jī)。首先獲取當(dāng)前旅客智能體的坐標(biāo)(x,y),并與可以進(jìn)行值機(jī)操作的柜臺進(jìn)行距離比較,最終選擇最近的值機(jī)柜臺。值機(jī)柜臺下仍包含多個(gè)值機(jī)窗口,故旅客智能體會選擇排隊(duì)人數(shù)較少的窗口進(jìn)行值機(jī)操作,而商務(wù)艙旅客智能體則會選擇指定值機(jī)窗口進(jìn)行值機(jī)。
5.2 仿真模擬
將邏輯模塊與空間模塊結(jié)合,并將上文所述參數(shù)加入仿真模型當(dāng)中,并對旅客智能體加以一些限制,在服務(wù)選擇上采用隨機(jī)選擇的方式,但在離航班起飛前1.5 h,則強(qiáng)制智能體前往值機(jī)柜臺進(jìn)行值機(jī),其他必要環(huán)節(jié)同理。如果不對旅客智能體加以限制,就可能導(dǎo)致航班接近起飛但旅客仍未完成值機(jī)、安檢等一系列必要的流程操作,從而導(dǎo)致誤機(jī)現(xiàn)象產(chǎn)生。
Anylogic仿真軟件中允許使用Excel表格作為數(shù)據(jù)來源,故將存儲航班信息的Excel表導(dǎo)入Anylogic仿真軟件中,并逐行讀取航班信息,將航班信息作為參數(shù)導(dǎo)入封裝好的航班智能體當(dāng)中,使仿真模型旅客生成模塊可以按照對應(yīng)航班生成旅客智能體,并將上文所述各單元服務(wù)時(shí)間加入對應(yīng)邏輯模塊當(dāng)中。運(yùn)行2D仿真模型,仿真2D效果圖如圖6所示。
在2D環(huán)境下,由于本研究中的航站樓空間布局較大,因此不利于發(fā)現(xiàn)擁堵區(qū)域,此時(shí)可以使用密度圖的方式解決此問題。密度圖顏色的深淺代表當(dāng)前每平方米的行人智能體的數(shù)量,顏色深代表當(dāng)前區(qū)域人數(shù)多,顏色淺表示區(qū)域人數(shù)少。
Anylogic仿真軟件支持觀看模型的仿真3D模擬效果,在主頁面加入3D窗口即可觀看模型的3D動畫效果,此外可以添加3D元素,比如顯示器、安檢門等,可以讓模型更加生動。航站樓的部分仿真3D模擬效果如圖7所示。
5.3 數(shù)據(jù)可視化
本研究的目標(biāo)為建立細(xì)致化的仿真模型,能夠在一定程度上反映航站樓內(nèi)部情況,便于后期對航站樓的布局設(shè)計(jì)進(jìn)行優(yōu)化,對加強(qiáng)資源管理提出可行性方案。但是,僅搭建仿真平臺并不能讓管理者直觀地了解旅客平均安檢排隊(duì)時(shí)間、旅客平均等待時(shí)間等關(guān)鍵數(shù)據(jù),更無法實(shí)時(shí)發(fā)現(xiàn)哪些區(qū)域會產(chǎn)生擁堵情況,故本研究采用數(shù)據(jù)可視化方式將仿真模型在動態(tài)運(yùn)行中的各類數(shù)據(jù)以圖表的形式呈現(xiàn),既方便在調(diào)試中發(fā)現(xiàn)異常,又可以直觀地了解各區(qū)域人數(shù)與旅客平均等待時(shí)間等關(guān)鍵數(shù)據(jù)。
對圖8中的各類數(shù)據(jù)進(jìn)行解釋,并講解數(shù)據(jù)獲取方式。服務(wù)利用率是指各類服務(wù)中旅客智能體的數(shù)量與服務(wù)最大容納量的比值。以值機(jī)柜臺為例,本研究中設(shè)定每一個(gè)值機(jī)窗口前旅客排隊(duì)數(shù)量最多為30人,一號值機(jī)柜臺有10個(gè)值機(jī)窗口,那么當(dāng)前人數(shù)與一號值機(jī)柜臺最多容納人數(shù)300的比值即為服務(wù)利用率。同樣,服務(wù)利用率可以展示值機(jī)柜臺的利用率,利用組合框模塊組合可編輯字段和下拉列表,就能實(shí)現(xiàn)多種數(shù)據(jù)組合,并通過選擇不同服務(wù)展現(xiàn)不同服務(wù)區(qū)域的利用率??倳r(shí)間統(tǒng)計(jì)是指旅客智能體從生成到完成值機(jī)的時(shí)間,在創(chuàng)建旅客智能體時(shí),還要創(chuàng)建一個(gè)參數(shù)存儲旅客智能體的生成時(shí)間,并利用Anylogic仿真軟件自帶的獲取當(dāng)前模型時(shí)間函數(shù)獲取模型當(dāng)前時(shí)間。在完成登機(jī)流程時(shí),再次獲取模型當(dāng)前時(shí)間,減去旅客智能體生成時(shí)間,即旅客智能體在航站樓的總時(shí)間統(tǒng)計(jì),并將此值加入條形圖數(shù)據(jù)集中,完成總時(shí)間統(tǒng)計(jì)數(shù)據(jù)集構(gòu)建。平均用時(shí)是指總時(shí)間統(tǒng)計(jì)數(shù)據(jù)集中所有智能體完成登機(jī)的用時(shí)數(shù)據(jù)的平均值,旅客用時(shí)分布為以5 min為間隔的時(shí)間區(qū)間內(nèi)完成登機(jī)流程的智能體數(shù)量。
通過可視化模型運(yùn)行期間的部分動態(tài)數(shù)據(jù),在接下來的仿真優(yōu)化研究中,能夠快速地對各優(yōu)化方案進(jìn)行評估,仿真模型使用難度也大大降低。
6 結(jié)論(Conclusion)
通過Anylogic仿真軟件對機(jī)場航站樓進(jìn)行邏輯模塊和空間模塊建模,并對航站樓旅客流程進(jìn)行梳理,使用智能體封裝的方式減少邏輯模塊的數(shù)量,大大提高了模塊的復(fù)用性。在未來的研究中,可以為航站樓設(shè)施優(yōu)化和資源管理構(gòu)建仿真平臺,按照實(shí)際布局進(jìn)行模擬仿真,向機(jī)場管理者提供實(shí)時(shí)數(shù)據(jù),并根據(jù)仿真結(jié)果提出優(yōu)化建議。
作者簡介:
高國康(2000-),男,碩士生。研究領(lǐng)域:數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)。
鄭皎凌(1981-),女,博士,副教授。研究領(lǐng)域:智能信息處理與知識工程,機(jī)器學(xué)習(xí)。