Difference between revisions of "User:Sanv05"

From Simulace.info
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 54: Line 54:
 
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.
 
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
+
[[File:MHD_grafy.png|center]]
  
 
=== Průběh simulace ===
 
=== Průběh simulace ===
Line 88: Line 88:
  
 
=== Omezení ===
 
=== Omezení ===
 +
* Statické umístění revizorů: v modelu není zohledněna situace, když revizor se pohybuje mezi stanicemi a provádí kontroly ve vozech, což je celkem běžné. To by však znamenalo vytvoření vlaků a omezení s tím spojené, jak je uvedeno výše v popisu procedur.
 +
* Odhady dat: přestože nalezená data pokrývají zkoumanou oblast dostatečně široko, nestačí pro hlubší analýzu. Simulace je prováděna na mnohem menších časových intervalech a se zaměřením na jevy, které nejsou dobře popsány.
 +
* Chování při kontrolách: sice jsou kontroly funkční a jsou schopni zachytit podstatu, existuje i prostor na detailnější doladění, které by bylo náročnější a delší na implementaci.
 +
* Fixní celkový počet: simulace nemá perfektně realistickou křivku zátěže metra, pouze znázornění dopravních špiček.
  
 
== Výsledky ==
 
== Výsledky ==
 +
V rámci provedení simulací bylo otestováno 6 různých scénářů, každý s odlišným počtem a/nebo umístěním revizorů. Každý scénář měl 30 opakování pro získání dostatku dat pro měsíc fungování metra, což pak bylo možné dát do souvislosti s náklady podniku na měsíční platy revizorů. Obrázek níže obsahuje všechny scénáře.
 +
 +
[[File:MHD_6_2.png|center]]
 +
 +
Scénáře jsou detailněji popsány dále a následně znázorněny v tabulce.
 +
 +
1. '''1 revizor na každé stanici (15):''' první scénář testoval nejširší pokrytí sítě metra, kde každá stanice byla obsazena jedním revizorem. Ze všech scénářů z pohledu zachycení černých pasažérů je ten scénář nejlepší, protože poskytuje 87% míru zachycení, je to výrazný rozdíl oproti jiným rozmístěním. Ale ve skutečnosti jde nejen o plnou vytíženost revizorů, ale také o zážitek cestujících, které mohou být kontrolovány všude a několikrát. Je to také nejnákladnější přístup, který je částečně kompenzován velkým objemem pokut (největším).
 +
 +
2. '''4 revizoři na každé přestupní stanici (12):''' druhý scénář byl zaměřen na účelnější kontroly, revizoři jsou pouze na přestupních stanicích ve velkých počtech. Míra zachycení je již 68%, spolu s ní se také snížil i objem pokut, ale je to také nejdražší řešení z pohledu "náklady na revizory/příjmy z pokut".
 +
 +
3. '''2 revizoři na každé přestupní stanici (6):''' scénář podobný předchozímu, ale s menší koncentrací revizorů na přestupních stanicích. O něco horší výsledky než předchozí, nemá žádné důležité rysy, které by daný scénář dělaly výjimečným. Míra zachycení 61%. Pokud priorita je v ušetření prostředků na platy revizorům, mezi tímto a předchozím je lepší volit tento scénář, jinak předchozí má přednost.
 +
 +
4. '''1 revizor na středu každé linky (3):''' testuje malý počet revizorů. Ideální scénář, pokud rozpočet na platy revizorům je omezen, je to nejnižší ze všech scénářů. Však je schopen odhalit pouze 50% černých pasažérů kvůli nízké hustotě rozmístění.
 +
 +
5. '''1 revizor na každé konečné stanici (6):''' daný scénář lze považovat za nejhorší. Poskytuje nejnižší míru zachycení v pouhých 42%, objem pokut je také nejnižší, a to při stejných nákladech na plat revizorům jako v scénářích 3 a 6, což je v daném případě poměrně drahé.
 +
 +
6. '''2 revizoři na každé lince s odstupem (6):''' scénář umísťuje revizory na stanicích ve formátu 1-X-3-X-5 (X je revizor), tedy kombinuje široké pokrytí a relativně nižší počet revizorů oproti prvním dvěma scénářům. Je to dobře vyvážený scénář, který poskytuje druhou nejlepší míru zachycení na seznamu (70%) a druhý nejvyšší objem pokut. Přestože není absolutně nejlevnější z pohledu platů revizorů, v kontextu poměru platů k příjmům je to druhé nejlepší řešení.
 +
 +
Následující tabulka obsahuje shrnutí dat.
 +
 +
[[File:MHD_tabulka.png|center]]
  
 
== Závěr ==
 
== Závěr ==
 +
Na závěr je důležité shrnout výsledky multiagentní simulace kontrol jízdenek v MHD provedené v prostředí NetLogo. Simulace měla za cíl otestovat různé scénáře umístění revizorů v pražském metru pro nalezení optimálních strategií pro dopravní podnik. Daný cíl byl splněn a zároveň odhalil některé zajímavé výsledky, které nebyly autorem očekávány.
 +
 +
