From 1262d745d08ec4c77d3d027e37a47e5228f73da8 Mon Sep 17 00:00:00 2001 From: shinya Date: Wed, 5 Mar 2025 16:57:45 +0100 Subject: [PATCH] =?UTF-8?q?anal=C3=BDza=20a=20cleanup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Analýza_potřebného_počtu_přepážek.md | 123 +++++++++++++++++++++++++++ Popis_Simulačního_Přístupu.md | 2 +- Program.cs | 14 +-- 3 files changed, 133 insertions(+), 6 deletions(-) create mode 100644 Analýza_potřebného_počtu_přepážek.md diff --git a/Analýza_potřebného_počtu_přepážek.md b/Analýza_potřebného_počtu_přepážek.md new file mode 100644 index 0000000..2f73a29 --- /dev/null +++ b/Analýza_potřebného_počtu_přepážek.md @@ -0,0 +1,123 @@ +# Analýza potřebného počtu přepážek + +--- + +## 1. Verze dokumentu + +| Verze | Datum | Autor | Komentář | +| ----- | -------- | ------------ | ----------------------- | +| 0.1 | 2.3.2025 | Filip Kohout | První šablona dokumentu | + +--- + +## 2. Obsah + +- [Analýza potřebného počtu přepážek](#analýza-potřebného-počtu-přepážek) + - [1. Verze dokumentu](#1-verze-dokumentu) + - [2. Obsah](#2-obsah) + - [3. Analýza](#3-analýza) + - [Shrnutí simulace](#shrnutí-simulace) + - [Výsledky](#výsledky) + - [Závěry](#závěry) + - [4. Analýza s omezeným počtem přepážek](#4-analýza-s-omezeným-počtem-přepážek) + - [Shrnutí simulace](#shrnutí-simulace-1) + - [Výsledky](#výsledky-1) + - [Závěry](#závěry-1) + - [5.Problémy simulačního přístupu](#5problémy-simulačního-přístupu) + +--- + +## 3. Analýza + +### Shrnutí simulace + +Byly provedeny tři simulace s následujícími parametry: + +- Celkový počet zákazníků: **250** +- Maximální čekací doba zákazníka: **15 minut** +- Rozsah doby obsluhy: **5 - 15 minut** +- Maximální počet otevřených přepážek: **6** + +### Výsledky + +Výsledky jednotlivých simulací vykazují drobné odchylky mezi běhy, ale celkově potvrzují, že optimální počet přepážek se liší podle denní doby. Nejčastější optimální počet přepážek je mezi **3 až 5**. + +| Denní doba | 1. Simulace | 2. Simulace | 3. Simulace | Průměrná hodnota | +|------------|------------|------------|------------|----------------| +| 1 | 2 | 2 | 2 | **2** | +| 2 | 4 | 4 | 4 | **4** | +| 3 | 6 | 5 | 5 | **5.33** | +| 4 | 3 | 3 | 3 | **3** | +| 5 | 4 | 4 | 4 | **4** | +| 6 | 4 | 3 | 3 | **3.33** | +| 7 | 4 | 4 | 4 | **4** | +| 8 | 5 | 6 | 6 | **5.67** | +| 9 | 3 | 4 | 4 | **3.67** | +| 10 | 5 | 5 | 5 | **5** | +| 11 | 1 | 1 | 1 | **1** | + +### Závěry + +- **Nejnižší počet přepážek**: Denní doba **11** vyžaduje pouze **1 přepážku**. +- **Nejvyšší počet přepážek**: Denní doby **3 a 8** mohou vyžadovat až **6 přepážek**. +- **Stabilní rozmezí**: Optimální počet přepážek se obvykle pohybuje mezi **3 a 5**. +- **Variabilita simulací**: Výsledky nejsou 100% konzistentní mezi běhy, což naznačuje vliv náhodných faktorů v simulaci. + +Doporučené nasazení přepážek by mělo zohledňovat výkyvy v průběhu dne a umožňovat flexibilní otevření a zavření dle potřeby. + +--- + +## 4. Analýza s omezeným počtem přepážek + +### Shrnutí simulace + +Byly provedeny tři simulace se stejnými parametry, ale s omezením maximálního počtu přepážek na **3**. + +### Výsledky + +Při snížení maximálního počtu přepážek došlo k výraznému poklesu spokojenosti zákazníků v některých denních dobách. + +| Denní doba | 1. Simulace (%) | 2. Simulace (%) | 3. Simulace (%) | Průměrná spokojenost (%) | +|------------|----------------|----------------|----------------|--------------------| +| 1 | 100 | 100 | 100 | **100** | +| 2 | 52 | 84 | 52 | **62.67** | +| 3 | 24.32 | 21.62 | 43.24 | **29.73** | +| 4 | 100 | 100 | 100 | **100** | +| 5 | 92 | 72 | 100 | **88** | +| 6 | 100 | 100 | 100 | **100** | +| 7 | 100 | 100 | 77.27 | **92.42** | +| 8 | 34.28 | 25.71 | 42.85 | **34.28** | +| 9 | 52 | 64 | 88 | **68** | +| 10 | 43.33 | 63.33 | 26.67 | **44.44** | +| 11 | 100 | 100 | 100 | **100** | + +### Závěry + +- **Zásadní pokles spokojenosti** nastal zejména v denních dobách **2, 3, 8 a 10**, kde spokojenost klesla i pod **50 %**. +- **Denní doby 4, 6 a 11 nebyly ovlivněny** a dosáhly stále 100% spokojenosti. +- **Celkové průměrné snížení spokojenosti** ukazuje, že tři přepážky nejsou dostatečné pro pokrytí všech požadavků zákazníků během nejvytíženějších období. +- **Problémové časy**: Doba **3 a 8** potřebují více než 3 přepážky, jinak zákazníci čekají příliš dlouho. + +Tato analýza potvrzuje, že omezení maximálního počtu přepážek na **3** vede k výraznému snížení spokojenosti v nejvytíženějších časech, což znamená nutnost flexibilního otevírání přepážek dle denní doby. + +## 5.Problémy simulačního přístupu + +```output +customer 1-14 | served at 1 min. for 13 min. | waiting 0 +customer 16-21 | served at 16 min. for 5 min. | waiting 0 +customer 17-28 | served at 21 min. for 7 min. | waiting 4 +customer 21-33 | served at 28 min. for 5 min. | waiting 7 +customer 24-42 | served at 33 min. for 9 min. | waiting 9 +customer 24-48 | served at 42 min. for 6 min. | waiting 18 +customer 26-57 | served at 48 min. for 9 min. | waiting 22 +customer 26-63 | served at 57 min. for 6 min. | waiting 31 +customer 28-74 | served at 63 min. for 11 min. | waiting 35 +customer 29-82 | served at 74 min. for 8 min. | waiting 45 +customer 31-96 | served at 82 min. for 14 min. | waiting 51 +customer 43-102 | served at 96 min. for 6 min. | waiting 53 +customer 44-114 | served at 102 min. for 12 min. | waiting 58 +customer 49-127 | served at 114 min. for 13 min. | waiting 65 +customer 58-140 | served at 127 min. for 13 min. | waiting 69 +``` + +- jak je možné vidět z výstupu zpracovávaných dat, dochází k "přetečení" času u každého zákazníka \ No newline at end of file diff --git a/Popis_Simulačního_Přístupu.md b/Popis_Simulačního_Přístupu.md index 398b37a..81a3d21 100644 --- a/Popis_Simulačního_Přístupu.md +++ b/Popis_Simulačního_Přístupu.md @@ -62,7 +62,7 @@ Maximální doba čekání: 15 minut 3. Vyhodnocení simulace - Pro každou hodinu dne se určí nejmenší počet přepážek, při kterém je splněn požadavek maximální doby čekání. -- Pokud počet přepážek splňující podmínku existuje, je zvolen nejmenší možný. +- Pokud počet přepážek splňující podmínku neexistuje, je zvolen nejmenší možný. - Na základě simulace se sestaví plán otevřených přepážek pro každou hodinu. 4. Očekávané výstupy diff --git a/Program.cs b/Program.cs index 6aca532..5e32a3b 100644 --- a/Program.cs +++ b/Program.cs @@ -15,7 +15,11 @@ * uint MaxNumOfCounters is optional - Maximal number of opened counters * uint float[11] TimeCoef is optional - Coefficients for number of customers for each hour */ - _ = new BankSim(250, 15, 15, 5, MaxNumOfCounters: 6); + + for (int i = 0; i < 3; i++) + { + _ = new BankSim(250, 15, 15, 5, MaxNumOfCounters: 3); + } } } @@ -69,19 +73,19 @@ List satisfied_coefficient = new List(); for (int i = 1; i <= MaxNumOfCounters; ++i) { - Console.WriteLine($"Number of counters: {i}"); + //Console.WriteLine($"Number of counters: {i}"); //! LOG List waiting_time_per_customer = RunSimulationHour(i); satisfied_coefficient.Add(SatisfiedCustomers(waiting_time_per_customer)); - Console.WriteLine(); + //Console.WriteLine(); //! LOG } // Select number of counter with the satisfied coefficient int best_counter = satisfied_coefficient.IndexOf(satisfied_coefficient.Max()) + 1; - //Console.WriteLine($"Best number of counters: {best_counter}, satisfied customers {satisfied_coefficient.Max() * 100}%"); //! LOG + Console.WriteLine($"Best number of counters: {best_counter}, satisfied customers {satisfied_coefficient.Max() * 100}%"); result[day_hour] = new KeyValuePair((uint)best_counter, satisfied_coefficient.Max()); Customers.Clear(); - //Console.WriteLine(); //! LOG + Console.WriteLine(); day_hour++; }