Simulace provozu veterinární kliniky (Simprocess)
Zadání
Název simulace: Simulace provozu veterinární kliniky
Autor: Bc. Dmitry Borodin, bord00
Typ modelu: Diskrétní simulace
Modelovací nástroj: SIMPROCESS
Definice problému
Nejen lidé, ale i zvířátka občas potřebuji lékařskou pomoc. Avšak je velice důležité správně optimalizovat chod veterinářských klinik. Takové opatření může nejen příznivě ovlivnit finanční stránku podniků (ušetřené peníze mohou pomoct v modernizaci celé firmy a zvýšení kvalifikací pracovníků), ale i omezit počet smutných situací, kdy zvířátko nedostalo pomoc včas.
Předmětem této simulaci je veterinární klinika s nepřetržitým provozem. Základem jsou reálná data z existující kliniky. Bohužel model bude mít některá omezení a nepřesnosti. Důvody k tomu jsou různé. Určitě se nedá stoprocentně zachytit reální stav části světa, vždy budou výjimky a kompromisy. Také bude mít vliv kvalita dat a omezení ze strany SW. Detailnějšímu popisu modelu a omezením bude věnována podkapitola “Detailní popis modelu”. Hlavním cílem je namodelovat provoz kliniky a odpověď, zda existující počet zaměstnanců je vhodný. Kromě toho, vynasnažím se zjistit optimální vytížení zaměstnanců, najít způsoby snížení počtu zákazníků, čekajících ve frontě a zákazníků, které rozhodli odejít po určité době čekání. Je potřeba zmínit, že původní zadaní se trochu liší od finálního. Konkrétnější popis bude dál.
Metoda
Model byl vytvořen pomocí softwaru SIMPROCESS, ve kterém lze dobře simulovat procesy, nastavovat zdroje a entity, dobře rozdělovat časové intervaly. SW také poskytuje podrobný výsledek simulace.
Detailní popis modelu
První věc, kterou je potřeba upřesnit – otevírací doba a časový úsek, který bude nasimulován. Klinika je otevřená nonstop, simulace bude pokrývat 1 měsíc (30 dny). Začátkem je 9 hodin 01.06.2020, konec – 9 hodin 01.07.2020. Důvodem vyberu tohoto času (9 hodin ráno) je ukončení práce noční směny a začátek pro denní směnu.
Jedno z omezení/zjednodušení se právě tyká směn. V této simulaci neberu v úvahu jejích rozdělení, přesný čas začátku a ukončení práce. Bude nastaveno jen to, že od pondělí 9:00 do soboty 9:00 na klinice vždy budou 4 veterináře a 4 asistenty. Důvodem je to, že jednotlivé směny velice často se domlouvají mezi sebou, kdo, jak dlouho a kdy bude pracovat. Tuto skutečnost, bohužel, nejde zachytit.
Důvod, proč i v noci zůstávají až 8 pracovníků, je ten, že je to jediná klinika, která je otevřena v noci (v celím městě). Proto pracovníky “přebírají” klienty od ostatních klinik. Entity jsou následující:
- Nový pacient
- Stálý pacient
- Pacient v kritickém stavu
Zdroje:
- Veterinář (4)
- Asistent (4)
- Pracovní místo (5)
Zde je jedná z hlavních změn oproti původnímu zadaní. V průběhu simulovaní, vzhledem k cílům práce a k složitostí modelu, musel jsem tyto změny provést.
Následující obrázek ukazuje hlavní procesy. Dále procesy budou postupně rozepsány.
První proces (Příchod) obsahuje generování všech typů entit. Toto rozdělení je nutné pro správnou simulaci procesu registrace, diagnostiky a léčby (zejména v případě nového a stálého pacienta). Pacient, který je v kritickém stavu mine procesy registrace a ošetření.
Poznámka: kritický stav označuje závažný problém, který je nutné řešit co nejdříve a který vyžaduje víc zdrojů.
Následující tabulka ukazuje jednotlivé generátory s rozdělením (cílová buňka obsahuje data ve formátu počet ; interval v minutách):
Poznámka: snížení počtu pacientů o víkendu pravděpodobně způsobeno odježděním mimo města, věnováním volného času jiném činnostem.
Další obrázek ukazuje proces registrace a diagnózy (v případě nového pacienta):
Rozdělení je realizováno pomocí “Select Branch Type = Entity Type”. Pacient v kritickém stavu hned pokračuje k léčbě, stálý pacient ztratí 2 minuty (předpoklad je ten, že jíž klinika má údaje, RTG snímek a další vyšetření). Nový pacient ztratí 5 minut na registraci a ještě 10 minut na diagnózu. Proces diagnózy vyžaduje přítomnost veterináře nebo asistenta (to je další zjednodušení, většinou tady zaleží na konkrétní službě).
Poslední proces (odchod jen znamená „dispose”) je nejzajímavější:
Znovu zde je rozdělení podle typu pacienta. Následující tabulky znázorňují informace pro každou entitu:
Poznámka: v případě nového pacienta je potřeba věnovat nic pozornosti, také to vyžaduje víc odpovědnosti. Proto asistent nemůže provádět léčbu nových pacientu (bez ohledu na výsledky diagnózy).
U stálých pacientů asistent může sám provádět neriskantní a neinvazivní činnosti nebo jen sdílet výsledky léčby atd. Musím také zmínit, že pro každý “delay” byla určená doba čekaní na zdroje. Jelikož klinika je nonstop a simulace se začíná z určitého okamžiku, bylo nastaveno “Warmup Time” 2 hodiny.
Výsledky
Následující tabulky znázorňují některé údaje:
Poznámka: v systému zůstalo 5 nových pacientů a 1 stálý. Může to být způsobeno kvalitou dat nebo chybou v realizaci.
Textové soubory s výsledky jsou tady - File:Vysledky - Dmitry Borodin.rar
Závěr
Práce nad simulaci byla velice zajímavá a přínosná. Avšak jedním z hlavních problémů byl nedostatek znalosti z oboru. Simprocess (zejména licence-demonstrativní verze) občas také přinášel problémy a potřebu hledat jiné řešení. Tato simulace je dost daleko od ideálu a existuje obrovský prostor pro nové myšlenky a zlepšení.
Kód
File:Simulace provozu veterinární kliniky - Dmitry Borodin.spm