BankSim/Popis_Algoritmu.md
2025-03-02 12:39:54 +01:00

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

4. Struktura

Code Structure