Difference between revisions of "Optimalizace počtu výčapov piva na štadióne (Simprocess)"

From Simulace.info
Jump to: navigation, search
m (Výsledky)
m (Kód)
Line 92: Line 92:
  
 
=Kód=
 
=Kód=
 +
[[File:HockeyMatchesBeersOptimalization.spm]]
  
 
=Reference=
 
=Reference=
 
http://simprocess.com/Documentation/Windows_Manuals/SIMPROCESS_Getting_Started_Manual.pdf
 
http://simprocess.com/Documentation/Windows_Manuals/SIMPROCESS_Getting_Started_Manual.pdf
 
http://simprocess.com/Documentation/SIMPROCESS_Expression_Demo_Models.pdf
 
http://simprocess.com/Documentation/SIMPROCESS_Expression_Demo_Models.pdf

Revision as of 22:57, 16 June 2019

Zadání

Název simulace: Simulace optímálneho počtu výčapov piva na štadióne

Autor: Bc. Dominik Turák, turd01

Typ modelu: Diskrétni simulace

Modelovací nástroj: SIMPROCESS

Popis Modelu

Na hokejových alebo futbalových zápasoch sa často stáva, že človek musí čakať na pivo v dlhom rade celú večnosť. Navyše, ak sa poblízku štadióna nachádza podnik, v ktorom tiež čapujú pivo, ľudia sa mnohokrát rozhodnú ísť si radšej načapovať pivo tam, pretože je to pre nich mnohokrát výhodnejšie, najmä z finančného hľadiska. Štadión tým pádom stráca potencionálny zisk a naopak, pri malom počte ľudí zbytočne prepláca pracujúcich výčapníkov.

Cíl simulace

Nájsť otpimálny počet výčapov prihľiadnúc na počet ľudí na štadióne tak, aby sa minimalizovali straty od nedočkavých ľudí, ktorí si radšej zvolia konkurenčný výčap

Metóda

Nasledujúce tabuľky približuje chovanie modelu a opisujú význam vybraných vstupných dát.

Generovaní divákov
Názov entity Názov schedule Typ distribúcie jednotka času start/end
Fan First real fans Poi(20.0) 1 minúta 16:00 - 16:30
Fan Normal real fans Poi(30.0) 1 minúta 16:30 - 17:00
Beer guy First Beer guys Poi(15.0) 1 minúta 16:00 - 16:30
Beer guy Normal Beer fans Poi(10.0) 1 minúta 16:30 - 17:00

Pri generovaní fanúšikov som použil Poison Distribúciu, keďže entity sa generujú v krátkom časovom intervale, čo najlepšie vyhovuje mojmu prípadu, kedy sa snažím čo najrealistickejšie vystihnúť príchod fanúšikov na štadión.

Vlastnosti divákov
Názov entity Pravdepodobnosť zakúpenia piva ihneď po príchode Dlžka sledovania zápasu do dalšieho piva (v minútach)
Fan 0% Tri(40,55,80)
Beer guy 40% Tri(30,40,60)

Hlavné rozdiely medzi pivármi a obyčajnými fanúšikmi je túžba po pive. Zatiaľ čo obyčajný fanúšik si nikdy pri vstupe nedá pivo, u pivára je až 40% šanca, že sa tak rozhodne. Na delay označujúci sledovanie zápasu som tentokrát použil Triangulovú distribúciu, čo je v tomto prípade lepšie ako Exponenciálna distribúcia, ktorá by tak dobre nevystihovala realitu, pretože v momentálnom modeli každí dostane chuť na pivo niekedy inokedy, a nie takmer všetci ľudia naraz ( v poradí ako prichádzali na štadión ) , ako by to bolo pri Exponenciálnej distribúcii.

Model

MainProcessHockeyMatchesBeersOptimalization.png

Hlavná obrazovka obsahuje hlavne Dynamic Labels, ktoré zjednodušujú pozorovanie simulácie. Generovanie fanúšika(Generate) je proces vysvetlený v tabuľke vyššie , Užívanie si zápasu(Process) je hlavný proces obsahujúci všetko potrebné na simulovanie hokejového zápasu a požiadaviek na pivo a Odchod domov(Dispose) simuluje odchod entity zo štadióna. Celá simulácia simuluje dátum 12.12.2018 s časom trvania 16:00 - 19:30 a približný výskyt divákov na zápase prvej slovenskej ligy.

