Periodicita a parametry měnící se v čase
Co je periodicita?
Skutečné procesy neprobíhají vždy stejně. Zákaznická podpora vyřizuje během pracovní doby více hovorů. Ve výrobě se střídají směny s různým počtem pracovníků. V maloobchodě se objem práce mění podle sezóny.
Periodicita umožňuje určit, kdy se mají použít konkrétní pravidla simulace. Místo jedné obecné hodnoty můžete nastavit různé parametry pro různá časová období:
- Pracovní dny a víkendy
- Ranní a večerní směna
- Hlavní a vedlejší sezóna
- Pracovní doba a doba mimo ni
Díky tomu se simulace chová realisticky v různých časových obdobích.
Proč na periodicitě záleží
Ukažme si to na jednoduchém příkladu: příchody zákazníků.
Bez periodicity:
- 10 zákazníků za hodinu, nepřetržitě
S periodicitou:
- 25 zákazníků za hodinu, v pracovní dny od 9:00 do 18:00
- 15 zákazníků za hodinu, v pracovní dny od 18:00 do 21:00
- 5 zákazníků za hodinu o víkendech
- 2 zákazníci za hodinu v noci
Druhý model zachycuje realistické vzorce poptávky, které ovlivňují fronty, využití zdrojů a průchodnost.
Dostupné typy periodicity
ProcessMind podporuje devět typů periodicity. Každý určuje, kdy se pravidlo použije:
| Typ | Parametry | Popis |
|---|---|---|
| Vždy | (žádné) | Pravidlo platí stále, bez změn |
| Výchozí | (žádné) | Záložní pravidlo, pokud neodpovídá žádné jiné časové pravidlo |
| Pevné období | startDateTime, endDateTime | Jednorázové období bez opakování |
| Každý den | startTime, endTime | Stejná doba každý den |
| Každý všední den | startTime, endTime | Pouze od pondělí do pátku |
| Každý víkendový den | startTime, endTime | Pouze v sobotu a neděli |
| Každý týden | startDay, startTime, endDay, endTime | Opakuje se každý týden, může trvat několik dní |
| Každý měsíc | startDayOfMonth, startTime, endDayOfMonth, endTime | Opakuje se každý měsíc |
| Každý rok | startMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime | Roční nebo sezónní vzorec |
Podrobnosti o typech periodicity
Always
Nejjednodušší možnost: pravidlo platí vždy a nemění se.
Použijte, když: Parametr se v čase skutečně nemění nebo vytváříte jednoduchou základní simulaci.
Default
Použije se jako záložní pravidlo, pokud v daném čase simulace neodpovídá žádné jiné časové pravidlo.
Použijte, když: Chcete nastavit výjimky pro konkrétní časy a pro všechny ostatní případy použít výchozí hodnotu.
Vždy přidejte pravidlo Default
Pokud používáte více pravidel periodicity, vždy přidejte pravidlo Default, které pokryje časové mezery. Předejdete tak neočekávanému chování, když neodpovídá žádné konkrétní pravidlo.
Each Day
Pravidlo platí v určených hodinách každý den v týdnu.
Parametry:
startTime: Čas začátku platnosti pravidla (např. 09:00)endTime: Čas konce platnosti pravidla (např. 17:00)
Příklad: Běžná pracovní doba od 09:00 do 17:00 platí každý den včetně víkendů.
Each Weekday
Pravidlo platí v určených hodinách pouze od pondělí do pátku.
Parametry:
startTime: Čas začátku platnosti pravidlaendTime: Čas konce platnosti pravidla
Příklad: Zákaznická podpora funguje v pracovní dny od 08:00 do 18:00. Pro víkendy platí jiná pravidla.
Each Weekend Day
Pravidlo platí v určených hodinách pouze v sobotu a neděli.
Parametry:
startTime: Čas začátku platnosti pravidlaendTime: Čas konce platnosti pravidla
Příklad: O víkendech je podpora dostupná v omezeném rozsahu, od 10:00 do 16:00.
Each Week
Pravidlo platí v časovém rozmezí, které může v rámci týdne zahrnovat více dní. Hodí se pro období, která nelze jednoduše vymezit jednotlivými dny.
Parametry:
startDay: Den, kdy pravidlo začíná (pondělí, úterý atd.)startTime: Čas v den začátkuendDay: Den, kdy pravidlo končíendTime: Čas v den konce
Příklad: Období s vysokým objemem práce od středy 14:00 do pátku 12:00.
Each Month
Pravidlo platí ve vybrané dny každý měsíc.
Parametry:
startDayOfMonth: Den v měsíci, kdy pravidlo začíná (1–31)startTime: Čas v den začátkuendDayOfMonth: Den v měsíci, kdy pravidlo končíendTime: Čas v den konce
Příklad: Nápor při zpracování na konci měsíce od 25. dne v 08:00 do posledního dne ve 23:59.
Each Year
Pravidlo platí ve vybrané dny každý rok.
Parametry:
startMonth: Měsíc, kdy pravidlo začínástartDayOfMonth: Den v měsíci začátkustartTime: Čas v den začátkuendMonth: Měsíc, kdy pravidlo končíendDayOfMonth: Den v měsíci konceendTime: Čas v den konce
Příklad: Předvánoční nápor v maloobchodě od 15. listopadu 00:00 do 31. prosince 23:59.
Fixed Period
Pravidlo platí v konkrétním časovém rozmezí, které se neopakuje. Použijte ho pro jednorázové události.
Parametry:
startDateTime: Přesné datum a čas začátkuendDateTime: Přesné datum a čas konce
Příklad: Týden uvedení produktu na trh od 15. do 22. března 2025 se zvláštními pravidly zpracování.
Kombinování více pravidel
Periodicita je nejužitečnější, když zkombinujete více pravidel. Pro různá časová období můžete nastavit různé parametry a simulace v každém okamžiku vyhodnotí, které pravidlo platí.
Příklad: Doba zpracování při více směnách
Uvažujme výrobní proces, ve kterém se doba zpracování liší podle směny:
| Název pravidla | Periodicita | Rozdělení doby zpracování |
|---|---|---|
| Denní směna | Each Weekday, 08:00–16:00 | Normal(30 min, 5 min) |
| Večerní směna | Each Weekday, 16:00–00:00 | Normal(45 min, 10 min) |
| Víkendová směna | Each Weekend Day, 10:00–18:00 | Normal(60 min, 15 min) |
| Noc / výchozí | Default | Normal(90 min, 20 min) |
Denní směna je nejrychlejší, protože je plně obsazená a pracovníci jsou odpočatí. Večer je práce pomalejší kvůli omezenému dohledu. O víkendu je tempo nejpomalejší, protože je k dispozici jen minimální počet pracovníků. Pravidlo Default pokrývá noční hodiny.
Priorita pravidel
Pokud by mohlo platit více pravidel:
- Pravidla se vyhodnocují v pořadí, v jakém jsou uvedena v nastavení
- Použije se první odpovídající pravidlo, tedy to nejvýše v seznamu
- Pravidla Default platí pouze tehdy, když neodpovídá žádné jiné pravidlo
Tip: Konkrétnější pravidla umístěte nad obecnější. Pokud se mají pracovní dny chovat jinak než víkendy, zařaďte „Each Weekday“ před „Each Day“.
Kde použít periodicitu
Periodicitu lze použít u řady parametrů simulace:
| Parametr | Použití periodicity |
|---|---|
| Příchozí případy | Vyšší četnost příchozích případů v pracovní době, nižší v noci |
| Doby zpracování | Rychlejší zpracování s plným počtem pracovníků, pomalejší při omezeném provozu |
| Kapacita zdrojů | Více pracovníků ve špičce, omezený počet v noci |
| Pravděpodobnost přeskočení | Jiná pravidla směrování o víkendech nebo svátcích |
| Pravděpodobnosti bran | Různé vzorce rozhodování podle denní doby |
Praktický příklad: centrum zákaznické podpory
Následující příklad ukazuje, jak periodicita ovlivňuje více parametrů simulace zákaznické podpory:
Nastavení četnosti příchodů
| Periodicita | Četnost příchodů |
|---|---|
| Each Weekday 09:00–18:00 | Poisson(50 za hodinu) |
| Each Weekday 18:00–22:00 | Poisson(20 za hodinu) |
| Each Weekend Day 10:00–16:00 | Poisson(15 za hodinu) |
| Default | Poisson(5 za hodinu) |
V pracovní době je objem vysoký, večer střední a o víkendech a v noci nízký.
Nastavení doby zpracování
| Periodicita | Rozdělení |
|---|---|
| Each Weekday 09:00–17:00 | Triangular(10, 20, 45 min) |
| Each Weekend Day | Triangular(20, 40, 90 min) |
| Default | Triangular(30, 60, 120 min) |
Zpracování je nejrychlejší při plném obsazení ve špičce a pomalejší o víkendech a mimo pracovní dobu.
Nastavení kapacity pracovníků
| Periodicita | Dostupní pracovníci |
|---|---|
| Each Weekday 09:00–18:00 | 10 pracovníků |
| Each Weekday 18:00–22:00 | 4 pracovníci |
| Each Weekend Day 10:00–16:00 | 3 pracovníci |
| Default | 1 pracovník |
V pracovní době je k dispozici plný počet pracovníků, jindy je jejich počet nižší.
Jak pravidla spolupracují
V úterý v 10:00:
- Příchody se řídí četností 50 za hodinu
- Zpracování používá rychlé trojúhelníkové rozdělení
- K dispozici je 10 pracovníků
V úterý ve 20:00:
- Četnost příchodů klesne na 20 za hodinu
- Zpracování používá výchozí, pomalejší rozdělení
- K dispozici jsou pouze 4 pracovníci
V sobotu ve 14:00:
- Četnost příchodů je 15 za hodinu
- Zpracování používá víkendové rozdělení
- K dispozici jsou 3 pracovníci
Doporučené postupy
1. Začněte pravidlem Default
Nejprve vždy nastavte pravidlo Default. Pokryje všechny časy, které výslovně neošetřují jiná pravidla.
2. Postupujte od obecného ke konkrétnímu
Začněte obecnými vzorci, například rozlišením pracovních dnů a víkendů. Podle potřeby pak přidejte konkrétnější pravidla pro jednotlivé směny.
3. Začněte jednoduše
Nejprve rozlište pracovní dny a víkendy. Podrobnosti po hodinách nebo podle sezóny přidejte později.
4. Vycházejte z dat
Pokud je to možné, analyzujte historická data a zjistěte skutečné vzorce. Sledujte četnost příchodů, dobu zpracování a počet pracovníků podle hodiny a dne v týdnu.
5. Ověřte hraniční případy
Zkontrolujte, zda pravidla správně pokrývají přechody mezi obdobími:
- Co se stane přesně v 17:00 při změně směny?
- Je správně ošetřena půlnoc?
- Fungují pravidla pro konec měsíce i v měsících s různým počtem dní?
6. Zdokumentujte pravidla
Složitá nastavení periodicity se mohou později obtížně vykládat. U každého pravidla zaznamenejte, proč existuje a jaký provozní vzorec popisuje.
Další kroky
Navrhujte lepší procesy. Propojte je do společné architektury. Mějte vše pod kontrolou.
Získejte přístup ihned, bez čekání a bez platební karty. Převádějte způsob práce ve své organizaci do přehledných a propojených návrhů procesů.
Vytvořte architekturu procesů, určete vlastníky a kontrolní mechanismy a slaďte role a odpovědnosti na všech úrovních.
Spusťte zkušební verzi a vytvořte spolehlivý základ pro řízení, správu a průběžné zlepšování procesů.