Přínos každého scénáře lze hodnotit podle toho, co je prioritou pro podnik. Například, pokud je rozpočet na revizory omezen a klíčové je ušetřit finance, nejvhodnější je scénář 4 s nejmenším počtem revizorů, jak by se dalo očekávat. Daná výhoda je získána na úkor zachycení černých pasažérů, a tedy neplní svůj cíl tak dobře.
 +
 +
Pokud podnik disponuje větším objemem prostředků, a cílem je zvýšit příjem z pokut, absolutně nejlepší z tohoto hlediska je scénář 1 s kontrolou každé stanice, což ale není tak jednoduché na realizaci. Plusem je vysoká míra zachycení černých pasažérů, minusem jsou však velké náklady na revizory a řízení velmi rozsáhlých a striktních kontrol.
 +
 +
Rozhodně není doporučeno monitorovat konečné stanice (scénář 5): je to jak velmi neefektivní z pohledu zachycení cestujících bez jízdenek, tak málo přínosné a v poměru k příjmům drahé.
 +
 +
Nakonec nejvíce vyváženým scénářem, který poskytuje relativně levné řešení s dostatečně vysokou mírou zachycení a objemem pokut, je scénář 6, který umísťuje revizory na stanicích s odstupem (jedna prázdná, jedna obsazena), ne nutně na přestupových stanicích. Daný scénář lehčí na koordinaci a nezvedá bezdůvodně vytíženost revizorů. Přestože není jednoznačným vítězem v jakékoliv kategorii, může sloužit univerzálním doporučením pro dopravní podnik ve správě MHD.
  
 
== Kód ==
 
== Kód ==
 +
[[File:SimulaceMHD2_sanv05.nlogo]]
  
 
== Reference ==
 
== Reference ==

Latest revision as of 01:02, 13 June 2025

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í.

MHD mapa.png

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

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.

Časová osa simulace a dopravní špičky

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.

MHD grafy.png

Průběh simulace

Následující 4 body proběhnou při kliknutí na tlačítko setup:

1. setup-network — nastavení sítě metra, určení souřadnic, sestavení seznamů stanic.

2. setup-parameters — nastavení globálních proměnných.

3. setup-inspectors — nastavení revizorů, vytvoří num-inspectors agentů a rozmístí je podle inspector-assignments.

4. generate-passengers — generování pasažérů: vygeneruje passenger-spawn-rate * počet stanic (120), nastaví defaultní hodnoty atributů, náhodně nastaví boolean valid-ticket? dle fare-evasion-rate a pokud je to černý pasažér, zvýší total-evaders.

Důležité procedury použité dále:

handle-passenger-death — procedura zajišťuje vznik nových pasažérů. Agenti-pasažéři se odstraní, když buď dorazí do cílové stanice nebo budou zachyceni revizorem, jsou pak ze simulace odstraněny. Na jejich místo je pak přidán nový pasažér, aby počet cestujících byl zachován. Daná procedura se nevolá během několika ticků po špičkách, aby se model vyrovnal po nárůstu cestujících během špiček.

do-walk-step — procedura pro pohyb cestujících mezi stanicemi. Každý cestující ve stavu traveling dělá krok směrem ke své cílové destinaci. Když dorazí do stanice, změní svůj current-index. Pokud je ten index stejný jako cílová stanice, volá se handle-passenger-death. Bylo rozhodnuto pro daný přístup, jelikož v původním návrhu vlaky (další agenti) neměly velký význam pro výsledky, vizuálně vypadaly mnohem hůř a zbytečně komplikovali model.

Dále při spuštění simulace se bude postupovat dle procedury go:

1. Kontrola konce simulace (zda již uběhlo 2280 ticků).

2. Pohyb pomocí do-walk-step.

3. Revizor provádí kontroly dle inspection-rate na stanici ze seznamu všech pasažérů, kdo tam je.

4. Pokud byl nalezen černý pasažér, zvyšuje total-fines a volá handle-passenger-death.

5. Pokud se nacházíme ve špičkovém intervalu, zavolá se znovu generate-passengers.

6. Tick.

Omezení

  • Statické umístění revizorů: v modelu není zohledněna situace, když revizor se pohybuje mezi stanicemi a provádí kontroly ve vozech, což je celkem běžné. To by však znamenalo vytvoření vlaků a omezení s tím spojené, jak je uvedeno výše v popisu procedur.
  • Odhady dat: přestože nalezená data pokrývají zkoumanou oblast dostatečně široko, nestačí pro hlubší analýzu. Simulace je prováděna na mnohem menších časových intervalech a se zaměřením na jevy, které nejsou dobře popsány.
  • Chování při kontrolách: sice jsou kontroly funkční a jsou schopni zachytit podstatu, existuje i prostor na detailnější doladění, které by bylo náročnější a delší na implementaci.
  • Fixní celkový počet: simulace nemá perfektně realistickou křivku zátěže metra, pouze znázornění dopravních špiček.

Výsledky

