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

54 lines
2.3 KiB
Markdown

# **Popis algoritmu**
---
## 1. Verze dokumentu
| Verze | Datum | Autor | Komentář |
| ----- | -------- | ------------ | ----------------------- |
| 0.1 | 2.3.2025 | Filip Kohout | První šablona dokumentu |
## 2. Obsah
- [**Popis algoritmu**](#popis-algoritmu)
- [1. Verze dokumentu](#1-verze-dokumentu)
- [2. Obsah](#2-obsah)
- [3.Algoritmus simulace](#3algoritmus-simulace)
- [3.1 Inicializace](#31-inicializace)
- [3.2 Simulace](#32-simulace)
- [3.3 Optimalizace](#33-optimalizace)
- [3.4 Vyhodnocení](#34-vyhodnocení)
- [4. Struktura](#4-struktura)
## 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](./MonteCarlo.png)