User:Sanv05
Contents
Kontrola jízdenek v MHD
Definice problému
MHD je nedílnou součástí života v Praze. Aktuálním problémem v této sféře je cestování bez platného jízdného dokladu. Jelikož je dopravní podnik mimo jiné financován právě z příjmů z jízdného, daný problém představuje zdroj finančních ztrát. Představená simulace se zabývá optimalizací kontrol platnosti jízdních dokladů v systému pražské MHD. Její cílem je otestovat, jak počet a rozmístění revizorů v síti metra ovlivňují objem udělených pokut a míru zachycení černých pasažérů. Pomocí simulace lze najít vhodné inspekční strategie, které určí, kam a kolik revizorů umístit pro zefektivnění jejich práce. Výsledky simulace mohou pak sloužit jako doporučení pro dopravní podnik k tomu, jakou inspekční strategii zvolit pro optimalizaci kontrol jízdenek.
Metoda
Pro vypracování multiagentní simulace byl použit nástroj NetLogo. Výhodou daného nástroje je velmi intuitivní prostředí, ve kterém uživatel může modelovat chování agentů, vytvářet vizualizace sítě stanic, průběhu a časového vývoje sledovaných parametrů simulace. NetLogo umožňuje rychlé nastavení vstupních parametrů, jako jsou umístění a počty revizorů, a okamžité sledování dopadu změn.
Jako alternativy byly hned na začátku odmítnuty obecné programovací jazyky a knihovny (složité nastavení a podrobné kódování) a deterministické modely (nezachycují náhodu při kontrolách platnosti jízdenky). Nástroje na systémovou dynamiku, např. Vensim, by pak nedokázaly reprezentovat přesné umístění revizorů a jednotlivé agenty s platnou či neplatnou jízdenkou, proto bylo zvoleno NetLogo.
Pro agregaci dat z většího počtu běhů a analýzu výsledků z různých scénářů byl použit Microsoft Excel. Je to známé, rychlé a obecně standardní řešení pro podobné úlohy.
Model
Stanice
Základem modelu je prostředí, ve kterém bude probíhat simulace. Je to reprezentace centrální části pražského metra, která zahrnuje 3 linky (A, B, C). Vzhledem k výkonnostním a vizuálním omezením bylo rozhodnuto zobrazit pouze 5 stanic každé linky, tedy dohromady 15 stanic:
- Linka A — Staroměstská, Můstek, Muzeum, Náměstí míru, Jiřího z Poděbrad
- Linka B — Karlovo náměstí, Národní třída, Můstek, Náměstí republiky, Florenc
- Linka C — I. P. Pavlova, Muzeum, Hlavní nádraží, Florenc, Vltavská
V rámci modelu v kódu NetLogo jsou pojmenovány symbolicky (A1-A5, B1-B5, C1-C5) pro jednodušší správu rozmístění. Každá stanice je agent station, který má jako jeden z atributů název konkrétní linky, jejíž součástí je. Stanice jedné linky jsou mezi sebou pak vizuálně spojeny, obarveny a zařazeny do jednoho z globálních seznamů station-list-X, kde X je název linky. Tím způsobem je vytvořena linka jako posloupnost stanic, tři takové linky tvoří výsledné prostředí.
TODO MAPA
Revizoři
Další agenti jsou revizoři, reprezentované v modelu modrými kruhy vedle stanic. Jsou přiřazeny ke stanici, kde pak zůstávají a kontrolují pasažéry (pokud jsou na dané stanici) podle hodnoty inspection-rate. Pokud je v oblasti stanice více pasažérů, revizor zkontroluje tolik, kolik může podle této proměnné.
Pasažéři
Nakonec v modelu jsou pasažéři, které jsou před začátkem simulace čekají na náhodných stanicích. Po začátku simulace začínají pohybovat se po lince, ke které jsou přiřazeni, dokud nedorazí do cílové linky nebo nebudou zachyceni revizorem. Jejich atributy jsou:
- valid-ticket? — boolean hodnota, zda má platnou jízdenku nebo ne, podle ní je také nastavena barva pasažéra: bíla - má, fialová - ne
- state — stav, v jakém je: waiting (čeká na stanici) nebo traveling (v pohybu)
- line — linka, po které se pohybuje
- current-index — aktuální nebo poslední navštívená stanice
- destination-index — cílová stanice
Globální proměnné
- station-list-A/B/C — seznamy stanic
- inspection-rate — míra kontrol za tick
- fare-evasion-rate — míra jízd bez jízdenky
- max-ticks — počet ticků pro zastavení simulace
- passenger-spawn-rate — kolik vznikne pasažérů na stanici při generování pasažerů
- num-inspectors — počet revizorů, musí odpovídat počtu elementů v inspector-assignments
- total-fines — počet udělených pokut za běh
- total-evaders — počet černých pasažérů za běh
- inspector-assignments — seznam s se stanicemi, kde jsou revizoři, musí odpovídat num-inspectors
- total-spawned — počet pasažérů za běh
Propojení na data, časová osa simulace a dopravní špičky
Aby model mohl odpovídat realitě (s určitými omezeními), byla získána data pro daný kontext. Například míra cestujících bez platné jízdenky byla odhadnuta dle zdrojů na 8% pro Prahu, pak porovnána s jinými státy pro jistotu a byla ponechána na 8%. Výše pokuty je 1500 Kč dle DPP. Další skutečností je plat revizorů, který činí 63000 Kč (je to včetně bonusů za pokuty, ale bylo počítáno s maximem) — sice v simulaci použit nebyl, ale hodil se pro závěreční analýzu.
Zvolený počet cestujících, kteří denně využívají metro, je odvozen z dat o cestujících v MHD. 338 mil. — počet pasažérů ročně, tedy 926 tis. denně. Nejprve dané číslo bylo samozřejmě zkráceno kvůli omezením počítače a délky simulací, tedy vyděleno 10. Jelikož modelujeme jenom část metra (15/61 stanic, zhruba čtvrtina), můžeme počítat s menším počtem pasažérů, např. také s čtvrtinou. Čtvrtina od 92600 je zhruba 23000. Tak vznikl orientační počet denních cestujících v simulacích, kterého bylo pak dosaženo přes přesnější nastavení parametru passenger-spawn-rate. Jak ukážou výsledky, počty denních cestujících se pohybovaly zpravidla v rozmezí 22000-25000, což odpovídá odhadu. Podobnou logiku má i počet revizorů. Podle nalezených dat obvykle v pracovní dny "v terénu" je kolem 100 revizorů, ale realističtější a vhodnější bylo operovat s menším počtem revizorů, takže je ten počet v simulacích kolem 10, s odchylkou pro konkrétní případy.
Co se týká času simulace, jeden běh reprezentující jeden den trvá 2280 ticků, a to bylo odvozeno následovně. Bylo zjištěno, že metro je v provozu zhruba od 5 do 24, tedy 19 hodin, neboli 1140 minut. Bylo také rozhodnuto, že za tick je vhodné mít nejmenší časovou jednotku, kterou chceme reprezentovat, v daném případě je to odhad délky jedné kontroly, cca 30 sekund. Některé kontroly mohou být skoro okamžité, občas to může trvat déle, odhad je tedy ze zkušeností autora.
V rámci simulace jsou také zohledněny dopravní špičky. Intervaly 300-700 ticků považujeme za ranní špičku a 1500-1900 za odpolední/večerní špičku. Je to realizováno přes spuštění generování pasažérů ještě jednou, což dočasně na dobu špičky zvýší počet cestujících v metru. Po skončení špičky na několik ticků zastavíme obnovení pasažérů, aby se počet cestujících vrátil na základní úroveň. Než se to ale stane, musíme také zajistit vyšší počet kontrol, a je to uděláno pomocí proměnné inspection-rate. Vyšší hodnota této proměnné znamená to, že revizor za jeden tick zkontroluje více cestujících, které se nachází kolem něj na dané stanici. To lze pozorovat na grafech: první je počet cestujících, druhý je počet udělených pokut v odpovídající časy.
TODO GRAFY
Průběh simulace
Výsledky
Závěr
Kód
Reference
- Dopravní podnik hl. m. Prahy. (b.r.). Výše přirážky a doplatková pokladna. Dopravní podnik hl. m. Prahy, akciová společnost. Získáno 10. červen 2025, z https://www.dpp.cz/jizdne/pokuty-revizori/vyse-prirazky
- Jaroševský, F. (2024, prosinec 4). Průměrný plat revizora je 63 tisíc. Půlku z toho si musejí nachytat. „Jinak to nejde,“ tvrdí nadřízení. METRO.cz. https://www.metro.cz/praha/prumerny-plat-revizora-je-63-tisic-pulku-z-toho-si-museji-nachytat-jinak-to-nejde-tvrdi-nadrizeni.A241203_155006_metro-praha_mjafi
- Newkey-Burden, C. (2025, únor 18). Fare dodging: London’s transport blight. The Week. https://theweek.com/transport/fare-dodging-londons-transport-blight
- Expats.cz (2023, červenec 9). Prague public transport inspectors handed out 250,000 fines last year. Expats.cz. https://www.expats.cz/czech-news/article/prague-public-transport-inspectors-handed-out-250-000-fines-last-year
- Pražská integrovaná doprava. (b.r.). Metro. Pražská integrovaná doprava. Získáno 10. červen 2025, z https://pid.cz/metro/
- Ubach, M. (2024, červenec 22). Tackling Fare Evasion in Bergamo: A Growing Challenge for ATB and TEB. Trainsfare. https://www.trainsfare.eu/tackling-fare-evasion-in-bergamo-a-growing-challenge-for-atb-and-teb/