Blog Shift Scheduler
Rozpis služieb lekárov: pevná schéma a férovo rozdelené piatky
Táto anonymizovaná prípadová štúdia vychádza zo spolupráce so skutočným zákazníkom, ktorý mal na plánovanie služieb veľmi konkrétne požiadavky. Má vám poslúžiť ako inšpirácia, ako uvažovať nad nastavením pravidiel vo vlastnom pracovnom priestore.
Požiadavky boli takéto:
- V tíme je spolu 6 lekárov.
- Pracujú v 2 zmenách: M — ranná (8:00–16:00) a A — poobedná (11:00–19:00).
- Každý lekár má od pondelka do štvrtka svoju pravidelnú schému:
| Lekár / lekárka | Pondelok | Utorok | Streda | Štvrtok |
|---|---|---|---|---|
| Lekárka 1 | A | A | M | M |
| Lekár 2 | M | A | A | M |
| Lekár 3 | A | M | A | M |
| Lekár 4 | A | M | M | A |
| Lekár 5 | M | M | A | A |
| Lekár 6 | M | A | M | A |
- Piatky sa plánujú samostatne: poobede pracujú 2 lekári a tieto služby sa medzi všetkých postupne férovo rozdeľujú. Ostatní dostupní lekári pracujú v piatok ráno.
- Väčšine lekárov sa má piatková poobedná vykompenzovať zmenou jednej poobednej od pondelka do štvrtka na rannú. Pomer ranných a poobedných tak zostane približne vyvážený. Výnimkou je lekárka 1: jej pevná schéma od pondelka do štvrtka sa kvôli piatkovej službe nemení, hoci sa tiež strieda na piatkových poobedných.
- Aby bola starostlivosť bezpečne zabezpečená, každý pracovný deň musia slúžiť aspoň 2 lekári na rannej a 2 na poobednej zmene.
- Za bežných okolností všetci pracujú každý deň od pondelka do piatka. Piatkové poobedné nechce nikto :)
Cieľ: zachovať stabilný, opakujúci sa základný rozpis a automaticky riešiť piatky, absencie a výnimky s čo najmenším počtom zmien. Pri dovolenkách či iných absenciách treba zabezpečiť obsadenie a pritom čo najmenej zasiahnuť do zabehnutej schémy ostatných lekárov.
Z pohľadu AI plánovania si to vyžadovalo pomerne presné nastavenie pravidiel a trochu algoritmického uvažovania. Ak potrebujete s nastavením pomôcť, napíšte nám na adam@shiftscheduler.ai. Radi vám s tým pomôžeme. V tomto prípade sme použili takéto nastavenie:
- V
/locationssme na každý deň od pondelka do piatka vytvorili 2 voľné miesta pre rannú zmenu M a 2 voľné miesta pre poobednú zmenu A.
Pravidlá pre AI s úrovňou dôležitosti v zátvorke:
- Každý môže mať najviac jednu zmenu denne (Povinné).
- Každý piatok môžu byť v celom tíme naplánované najviac 2 zmeny A (Povinné).
- Rozdeľovať piatkové zmeny A férovo, aby ich mal každý v dlhšom časovom horizonte čo najpodobnejší počet (Vysoká).
- Lekári 2, 3, 4, 5 a 6 by mali mať každý najviac 2 zmeny A týždenne (Vysoká).
- Lekárka 1 nesmie mať zmenu A v stredu ani vo štvrtok (Povinné).
- Lekárka 1 nesmie mať zmenu M v pondelok ani v utorok (Povinné).
- Lekár 2 by nemal mať zmenu A v pondelok ani vo štvrtok (Stredná).
- Lekár 2 by nemal mať zmenu M v utorok ani v stredu (Nízka).
- Lekár 3 by nemal mať zmenu A v utorok ani vo štvrtok (Stredná).
- Lekár 3 by nemal mať zmenu M v pondelok ani v stredu (Nízka).
- Lekár 4 by nemal mať zmenu A v utorok ani v stredu (Stredná).
- Lekár 4 by nemal mať zmenu M v pondelok ani vo štvrtok (Nízka).
- Lekár 5 by nemal mať zmenu A v pondelok ani v utorok (Stredná).
- Lekár 5 by nemal mať zmenu M v stredu ani vo štvrtok (Stredná).
- Lekár 6 by nemal mať zmenu A v pondelok ani v stredu (Stredná).
- Lekár 6 by nemal mať zmenu M v utorok ani vo štvrtok (Nízka).
- Cez víkend nesmie pracovať nikto (Povinné).
Ako vidíte, ide najmä o nastavenie hraníc. Namiesto toho, aby sme iba určovali, kedy má kto pracovať, hovoríme, ktorým zmenám by sa mal vyhnúť. Za porušenie pravidla s vysokou, strednou alebo nízkou dôležitosťou dostane algoritmus penalizáciu. Pravidlá označené ako Povinné sú pevné obmedzenia, ktoré porušiť nemôže.
Týždenný limit poobedných zmien podporuje kompenzáciu piatkov a preferencie na jednotlivé dni pomáhajú udržať rozpis čo najbližšie k základnej schéme. Tá počíta od pondelka do štvrtka každý deň s 3 lekármi ráno a 3 poobede. Ak sa jedna poobedná zmení na rannú, poobede zostanú potrební 2 lekári. Keď potrebujú zmenu počas týždňa obaja lekári s piatkovou poobednou, tieto úpravy by mali pripadnúť na rôzne dni, aby zostalo zachované obsadenie. V rámci jedného mesiaca sa piatky nedajú vždy rozdeliť úplne rovnako. Dôležitá je preto férovosť v dlhšom období.
Požiadali sme AI agenta, aby spustil plánovanie. Keď sa opýtal na mesačný počet hodín, bolo dôležité uviesť, koľko má každý odpracovať. Plánovanie tak nielen obsadí všetky voľné miesta, ale vytvorí aj ďalšie zmeny, aby všetci pracovali od pondelka do piatka, s výnimkou absencií a sviatkov. Pri týchto osemhodinových zmenách to znamená 8 hodín na pracovný deň; cieľové hodiny treba upraviť podľa voľna a prípadných neplatených prestávok.
Výsledok vidíte na snímkach nižšie. V mesiaci bez dovoleniek a špeciálnych požiadaviek sa všetci môžu držať bežného striedania, iba s úpravami počas týždňa potrebnými na kompenzáciu piatkových poobedných a na ich férové rozdelenie. Druhá snímka ukazuje rozpis s dovolenkami a individuálnymi požiadavkami. Systém automaticky hľadá vyvážené rozdelenie a rozpis môžete každý mesiac vygenerovať jedným kliknutím so zohľadnením požiadaviek tímu. Ak pre absencie nezostane dosť dostupných lekárov na potrebné obsadenie, niektoré miesta zostanú neobsadené a rozpis treba skontrolovať.

