2.3 KiB
2.3 KiB
Popis algoritmu
1. Verze dokumentu
| Verze | Datum | Autor | Komentář |
|---|---|---|---|
| 0.1 | 2.3.2025 | Filip Kohout | První šablona dokumentu |
2. Obsah
3.Algoritmus simulace
3.1 Inicializace
- Nastaví se celkový počet zákazníků na 250.
- Rozdělí se do jednotlivých hodin dle procentuálního podílu.
- Každému zákazníkovi se přiřadí náhodný čas příchodu (1-60) a doba odbavení (5-15 minut) pomocí pseudonáhodného generátoru Random.
3.2 Simulace
- Banka otevírá každou hodinu určitý počet přepážek, (není stanoven maximální počet přepážek, takže v kodu uvažuji možnost neomezeného počtu přepážek (nebo stanovení maximálního počtu přepážek ve vstupních parametrech třídy)).
- Proběhne simulace pro jednotlivé hodiny během dne s různými počty otevřených přepážek ale stejnými náhodně vygenerovanými příchody zákazníků.
- Pokud jsou všechny přepážky obsazené, další zákazníci čekají ve frontě.
3.3 Optimalizace
- Pro každou iteraci se sleduje aktuální stav fronty a vypočítá se čekací doba jednotlivých zákazníků.
- Pokud je čekací doba delší než maximální přípustná, zákazník odchází nespokojen.
- Celkový počet spokojených zákazníků se převede na relativní podíl (0-1).
- Vybere se nejmenší počet přepážek s největší spokojeností.
Important
V případě že zákazník přijde ke konci simulační hodiny a doba jeho obsluhy i čekání by přesáhla 60 minut hodiny, pro zjednodušení, poběží program přes čas dokud zákazníka/y neobslouží.
3.4 Vyhodnocení
- Nejlepší počet přepážek v každé hodině se uloží do výstupu.
- Generuje se souhrnná zpráva o efektivitě provozu a procentu spokojených zákazníků.
