A beosztás készítése lépésről lépésre. Ezt a felületet az admin használja.
1Belépés
Nyisd meg a kezdőlapot, és válaszd a Tervező csempét. A belépéshez a
felhasználónév admin, a jelszó pedig az, amit a legelső telepítéskor
megadtál.
Első indításkor nincs még jelszó - a rendszer ekkor egy
beállító oldalt mutat, ahol te adod meg az admin jelszót. Ez az oldal utána eltűnik.
2A felület
A képernyő két fő részből áll: fent a vezérlők (ciklus, szabályok, műveletek),
alul a beosztás táblázata - soronként egy ember, oszloponként egy nap.
Ciklus - melyik 4 hetes időszakot szerkeszted, és a lapozás nyilai.
Szabályok - óra/fő, szabadnap, éjszakai blokk hossza, stb.
Műveletek - a gombok: auto-kitöltés, kódok, publikálás, Excel...
Táblázat - a bal oszlop a név, jobbra az Ellenőrzés oszlopok jelzik,
ha valamelyik szabály sérül (piros) vagy rendben van (zöld OK).
3A beosztás kódjai
Minden cella egy műszak- vagy napkódot tartalmaz. A színek végig azonosak a
kérés-oldallal, hogy a kollégák is ugyanazt lássák.
A
Reggel - 05:45-14:00
P
Délután - 13:45-22:00
N
Éjszaka - 21:45-06:00
D
Nappalos - a nem műszakos kollégák
T
Tréning - oktatás (kézzel adod hozzá)
F
Szabadnap - pihenő, nem fogy a szabadságkeret
V
Szabadság - a kivett éves szabadságból
B
Beteg
X
Kilépett - már nem dolgozik. Akinek a teljes ciklusa X, azt a rendszer nem ellenőrzi.
Excel-importkor az ottani B = tréning kódot a rendszer
automatikusan T-re alakítja (nálunk a B a beteget jelenti).
4Kézi kitöltés
Válaszd ki a kívánt kódot a Beosztás kódja paletta egyik gombjával, majd
kattints (vagy húzz végig) a cellákon. Az így beírt cellák kézinek számítanak -
az auto-kitöltés ezeket nem írja felül.
5Auto-kitöltés
Az Auto-kitöltés gomb a nem kézzel beírt cellákat tölti ki automatikusan, a
beállított szabályok szerint. A számolás a kiszolgálón fut (CP-SAT motor): addig keres,
amíg javul a terv, közben a rács élőben frissül, és a gomb feliratán látod, hányadik
megoldásnál tart. Ugyanezzel a gombbal bármikor le is állíthatod — a legutóbb
látott terv marad meg. Jellemzően fél–két perc. A kézi cellákat és a kért
napokat megőrzi.
Haladó mód - alapból egyszerű a felület. Bekapcsolva jelennek meg a ritkábban kellő vezérlők: heti generálás (1-4. hét és a ✕ törlők), élő generálás, próbálkozásszám, valamint a Kezelés menüben a Súlyozás és az Éjszakák átvitele. A beállítás a kiszolgálóra mentődik.
Kezelés ▾ - egy legördülő menüben az ablakot nyitó műveletek: Emberek, Kódok, Létszámigény, Kérések beolvasása (haladó módban: Éjszakák átvitele, Súlyozás).
Élő generálás (haladó) - ha bekapcsolod, minden kézi módosítás után magától újratervez a régi, gyors böngészős generátorral.
Generált törlése - csak az automatikus cellákat üríti, a kézieket meghagyja.
Újratervezés innen - egy dátumtól kezdve tervez újra; az az előtti napokat békén hagyja.
Javítás (haladó) - a meglévő tervből indul, és csak a szabálysértéseket szünteti meg, a lehető legkevesebb cella mozdításával. A jó részekhez nem nyúl (hibátlan terven 0 cellát változtat). Akkor használd, ha egy kész terven csak a piros jelzéseket akarod eltüntetni.
Régi generátor (haladó) - a Javítás, a heti gombok és az élő generálás a korábbi,
böngészőben futó gyors motort használják: 1–2 másodperc, de a lehetetlen dolgokat
csak büntetéssel kerüli. Gyors próbálgatáshoz jó, és akkor, ha a kiszolgálón nincs CP motor.
1. hét ... 4. hét (haladó) - csak az adott hetet generálja, a többit érintetlenül hagyja. Az órakeret hetenként arányos (40 óra), így haladhatsz hétről hétre: 1. hét → 2. hét → 3. hét → 4. hét, a végén meglesz a teljes 160 óra. A gombok feletti ✕ az adott hét generált celláit törli (a kéziek maradnak).
↶ ↷ (visszavonás / újra) - minden művelet (festés, generálás, törlés, import) egy lépésként visszavonható, Ctrl+Z / Ctrl+Y billentyűvel is. Ciklusváltáskor a lépéslista ürül.
A jobb oldali Ellenőrzés oszlopok azonnal mutatják, ha valami
szabály nem teljesül - így látod, hol kell még kézzel igazítani.
6Auto-kitöltés — mi ez a CP?
Az Auto-kitöltés gomb mögött a CP motor dolgozik. A korábbi, böngészőben futó
gyors generátor haladó módban maradt meg (Javítás, heti gombok, élő generálás). A kettő
nem ugyanúgy gondolkodik — érdemes tudni, miben más.
A különbség egy mondatban
A régi generátor minden szabályt pontszámnak tekint, és a legkisebb
összpontszámú tervet keresi. Az Auto-kitöltés (CP) egy részüket falnak
tekinti: azokat nem lehet megsérteni, semennyi nyereségért sem.
Ez a különbség nem elméleti. Ha egy szabály csak pontszám, akkor egy elég drága
másik szabály lesöpörheti. Pontosan ez történt korábban: az éjszaka utáni
reggeles műszak 170 pontba került, egy lefedetlen éjszaka viszont 600-ba — ezért a
generátor inkább valakit ledolgozhatatlan műszakba tett, mint hogy egy éjszakát
üresen hagyjon.
Mit tekint falnak
Ezeket az Auto-kitöltés elő sem tudja állítani — nem arról van szó, hogy
drágák, hanem hogy a megoldás ilyen alakban nem is létezik:
éjszaka másnapján műszak (a fenti átfedés)
munkanapról egyenesen éjszakába (APNN)
egynapos éjszakázás, illetve az Éjszaka egyben minimumánál rövidebb blokk
a megengedettnél hosszabb éjszakai blokk
két éjszakázás között a kötelezőnél kevesebb szünet
egy ciklusban több különálló éjszakázás
Minden más — óraszám, létszám, kívánság, heti pihenő, szabad hétvége, beugrás —
marad mérlegelés kérdése, ugyanazokkal a súlyokkal, amiket a
Súlyozás… ablakban állítasz. A CP is onnan olvassa őket, a kikapcsolt
szabályokkal együtt.
A név. A „CP” a constraint programming, magyarul
kényszer-programozás rövidítése. A használt motor a Google OR-Tools CP-SAT
megoldója — ugyanaz, amivel gyárak, kórházak és légitársaságok terveznek műszakot.
Nem mesterséges intelligencia és nem nyelvi modell: matematikai kereső, amelyik
bizonyítani is tud.
Mit jelent, hogy „bizonyít”
A futás végén háromféle választ kaphatsz:
Bizonyítottan a legjobb
Nincs jobb terv ezekkel a beállításokkal. Nem „nem találtam jobbat”
— hanem nincs. Ilyenkor hiába futtatod tovább.
Ez lett a legjobb
Az időkorlát letelt. Van megoldás, de lehet, hogy van nála jobb is. Az üzenet
megmutatja az elméleti alsó határt is: ha a mostani érték közel van
hozzá, alig van már mit nyerni; ha messze, érdemes hosszabb időt adni.
Nincs megoldás
A beállítások egymásnak feszülnek: ilyen beosztás nem létezik. Nem a gép
gyenge — a feladat lehetetlen. Ez a legértékesebb válasz, mert a
régi generátor ilyenkor is ad valamit, csak épp csendben szabályt sért.
Élőben látod alakulni
A keresés nem néma várakozás: a motor minden alkalommal szól, ha a korábbinál jobb
tervet talált, és a rács azonnal frissül a képernyőn. A gomb feliratán látod,
hányadik megoldásnál tart. Egy tipikus egyperces futásban 50–100 javuló megoldás
követi egymást: az elsők még csúnyák, a végére állnak helyre az arányok.
A közben látott rácsok csak előnézetek, nem mentődnek el. A végleges eredmény
egyetlen lépés, Ctrl+Z-vel visszavonható — és a
kiinduláshoz tér vissza, nem a legutolsó előnézethez.
Melyiket mikor
Auto-kitöltés
Ez az alapértelmezett. Fél–két perc, közben élőben látod alakulni a rácsot,
és a végén tudod, hol tartasz az elérhetőhöz képest. Bármikor leállítható.
Régi generátor (haladó)
Javítás, heti gombok, élő generálás. 1–2 másodperc, gyors próbálgatáshoz jó
— és akkor, ha a kiszolgálón nincs CP motor. A lehetetlen dolgokat csak
büntetéssel kerüli.
Meddig fut, és hol. Nem kér időkorlátot: addig keres, amíg
javul a terv, és magától megáll, ha egy ideje nem talált jobbat (haladó módban az
Auto-kitöltés leáll mező, alapból 60 mp — nehéz feladatnál emelheted). A számolás
a kiszolgálón fut, tehát a böngészőt közben nyugodtan használhatod — de
egyszerre csak egy futás megy, mert a motor minden processzormagot lefoglal. Ha más
indította, nálad is leállítóvá válik a gomb.
Ha a gomb azt írja, hogy nincs telepítve a CP tervező, akkor a
kiszolgálót a Python-motor nélkül építették. Ilyenkor haladó módban a régi generátor
(Javítás, heti gombok) használható.
7Szabályok és beállítások
A fejléc mezőivel állítod be, mit tekintsen a generátor helyesnek:
Óra/fő - a 4 hetes órakeret (alap: 160).
Szabadnap/fő - hány pihenőnap jár egy ciklusban.
Szabad hétvége min. - legalább ennyi teljes (szombat+vasárnap) pihenő.
Éjszaka egyben - a legrövidebb és leghosszabb egybefüggő éjszakai blokk (pl. 2-5).
Éjszaka max/fő - mennyi éjszaka lehet valakinél egy ciklusban (kemény korlát).
Éjszakák között min. - két éjszakai blokk között ennyi nap teljen el (alap: 14 = 2 hét). A dedikált éjszakásra (kívánság = N) nem vonatkozik. A ciklushatáron átnyúló blokk folytatható a max. egybefüggő éjszakáig. 0 = kikapcsolva.
2 napos pihenő max. - legfeljebb ennyi naponta kell egy egybefüggő 2 napos pihenő (alap: 14). Senki ne dolgozzon ennél tovább 2 napos szünet nélkül. 0 = kikapcsolva. A magányos 1 napos pihenők kerülése külön súllyal (Súlyozás → 'Magányos 1 napos pihenő") erősíthető, ha inkább 2 napos blokkokat szeretnél.
Súlyozás... - a generátor prioritásai kézzel hangolhatók: minden szabálynak súlya van, ütközéskor a nagyobb nyer. Az alapértéktől eltérő mező kékkel jelölt, egy gombbal minden visszaállítható. A Be pipával egy-egy szabály teljesen kikapcsolható (a beírt érték megmarad, visszakapcsolva ugyanaz jön vissza) - a kritikusaknál (0 fős műszak, órakeret, éjszakai létszám...) rákérdez, mert azokat kikapcsolva a generátor tényleg nem figyeli őket.
Büntetés oszlop - a Súlyozás ablakban minden szabály mellett látszik, mennyivel rontja a mostani beosztást (piros szám + sáv), alul az összesítés. Ebből azonnal látod, hol feszül a terv: ami nagy, azon érdemes állítani (a súlyon vagy a beállításon). A számok a jelenlegi rácsra vonatkoznak, és minden változtatás után frissülnek.
Éj után pihenő - kötelező pihenőnap az éjszakai blokk után.
Éjszaka elosztása - egyenletes / kiegyensúlyozott / dedikált (2-3 fő viszi).
Besegítő mód - bekapcsolva a generátor átvihet valakit a másik csoportba azokra a
napokra, ahol ott hiányzik a létszám. Hogy kit, az az Emberek... ablakban dől el: ott
minden névnél négy pipa van (DS, STLG, UK, AZL). Aki a másik
oldal valamelyik területét viszi, az beugorhat segíteni. Aki viszont csak az egyiket
tudja, az egyedül nem viheti a műszakot: kell mellé valaki, aki mindkettőt viszi -
különben a másik feladat gazdátlanul maradna. A generátor ezt magától betartja. Kikapcsolva mindenki a saját csoportjában marad,
és a már bejelölt beugrások is megszűnnek (Ctrl+Z visszahozza).
8Létszámigény
A Létszámigény... gombbal állítod be csoportonként és naponként, hány embernek
kell reggel/délután/éjszaka dolgoznia (minimum-maximum). Az éjszakai létszám fix:
a generátor pontosan annyit tesz be, amennyit itt megadsz.
Egy-egy napot külön is felül lehet írni (pl. hétfőn több reggeles kell) - ez a beállítás
ciklusonként külön él, és a szerveren tárolódik.
9Ciklusok és lapozás
A beosztás 4 hetes ciklusokban él. A ◀ ▶
nyilakkal vagy a dátummezővel lépsz a szomszédos ciklusokra. Új ciklusnál az előző
utolsó 5 napja megjelenik az előző ciklus oszlopokban - ez segít a hétvégi és
éjszakai átfedések helyes tervezésében.
Mindig a szerverről olvas. Ha az előző ciklust utólag módosítod,
az átvitt 5 nap magától követi a változást. A lapozás nem hoz létre üres ciklusokat.
Éjszakák átvitele - amikor egy ciklust véglegesítesz, ezzel a
gombbal viszed át a ledolgozott éjszakákat az 'éjszaka-előzménybe', hogy a következő
körben az elosztás igazságos legyen.
10Kérések beolvasása
A kollégák a Szabadnap-kérés oldalon jelölik be, mely napokon szeretnének
otthon lenni. A Kérések beolvasása gombbal ezek megjelennek a táblázatban.
Te döntöd el, hogy szabadnap (F) vagy szabadság (V) lesz belőle - a generátor
igyekszik minél kevesebb szabadságot elhasználni.
11Belépési kódok
A kollégák a saját nevükkel és egy hatjegyű kóddal lépnek be a kérés-oldalra.
A kódokat a Kódok... gombbal kezeled.
Véletlen generálás - jelöld be a bal oldali négyzetet a kívánt embereknél, majd
Új kód a kijelölteknek. Vagy Új kód mindenkinek egyszerre.
Kézi kód - írj be egy 6 jegyű kódot a jobb oldali mezőbe, és nyomd meg a
Beállít gombot. A rendszer figyel, hogy ne ütközzön másik dolgozó kódjával.
A kód titkosítva tárolódik, ezért csak a generálás/beállítás
pillanatában látható. Írd fel, vagy adj újat, ha valaki elfelejti.
12Publikálás
A Mentés és a kiadás két külön dolog. Amíg nem publikálsz, a beosztás csak
nálad látszik. A kollégák a kérés-oldalon és a naptárukban csak a kiadott ciklust
látják - egy befagyasztott pillanatképet, ami csak újbóli publikáláskor frissül.
Publikálás - még nincs kiadva. Kattints a kiadáshoz.
Változások kiadása - ki van adva, de a kiadás óta szerkesztetted. Kattints, hogy a dolgozók is lássák.
Publikálva ✓ - kiadva és naprakész. Kattints a visszavonáshoz.
13Excel és nyomtatás
Excel import - beolvas egy meglévő beosztást (a Shift lap szerkezetéből).
Excel export - a jelenlegi ciklust menti Excel-fájlba.
Nyomtatás - nyomtatóbarát nézet a kész beosztásról.
14Telefonon
Telefonon a vezérlők alapból össze vannak csukva, hogy a táblázat rögtön látszódjon.
A fejlécben a ⚙ Vezérlők gombbal nyitod ki a beállításokat és a gombokat.
A táblázat vízszintesen görgethető, a névoszlop rögzítve marad.