Porovnání odbavovaní cestujících na letišti různými způsoby alokace checkin přepážek (Netlogo)

From Simulace.info
Jump to: navigation, search

Název simulace: Porovnání odbavovaní cestujících na letišti různými způsoby alokace checkin přepážek

Autor: Bc. Angel Kostov, xkosa20

Typ modelu: multiagentní simulace s diskrétními událostmi

Modelovací nástroj: Netlogo s rozšířením pro diskrétní události a práci s csv soubory

Definice problému

V počátku cestováním letadlem je třeba, aby cestující prošel odbavením, při kterém letecká společnost schválí cestujícímu odlet a zároveň mu odbaví zavazadla. V letišti Václava Havla jsou v současné době alokovány několik odbavovacích pultů vždy pro jeden let. Na druhou stranu v Dubajském letišti se alokuje skupina pultů, u kterých je možné se odbavit na více letů. Ačkoliv se může zdát, že dubajský model alokace odbavovacích pultů je efektivnější, existují stále případy, kdy někteří cestující se mohou ocitnout v situaci, že se neodbaví v čas. Například, pokud cestující se mylně zařadí do fronty na skupinu odbavovacích pultů, které neodbavují jeho let, může se stát, že pak nestihne vlastní odbavení, protože si musí vystát jinou frontu.

Konceptuální model problému

Konceptuální model výše uvedené situace má dvě roviny, prostorovou a časovou.

Prostorová rovina konceptuálního modelu

Prostorová rovina modelu zahrnuje statické prvky jako je samotná místnost terminálu, vstupy a výstupy z této místnosti, rozložení checkin přepážek, diskrétní zóny přepážek a oblast zad přepážkami, kde není možné vstupovat.

Dynamické prvky prostorové roviny modelu jsou hlavně cestující, kteří jsou v místnosti terminálu. Ti se mohou pohybovat po místnosti buďto s cílem se odbavit, nebo v případě, že cestující dorazil na terminál před počátkem odbavování, se může procházet jen tak. Pakliže cestující má za cíl se odbavit, musí se nejdřív zařadit do fronty na odbavení, přičemž, pokud nedává pozor, tak se může splést a nějakou dobu stát špatnou frontu. Jakmile cestující vystojí správnou frontu a dostane se k samotné přepážce, která má před sebou diskrétní zónu, kam může vždy jeden cestující. U přepážky se cestující zdržuje v průměru pět minut, ale v určitých situacích to může trvat déle, například když při odbavování nastanou komplikace se zavazadly (nevhodná váha, či milný předpoklad, že menší zavazadlo je možné vzít s sebou na palubu letadla). V jiném případě může mít cestující problémy se samotným odbavením letu (chybí některé doklady, nastala chyba při placení letu atd.). Cestující často u přepážky mohou mít také dotazy, jejichž vyjasnění může také nějakou dobu trvat. Po odbavení se pak cestující přemisťuje k pasové kontrole, kde pak vstupuje do tranzitního prostoru. Vstupem na tranzitní prostor cestující již není součástí modelu.

Časová rovina konceptuálního modelu

Z hlediska časové roviny modelu jsou přítomny různé druhy událostí, které nastávají v jednotlivé časové okamžiky.

Jedním z hlavních druhů událostí jsou termíny odletů, od kterých se odvozuje termín otevření přepážek pro odbavení. Doba na odbavení cestujících je zpravidla dvě hodiny a po uplynutí této doby se přepážka uzavře. U cestujících, kteří nestihli odbavení, se předpokládá, že nestihli termín odletu, tudíž jejich absence na letu se připočítává do tzv. statistiky "No Show", která udává počet cestujících, kteří se neodbavili pro daný let.

Další hlavní druh události je okamžik, ve kterém se cestující objeví na terminálu. Více informací k těmto událostí je uvedeno v sekci pro vstupní data modelu.

Způsoby alokace odbavovacích přepážek

V tomto modelu se pracuje se dvěmi způsoby alokace přepážek.

První způsob alokace přepážek je podobný způsobu na pražském letišti Václava Havla. Jedná se o model alokace, kde pro jednotlivé lety se otevře různý počet přepážek, na základě očekávaném počtu cestujících. Tedy jednotlivé přepážky odbavují vždy jeden let.

