České vysoké učení technické v Praze Fakulta Dopravní Ústav letecké dopravy Odbavení zavazadel na letišti Semestrální práce Vybrané statistické metody Bc. Marek Slavíček Praha 2011
1. Úvod Leteckou dopravu charakterizuje přes drobné výkyvy trvalý růst. Letiště obsluhují stále více letadel, počty pohybů, odbavených cestujících i nákladu se za posledních dvacet let téměř zdesetinásobil 1. Letecké společnosti, letiště, služby řízení letového provozu a další složky účastnící se civilní letecké dopravy se tomuto trendu musí pravidelně přizpůsobovat a podle aktuálního vývoje patřičně expandovat. Odbavení zavazadel na letištích je nedílnou součástí odbavení cestujících, jeho objem tudíž také roste. Proces odbavení zavazadel se skládá z několika kroků: a) přihlášení zavazadla na odbavovací přepážce (Check-in) b) kontrola zavazadla pomocí rentgenového zařízení, zda neobsahuje zakázané předměty, látky apod., které nesmí být přepravovány na palubách letadel c) třídění zavazadel v třídírně podle jednotlivých letů d) přeprava zavazadel z třídírny k letadlům e) nakládka zavazadel do letadel Z logiky věci je zřejmé, že každý z těchto kroků představuje potenciální úzké hrdlo systému a nedostatečná kapacita prvků jednotlivých kroků může znamenat prodlevy v systému odbavení. Je v zájmu letiště, aby byl systém dostatečně dimenzován a počty jednotlivých prvků byly vyvážené. 1 http://www.prg.aero/cs/o-letisti-praha/paralelni-draha/proc-paralelni-draha/poptavka-po-letecke-doprave/ 2
2. Model v programu HPSim Systém odbavení zavazadel byl nejprve simulován za pomocí programu HPSim, viz Obr. 1. Obr. 1 Schéma modelu v programu HPSim 3
Celý proces je rozdělen na dvě téměř samostatné části na zavazadla odbavovaná v rámci Schengenského prostoru a na zavazadla směřující mimo Schengenský prostor. Vycházíme z daného objemu zavazadel. Poměr zavazadel směřujících do a ze Schengenského prostoru byl pro potřeby modelu stanoven na přibližně 2:1. Jelikož jsou obě větve odbavení funkčně identické, bude dále popsána jen jedna z nich. Zavazadla, která mají cestující u sebe, jsou odbavována na odbavovacích přepážkách (světle žlutá). Jedna přepážka je vyhrazena pro nadrozměrná zavazadla, je značena tmavší žlutou barvou. Zavazadlo je označeno číslem letu a posláno po pásových dopravnících do (zpravidla) podzemí letiště. Zde je nutné zavazadla zkontrolovat, zda neobsahují zakázané předměty. Tento krok obsluhují automatické rentgenovací jednotky (světle zelená). Pokud je zavazadlo v pořádku, je odesláno do třídírny zavazadel. Třídírna je soustava pásových dopravníků, skenerů a dalších zařízení, která zavazadla roztřídí podle čísla letu. Jelikož není možné jednoduše v programu HPSim simulovat činnost třídírny (tokenu nelze přiřadit žádné vlastnosti, podle kterých by bylo možné jej identifikovat), je zde charakterizována jen jako zásobník na tokeny. Neprojde-li zavazadlo rentgenovací jednotkou, je posláno do rentegnu s lidskou obsluhou, na schématu značeno tmavší zelenou. Zde je několikrát testováno, a pokud je podezření, že obsahuje závadný obsah, je předáno k ruční kontrole. Ze zásobníku jsou zavazadla pomocí přepravních vozíků přepravovány do letadel (červená). Pro účely simulace bylo stanoveno množství tokenů, které představují jeden vozík. Tyto vozíky jsou pak posílány do letadel, jedno letadlo je opět charakterizováno jako token emitovaný po přijetí určitého množství vozíků. Letadlo poté odlétá z letiště pryč. Systém odbavení je charakterizován Markovský řetězec probíhající ve spojitém čase. Odbavovací přepážky a rentgeny a zásobníky pracují ve frontovém režimu typu FIFO (First In First Out) zavazadla, která vstoupí jako první, také jako první vystoupí. Vozíky na zavazadla a letadla jsou charakterizována frontovým režimem typu LIFO (Last In First Out), který vyplývá z podstaty nakládání zavazadel do nich zavazadla naložená poslední jsou na vrchu a proto budou vyložena jako první. Všechna zařízení můžeme klasifikovat podle Kendallovy klasifikace jako M/M/X, přičemž X reprezentuje počet zařízení daného typu. 4
V průběhu návrhu a vytváření modelu v programu HPSim se však vyskytla celá řada problémů. Především je to obtížná simulace pravděpodobnosti výskytu jevu. Pravděpodobnost, že bude zavazadlo označeno jako závadné a bude odesláno ke kontrole pracovníky letiště, je řádově ve stovkách až tísících ku jedné. Aby bylo možné nasimulovat toto chování v programu HPSim, bylo by nutné vytvořit pro každý rentgen jedno hradlo pro pozitivní detekci a několik set hradel pro negativní detekci. Takové řešení by však nesmírně zkomplikovalo vytváření modelu a jeho pozdější úpravy. Byla proto použita pravděpodobnost 1:5 a další rozhodování uvnitř rentgenu s lidskou obsluhou. Druhým problémem, který byl zjištěn až po dokončení modelu, je chování programu v okamžiku, kdy existuje větší množství tokenů, které směřují do jednoho místa v jeden čas. Pokud existuje alternatviní místo, kam se může token přesunout, program ho tam odešle. Tím se však zruší veškerá pravděpodobnost a při testech docházelo k přesně opačným výsledkům nejvíc tokenů končilo v místech, kde by vzhledem k pravděpodobnosti neměly v takovém množství být. Přestože situaci částečně zlepšilo zařazení mezizásobníků, simulace se přesto ukázala jako velmi nespolehlivá, což společně s dalšími problémy a chybami programu (absence tlačítka Zpět, nemožnost jednoduchým způsobem získat výsledná data, velmi neintuitivní ovládání atd.) vedlo k rozhodnutí naprogramovat model a obsluhující aplikaci vlastními silami. 5
3. Vlastní řešení Pro naprogramování modelu a aplikace byl využit programovací/skriptovací jazyk PHP. Přestože jde o jazyk primárně určený pro tvorbu webových stránek a aplikací, bylo vzhledem k podpoře objektového programování možné jej použít. Jako základ aplikace posloužil framework Nette 2, který byl využit jako šablonovací systém a pro zjednodušení práce se sessions. Pro grafickou reprezentaci dat v podobě grafů byla do aplikace zakomponována knihovna JPGraph 3. Cílem při návrhu aplikace bylo co nejvíce se přiblížit schématu navrhnutému v programu HPSim a zjednodušení získávání dat. Zdrojové kódy aplikace jsou přiloženy u této semestrální práce a funkční verze byla nahrána na server http://www.vsm.hacko.biz/ Popis vnitřních záležitostí aplikace by byl poměrně komplikovaný, proto bude omezen na popis ovládacího rozhraní a jednoduchého principu. Nejdůležitější části aplikace leží ve složce app, konkrétně: app/models obsahuje objekty, které představují jednotlivé prvky simulace a které zajišťují aplikační modelovou logiku app/presenters/homepage controller aplikace, slouží pro komunikaci mezi uživatelským rozhraním a modelem aplikace app/templates/homepage/ šablona pro grafický (HTML) výstup 2 http://www.nette.org/ 3 http://jpgraph.net/ 6
4. Popis aplikace Aplikace umožňuje na rozdíl od HPSimu zadat vstupní parametry pro simulaci velmi jednoduše a flexibilně, není proto nutné složitě upravovat schéma pokud například chceme přidat dalších pět rentgenovacích jednotek. Jak bude ukázáno dále, je úprava parametrů a jejich následná optimalizace díky tabulkovému a grafickému výstupu neporovnatelně jednoduší. Jediné omezení aplikace je omezení výkonové - čím více objektů do simulace přidáme a čím větší nastavíme čas, tím bude simulace trvat déle, v limitním případě může dojít k překročení času spouštění skriptů a především přidělené paměti dané nastavením serveru. Toto omezení lze částečně obejít spouštěním aplikace na vlastním serveru, kde máme možnost tyto limity navýšit podle potřeby. Časy, které se nastavují v parametrech a následně se zobrazují ve výsledcích, jsou časy v podstatě relativní, poměrové, podobně jako krokování v HPSimu. Vyjadřují, kolik kroků simulace je potřeba k určité činnosti. Doby jednotlivých dějů (tzn. odbavení na přepážce, skenování rentgenů, převozu zavazadel k letadlům, pojíždění letadel) nejsou pevné, mění se pro každý krok a simulují tak proměnlivé zpoždění hradel v HPSimu. Aby bylo možné simulovat různá zatížení zařízení při zpracování zavazadel, je aplikace spouštěna takříkajíc v reálném čase v každém kroku, resp. minutě, jsou zařízení v určitém stavu. Buď přijímají zavazadlo, zpracovávají jej, nebo čekají na další. Krokování tak umožňuje analyzovat, zda se vytvářejí fronty, nebo jsou některá zařízení nevytížená. Při zpracování se zařízení berou od prvního, to znamená, že v případě jejich nerovnoměrného zatížení bude nejvíce vytížené první zařízení. Data z běhu aplikace se ukládají, což umožňuje grafický výstup a následnou analýzu. 7
5. Analýza výsledků a postup optimalizace Vezměme modelovou situaci. Máme letiště, u kterého chceme odbavit 2800 zavazadel v průběhu 1000 minut. Potřebujeme zjistit množství odbavovacích přepážek, rentgenů a dopravních vozíků, které tuto činnost zvládnou, zároveň však nechceme systém předimenzovat. Průměrný čas potřebný pro odbavení zavazadla jsou tři minuty, pro zrentgenování zavazadla jedna minuta, pro převoz a naložení zavazadel do letadla 15 minut, doba od naložení letadla do jeho odletu 20 minut. Kapacita vozíku je 25 zavazadel. Simulaci letiště se Schengenskou a Non-Schengenskou částí lze jednoduše zařídit spuštěním aplikace dvakrát, pokaždé s danými vstupními parametry, jelikož se jedná o dva na sobě nezávislé procesy. V prvním kroku budeme optimalizovat počet odbavovacích přepážek. Odhadněme potřebné množství na pět. Vstupní parametry jsou znázorněny na Obr. 2. Obr. 2 Zvolená vstupní data 8
Spustíme simulaci a začneme analyzovat výstup. Obr. 3 Výsledek prvního spuštění Z výstupních dat na Obr. 3 vidíme, že pět odbavovacích přepážek není schopno za daný čas odbavit takové množství zavazadel, došlo k odbavení jen 962 zavazadel. Zvýšíme proto množství přepážek na kupříkladu dvacet. Po proběhnutí simulace zjistíme, že všechna zavazadla byla odbavena přibližně jednu hodinu, tzn. více než tři a půl hodiny před limitem. Postupným zkoušením tak dojdeme k šestnácti odbavovacím přepážkám, které by měly mít dostatečnou rezervu. 9
Dále budeme optimalizovat počet rentgenů. Nejvíce nám napoví pohled na grafy vytížení rentgenů a množství zavazadel v zásobníku. Obr. 4 Průběh zásobníku 1 při nedostatečném počtu rentgenů Vidíme, že všechny tři rentgeny, které jsme zvolili jako výchozí počet, pracovaly po celou dobu naplno. Graf zásobníku 1 (Obr. 4) říká, že se v něm od samého začátku začaly hromadit odbavená zavazadla. Teprve v čase cca 15:10 začalo množství zavazadel v zásobníku klesat, což je okamžik, kdy svou práci dokončily odbavovací přepážky. 10
Podívejme se nyní na rozdíl mezi šesti a sedmi rentgeny. Obr. 5 Zásobník 1 - šest rentgenů Obr. 6 Zásobník 1 - sedm rentgenů Na Obr. 5 je průběh zásobníku systému se šesti rentgeny, na Obr. 6 se sedmi. Vlevo vidíme postupné hromadění zavazadel až do cca 15:00, kdy skončila práce odbavovacích přepážek. Poté byly rentgeny schopné dokončit práci v daném čase. Sedm rentgenů naproti tomu bylo schopno téměř okamžitě zpracovat všechna zavazadla, která přišla do zásobníku. Pokud bychom zvolili více rentgenů, než je potřeba, poznáme to nejen z průběhu zásobníku, ale i z grafu oskenovaných zavazadel jednotlivými rentgeny. Obr. 7 Vytížení rentgenů - předimenzováno Na Obr. 7 vidíme vytížení rentgenů při volbě deseti rentgenovacích jednotek - z principu práce aplikace jsou nejvytíženější první rentgeny, dále vytíženost klesá. Optimalizace počtu přepravních vozíků na zavazadla probíhá stejně, jako optimalizace počtu rentgenů. Využíváme přitom průběh zásobníku 2 a graf vytíženosti jednotlivých vozíků. Aplikace stejně jako v reálném provozu průběžně nakládá zavazadla do vozíků, které jsou aktuálně k dispozici. V okamžiku, kdy se vozík zcela naplní, nebo již byla naložena všechna 11
odbavená zavazadla, je odeslán k letadlu. Pro naši modelovou situaci bylo zjištěno, že k převezení zavazadel postačí dva vozíky, které jsou však plně vytížené, téměř neustále dochází k hromadění zavazadel v zásobníku. Pro reálný provoz by tak bylo vhodnější zvolit vozíky tři. Obr. 8 Zásobník 2 - dva vozíky Obr. 9 Zásobník 2 - tři vozíky Zavazadla z vozíků jsou nakládána do letadel. Kapacita letadla je z důvodu zjednodušení násobkem kapacity vozíku, přičemž násobek je náhodné celé číslo z množiny <1; 6>, což simuluje variabilitu provozu. V případě, že bylo dokončeno převezení všech odbavených zavazadel, odletí poslední letadlo bez ohledu na to, zda bylo naplněno. 12
6. Modelový příklad a jeho optimalizace za využití aplikace Na modelovém letišti Anytown je v současné době 8 odbavovacích přepážek, 5 rentgenovacích jednotek a 4 vozíky na zavazadla. V současné době je propustnost systému průměrně 1743 zavazadel za 12 hodin. Denně je třeba odbavit 2400 zavazadel, což systém nesplňuje, a proto dochází ke zpožděním letadel. Cílem optimalizace je navrhnout vylepšení systému tak, aby byl schopen zpracovat 2400 zavazadel za 12 hodin. Číslo měření Odbavená zavazadla Oscanovaná zavazadla Zavazadla převezená vozíky Zavazadla pro ruční kontrolu 1 1904 1892 1850 9 1650 2 1911 1899 1850 9 1700 3 1906 1897 1850 3 1650 4 1893 1886 1850 3 1675 5 1930 1915 1875 7 1675 6 1918 1909 1875 6 1775 7 1919 1909 1875 5 1750 8 1916 1909 1875 5 1750 9 1903 1896 1850 3 1750 10 1912 1905 1875 3 1675 11 1916 1904 1875 7 1775 12 1930 1921 1875 6 1750 13 1918 1909 1875 6 1725 14 1923 1913 1875 4 1800 15 1911 1900 1850 7 1750 16 1933 1923 1875 6 1700 17 1916 1906 1875 5 1750 18 1919 1908 1875 7 1725 19 1905 1896 1850 2 1750 20 1913 1906 1850 1 1725 21 1923 1913 1875 5 1750 22 1906 1892 1850 9 1750 23 1915 1908 1875 3 1775 24 1909 1898 1875 4 1775 25 1906 1898 1850 2 1725 26 1896 1882 1825 8 1700 27 1916 1902 1875 10 1725 28 1925 1920 1875 2 1800 29 1922 1915 1875 4 1800 30 1907 1902 1875 0 1700 Odletělo zavazadel 13
1850 1800 1750 1700 1650 1600 1550 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Graf 1 Odbavená zavazadla odletěná z letiště - před optimalizací V prvním kroku optimalizujeme počet odbavovacích přepážek. Jako nejhodnější počet se jeví 12 odbavovacích přepážek. Číslo měření Odbavená zavazadla Oscanovaná zavazadla Zavazadla převezená vozíky Zavazadla pro ruční kontrolu 1 2400 2289 2225 9 2150 2 2400 2239 2175 5 2025 3 2400 2268 2200 3 2075 4 2400 2269 2225 7 2075 5 2400 2276 2225 3 1975 6 2400 2290 2225 5 2150 7 2400 2258 2200 2 2075 8 2400 2277 2225 4 2125 9 2400 2278 2225 8 2050 10 2400 2285 2250 12 2100 11 2400 2244 2200 4 2000 12 2400 2268 2200 4 2050 13 2400 2284 2225 5 2150 14 2400 2287 2250 7 2000 15 2400 2259 2200 8 2100 16 2400 2265 2200 5 2125 17 2400 2263 2225 6 2150 18 2400 2280 2200 7 2125 19 2400 2294 2225 4 2100 20 2400 2262 2200 2 2125 21 2400 2258 2200 7 2075 22 2400 2294 2225 6 2125 23 2400 2291 2225 5 2050 24 2400 2257 2200 4 2025 25 2400 2261 2200 4 2100 26 2400 2259 2200 8 2075 27 2400 2263 2200 9 2050 28 2400 2236 2175 4 2100 29 2400 2264 2200 4 2025 30 2400 2277 2225 5 2050 Odletělo zavazadel 14
2405 2400 2395 2390 2385 2380 2375 2370 2365 2360 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Graf 2 Odbavená zavazadla odletěná z letiště - 1. optimalizace Ve druhém kroku optimalizujeme počet rentgenů. S ohledem na dostatečnou kapacitu bylo vybráno 8 rentgenů. Po druhé optimalizaci je systém schopen obsloužit 2400 zavazadel za 12 hodin s dostatečnou rezervou. Neobsloužená zavazadla jsou z převážné většiny zavazadla, která neprošla rentgenovou kontrolou a jsou určena k ruční kontrole. Počet vozíků, které jsou na letišti, se ukázal jako dostatečný. Číslo měření Odbavená zavazadla Oscanovaná zavazadla Zavazadla převezená vozíky Zavazadla pro ruční kontrolu 1 2400 2394 2394 6 2394 2 2400 2394 2394 6 2375 3 2400 2392 2392 8 2392 4 2400 2392 2392 8 2392 5 2400 2392 2392 8 2392 6 2400 2390 2390 10 2390 7 2400 2391 2391 9 2391 8 2400 2392 2392 8 2392 9 2400 2399 2399 1 2399 10 2400 2392 2392 8 2392 11 2400 2393 2393 7 2393 12 2400 2395 2395 5 2394 13 2400 2397 2397 3 2397 14 2400 2392 2392 8 2392 15 2400 2393 2393 7 2393 16 2400 2394 2394 6 2394 17 2400 2397 2397 3 2397 18 2400 2392 2392 8 2392 19 2400 2394 2394 6 2394 20 2400 2390 2390 10 2390 21 2400 2393 2393 7 2393 22 2400 2394 2394 6 2394 23 2400 2392 2392 8 2392 24 2400 2393 2393 7 2393 25 2400 2394 2394 6 2394 26 2400 2398 2398 2 2398 27 2400 2394 2394 6 2394 28 2400 2393 2393 7 2393 Odletělo zavazadel 15
29 2400 2392 2392 8 2392 30 2400 2396 2396 4 2396 2405 2400 2395 2390 2385 2380 2375 2370 2365 2360 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Graf 3 Odbavená zavazadla odletěná z letiště - 2. optimalizace Neodeslaná zavazadla: před optimalizací, první optimalizace, druhá optimalizace Před optimalizací 1. optimalizace 2. optimalizace Aritmetický průměr 666,67 320,00 7,20 Medián 650 325 7 Modus 650 325 8 Směrodatná odchylka 39,21 46,66 3,88 Rozptyl 1537,04 2177,50 15,06 Variační koeficient 0,059 0,146 0,539 Variační rozpětí 150 175 24 Neodeslaná zavazadla: T-Testy 1. optimalizace 1,4537E-22 0,435074279 2. optimalizace 9,67859E-37 1,25452E-22 16
0,300 0,250 0,200 0,150 0,100 0,050 0,000 0,267 0,233 0,167 0,167 0,167 600-630 631-660 661-690 691-720 721-750 Graf 4 Histogram neodbavených zavazadel před optimalizací 0,350 0,300 0,250 0,200 0,150 0,100 0,050 0,000 0,333 0,233 0,233 0,100 0,100 250-285 286-320 321-355 356-390 391-420 Graf 5 Histogram neodbavených zavazadel po 1. optimalizaci 1,000 0,800 0,800 0,600 0,400 0,200 0,000-0,200 0,167 0,000 0,000 0,033 1-5 6-10 11-15 16-20 21-25 Graf 6 Histogram neodbavených zavazadel po 2. optimalizaci Ideální stavem na letišti Anytown, které má odbavit 2400 zavazadel za 12 hodin je: - 12 odbavovacích přepážek - 8 rentgenů - 4 vozíky 17
7. Závěr Naprogramování vlastní aplikace pro řešení optimalizace odbavení zavazadel na letišti umožnilo volněji pracovat s návrhem optimálního počtu prvků, činit přesnější a kvalifikovanější odhady a díky grafickému výstupu také přehledněji interpretovat výsledky. Na druhou stranu se jedná o náročnější řešení, které je pouze jednoúčelové a které musí být navrhnuto přesně na konkrétní úlohu. Aplikace se nedá použít pro víc typů úloh, musela by se naprogramovat nová úplně od začátku. 18