This project simulates the operations of a furniture manufacturer using agent-based simulation techniques. The simulation models the workflow of furniture production, including the processing of orders containing different types of furniture, material handling, and worker assignments. The objective is to analyze the efficiency of the production process and determine the optimal number of employees for different groups of workers (A, B, C) and number of assembly lines (L). The simulation is built using .NET and Avalonia for the user interface. Simulation is based on the ABASim agent-based simulation core which has been developed at the Faculty of Management Science and Informatics of the University of Žilina.
The application was developed as the third semester work on the Discrete Simulation course at the Faculty of Management Science and Informatics of the University of Žilina.
- Determine optimal worker counts per group (A/B/C)
- Determine optimal number of assembly lines (L)
- Ensure average order processing time (all furniture items) < 32 working hours
- Design of simulation experiments to find optimal configuration
- Statistical analysis of simulation results (using 95% confidence intervals)
- Implement detailed animation of the simulation process
- 🕹️ Two simulation modes:
- Single-run: Detailed workflow visualization with animations
- Multi-run: Statistical analysis with 95% confidence intervals
- 🔧 Customizable parameters:
- Worker counts per group (A/B/C)
- Number of assembly lines (L)
- Simulation duration (249 work days)
- 📊 Real-time monitoring:
- Order queue lengths
- Worker utilization rates
- Production stage durations
- Other statistics
- 📈 Convergence trends visualization for average processing order time
- ⏱️ Accelaration and deceleration of simulation run speed
- 🎞️ Animation of workers, assembly lines, and order processing
- 🧮 Parallel configuration analyzer for running multiple simulation instances
Simulation-Preview-SP3-AgentBasedSimulation.mp4
Models a furniture workshop order that consists of multiple furniture items (1 to 5). Each item can be one of the following types:
- 🟫 Tables (50% of orders)
- 🪑 Chairs (15%)
- 🚪 Closets (35%)
- Assembly Line: 🤖 Assignment order furniture item to free assembly line
- Group A: 🪚 Material preparation and cutting
- Group C: 🖌️ Staining
- Group C: 🖌️ Varnishing (15% of items)
- Group B: 🛠️ Assembly
- Group A or C: 🪛 Fittings installation (wardrobes only)
- Order arrival: Poisson process (λ=2 orders/hour)
- Order items count: Uniform distribution (1 to 5 items)
- Worker movement times: Triangular distributions
- Processing times vary by furniture type (see documentation)

Hieararchy of logic agents (like partitions) and message types between them that allows them to communicate and exchange data.
📘 Detailed semester work documentation includes details about:
- Each agent's functionality, message types and assistants
- Heuristic approach for initial solution by analyzing random variables
- Design and analysis of simulation experiments
- Statistical evaluation of results in form of charts and tables
Animation of single replication simulation run showing workers, assembly lines and order processing
Single replication simulation showing current state of single replication run with detailed statistics
Multiple replications simulation showing average processing time of order over replications and various statistics as means and 95% confidence intervals
Tento projekt simuluje prevádzku výrobcu nábytku pomocou agentovo-orientovanej simulácie. Simulácia modeluje pracovný postup výroby nábytku, vrátane spracovania objednávok obsahujúcich rôzne typy nábytku, manipulácie s materiálom a prideľovania pracovníkov. Cieľom je analyzovať efektívnosť výrobného procesu a určiť optimálny počet zamestnancov pre rôzne skupiny pracovníkov (A, B, C) a počet výrobných liniek (L). Simulácia je postavená na .NET a Avalonia pre používateľské rozhranie. Simulácia je založená na agentovo orientovanom simulačnom jadre ABASim, ktoré je vyvíjané na Fakulte riadenia a informatiky Žilinskej univerzity v Žiline.
Aplikácia bola vytvorená ako tretia semestrálna práca v rámci predmetu Diskrétna simulácia na Fakulte riadenia a informatiky Žilinskej univerzity v Žiline.
- Určiť optimálny počet pracovníkov v každej skupine (A/B/C)
- Určiť optimálny počet výrobných liniek (L)
- Zabezpečiť priemerný čas vybavenia objednávky (všetkých položiek nábytku) < 32 pracovných hodín
- Návrh simulačných experimentov na nájdenie optimálnej konfigurácie
- Štatistická analýza výsledkov simulácie (pomocou 95% intervalov spoľahlivosti)
- Implementácia podrobnej animácie simulačného procesu
- 🕹️ Dva režimy simulácie:
- Jedna replikácia: Podrobná vizualizácia pracovného postupu s animáciou
- Viacnásobné replikácie: Štatistická analýza s 95% intervalmi spoľahlivosti
- 🔧 Konfigurovateľné parametre:
- Počet pracovníkov v skupinách (A/B/C)
- Počet výrobných liniek (L)
- Doba simulácie (249 pracovných dní)
- 📊 Sledovanie v reálnom čase:
- Dĺžky frontov objednávok
- Miera vyťaženia pracovníkov
- Doba trvania výrobných fáz
- Ďalšie štatistiky
- 📈 Zobrazenie grafu konvergencie priemerného času vybavenia objednávky
- ⏱️ Zrýchlenie a spomalenie rýchlosti behu simulácie
- 🎞️ Animácia pracovníkov, výrobných liniek a spracovania objednávok
- 🧮 Paralelný analyzátor konfigurácií pre spúšťanie viacerých inštancií simulácie
Simulation-Preview-SP3-AgentBasedSimulation.mp4
Modeluje prevádzku stolárskej dielne, kde objednávka pozostáva z viacerých položiek nábytku (1 až 5). Každá položka môže byť jedného z nasledujúcich typov:
- 🟫 Stoly (50% objednávok)
- 🪑 Stoličky (15%)
- 🚪 Skrine (35%)
- Výrobná linka: 🤖 Priradenie položky objednávky k voľnej výrobnej linke
- Skupina A: 🪚 Príprava materiálu a rezanie
- Skupina C: 🖌️ Morenie
- Skupina C: 🖌️ Lakovanie (15% položiek)
- Skupina B: 🛠️ Skladanie
- Skupina A alebo C: 🪛 Montáž kovaní (iba pre skrine)
- Príchod objednávok: Poissonov proces (λ=2 objednávky/hod)
- Počet položiek objednávky: Rovnomerné rozdelenie (1 až 5 položiek)
- Časy presunov pracovníkov: Trojuholníkové rozdelenia
- Časy spracovania sa líšia podľa typu nábytku (viď dokumentácia)
📘 Podrobná dokumentácia semestrálnej práce obsahuje podrobnosti o:
- Implementačné detaily každého agenta, typy správ a asistentov
- Heuristický prístup pre nájdenie počiatočného riešenia analýzou náhodných premenných
- Návrh a analýza simulačných experimentov
- Štatistické vyhodnotenie výsledkov vo forme grafov a tabuliek
Animácia behu simulácie s ukážkou pracovníkov, výrobných liniek a spracovania objednávok
Simulácia zobrazujúca jednu replikáciu, ktorá zobrazuje aktuálny stav behu simulácie s podrobnými štatistikami
Simulácia s viacerými replikáciami, ktorá zobrazuje graf ustaľovania priemerného času vybavenia objednávky počas replikácií a rôzne štatistiky v podobe priemerov a 95% intervalov spoľahlivosti