Druhý způsob alokace přepážek je podobný způsobu na dubajském letišti, kde skupina přepážek odbavuje více letů. Tedy jedna přepážka z jedné skupiny může odbavit například 20 různých letů.

Oproštění reality

Výše uvedený model je velmi zjednodušený od reality. V následujících odstavcích jsou hlavní oproštění od reality s jejich opodstatněním.

V uvedeném modelu není situace, kdy by cestující neměl možnost, jak se přesunout do tranzitního prostoru letiště, kvůli chybějících dokladů potřebných k odbavení, či například bezpečnostní hrozby. Cestující v uvedeném modelu se nepřesunou do tranzitního prostoru (nevstoupí do pasové kontroly) jedině z důvodu, že to nestihl v časovém úseku odbavování.

Uvedený model nezahrnuje odbavování cestujících online, protože v současné době počet odletů je výrazně nižší než před nástupem globální pandemické krize. Počet odletů je v současné době stále nižší, vzhledem k současné globální ekonomické a politické situace, která zahrnuje nástup období recese a významný válečný konflikt na území Ukrajiny.

Dále uvedený model nezahrnuje veškeré mobilní přepážky s možností provést samotný checkin bez odbavení zavazadel, které se provádí u jednolivých odbavovacích přepážek. Důvodem pro toto rozhodnutí je zjednodušení prostorového modelu a samotného chování cestujících v kontextu navigace v prostoru.

Další oproštění modelu je fakt, že model neobsahuje spoždění letů, které by jinak bylo nutné modelovat na základě pravděpodobností z dat, která nebyla nalezena v požadované formě, či rozsahu.

Data modelu

V této kapitole se uvedou vstupní data modelu, které se týkají definovaného problému

Data o odletech

Pro řešený problém je nutné simulovat reálné termíny odletů. Aktuální data o odletech jsou dostupná na stránkách pražského letiště v rozsahu zhruba jednoho a půl dne. Pro účely tohoto projektu se byly vybrány jen ty odlety, které se odbavují na terminálu 1, tedy mezinárodní lety a lety do zemí mimo šengenský prostor.

Za účelem získání těchto dat se vypracoval skript v jazyku Node, jehož zdrojový kód je uveden na konci této stránky. Tento skript přijímá data o aktuálních odletech z API rozhraní webových stránek pražského letiště v podobě JSON objektů. Tyto JSON objekty mají řadu atributů a pro účely této práce se vybraly následující.

  • time (časová značka odletu)
  • flyNumber (číslo letu)
  • company (společnost provozující let)
  • chin (počet přepážek pro odbavení cestujících)

Ačkoliv JSON objekty poskytovali řadu údajů, bylo třeba vygenerovat z času odletu také čas zahájení odbavování. Tedy pro každý odlet se vygenerovala časová značka, která je o 2 hodiny dřív než čas odletu. Po provedení potřebných transformací dat se výsledné záznamy převedly do CSV formátu, který se následně ukládá do souboru. Tento soubor je pak použit jako vstup do simulace, k vygenerování rozvhu diskrétních událostí uvnitř multiagentní simulace.

Pro spuštění skriptu je třeba mít na pracovní stanici nainstalovaný Node (použitá verze byla v14.17.3, odkaz ke stažení je zde), dále je třeba nainstalovat veškeré závislosti skriptu (k instalaci závislostí je možné použít nástroj pro správu node závislostí npm - pomocí příkazu `npm i`, či jiný dle preference). Pro změnu názvu souboru stačí změnit hodnotu proměnné "FILE_NAME" ve skriptu. Soubor se vždy ukládá ve stejné složce, kde se nachází skript, tudíž k využití tohoto souboru v simulaci je nutné soubor přemístit do stejné složky, kde se nachází soubor netlogo simulace (soubor s koncovkou .nlogo).

V případě potíží spustit skript se na konci stránky uvedl hotový CSV soubor vygenerovaný tímto skriptem.

Další data

Další data, která byla využita pro simulaci jsou průměrný počet cestujících na jeden let, průměrná hodnota "No Show" statistiky a pravděpodobnostní rozdělení příchodu cestujícího na terminál.