V rámci provedení simulací bylo otestováno 6 různých scénářů, každý s odlišným počtem a/nebo umístěním revizorů. Každý scénář měl 30 opakování pro získání dostatku dat pro měsíc fungování metra, což pak bylo možné dát do souvislosti s náklady podniku na měsíční platy revizorů. Obrázek níže obsahuje všechny scénáře.

MHD 6 2.png

Scénáře jsou detailněji popsány dále a následně znázorněny v tabulce.

1. 1 revizor na každé stanici (15): první scénář testoval nejširší pokrytí sítě metra, kde každá stanice byla obsazena jedním revizorem. Ze všech scénářů z pohledu zachycení černých pasažérů je ten scénář nejlepší, protože poskytuje 87% míru zachycení, je to výrazný rozdíl oproti jiným rozmístěním. Ale ve skutečnosti jde nejen o plnou vytíženost revizorů, ale také o zážitek cestujících, které mohou být kontrolovány všude a několikrát. Je to také nejnákladnější přístup, který je částečně kompenzován velkým objemem pokut (největším).

2. 4 revizoři na každé přestupní stanici (12): druhý scénář byl zaměřen na účelnější kontroly, revizoři jsou pouze na přestupních stanicích ve velkých počtech. Míra zachycení je již 68%, spolu s ní se také snížil i objem pokut, ale je to také nejdražší řešení z pohledu "náklady na revizory/příjmy z pokut".

3. 2 revizoři na každé přestupní stanici (6): scénář podobný předchozímu, ale s menší koncentrací revizorů na přestupních stanicích. O něco horší výsledky než předchozí, nemá žádné důležité rysy, které by daný scénář dělaly výjimečným. Míra zachycení 61%. Pokud priorita je v ušetření prostředků na platy revizorům, mezi tímto a předchozím je lepší volit tento scénář, jinak předchozí má přednost.

4. 1 revizor na středu každé linky (3): testuje malý počet revizorů. Ideální scénář, pokud rozpočet na platy revizorům je omezen, je to nejnižší ze všech scénářů. Však je schopen odhalit pouze 50% černých pasažérů kvůli nízké hustotě rozmístění.

5. 1 revizor na každé konečné stanici (6): daný scénář lze považovat za nejhorší. Poskytuje nejnižší míru zachycení v pouhých 42%, objem pokut je také nejnižší, a to při stejných nákladech na plat revizorům jako v scénářích 3 a 6, což je v daném případě poměrně drahé.

6. 2 revizoři na každé lince s odstupem (6): scénář umísťuje revizory na stanicích ve formátu 1-X-3-X-5 (X je revizor), tedy kombinuje široké pokrytí a relativně nižší počet revizorů oproti prvním dvěma scénářům. Je to dobře vyvážený scénář, který poskytuje druhou nejlepší míru zachycení na seznamu (70%) a druhý nejvyšší objem pokut. Přestože není absolutně nejlevnější z pohledu platů revizorů, v kontextu poměru platů k příjmům je to druhé nejlepší řešení.

Následující tabulka obsahuje shrnutí dat.

MHD tabulka.png

Závěr

Na závěr je důležité shrnout výsledky multiagentní simulace kontrol jízdenek v MHD provedené v prostředí NetLogo. Simulace měla za cíl otestovat různé scénáře umístění revizorů v pražském metru pro nalezení optimálních strategií pro dopravní podnik. Daný cíl byl splněn a zároveň odhalil některé zajímavé výsledky, které nebyly autorem očekávány.

Přínos každého scénáře lze hodnotit podle toho, co je prioritou pro podnik. Například, pokud je rozpočet na revizory omezen a klíčové je ušetřit finance, nejvhodnější je scénář 4 s nejmenším počtem revizorů, jak by se dalo očekávat. Daná výhoda je získána na úkor zachycení černých pasažérů, a tedy neplní svůj cíl tak dobře.

Pokud podnik disponuje větším objemem prostředků, a cílem je zvýšit příjem z pokut, absolutně nejlepší z tohoto hlediska je scénář 1 s kontrolou každé stanice, což ale není tak jednoduché na realizaci. Plusem je vysoká míra zachycení černých pasažérů, minusem jsou však velké náklady na revizory a řízení velmi rozsáhlých a striktních kontrol.

Rozhodně není doporučeno monitorovat konečné stanice (scénář 5): je to jak velmi neefektivní z pohledu zachycení cestujících bez jízdenek, tak málo přínosné a v poměru k příjmům drahé.

Nakonec nejvíce vyváženým scénářem, který poskytuje relativně levné řešení s dostatečně vysokou mírou zachycení a objemem pokut, je scénář 6, který umísťuje revizory na stanicích s odstupem (jedna prázdná, jedna obsazena), ne nutně na přestupových stanicích. Daný scénář lehčí na koordinaci a nezvedá bezdůvodně vytíženost revizorů. Přestože není jednoznačným vítězem v jakékoliv kategorii, může sloužit univerzálním doporučením pro dopravní podnik ve správě MHD.

Kód

File:SimulaceMHD2 sanv05.nlogo

Reference