WatchTheGameProcessHockeyMatchesBeersOptimalization.png

  • Kupovanie lístkov (Delay) : proces kupovania lístkov, priemerná doba predaja sa nelíši podľa druhu fanúšika, takže dĺžka trvania je Exp(2.0) minút, čo znamená že pani pri okienku vybaví priemerna za 1 minútu 1 diváka.
  • Dám si pivo? (Branch) : prvá križovatka typu Entity type, čo znamená že pre každý vychádzajúci konektor ( Connectors) musí byť zvolený typ entity, obyčajný fanúšik si po príchode dá pivo s 0% pravdepodobnosťou, zatiaľ čo pivár stále váha
  • Zatiaľ nie (Connector) : prvý konektor ako odpoveď určená pre entitu Fan, ktorej trvanie je priemerne 4 minúty (Exp(4.0) Minutes)
  • Som pivár, obyčajný pivár (Connector) : konektor ako odpoveď určená pre entitu Beer Guy na otázku, ktorý slúži iba ako pomocný konektor do ďalšej Branche
  • Rozhodujem sa... (Branch) : prvá dilema pivára typu pravdepodobnosti(Probability), kde si Beer Guy buď dá pivo na 40%, alebo sa rozhodne ísť sa usadiť na miesto
  • Jo! (Connector) : konektor ako kladná odpoveď na otázku, či si dá pivár pivo hneď po príchode na štadión(pravdepodobnosť 40%), ktorej trvanie je priemerne 5 minút (Exp(5.0) Minutes)
  • Nedám (Connector) : konektor ako negatívna odpoveď určená na otázku, či si dá pivár pivo hneď po príchode na štadión(pravdepodobnosť 60%), ktorej trvanie je priemerne 4 minúty (Exp(4.0) Minutes)
  • Kde si dám pivo? (Branch) : druhá otázka, tentokrát bez ohľadu na typ entity a nového typu Atribút(Atribute), kde sa divák rozhoduje, či si dá pivo na štadióne, alebo si pôjde dať pivo do vedľajšieho pivovaru (výhoda krčmového pivovaru je popísaná v úvode)
  • Dám si ho tu (Connector) : divák vyhodnotil, že sa mu oplatí počkať si v rade na pivo na štadióne, ktorej trvanie je priemerne 30 sekúnd (Exp(4.0) Seconds)
  • Čapovanie piva na štadióne (Delay) : jedno pivo sa na štadióne načapuje priemerne za 2 minúty(Exp(2.0) Minutes)
  • Idem do krčmy (Connector) : divák vyhodnotil, že sa mu oplatí ísť na pivo do konkurenčnej krčmy, ktorá je vzdialená priemerne 5 minút chôdze(Exp(5.0) Minutes)
  • Čapovanie piva v krčme (Delay) : jedno pivo sa v krčme čapuje priemerne 3 minúty(Exp(3.0) Minutes)
  • Oplatí sa mi ešte vracať? (Branch) : otázka po zakúpení piva, kedy sa divákom už neoplatí vracať po 19:15, kedy bola posledná minúta a o zápase už bolo rozhodnuté

Výsledky

ResultsHockeyMatchesBeersOptimalization.png

Závěr

Simulácia by sa dala rozšíriť o množstvo ďalších rozhodnutí, ako je napríklad potreba ísť na WC alebo zahrnúť skutočnosť, že by si ľudia v bufere mohli kúpiť aj niečo iné ako pivo. Pri mojom nastavení ani 40 píp na čapovanie nestačilo na to, aby štadíón nestrácal zisky (čo sa týka predaného piva, výčapníci a ich hodinová mzda v modeli zatiaľ chýba tiež) z divákov, ktorí chcú pivo v rovnaký čas. Naopak, otpimalizáciu prihľiadnúc na tento fakt by som považoval nasadenie 20 píp, kde by ale pracovníci nemali takmer žiaden oddych. Som rád, že som si nakoniec vybral Simprocess, pretože tento nástroj môže byť v budúcnosti veľmi žiadaný.

Kód

File:HockeyMatchesBeersOptimalization.spm

Reference

http://simprocess.com/Documentation/Windows_Manuals/SIMPROCESS_Getting_Started_Manual.pdf http://simprocess.com/Documentation/SIMPROCESS_Expression_Demo_Models.pdf