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