Průměrný počet cestující je možné získat analýzou jednotlivých společností, které provozují lety na pražském letišti. Konkrétně pokud by se získali údaje o jednotlivých letounech, které společnost vlastní, bylo by možné zjistit průměrnou kapacitu letounů. V případě dostupnosti dat o obsazenosti jednotlivých letů společnosti by bylo možné získat parametr průměrné obsazenosti jednotlivých letů. Bohužel tento přístup je z hlediska rozsahu tohoto projektu velmi časově náročný a zahrnuje riziko, že ne u každé společnosti budou dostupná jednotlivá data ve stejné míře. Místo toho se průměrný počet cestujích na jeden let odvodi ze směrnice FAA, sekce 3 "Kapacita letových dopravních prostředků a její utilizační faktory", kde se stanovuje, že průměrný počet cestujících je 160.

Pro stanovení průměrné hodnoty statistiky "No Show" se využil zdroj (KAMPS 2017), který uvádí, že v průměru statistika "No Show" vychází na 5 %.

Pro stanovení pravděpodobnostního rozdělení příchodu jednoho cestujícího na terminál se využil zdroj (ALODHAIBI 2019).

Implementovaný model

V této kapitole je popsána implementace konceptuálního modelu. Nástroj pro implementaci byl zvolen Netlogo. Pro implementaci diskrétních událostí bylo použito rozšíření.

První krok přípravy simulace je generování prostoru terminálu 1 pražského letiště. Původně prostor měl poměr 1 metr čtverečný na 1 políčko (patch) (rozměry byly získány pomocí online nástroje na vyměřování vzdálenosti v aplikaci maps.google.com). Nicméně v pozdější fáze implementace simulace se ukázalo, že s tímto poměrem je komplikace tvořit fronty přímo před jednotlivé přepážky, vzhledem k tomu, že některé přepážky se s původním poměrem nacházeli mezi dvě políčka. Navíc s původním poměrem nezbylo moc místa pro tvorbu samotných front. Kvůli tomu se simulovaný prostor terminálu zvětšil o 20 %. Zároveň se upravila pozice jednotlivých skupin přepážek tak, aby prostor mezi přepážkami byl dostatečný pro tvorbu front.

Další fáze přípravy je nastavení diskrétních událostí. V této fázi je nutné inicializovat čas simulace, k čemuž je potřeba získat čas prvního letu, respektive čas první otevřené přepážky z CSV souboru. Tento čas je třeba změnit na dřívější (cca 10 minut), aby bylo možné generování brzy příchozích cestujících, kteří dorazí na terminál dřív jak za 2 hodiny od termínu odletu. Výsledný čas je pak třeba spárovat s taktem simulace v Netlogo (s ticks). Konkrétně na každý takt čas inkrementuje o jednu sekundu. Po zakotvení čas s taktem simulace se inicializuje tzv. rozvrh diskrétních událostí. Vstupem pro inicializaci těchto událostí je zmíněný CSV soubor. Z jednotlivých záznamů CSV souboru se vkládají do rozvrhu diskrétních událostí nejdříve události týkající se jednotlivých přepážek (jejich otevření, tedy začátek odbavování a zavření, tedy konec odbavování) a poté jednotlivých cestujících.

Po spuštění simulace se spustí její takt a tímpádem běží i čas uvnitř simulace. Jakmile nastane čas, který je uvedený v rozvrhu diskrétních událostí, tak se spustí procedury, které spadají pod dané události. Cestující po příchodu na terminál se mohou potulovat, pokud jejich čas příchodu je dřívější než čas zahájení odbavení. Po zahájení odbavení se před přepážkami, kterých se odbavování týká, nastaví políčko jako začátek fronty (políčko obsahuje číslo letu). Ve stejnou chvílí si přítomní cestující změní chování tak, že vždy jeden odchází se zařadit do fronty. Důvod použití tohoto chování agentů je zkrátka předcházení shluků agentů po cestě na konec fronty, který pak blokuje celkový průchod simulace.

Zdroje

Směrnice FAA, sekce 3 "Kapacita letových dopravních prostředků a její utilizační faktory", odkaz

ALODHAIBI, Sultan, Robert L. BURDETT a Prasad K.D.V. YARLAGADDA, 2019. Impact of Passenger-Arrival Patterns in Outbound Processes of Airports. Procedia Manufacturing [online]. 30, 323–330. ISSN 23519789. Dostupné z: doi:10.1016/j.promfg.2019.02.046

KAMPS Haje Jan, 2017. Why do airlines overbook their flights? TechCrunch [online]. [vid. 2022-06-12]. Dostupné z: https://social.techcrunch.com/2017/04/11/overbooking/

Soubory