VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY
Název diplomové práce:
Optimalizace rozvrhu směnného provozu: aplikace v řetězcích rychlého občerstvení
Autor:
Irena Havlová
Katedra:
Katedra ekonometrie
Obor:
Ekonometrie a operační výzkum
Vedoucí práce:
Ing. Jan Zouhar, Ph.D. -1-
Prohlášení: Prohlašuji, že jsem diplomovou práci na téma „Optimalizace rozvrhu směnného provozu: aplikace v řetězcích rychlého občerstvení“ zpracovala samostatně. Veškerou použitou literaturu a další podkladové materiály uvádím v seznamu použité literatury. V Praze dne 8. srpna 2012
................................ Irena Havlová -2-
Poděkování: Na tomto místě bych ráda vyjádřila velké poděkování Ing. Janu Zouharovi, Ph.D. za vedení mojí diplomové práce, za velmi cenné připomínky a náměty, které vedly k jejímu zlepšení, a za čas a ochotu, které mi po dobu přípravy práce věnoval. Dále děkuji panu T. R. za poskytnutí veškerých dat a potřebných konzultací při řešení případové studie. Nakonec pak mé poděkování patří i všem lidem v mém okolí, kteří mě po celou dobu mého studia neúnavně podporovali. -3-
Abstrakt Optimalizace rozvrhu směnného provozu: aplikace v řetězcích rychlého občerstvení Autor: Irena Havlová Katedra: Katedra ekonometrie Vedoucí práce: Ing. Jan Zouhar, Ph.D. Název práce:
Problematika optimálního přiřazování pracovníků na směny nabývá na důležitosti především v provozech fungujících 24 hodin denně, 7 dní v týdnu, zvláště je-li poptávka po pracovnících značně proměnlivá. Tato práce se zaměřuje na plánování směn v restauracích rychlého občerstvení, kdy je nutné vypořádat se s různými speciálními podmínkami typu variabilní začátky směn, proměnlivá délka směn či velmi různorodé složení zaměstnanců. V práci jsou představeny dva vlastní modely založené na přístupu smíšeně celočíselného programování, které mají jednak optimalizovat připravované rozvrhy a jednak snížit časovou náročnost jejich tvorby. Závěrem jsou pak prezentovány získané výsledky, včetně srovnání s odpovídajícími plány směn připravenými pracovníkem restaurace a zhodnocení rozdílné výpočetní efektivnosti jednotlivých modelů. Klíčová slova: rozvrhování pracovníků, celočíselné programování, řetězce rychlého občerstvení
Abstract Title: Author: Department: Supervisor:
Crew Scheduling Problem: Application in fast food chains Irena Havlová Department of Econometrics Ing. Jan Zouhar, Ph.D.
Crew scheduling is very important, especially in continuous operating environments running 24 hours a day, 7 days a week, more so if the demand for staff is varying over each hour of the day. This thesis focuses on staff optimization in a fast food chain where special conditions for scheduling like flexible starting-times and shift lengths or heterogeneous crew are present. Two new models based on a mixed integer programming approach were designed, dealing with data from a particular restaurant with the aim of improving schedules and saving time spent on the creation of those schedules. At the end of the thesis the empiric schedules and results obtained are compared and the computational efficiency of both models is discussed. Keywords: crew scheduling problem, integer programming, fast food chains
-4-
Obsah
Obsah Úvod ............................................................................................................................................ 1 1
2
3
Problematika rozvrhování pracovníků ................................................................................. 3 1.1
Klasifikace úloh ............................................................................................................ 3
1.2
Aplikační oblasti ........................................................................................................... 6
1.3
Specifika plánování směn pracovníků v restauracích s rychlým občerstvením ......... 11
1.4
Modelové přístupy a metody řešení ............................................................................ 12
Provoz a požadavky na plány směn ve vybrané restauraci ................................................ 17 2.1
Struktura zaměstnanců a z ní plynoucí omezení ......................................................... 17
2.2
Vstupní data a podoba plánů směn ............................................................................. 18
2.3
Současný způsob plánování ........................................................................................ 21
Optimalizace rozvrhů ve vybrané restauraci ...................................................................... 23 3.1
Formulace matematických modelů ............................................................................. 24
3.2
Úskalí spojená s implementací navržených modelů ................................................... 31
3.3
Výpočetní efektivnost ................................................................................................. 32
3.4
Zhodnocení získaných výstupů ................................................................................... 34
Závěr .......................................................................................................................................... 48 Použitá literatura ........................................................................................................................ 50
Úvod
Úvod Plánování směn a rozpisů pracovníků na jednotlivé směny je v mnohých odvětvích lidské činnosti jedním ze zásadních klíčů k úspěchu. Problematickou se tato oblast plánování stává především tam, kde je třeba zajistit plynulý provoz, obvykle v režimu 24-7, čili 24 hodin denně, 7 dní v týdnu, přičemž mnohdy se jedná o situace, kdy poptávka po pracovnících není během dne či týdne rozložena rovnoměrně, ale je odvislá od různých faktorů. Mezi tyto provozy patří např. oblast zdravotnictví, kdy je nutno naplánovat pokrytí směn v nemocnicích odpovídajícím personálem, nebo doprava, kdy je třeba zajistit např. dostatečné nasazení autobusů městské hromadné dopravy. Stěžejní je tato otázka pro letecké společnosti, kdy je správný počet pracovníků na všech stanovištích mnohdy rozhodujícím faktorem pro konkurenceschopnost dané firmy. Je zřejmé, že pracuje-li zároveň více zaměstnanců, než je potřeba, plýtvá firma zbytečně jak jejich časem, tak svými prostředky. Naopak nedostatečné pokrytí poptávky může v lepším případě znamenat finanční ztráty, v horším však může dojít i k ohrožení života pasažérů či pacientů. Volba nasazených pracovníků se však samozřejmě neřídí pouze poptávkou. Výrazně ji ovlivňují také místní zákony, popřípadě pracovní smlouvy, dohody s odbory či další platná omezení. Vzhledem k tomu, že tento problém se týká obvykle poměrně velkých provozů, stává se (především díky svým rozměrům) tento problém často poměrně obtížně řešitelným. Tím spíše se však stal předmětem zájmu mnohých matematiků a odborníků z oblasti operačního výzkumu, kteří se již po dlouhá desetiletí snaží přijít s vhodnou metodou, která by mohla firmám se zmíněnými potřebami ulehčit jejich fungování. Obvykle jsou úlohy zmíněného typu označovány jako crew scheduling problem (CSP), neboli úloha rozvržení pracovníků. Jednou ze zajímavých oblastí, v nichž lze rozpoznat úlohu CSP, je obsazení směn v restauracích rychlého občerstvení. V tomto případě se jedná o provoz, v němž poptávka po zaměstnancích výrazně kolísá jak s částí dne (nejsilnější bývá kolem doby oběda, často se objevují i odpolední špičky), tak s jednotlivými dny v týdnu (je zřejmé, že více zákazníků dorazí o víkendu než během dnů pracovního týdne). Nutno také zmínit, že každá restaurace může fungovat jiným způsobem. Kupříkladu restaurace na dálničních odpočívadlech budou zřejmě nejvíce zatížené během pátečního a nedělního odpoledne, naopak restaurace v obchodních centrech projdou špičkou během sobotního a nedělního dne. Další roli může hrát i počasí, popřípadě roční období atd. Je tedy zjevné, že pokrytí směn nelze v těchto provozech zakládat na pravidelném střídání turnusů, jak je tomu v mnohých výrobních podnicích. Tyto provozy zároveň často poskytují svým zaměstnancům možnost pracovat na zkrácený úvazek, pouze ve vybrané dny, pouze během dopoledne či odpoledne atd. Jedná se tedy o problém 1
Úvod
poněkud složitější, než když jsou všichni zaměstnanci k dispozici za stejných podmínek. Zdá se tedy, že plánování směn v těchto provozech bude třeba řešit modelem sestaveným „na míru“ právně s ohledem na zmíněná specifika. A právě tomuto úkolu se věnuje tato diplomová práce. V předložené případové studii se zaměřuji na údaje z jedné konkrétní provozovny nejmenovaného řetězce restaurací rychlého občerstvení. Z této restaurace mi byla poskytnuta veškerá potřebná data ohledně zaměstnanců i požadovaného pokrytí směn. Jedná se tedy o reálný problém, jehož řešení je o to zajímavější, že by mohlo být v praxi dobře uplatnitelné, jestliže bude pro zástupce zmíněné restaurace přijatelné. V současné době je v této restauraci veškeré plánování směn prováděno „ručně“ a zabírá jednomu pracovníkovi každý týden přibližně jednu směnu (7 – 8 hodin práce). Cílem této práce je přijít s podpůrným systémem založeným na matematických modelech a odpovídajícím výpočetním SW, který pomůže jednak přesněji naplánovat obsazení restaurace potřebnými pracovníky a také účinně zkrátit uvedenou dobu potřebnou pro plánování směn, čímž umožní využít kapacity pracovníka mnohem produktivněji. Tato diplomová práce je členěna do třech kapitol. První se věnuje představení problematiky rozvrhování pracovníků a teoretickému pozadí této oblasti operačního výzkumu. Jsou nastíněny jednotlivé aspekty rozvrhování včetně stručného výčtu aplikačních oblastí. Zvláštní podkapitola je věnována specifikám, která s sebou přináší rozvrhování v restauracích s rychlým občerstvením. Závěr této kapitoly je pak zasvěcen modelovým přístupům a vybraným metodám řešení zmíněných úloh. Druhá kapitola má již mírně praktické zaměření a představuje konkrétní požadavky vybrané restaurace. Seznamuje čtenáře se strukturou tamějších zaměstnanců, se zvláštními omezeními, která z ní plynou, a také s podobou vstupních dat, která jsou pro plánování směn k dispozici. V poslední podkapitole je pak popsán současný stav tvorby zaměstnaneckých plánů včetně obrazových ukázek klíčových výstupů. Třetí kapitola pak přináší konkrétní zpracování předloženého problému. Nejprve jsou formulovány dva modely a představeny možné obtíže, které může implementace těchto modelů do praxe přinést. Následuje zhodnocení efektivnosti jednotlivých modelů a kapitolu uzavírá prezentace získaných výsledků, zvážení užitečnosti navržených plánů a porovnání s reálnými plány připravenými v restauraci pro shodné období.
2
Problematika rozvrhování pracovníků
1
Problematika rozvrhování pracovníků
V případě úloh plánování pracovníků na jednotlivé směny (CSP – crew scheduling problem) se jedná o poměrně rozsáhlou a pestrou skupinu problémů, kde společnou charakteristikou je vždy hledání plánu či rozvrhu přidělení pracovníků na určité pozice, stroje či úkoly v daném časovém úseku tak, aby bylo vyhověno poptávce po dostatečném počtu pracovníků [30]. Metod, jak optimálního rozvrhu dosáhnout, i kriterií, podle nichž se pak optimalita posuzuje, je nepřeberné množství, přičemž komplikovanost jednotlivých problémů je ovlivňována jak celkovým počtem zahrnutých zaměstnanců, tak i vnějších podmínek, které je nutno dodržet. Tato kapitola přiblíží alespoň některé základní pojmy a modely používané při řešení zmíněných úloh, včetně uvedení modelových příkladů k jednotlivým aplikačním oblastem.
1.1
Klasifikace úloh
V odborné literatuře je možné setkat se s různými variantami klasifikace úloh CSP, přičemž konkrétní podoba mnohdy závisí na konkrétním problému, kterého se týká. Obecný přehled přináší Ernst a kol. v publikaci [17], kde je vlastní proces utváření rozvrhu rozdělován na 6 modulů: plánování poptávky, plánování dnů volna, plánování směn, plánování turnusů, přiřazení úkolů a přiřazení pracovníků. V souladu s tímto dělením je i práce Jarrah a kol. [23], která se věnuje především třem oblastem – plánování dnů volna, přiřazení směn jednotlivým pracovníkům a tvorbě turnusů. Tien a Kamiyama v [33] zase rozpoznávají v obecném rozvrhovacím problému pět fází – stanovení krátkodobých požadavků na pracovní síly (tedy poptávky během dne či jiných intervalů), zjištění celkových nároků na pracovní síly (celkový počet zaměstnanců), určení odpočinkových etap (dnů volna), určení pracovního rozvrhu (dnů volna vs. v práci) a stanovení směn. Podívejme se blíže na jednotlivé fáze jmenované v [17]. a) Modelování poptávky (demand modelling). Je zřejmé, že úspěch sestaveného rozvrhu směn úzce souvisí s dobře odhadnutým počtem potřebných pracovníků. Plánování poptávky je velice komplexním procesem úzce spojeným s konkrétními potřebami daného problému. Těžko tedy hledat nějaký obecný návod, jak se s touto fází CSP vypořádat. Lze však vymezit alespoň tři základní podoby poptávky po zaměstnancích. Poptávka založená na úkolech se odvíjí od seznamu úkolů, které je v určitém časovém okamžiku nutno vykonat. Často bývá spojena s určením místa, kde se daný úkol musí provést, a obvykle je nutné, aby pracovníci během jedné směny vykonali více různých úkolů. Tyto seznamy mohou mít podobu například výrobních plánů nebo jízdních řádů veřejné dopravy. Navíc tyto seznamy jsou obvykle sestavovány na základě konkrétních 3
Problematika rozvrhování pracovníků
objednávek (ať již zboží nebo kapacity přepravy), a proto se poptávka i lépe odhaduje než v jiných případech. Flexibilní poptávka s sebou přináší úskalí v podobě těžko odhadnutelného vývoje v jednotlivých časových okamžicích. Tento typ poptávky lze najít zejména ve službách. K určení budoucích hodnot se často používají predikční a simulační metody [31], neboť příchody jednotlivých požadavků mají často náhodný charakter. Poptávka řízená počtem požadovaných pracovníků představuje poslední sekci tohoto dělení. Tato poptávka je řízena přímo počtem pracovníků, kteří jsou v daný okamžik potřeba k zajištění požadované aktivity. Typicky lze tento typ poptávky rozpoznat ve zdravotnictví, kde je často jasně dán poměr např. přítomných zdravotních sester a pacientů. b) Plánování dnů volna (days off scheduling). Otázka plánování volných dnů je stěžejní v případě provozů fungujících 24 hodin denně, zvláště jedná-li se o provozy s nekonstantní poptávkou po lidských zdrojích během dne, týdne či měsíce. V takových případech je nutné sestavit pracovní plány tak, aby rozložení volných dnů mezi pracovníky bylo spravedlivé a přitom zajišťovalo bezproblémový chod provozu. Otázka naplánování volných dnů bývá úzce spojována například s určením optimálního resp. minimálního celkového počtu zaměstnanců [10]. c) Plánování směn (shift scheduling). Jak vybrat z velkého počtu možných směn ty správné, které se nakonec obsadí zaměstnanci, aby dle zvoleného kriteria bylo rozvržení směn optimální, to je dalším problémem, s nímž je při plánování směn nutno se vypořádat. Především v oblastech s flexibilní poptávkou se jedná o nelehký úkol. V případě, že uvažované směny musejí mít všechny konstantní délku, je tato otázka poněkud jednodušší. V mnohých oblastech je však možné obsazovat směny různých délek a pak dosahuje množina potenciálně možných směn opravdu velkých rozměrů. Další komplikací může být i omezený rozsah začátků či konců směn (viz [7]). V neposlední řadě lze do této části plánování přiřadit i plánování povinných přestávek v práci [6]. d) Sestavování turnusů (line of work construction). Na navržené směny je obvykle nutné nahlížet v horizontu několika dní. Na to, jakou bude mít výsledný rozvrh podobu, mají vliv mj. i podmínky dané lokální legislativou, kolektivními smlouvami apod. [11]. V této fázi je nutné ohlídat i bezpečnostní nařízení a další logické podmínky, například že na noční směnu nemůže u stejného pracovníka hned navazovat směna denní.
4
Problematika rozvrhování pracovníků
Z pohledu možnosti opakování turnusů je možné rozlišit dva základní typy: Cyklické turnusy jsou turnusy, které mají stejnou opakující se strukturu. Často se tento typ turnusů objevuje v maloobchodních prodejnách či ve výrobních podnicích, kdy je třeba zajistit plynulý provoz s téměř konstantním počtem pracovníků, který není příliš ovlivňován aktuální poptávkou po produkci. Dále je tento typ turnusů možné najít v oblasti hromadné dopravy, jejíž provoz se řídí pravidelnými jízdními řády bez ohledu na aktuální obsazenost linek. Cyklické turnusy poskytují zaměstnancům jistou výhodu, neboť mohou s vysokou pravděpodobností předem odhadnout, na jakou směnu budou kdy nastupovat. Acyklické turnusy se obvykle využívají v oblastech, kde je velmi nestálá poptávka po aktuální obsazenosti jednotlivých směn. Turnusy pak sice tvoří jistá série směn, ale mezi jednotlivými sériemi nelze najít žádný pravidelně se opakující vztah. Na rozdíl od cyklických turnusů může zaměstnanec s větším předstihem těžko odhadnout, jaké směny ho čekají, a hůře se mu pak dlouhodobě plánuje soukromý život [30]. e) Přiřazení úkolů (task assignment). V některých provozech je nutné již ve fázi přípravy obsazení směn mít na paměti, že určité úkoly či denní činnosti vyžadují různě kvalifikované pracovníky, případě pracovníky s různou úrovní zkušeností a hierarchického postavení. V těchto případech se pak podle povahy jednotlivých úkolů skládají výsledné směny. f) Přiřazení pracovníků (staff assignment). Poslední položkou v tomto výčtu je přiřazení pracovníků jednotlivým směnám. I zde je možné narazit na podmínky přiřazení klíčových pracovníků ke klíčovým směnám (především jsou-li směny vystavěny na základě přiřazení úkolů). Do této sekce lze zařadit i snahu rozdělit „nepopulární“ směny (noční, víkendové) mezi pracovníky pokud možno rovnoměrně. V této fázi je také možné pokusit se zapracovat zaměstnanecké preference na konečný rozvrh směn (jak zmiňuje např. [11], někteří zaměstnavatelé dnes poskytují svým zaměstnancům možnost jisté „volby“ směn, je-li to v rámci systému alespoň trochu možné, kupříkladu jako kompenzaci nejistoty v případě acyklických turnusů). V neposlední řadě je nutné mít na paměti i rozdílné náklady na využití pracovníků s různě vysokou úrovní kvalifikace, což mnohdy výrazně ovlivňuje celkové náklady na využití pracovní síly. Existují četné úlohy, které nezahrnují všechny vymezené kroky. Někdy se může jednat pouze o vybrané sekce, popřípadě pouze o jednu ze zmíněných oblastí. Ať už úloha pokrývá jen některé moduly nebo všechny jmenované, vždy se objeví otázka, zda řešit příslušné moduly najednou či odděleně. Ve větších modelech není simultánní řešení více modulů 5
Problematika rozvrhování pracovníků
najednou ani možné, neboť výpočetní náročnost by dosahovala nereálných rozměrů. Často se pak přistupuje k řešení jednotlivých modulů separátně, kdy se zafixuje řešení nalezené v jednom modulu a použije se následně při hledání řešení v modulu dalším. Takto se postupně projdou všechny části, které se vyskytují v dané úloze, až se získá příslušné řešení [17]. Mimo výše zmíněných šesti modulů je při řešení úlohy rozvrhování pracovníků na směny nutné zvážit i další aspekty. Jedním z neopomenutelných kroků je volba cílového kriteria, podle něhož se bude optimální rozvrh směn hledat. Mezi nejčastěji vytyčované cíle patří následující čtyři: a) minimalizace rozdílu mezi požadovaným počtem pracovníků a skutečným počtem pracovníků v každém sledovaném intervalu (tedy aby v každý okamžik byl na směně pokud možno počet pracovníků přesně odpovídající potřebě), b) minimalizace celkového počtu nasazených pracovníků [4] (tedy aby nedocházelo k zaměstnávání pracovníků, kteří ve výsledku nebudou plně vytíženi), c) minimalizace počtu směn (s ohledem na skutečnost, že zaměstnanci raději půjdou na dvě delší směny než na tři kratší), d) minimalizace nespokojenosti zaměstnanců s plánem směn [30]. V neposlední řadě je pak nutné brát v úvahu i specifické podmínky pro konkrétní řešené úlohy. Mezi ně patří – mimo velkého množství dalších – kupříkladu možnost dodatečného najmutí pracovní síly (brigádníků, agenturních zaměstnanců, aj.), nutnost plánování pohotovostních pracovníků, kteří v případě absence původně přiřazených kolegů zaskočí na příslušné směně, možnost flexibilně přizpůsobovat obsazení směn v závislosti na aktuální poptávce (vypsání přesčasů, změna již předepsaných směn), celková vzájemná zastupitelnost jednotlivých pracovníků atd.
1.2
Aplikační oblasti
K oborům vyžadujícím co možná nejpřesnější plánování využití lidských zdrojů by se s ohledem na sílící konkurenci v soukromé i státní sféře dnes nechala přiřadit téměř všechna výrobní i nevýrobní odvětví. Vždyť vhodné využití zdrojů zvyšuje konkurenceschopnost daného subjektu na trhu a může tvořit i jediný rozdíl mezi profitem a ztrátou dané společnosti. Přesto se pokusím uvést alespoň základní výčet některých oblastí, v nichž lze ve větší míře najít praktické využití CSP. LETECKÁ PŘEPRAVA Oblast letecké přepravy je jednou z nejčastějších oblastí, na které se úlohy plánování zaměstnanců zaměřují. Vedou k tomu zřejmě dva základní důvody. Jednak je to velikost problému, kdy ať už se jedná o pozemní či letový personál, vždy má letecká společnost či 6
Problematika rozvrhování pracovníků
letiště obrovské množství zaměstnanců, letů a jednotlivých činností. A jednak jsou potenciálně velké obnosy finančních prostředků, které je možné správným přidělením pracovníků ušetřit a zvýšit tak konkurenceschopnost obchodního subjektu. Např. dle [21] počátkem 90. let minulého století v případě americké společnosti United Airlines patřily náklady na pracovní sílu společně s náklady na pohonné hmoty k největším výdajům společnosti. V oblasti letecké přepravy je možné rozpoznat i různá specifická omezení. Jedná se především o propojení několika menších plánovacích celků, a to nejen z hlediska časového, ale i místního. Je nutné brát v úvahu skutečnost, že posádky jednotlivých letadel se v různých okamžicích nacházejí v různých částech světa, a do plánování zahrnout informace nejen o čase začátku a konce směny, ale zároveň i o místě, kde se daní pracovníci v uvedených časech budou nacházet. V některých destinacích dokonce zůstává celá posádka několik dní a je nutné s tím při plánování obsazení směn počítat. Druhým důležitým aspektem jsou omezení daná dlouhodobým letovým řádem [17], který do velké míry ovlivňuje potřebný počet zaměstnanců v jednotlivých časových okamžicích. Důraz na kvalitní naplánování směn je kladen samozřejmě i v případě pozemního personálu. Někteří autoři tuto část oddělují od plánování posádek letadel a přiřazují ji spíše do skupiny společně s plánováním obsluhy kasin, cargo terminálů či sportovišť ([17]). Specifikem pro tuto skupinu je fakt, že poptávka po zaměstnancích je předem velmi lehce odhadnutelná v závislosti na jednotlivých letových řádech, rozpisech sportovních akcí, atd. HROMADNÁ DOPRAVA Aplikace CSP v hromadné dopravě mají mnoho společného s aplikacemi pro dopravu leteckou. Četné odborné práce se zaměřují především na dopravu autobusovou [14] či železniční [12]. I v tomto případě je výsledný pracovní rozvrh závislý na jízdním řádu. Navíc mezi podmínky přibývají i přísnější pravidla pro častější bezpečnostní přestávky. V neposlední řadě je nutné brát opět v úvahu i faktor místa. Na rozdíl od letecké dopravy však v případě té hromadné (především městské hromadné dopravy) není nutno začínat a končit ve stejných místech [17]. Například v Praze je určeno několik klíčových zastávek, v nichž dochází ke střídání řidičů (jak autobusů, tak tramvají), a jednotlivým řidičům se může snadno stát, že jejich směna v daný den bude končit na jiné stanici, než na jaké začínali. Např. [12] uvádí v aplikaci pro italskou železnici mj. i podmínky, které určují, kolik směn má zaměstnanec končit mimo depo (v tu chvíli pak tráví volno mezi směnami mimo domov). Někteří autoři naopak stavějí své přístupy na tom, že je vždy nutno začínat a končit ve stejném depu (např. [19]). Je zřejmé, že v případě hromadné dopravy lze využít všech 6 zmíněných modulů, které se v plánování směn dají rozeznat. Zde nachází velké uplatnění především plánování úkolů, neboť běžná směna jednoho řidiče obvykle sestává z několika menších úseků, které 7
Problematika rozvrhování pracovníků
stráví na přiřazených linkách [14]. Zároveň se nabízí možnost využití i pravidelných cyklických turnusů. Např. [24] se snaží zavést systém, který účinně kombinuje pravidelně střídané turnusy a separátně plánované směny. V neposlední řadě je nutné zabývat se otázkou, zda plánování směn provádět současně s přiřazováním k příslušným dopravním prostředkům či uvedené dva problémy oddělit. Odpověď závisí převážně na rozsahu problému a na dalších okolnostech. V případě, že jsou příslušné prostředky plánovány zvlášť, lze tento problém najít obvykle pod označením vehicle scheduling problem, zmíněném např. v [19] či [27]. ZDRAVOTNICTVÍ V oblasti zdravotnictví se řešení CSP uplatňuje nejčastěji vůči plánování směn zdravotních sester. V tomto případě je nutné sestavovat pracovní plán nejen s ohledem na snížení možných nákladů, ale je nutné brát v úvahu i podmínky odborného charakteru, především co se kvalifikace a počtu přítomného personálu týče [17]. Do běžných aplikací v této oblasti nezasahují podmínky přidělení na určité lokality, neboť všechen uvažovaný personál se obvykle pohybuje v rámci jediného oddělení či jediné nemocnice. Lze však najít i takové příklady užití CSP ve zdravotnictví, kdy je třeba brát v úvahu i cestování mezi různými místy. Mezi takové se řadí případy poskytování domácí péče či regionálních klinik, kde se mohou různě školené sestry přesouvat v rámci pracovišť v různých regionech [22]. V neposlední řadě pak vstupuje mezi aspekty schopnost sester (či personálu obecně) zastávat funkce na různých odděleních či na různých úrovních hierarchie. Jak je zmíněno např. v [22], jistá „všestrannost“ či „zastupitelnost“ sester dovede výrazně zlepšit fungování celého zkoumaného systému. ZÁCHRANNÉ SLOŽKY Vzhledem k vysokým nárokům, které jsou kladeny na fungování jednotlivých složek záchranného systému, je vcelku zřejmé, že i v tomto oboru najde CSP své využití. Vedle běžných podmínek společných pro většinu aplikačních oblastí jsou zde zdůrazňovány například krátké časy, během nichž musí zasahující posádka dojet k události, a na obtížnosti přidává v této sekci také fakt, že se objevují velmi odlišné typy událostí, navíc mnohdy ve zcela nepředvídatelném období, místě a frekvenci. I přes zcela náhodný charakter většiny událostí však i v této oblasti lze vysledovat určitá pravidla pro zvýšený provoz, a to jak s ohledem na čas, tak i lokalitu. Například v období letních prázdnin mohou záchranáři očekávat vyšší počet úrazů v okolí koupališť, větší počet automobilových nehod lze předpokládat během dopravní špičky pátečního a nedělního odpoledne, pro hasiče bývají co do požárů nejkrizovějším obdobím oslavy příchodu nového roku atd. Podobně jako u řidičů městské hromadné dopravy, i v případě pracovníků záchranných sborů se obvykle přistupuje
8
Problematika rozvrhování pracovníků
k pravidelnému střídání předem stanovených cyklů. I zde však nutně vstupují do hry směny, které jsou pracovníkovi přiřazené přímo, a směny, po které drží pouze tzv. pohotovost. VEŘEJNÉ SLUŽBY Dalším sektorem, který hojně využívá řešení úloh CSP, je sektor veřejných služeb. Mezi ně patří mj. sběr a rozvoz pošty [2], obsluha těžebních věží, údržbáři rozvodných sítí a spousta dalších. Jedna z nejstarších publikací na toto téma [16] z poloviny padesátých let minulého století pak zmiňuje užití plánování pracovníků při vybírání mýtného za užití mostů a tunelů. CENTRA ZÁKAZNICKÝCH SLUŽEB Základním posláním center zákaznických služeb bývá obvykle poskytnutí podpory zákazníkům, přičemž je nutné, aby fungovala plynule a byla schopna rychle zodpovědět zákazníkovy dotazy a vyřešit jeho potíže, s nimiž se na centrum obrací. S rozvojem zákaznické podpory (ať již pro osobní návštěvu, nebo v případě call center) se tak objevily četné publikace na toto téma (např. [6]). Pojítkem těchto úloh většinou bývá stabilita prostředí, v němž jsou jednotlivé úkony prováděny. Telefonisté či pracovníci na přepážkách bývají soustředěni do jedné budovy a není tedy nutno uvažovat v modelu časy nutné pro přesun z místa na místo či různá rozmístění pracovišť, což jistým způsobem zjednodušuje situaci. Právě opačný efekt však mívá skutečnost, že přicházející požadavky mívají velmi odlišnou délku zpracování (v případě hovorů některé trvají pár desítek sekund, jiné dokážou zabrat až desítky minut), přičemž předem lze jen velmi těžko odhadnout, jak budou během daného časového intervalu délky požadavků rozděleny. Velmi těžko odhadnout se dá také celková poptávka po pracovnících. Je sice možné vysledovat určité skutečnosti, které poptávku mohou ovlivnit (prodej nové služby či nového výrobku, spuštění masivní marketingové kampaně atd.), ale tyto skutečnosti tvoří pouze určitou část celkové poptávky. V této oblasti je tedy klíčové správně odhadnout budoucí poptávku, k čemuž se často využívá simulací či teorií front ([31]). Tak jako tak poptávka obvykle v různých částech dne, týdne či měsíce výrazně kolísá. Jedním ze způsobů, kterým se lze s tímto vypořádat, je zaměstnávání osob na krátkodobou výpomoc, popřípadě využívání různých délek rozvrhovaných směn. Dalším klíčovým faktorem pak může být všestrannost pracovníků, podobně jako tomu je např. u zdravotních sester. CESTOVNÍ RUCH A POHOSTINSTVÍ Byť je cestovní ruch a pohostinství jedním z motorů mnohých ekonomik, v publikacích ohledně CSP lze najít překvapivě jen málo studií na toto téma, jak konstatuje [30]. Náklady na mzdy však např. v hotelnictví představují jednu z největších částí na straně výdajů a je tedy zcela zřejmé, že i tady je přístup k plánování směn pomocí operačního výzkumu na místě. 9
Problematika rozvrhování pracovníků
Rozvrhování pracovníků v těchto provozech má mnoho společného s aplikacemi ve zdravotnictví – non-stop provoz, těžko odhadnutelná poptávka po pracovnících či různě kvalifikovaný personál [30]. Odlišností je však také mnoho, a proto je dobré přistupovat k plánování směn v hotelích a restauracích zvláštním způsobem. Mezi tyto rozdíly patří především rozdílnost povolání i jednotlivých pracovišť (hotely obvykle disponují i restaurací, barem, případně sportovišti či jinými volnočasovými zařízeními), přičemž každé z těchto pracovišť a povolání vyžaduje specifickou kvalifikaci. Dalším důležitým aspektem je variabilní délka navrhovaných směn a téměř neomezené spektrum počátečních a koncových časů těchto směn. Provozovatelé zmíněných zařízení se s tímto snaží často vypořádat najímáním pracovníků na rozdílné typy a rozsahy zaměstnaneckých poměrů. Odhadnout poptávku občas mohou pomoci předběžné rezervace zákazníků, ale určitá část činností zůstává i tak nepředvídatelná. MALOOBCHOD Plánování směn v maloobchodě má většinu charakteristických rysů společných s rozvrhováním pracovníků ve službách, především v call centrech, neboť v obchodě i v call centru přicházejí požadavky (ať už zákazníci nebo hovory) v podobném rozdělení. V závislosti na typu maloobchodních poboček či řetězců se často vyskytuje i možnost cyklického plánování směn. Modely zabývající se rozvrhováním pracovníků v maloobchodě navíc mnohdy řeší otázku optimálního celkového počtu zaměstnanců, které je třeba v provozu udržovat [17]. PRŮMYSL A VÝROBA Ve výrobních odvětvích má plánování pracovníků podobně významnou pozici jako plánování produkce samotné. Obvykle je úloha zjednodušená tím, že aktuální produkce a s ní spojený i počet momentálně potřebných pracovníků jsou obvykle blíže určeny předem hlášenými objednávkami. I v tomto odvětví se otevírá široká možnost uplatnění dočasných pracovních sil či zaměstnanců na zkrácené pracovní úvazky či brigády. Mnohdy však vstupuje do hry i otázka umístění jednotlivých pracovišť, mezi nimiž musejí pracovníci během jednotlivých směn přecházet [17]. Zároveň se v oblasti průmyslu a výroby mnohdy uplatňuje přístup úkolového plánování. V neposlední řadě je nutné zmínit, že především tato odvětví využívají obvykle tvorby cyklických rozvrhů, neboť poptávka běžně nebývá tolik rozkolísaná jako ve vybraných předchozích aplikačních oblastech. Závěrem nutno připomenout, že téměř každá pracovní organizace má jiná vnitřní pravidla a z nich plynoucí zvláštní omezení. Např. v [24] je možné najít hned několik různých podmínek, které upravují způsob určování pracovních a volných dnů pro řidiče metra 10
Problematika rozvrhování pracovníků
v Bilbao, včetně omezení maximálního počtu navazujících volných dnů, nutnosti svázat pracovní a volné dny do delších úseků (není dovoleno naplánovat jediný den volna obklopený směnami či naopak jediný pracovní den obklopený dny volna), v [26] jsou zase uvedena různá omezení, která byla kladena v případě hledání vhodného pracovního rozvrhu zdravotních sester, podle něhož není mj. dovoleno rozdělit víkend tak, aby jeden den byl pracovní a druhý volný. A podobných případů lze najít desítky až stovky. Obecně tedy v plánování platí, že byť by se řešily dvě podobné úlohy ze stejného odvětví, může se velmi snadno stát, že budou mít již od počátku naprosto odlišné omezující podmínky. To je dalším z důvodů, proč bývá CSP tak často řešenou úlohou již po více jak půl století.
1.3
Specifika plánování směn pracovníků v restauracích s rychlým občerstvením
Restaurace rychlého občerstvení patří obecně k podnikům, které kladou vysoký důraz na organizaci práce i výroby, což s sebou přináší i jistá specifika, díky nimž je možné dosahovat dobrých výsledků. Bohužel se však nutně objevuje i stinná stránka v podobě výrazných komplikací při plánování obsazení restaurací odpovídajícím počtem pracovníků. Vedle vysoké fluktuace zaměstnanců zůstává základním aspektem různorodost personálu a to hned z několika pohledů. Jednak se jedná o dělení dle věku, neboť určitá část zaměstnanců v restauracích bývá mladší 16 let, z čehož plynou dodatečná omezení daná zákonem pro zaměstnávání mladistvých [39]. Dále se v restauracích často vyskytují pracovníci se zdravotním postižením. Podmínky, za kterých tito zaměstnanci pracují, se obvykle stanovují pro každého takového pracovníka samostatně na základě jeho možností a požadavků. Určitou zvláštností těchto podniků je také skutečnost, že počet pracovníků s úvazkem nižším než běžných 40 hodin týdně (resp. 37,5 hodin týdně v podnicích s nepřetržitým provozem [39]) výrazně převyšuje počet plných úvazků. Je tedy nutné při plánování směn sledovat i zařazení zaměstnance co do velikosti jeho úvazku. Většina zaměstnanců (mnohdy i těch na plný úvazek) má specifické požadavky, kdy mohou chodit do zaměstnání (ať již jsou to studenti vyžadující odpolední směny, nebo maminky přivydělávající si při rodičovské dovolené, popřípadě rodiče pečující o malé děti vyžadující pouze ranní směny atd.). Nelze tedy k plánování nasazení pracovníků přistupovat pouze jako k přidělení pracovníků na předem stanovené směny, ale je nutno plánovat zároveň s využitím lidských zdrojů i odpovídající délky jejich směn, aby byl řádně zajištěn provoz restaurace. Navíc dostupnost pracovníků se velmi často mění a není mnohdy známa více jak dva týdny předem. Těžko tedy vycházet při tvorbě pracovních plánů z předchozích týdnů.
11
Problematika rozvrhování pracovníků
Dalším zásadním faktorem ovlivňujícím podobu pracovních plánů je potřeba rozlišovat i různé úrovně nadřazenosti pracovníků a také jejich schopnosti pracovat na vybraných pracovištích. Navíc ne všichni pracovníci jsou kompetentní k práci v noci. Komplikovanost aplikace CSP na restaurace rychlého občerstvení v neposlední řadě ovlivňuje také skutečnost, že poptávka po zaměstnancích přítomných v danou chvíli v restauraci je značně proměnlivá, ať již v horizontu kalendářního roku, měsíce či týdne, či v průběhu jediného dne. Na počet zákazníků, kteří v danou chvíli restauraci navštíví, a tudíž na aktuální počet potřebných pracovních sil má silný vliv mj. i roční období, aktuální počasí (např. v nákupních střediscích je v létě více zákazníků za deštivého počasí než za slunného dne), den v týdnu a spousta dalších skutečností.
1.4
Modelové přístupy a metody řešení
Komplikovanost většiny úloh CSP již předem naznačuje, že spektrum způsobů řešení, které je možno při jejich řešení využít, je velmi široké. V této kapitole bych ráda představila alespoň některé zástupce vybraných přístupů. MATEMATICKÉ PROGRAMOVÁNÍ Pomocí matematického programování lze zapsat téměř jakoukoli úlohu CSP. V nejvyšší míře se využívá technik lineárního programování, popřípadě celočíselného (či smíšeného celočíselného) lineárního programování. Bohužel však tyto techniky často selhávají především tam, kde řešená úloha nabírá větších rozměrů. Metody matematického programování tedy nacházejí využití především u menších úloh, kdy je možné získat výsledné řešení v přijatelném čase. Výhodou však bývá, že nalezené řešení je opravdu tím optimálním, které nabízí nejlepší hodnotu účelové funkce. Jeden z nejpopulárnějších a nejstarších přístupů k řešení CSP pomocí matematického programování nabízí Dantzig ve své práci [13] již z roku 1954. Navržené řešení má podobu pokrývacího problému (set covering problem), jehož obecnější formulaci přinesli např. Morris a Showalter [28]: Minimalizovat ∑ za podmínek ∑
í é
12
Problematika rozvrhování pracovníků
kde
xj – počet pracovníků přiřazených ke směně j, rt n m atj
– – – –
požadovaný počet pracovníků pro období t, počet typů směn možných pro daný den, počet období sledovaných během daného dne, binární proměnná vyjadřující je-li směně typu j v denním období t přiřazena práce (atj = 1) či volno (atj = 0).
Účelová funkce (1.1) představuje minimalizaci celkového počtu přiřazených pracovníků. Podmínka (1.2) zajišťuje, aby v každý časový okamžik t pracoval dostatečný počet pracovníků (tedy aby počet pracovníků přítomných na směně byl vyšší než požadovaný počet pracovníků, a to pro každý časový okamžik t). Omezení (1.3) pak jen usměrňuje hodnoty proměnné do reálné podoby, tedy že počty pracovníků musejí být nutně nezáporná celá čísla. S drobnými modifikacemi významu jednotlivých proměnných lze tento model s úspěchem aplikovat na řešení plánování směn, plánování turnusů i plánování dnů volna. Z výše uvedeného modelu (1.1) – (1.3) vychází množství autorů při řešení konkrétních případových studií z různých aplikačních oblastí. Jak konstatují Brusco a Jacobs [6], obecná formulace (1.1) – (1.3) bohužel přestává přinášet solidně dostupné výsledky ve chvíli, kdy jsou do problému zahrnuty další rozšiřující faktory jako přestávky v práci, flexibilní doby začátků směn, proměnlivé délky směn a další. Úloha se pak stává velmi rozsáhlou, počty proměnných narůstají třeba i do milionových hodnot a řešení těchto úloh v reálném čase je téměř nemožné. Jeden z návodů, jak se s tímto vypořádat, přináší Bechtold a Jacobs v [1], další pak lze najít v [6]. Poměrně komplexní přístup k řešení pak mají Berman a kol. v publikaci [2], kde uvedený model lineárního programování kombinují s dalšími přístupy včetně Markovských řetězců. Druhým přístupem podobným pokrývací úloze jsou modely založené na dělícím problému (set partitioning), kde nejde o pokrytí všech úkolů (úseků) alespoň jedním pracovníkem, ale jedná se o rozdělení úkolů mezi příslušné pracovníky. Model založený na tomto principu prezentují např. Mingozzi a kol. v [27] nebo Graves a kol. v [21]. Poslední skupinou, kterou bych zde chtěla zmínit, jsou přístupy založené na tzv. constraint programming1 (CP). Přinášejí výhodu všude tam, kde se v úloze vyskytuje opravdu velké množství omezujících podmínek, popřípadě tam, kde se řešitel spokojí s jakýmkoli přípustným řešením, ačkoli nemusí být zrovna optimálním [17]. Praktickou aplikaci pro uplatnění CP ve zdravotnictví přináší Bourdais a kol. [37]. Trilling a kol. [38] zase srovnává
1
K výrazu constraint programming se mi nepodařilo dohledat odborný český ekvivalent, byl proto ponechán v originálním anglickém znění.
13
Problematika rozvrhování pracovníků
řešení pomocí CP a lineárního programování a demonstruje jej na konkrétní úloze plánování zdravotních sester na anesteziologickém oddělení. HEURISTIKY A METAHEURISTIKY Vzhledem k mnohdy obrovským počtům proměnných v jednotlivých úlohách CSP bývá často třeba vzdát se optimálního řešení a spokojit se s cílem získat alespoň nějaké přípustné řešení v reálném čase, tedy zvolit řešení problému pomocí přibližných metod zvaných heuristiky. Spektrum úloh bývá opravdu rozsáhlé a těžko tedy hledat obecně používanou heuristiku, která by dokázala řešit úlohy skupiny CSP. Někteří autoři proto přišli s řešením pomocí heuristiky vlastní (např. [9]). Nabízí se však také možnost sáhnout po některých obecnějších metodách, tedy po řešení pomocí metaheuristik [29]. Mezi častěji používané metaheuristiky se řadí metody založené na prohledávání okolí předem nalezeného výchozího řešení, např. metoda tabu search (TS), metoda prahové akceptace či simulované žíhání (SIAM), nebo metody odvozené od procesů existujících v biologii, jako jsou neuronové sítě či genetické algoritmy [29]). Čistě pro ilustraci se detailněji zaměřím na přiblížení poslední jmenované skupiny. Genetické algoritmy (GA) zažívají v posledních desetiletích velký rozvoj. Od svého prvního představení v sedmdesátých letech minulého století nacházejí v operačním výzkumu velkého uplatnění. Jednou z jejich nesporných výhod je fakt, že nekladou žádné podmínky na podobu účelové funkce jako je linearita či diferencovatelnost [14]. Genetické algoritmy bývají někdy řazeny k metodám lokálního prohledávání, ale od nich se liší především tím, že prohledávání pomocí GA se neodvíjí pouze od jediného předchozího řešení, ale závisí na celé populaci [14]. Jak definuje Pelikán v [29], populací v tomto případě rozumíme „určitou podmnožinu přípustných řešení, obvykle s daným a pevným počtem prvků. Tyto prvky jsou zakódovány do konečných binárních řetězců jednoznačně určených pro daný prvek, nazývaných chromozomy.“ Obdobně jako v genetice, i zde se využívá pro označení jednotlivých částí chromozomů pojmu geny [14]. Dále je nutné určit tzv. fitness value, čili „relativní hodnotu, která udává, jak je řešení dobré ve srovnání s ostatními řešeními v populaci“ [36]. V neposlední řadě je pak nutné určit, pomocí jakých operací bude z jedinců (chromozomů) dosavadní populace vytvořena „nová generace“. Mezi ty základní se obvykle řadí výběr, křížení a mutace. Výběr představuje určení lepších jedinců, křížení kombinuje části vybraných chromozomů mezi sebou, aby vznikl nový jedinec, a mutací vzniká nový jedinec pouze za pomoci změny určité části jedince původního [14]. Cílem metody GA je pak za pomoci definovaných operací najít v populaci co možná nejlepší řešení (obvykle dle hodnoty fitness value).
14
Problematika rozvrhování pracovníků
Jeden z návodů, jak k podobnému řešení pomocí genetického algoritmu dojít, přináší Dias a kol. v publikaci [14] zaměřené na využití GA při rozvrhování práce řidičů autobusů. Ráda bych na tomto místě představila alespoň základní stavební kameny navrženého algoritmu (v přepisu celého postupu do této diplomové práce nevidím valného užitku a dovolím si odkázat zvídavého čtenáře na plnou verzi zmíněné publikace). Oproti tradičním GA, kde jsou chromozomy obvykle kódovány binárně a kde jednotlivé operace křížení a mutace nevyužívají žádných dodatečných znalostí o řešeném problému, přistupují autoři k řešení pomocí hybridního genetického algoritmu. Hybridní GA jsou algoritmy, které dokážou určitých znalostí využít a dovolují i kódovat chromozomy pomocí širšího spektra znaků. Jak sami autoři zmiňují, často je při výpočtech pomocí GA nutno se vypořádat se skutečností, že ač jsou rodiče nově vznikající generace všichni z populace přípustných řešení, nová generace nutně přípustná být nemusí. K tomu využívají především tří vybraných technik – vytvoření takového kódovacího schématu, které zajišťuje přípustnost generovaných řešení, vytvoření zvláštních operátorů, které z přípustných řešení generují opět pouze přípustná řešení, a využití penalizační funkce, která má zamezit porušení omezujících podmínek. Kódování autoři přizpůsobili faktu, že základní strukturu problému tvoří dvě složky. Jednak jsou to jednotlivé úlohy (v orig. pieces-of-work), které se vyskytují v denním plánu pro jednotlivé autobusy, a potom služby (v orig. duties), což jsou v podstatě přípustné množiny jednotlivých úloh. Navržené kódování má pak podobu číselného řetězce, kde každý gen chromozomu odpovídá příslušné úloze a je charakterizován číslem služby, ke které daná úloha v navrženém přípustném řešení náleží. Obr. 1-1 lze vidět navržené kódování pro problém se 14 úlohami, kde služba 5 pokrývá úlohy 2 a 11.
Obr. 1-1 - Řešení získané pomocí GA pro 14 úloh (převzato z [14])
Mezi vybrané zvláštní operátory, které autoři zařadili do svého algoritmu, patří dva upravené operátory mutace, kdy první (basic_mutation) odstraní určitou část služeb v daném chromozomu a postupně vybírá ze seznamu nově dostupných služeb ty, které na uvolněná místa v chromozomu dosadí (tento výběr může být jak náhodný, tak nějakým způsobem předem určený). Druhý operátor (improve_mutation) pak cíleně za pomoci dodatečných informací vybírá úseky chromozomu, které je nutno zlepšit, a hledá příslušné možnosti, jak je 15
Problematika rozvrhování pracovníků
obsadit lépe. Jak vypadá chromozom z Obr. 1-1, když je na něj aplikován operátor improve_mutation, je vidět na Obr. 1-2.
Obr. 1-2 – Chromozom vytvořený pomocí operace improve_mutation (převzato z [14])
V případě obou vyobrazených řešení se však zjevně nejedná o zápis přípustných řešení prvotního zadání úlohy, neboť některé úlohy zůstávají nepřiřazeny. S tímto se autoři vyrovnávají pomocí určité „relaxace“, kdy dovolují, aby chromozomy obsahovaly i neobsazené úlohy, přičemž jejich výskyt je pak výrazně penalizován v účelové funkci. V praxi se případy, kdy i přes tuto penalizaci zůstane ve výsledném řešení nějaký neobsazený úsek, řeší například dodatečným najmutím řidičů či přiřazením přesčasů. Na závěr si dovolím zmínit některé další publikace a praktické aplikace, které jsou spojeny s užitím heuristických a metaheuristických přístupů. Brusco a Jacobs podrobují v [5] důkladné analýza metodu simulovaného žíhání. Její praktické použití pak demonstrují Brusco a kol. v práci [8] zaměřené na plánování pozemního personálu společnosti United Airlines. S řešením metodou tabu search je možné se setkat v aplikacích ve zdravotnictví, například Dowsland a Thompson se v [15] zabývají plánováním směn zdravotních sester v jedné z předních nemocnic ve Velké Británii. Jak sami autoři konstatují již v úvodu, jedná se o velmi komplikovanou úlohu, kterou nakonec bylo třeba řešit nejen za pomoci samotného tabu search přístupu, ale výsledku bylo dosaženo kombinací TS s problémem batohu a hledáním toku sítí. Že kombinování několika přístupů zároveň není žádnou výjimkou, potvrzuje i Mason a kol. v publikaci [25], která je zaměřena opět na personál letecké společnosti, tentokrát na Novém Zélandě. Prezentované řešení kombinuje přístup několika speciálně navržených heuristik, optimalizačních modelů a simulace. DALŠÍ PŘÍSTUPY V neposlední řadě nutno krátce zmínit i přístupy založené na metodách umělé inteligence, využívající především fuzzy množin a expertních systémů. Jeden z takových přístupů lze najít v [20], kde se autoři snaží vypořádat se s řešením obecného problému plánování směn a tvorby pracovních rozvrhů.
16
Provoz a požadavky na plány směn ve vybrané restauraci
2
Provoz a požadavky na plány směn ve vybrané restauraci
Volbu vhodných modelů pro rozvrhování a výslednou podobu plánů směn výrazně ovlivňuje, v jakém provozu se plánování uskutečňuje a co se od výsledných rozvrhů vlastně očekává. Z vybrané restaurace byla dána k dispozici veškerá potřebná data, ale aby bylo možné z nich sestavit pokud možno optimální plány obsazení restaurace příslušnými pracovníky, je nutné se nejprve seznámit se strukturou zaměstnanců, plánů a současným stavem plánování v této provozovně.
2.1
Struktura zaměstnanců a z ní plynoucí omezení Pracovníky sledované restaurace lze rozdělit do několika úrovní, a to hned podle
několika kriterií. Jedním (a pro plánování směn tím zásadním) kriteriem je úvazek pracovníka. Restaurace zaměstnává pracovníky na plný úvazek, zkrácený (nebo též částečný) úvazek a brigádníky. Zaměstnanci na plný úvazek mají předepsáno odpracovat 37,5 hodiny týdně. Zaměstnanci se zkráceným úvazkem musejí odpracovat určitý počet hodin daný smlouvou (obvykle 80, 100 či 120 hodin měsíčně), přičemž mohou pracovat i více hodin, je-li to potřeba, nesmějí však odpracovat hodin méně než stanovuje jejich úvazek. Třetí skupinu pak představují brigádníci, čili zaměstnanci pracující na dohodu o pracovní činnosti. U těchto zaměstnanců není úvazek pevně stanoven, nejsou nijak penalizováni za příliš nízký počet odpracovaných hodin. Dále se mohou objevovat zaměstnanci s tělesným postižením, kteří pak mají zcela zvláštní režim. Tuto skupinu zaměstnanců však nyní ponechám stranou, neboť toho času na zmíněné restauraci nepracuje žádný pracovník, který by se vymykal výše uvedeným třem kategoriím pracovníků. Není tedy nutné zavádět žádnou další skupinu co do úrovně pracovního úvazku. Další kriterium představuje věk zaměstnance. Jak již bylo naznačeno v podkapitole 1.3, pracovníci pod hranicí věku 16 let mají zvláštní omezení na počet odpracovaných hodin a délku směn. Tito zaměstnanci nesmějí odpracovat více jak 30 hodin týdně a počet hodin odpracovaných během jediného dne nesmí překročit hodnotu 6. Zároveň jsou tito zaměstnanci vyřazeni z možností pracovat přes čas a v žádném případě nemohou nastoupit ani na noční směnu. Třetím podstatným rozdělením pracovníků je jejich pracovní zařazení. Jednak je třeba oddělovat řadové pracovníky od manažerů. Manažerům jsou přiřazovány často odlišné úkoly než řadovým pracovníkům. Zároveň je nutné sledovat, aby každý úsek měl odpovídajícího vedoucího, stejně jako celý ranní a odpolední provoz musí řídit vždy některý z výše postavených manažerů. Dále má restaurace některé zvláštní sekce, které mohou obsluhovat pouze vybraní pracovníci, kteří prošli odpovídajícím školením. V neposlední řadě se pak 17
Provoz a požadavky na plány směn ve vybrané restauraci
v restauraci vyskytují i pracovníci, kteří mají s provozem restaurace ještě málo zkušeností, neprošli tréninkem na všech příslušných stanovištích a nejsou tedy „univerzální“. Těmto pracovníkům v tréninku je nutno věnovat při plánování směn zvláštní pozornost, neboť se obvykle nezařazují do běžných plánů, ale jsou přiřazováni na směny pod dohledem zkušenějších kolegů, kteří dávají pozor na jejich správné zaučení. Zřejmě posledním rozlišením je pak rozdělení pracovníků na osoby schopné zajišťovat i noční směny a na osoby, jimž noční směny přiřadit nelze. Toto dělení je jednak ovlivněno již výše zmíněným věkem pracovníků, ale také vzájemnými dohodami mezi zaměstnavatelem a zaměstnancem. Z nočních směn během pracovního týdne (lépe řečeno od neděle do čtvrtka) bývají obvykle vyřazeni studenti, ze všech nočních směn pak matky pečující o malé děti, těhotné pracovnice atd. Je tedy nutné mít při plánování nočních směn v patrnosti, že okruh dostupných pracovníků na jejich obsazení je výrazně užší než pro běžné směny.
2.2
Vstupní data a podoba plánů směn
Pro plánování směn v restauraci lze rozlišit dva základní vstupy dat – jedním je tzv. projekce, čili odhad počtu pracovníků potřebných pro určité časové rozmezí, a druhý představují dostupnosti jednotlivých pracovníků. Modelování poptávky po zaměstnancích, v tomto případě nazývané projekcí, by v případě uvažované restaurace zabralo nemalé úsilí, neboť faktorů, které ji ovlivňují, je opravdu velké množství. V restauraci se již delší dobu jistý způsob odhadu projekce používá a dle sdělení pracovníků sledované restaurace se daří v poslední době odhadovat poptávku po zaměstnancích vcelku uspokojivě. Vzhledem k tomu, že lze způsob konstrukce projekce považovat za citlivou informaci a navíc není ani žádáno, aby byl jakýmkoli způsobem v rámci této studie upravován, nebudu se jím dále již zabývat. Podstatnou informací je ovšem podoba, jakou zmiňovaná projekce má. S ohledem na očekávanou tržbu v jednotlivých časových úsecích každého dne je určován celkový počet pracovníků, kteří budou v každý okamžik v restauraci přítomni. Mimo celkového počtu přítomných zaměstnanců je nutné sledovat i počty zaměstnanců na jednotlivých úsecích. V případě této restaurace se jedná především o přiřazení manažerů na zvláštní pozice. Zároveň je nutné dodržovat i požadované počty pracovníků zajišťujících noční provoz restaurace. Protipólem zmiňované projekce, tedy počtu požadovaných pracovníků, jsou pak vstupní data o dostupnosti jednotlivých pracovníků. Dostupnosti pracovníků jsou dvojího typu. V první řadě se jedná o dostupnosti dlouhodobé, které bývají platné po dobu několika měsíců (u studujících brigádníků se jedná typicky o období školního roku či jednoho semestru, letních prázdnin či jiného významného období) a vymezují, ve které dny a v jakém časovém 18
Provoz a požadavky na plány směn ve vybrané restauraci
úseku může který pracovník přijít na směnu. Vedle toho jsou to pak dostupnosti krátkodobé, které upravují požadavky zaměstnanců na volno v době, kdy by v rámci dlouhodobé dostupnosti mohli být na směně. Do těchto krátkodobých požadavků lze zařadit například žádost o dovolenou či náhradní volno u pracovníků na plný a zkrácený úvazek, nebo jakoukoli žádost o volno v případě brigádníků. Tyto krátkodobé dostupnosti jsou obvykle zaznamenávány do zvláštního sešitu, přičemž bývají zadávány až na poslední chvíli, tedy těsně před plánováním směn na dané období. Je tedy zjevné, že sestavování jakýchkoli dlouhodobých vyhlídek a dlouhodobých vzorů jednotlivých plánů směn absolutně pozbývá smyslu. Ohledně podoby jednotlivých plánů směn považuji za nutné zmínit, že plánování směn má z časového hlediska několik možných pohledů. Jednak je třeba vyhovět počtu požadovaných pracovníků dle projekce, tedy v nejkratším možném úseku 30 minut. Dále je nutno sledovat obsazenost směny z pohledu několika hodin či celého dne. Zároveň je nutno pohlídat počet odpracovaných hodin v rámci týdenního a měsíčního úvazku. A v neposlední řadě nelze zapomenout na pravidla daná Zákoníkem práce pro případ práce v noci, pro povinnou přestávku mezi dvěma následujícími směnami, pro maximální počet po sobě jdoucích směn atd., to vše při dodržení základních požadavků na minimální a maximální délku směn. Dle interních pravidel může mít nejkratší možná směna délku 4 hodin (těžko přesvědčovat zaměstnance, že se mu vyplatí přijít do práce na dvě či tři hodiny) a nejdelší směna nesmí přesáhnout 8 hodin (toto pravidlo platí především pro zjednodušené sledování mezisoučtů již odpracovaných hodin v měsíci, zároveň má zabránit přiřazování extrémně dlouhých směn, které by mohly mj. ohrožovat bezpečnost samotných pracovníků či měly mít jiný režim povinných přestávek v práci atd.). Plány, které se dnes v restauraci připravují, jsou proto dvojího typu co do délky příslušného období. Jednak se koncem každého kalendářního měsíce připravují plány měsíční, a to hned tři. Jedním z nich je tzv. manažerský plán, který předem určuje přiřazení pracovníků na klíčové vedoucí pozice během celého následujícího měsíce (je předem dáno, který manažer bude vedoucím ranní směny, odpolední směny, který manažer bude mít pro daný den noční, popřípadě bude-li mít naplánovánu směnu bez předběžného určení pozice). Dále je třeba sestavit plán plných a částečných úvazků. Tento plán se sestavuje též na celý měsíc dopředu a zohledňuje krátkodobé požadavky pracovníků na plný a částečný úvazek ohledně čerpání dovolených, náhradního volna za práci o víkendech, popřípadě zahrnuje i preference ohledně ranních či odpoledních směn. Zároveň se pak do něj doplňují již odpracované směny, aby bylo možné sledovat celkové pokrytí těchto pracovníků Ukázku části takového plánu pro vybrané zaměstnance a vybrané dny měsíce dubna je možné vidět na Obr. 2-1. Třetím v pořadí je pak měsíční plán nočních směn. Není jistě potřeba zdůrazňovat, že všechny uvedené plány směn 19
Provoz a požadavky na plány směn ve vybrané restauraci
musejí být navzájem konzistentní a musejí být také v souladu s výší úvazku a dostupností každého pracovníka.
Obr. 2-1 – Část měsíčního plánu pro měsíc duben (v horní části tabulky pracovníci na plný úvazek, ve spodní části tabulky pracovníci na částečný úvazek)
Vedle těchto měsíčních plánů se připravují i plány denní, které pokrývají období od otevření restaurace až po její zavření a obsahují také informaci o obsazení noční směny. Tyto denní plány musejí být nutně v souladu s jednotlivými měsíčními plány. Jejich struktura se odvíjí především od podoby projekce. Jedná se o tabulky, jejichž sloupce odpovídají jednotlivým časovým úsekům (v současné době půlhodinám) a řádky příslušným pracovníkům. Ukázku denního plánu je možné vidět na Obr. 2-2. Tyto denní plány by měly odrážet jednak celkovou obsazenost restaurace v daných intervalech a jednak případné rozlišení pracovníků dle sledovaných skupin či stanovišť. Denní plán lze považovat za dobrý, jestliže počet pracovníků dostatečně pokrývá požadovaný odhad (tj. restaurace je dostatečně obsazena) a zároveň není přítomen zbytečný počet pracovníků navíc. Vzhledem k tomu, že počet požadovaných pracovníků během dne kolísá z hodiny na hodinu (lépe řečeno z půlhodiny na půlhodinu), těžko dosáhnout toho, že by plán směn na daný den přesně pokrýval projekci. Cílem je tedy najít takový rozpis směn, který bude minimalizovat rozdíly mezi projekcí a reálným obsazením restaurace, a to v každém časovém okamžiku dne a v souladu s krátkodobými i dlouhodobými dostupnostmi.2
2
Jedním z dalších možných cílů by mohlo být i minimalizovat celkový počet zaměstnanců restaurace, tedy sestavit takové plány směn, které k minimalizaci rozdílu mezi projekcí a realitou zároveň budou uvažovat i minimalizaci použitých zdrojů. Touto otázkou se však uvažovaná provozovna v současnosti nezabývá.
20
Provoz a požadavky na plány směn ve vybrané restauraci
Obr. 2-2 – Ukázka denního plánu (bez újmy na informativnosti vynechány citlivé informace o hodinových tržbách a obsazení zvláštního úseku)
2.3
Současný způsob plánování
Jak již bylo zmíněno, plány směn se v současné době na uvedené restauraci (a dle dostupných informací na všech restauracích v rámci příslušného řetězce) sestavují ručně. Vybraný pracovník má k dispozici pouze předpřipravené tabulky v MS Excel, které pomáhají zobrazit pokrytí směn v grafické podobě a zároveň počítají již obsazené úseky a rozdíl mezi obsazeností a požadovaným počtem pracovníků daným projekcí (Obr. 2-2). Vše ostatní, tedy délku směn, dostupnost pracovníků, soulad s měsíčními plány či krátkodobými požadavky zaměstnanců atd., si musí tento pracovník hlídat sám. Plány nejsou nikterak rozděleny na jednotlivé pozice (např. na přípravě, v kuchyni, úklid v prostoru pro zákazníky), ale pouze na pokrytí plnými a částečnými úvazky a manažery. Toto rozdělení je však nápomocné spíše zaměstnancům, kterým se pak lépe hledá v plánech, kdy mají přijít do práce. Nejde tedy o žádný hlubší význam, spíše o zlepšení přehlednosti plánů. Jediné, co je uvedeno odděleně, je
21
Provoz a požadavky na plány směn ve vybrané restauraci
speciální úsek, který se obsazuje absolutně zvlášť. Pracovníci, kteří tento úsek obsluhují, jsou určeni výhradně pro něj a v podstatě do dalšího fungování restaurace vůbec nezasahují. Při tvorbě plánů směn začíná administrativní pracovník obsazením klíčových pozic (tedy vedoucími směn dle měsíčního manažerského plánu a noční směnou) a plnými a zkrácenými úvazky. Následně dohledává do nepokrytých úseků brigádníky dle jejich dostupností. Zároveň si do vedlejších tabulek vyplňuje počty hodin u jednotlivých pracovníků, aby měl přehled o přidělování povinného volna mezi směnami a vyčerpaných hodinách dle úvazků. Tvorba konkrétního rozvrhu (tedy počtu a délek jednotlivých směn) a obsazení zaměstnanci probíhá metodou pokusu a omylu. Obvykle se začíná zaměstnanci, kteří mají pro daný den největší rozsah dostupných hodin. Směny se plánují od nejdelších po ty nejkratší. Jestliže je zaměstnanců pro daný časový úsek dostatek, jsou vybírání náhodně nebo v kontextu již připravených plánů pro okolní dny. Bohužel však zaměstnanců obvykle dostatek nebývá a o to větší boj pak administrativní pracovník s plánováním svádí. Jako poslední se do připravovaných plánů zahrnují zaučující se pracovníci, kteří se do celkového součtu přítomných pracovníků nezahrnují, neboť nejsou ještě schopni pracovat samostatně. Závěrem nutno poznamenat, že směny by v ideálním případě neměly být kratší čtyř a delší osmi hodin. Je zřejmé, že při přibližném počtu 40 zaměstnanců restaurace a nutnosti obsadit 33 časových úseků (půlhodinové úseky od 6:00 do 22:00 plus jeden úsek pro noční směnu) těžko může pracovník odhalit všechny možné kombinace délek směn a přiřazení pracovníků tak, aby dosáhl optima. Občas bývá možné využít pro nový týden plánů z týdne minulého. Bohužel však tato situace nenastává často, neboť brigádníci často mění svoji dostupnost krátkodobými požadavky na volno či na pozdější příchod resp. dřívější odchod oproti dlouhodobým informacím, plné či částečné úvazky vznášejí své požadavky s ohledem na aktuální potřebu např. návštěvy lékaře a v neposlední řadě změna pracovníka pro noční směnu také znemožňuje okopírovat model z předchozího týdne, neboť jednak bývá nutno jej zařadit na denní směny a jednak je třeba obsadit jiným pracovníkem směnu noční. Navíc se často mění i možnost využití manažerů v provozu, neboť jejich směny jsou omezeny manažerským plánem. Plán směn na nový týden se tedy většinou sestavuje zcela od začátku.
22
Optimalizace rozvrhů ve vybrané restauraci
3
Optimalizace rozvrhů ve vybrané restauraci
Má-li být při plánování směn na zmíněné restauraci využíváno některých metod operačního výzkumu, je třeba již na začátku zodpovědět několik zásadních otázek. V první řadě je nutné si rozmyslet, jakou úroveň podrobnosti modelu zvolit. Je zřejmé, že v případě plánování směn pouze na jediný den není možné dodržet podmínky na počet odpracovaných hodin v týdnu, ani na nařízené dny odpočinku. Při měsíčním plánování by se naopak model dostal do opravdu extrémních rozměrů, přičemž není vůbec jisté, přineslo-li by to nějaké výhody. Za poměrně logický krok tedy považuji zvolit plánování v týdenním měřítku. Další otázkou je, zda je potřeba opravdu zahrnout veškeré detaily plánování směn, nebo zda je možné některé aspekty z modelu vynechat a řešit je při plánování ručně. Mezi jedny z těch, kterých by se ruční plánování týkalo, je přidělení nočních směn. Vzhledem k tomu, že především zachycení nočních směn na konci plánovacího období (konkrétně z neděle na pondělí) by způsobovalo v modelu nemalé potíže (muselo by se důsledně ohlídat, aby se data přenášela mezi jednotlivými týdny), přiklonila jsem se k úplnému vynechání nočních směn z plánů. V tu chvíli se plán denních směn zkrátil pouze na období od šesti hodin ráno do deseti hodin večer, což při zohlednění možnosti začínat či končit v půlhodinových intervalech znamená rozdělení dne na 32 časových úseků. Samozřejmě nelze plánování nočních směn opustit zcela. V praxi budou noční směny plánovány odděleně (stejně jako je tomu nyní), přičemž na administrativním pracovníkovi bude, aby dle plánu nočních směn doplňoval do vstupních dat pro plánované období požadované dny volna (má-li tedy například pracovník A noční směnu z pondělí na úterý, bude nutno doplnit do vstupních dat pro pracovníka A na úterý volno). V neposlední řadě je třeba také zvážit, zda je nutné plánovat přiřazení manažerů společně s ostatními pracovníky, nebo zda by nebylo lepší doplnit je též ručně. Vzhledem k celkem jednoduchým pravidlům na obsazení postu ranního a odpoledního vedoucího směny jsem se přiklonila k vynechání těchto pracovníků z modelu, přičemž budou zařazeni do denního plánu odděleně. Navíc z dostupných informací vyplývá, že by se měsíční manažerský plán stejně musel sestavovat bez ohledu na způsob plánování obsazení jednotlivých dní ostatními pracovníky, neboť přináší vedoucímu restaurace ještě dodatečné informace o využití manažerů v provozu restaurace. Z tohoto důvodu jsem přistoupila k manažerskému plánu podobně jako v případě plánu nočních směn – manažeři zastávající funkci vedoucího dne, ať již na ranní či odpolední směně, budou ze vstupních dat pro daný den vyjmuti (bude jim přiřazeno volno), ostatním manažerům, kteří mají být přítomni na směně, pak bude přiřazen čas dostupnosti pro daný den v souladu s měsíčním plánem.
23
Optimalizace rozvrhů ve vybrané restauraci
Podobným způsobem jsou plánováni i pracovníci jediného zvláštního úseku, který je potřeba brát v potaz. Dle informací z provozovny jsou tito zaměstnanci speciálně školeni tak, že v podstatě nejsou schopni zastávat funkce na žádných dalších pracovištích, takže je dobré je z plánování směn obecně vyřadit. Zmíněný úsek pak bude pokrýván pracovníky zvlášť, obdobně jako je tomu v současné době. Vzhledem k tomu, že se jedná o sekci, kterou během jednotlivých časových úseků pokrývá jeden, nejvýše dva pracovníci zároveň, nejedná se v případě tvorby rozpisu směn o žádný komplikovaný úkol, který by měl při ručním plánování zabrat podstatné množství času. Poslední krok, který je nutno rozmyslet před započetím konstrukce samotných modelů, je určení, zda úlohu řešit ve dvou etapách, tedy nejprve sestavit strukturu vhodných směn odpovídajících požadavkům na obsazení každého časového úseku předpokládaným počtem zaměstnanců a na tyto směny v druhém kole pak přiřazovat vybrané pracovníky, nebo zda stanovení vhodné délky směny spojit rovnou s obsazením příslušným pracovníkem. Osobně jsem nenašla žádnou velkou výhodu rozdělení těchto dvou kroků. Naopak spatřuji velké nebezpečí v tom, že „optimálně“ určené směny nebude možné vzhledem k dostupnostem pracovníků vůbec obsadit. V případě, že úlohu řeší výpočetní technika, není možné drobné kolize, kdy např. směna má začínat ve tři hodiny, ale dostupný pracovník je až od půl čtvrté, řešit „dodatečnou úpravou“. Výpočetní program v tomto případě zkrátka zahlásí, že řešení neexistuje, ačkoli člověku se zdá, že obětovat půl hodiny je relativně přijatelné proti neobsazení směny vůbec. Proto jsem se rozhodla přistoupit k hledání obojího najednou – jak vhodné délky a počtu směn, tak zároveň jejich obsazením konkrétními lidmi. Záleží samozřejmě na velikosti řešeného problému, ale v konkrétní úloze řešené v této případové studii se rozdělení na dvě separátní části zdá zcela zbytečné.
3.1
Formulace matematických modelů
Formulace matematických modelů se obvykle odvíjí od podoby účelové funkce. Bylo by vhodné, aby navrhovaná účelová funkce byla obecnějšího rázu a odpovídala jak snaze pokrýt obsazenými směnami pokud možno přesně předpovídanou poptávku, tak záměru obsadit každý den minimálním počtem zaměstnanců (tedy aby přiřazované směny byly pokud možno delší). Toto lze vyřešit vcelku jednoduše pomocí vícekriteriální účelové funkce, která pomocí jednotlivých vah bude kombinovat tři kriteria: kladný rozdíl mezi skutečností a plánovanou projekcí (tedy nadbytečnou obsazenost směn), záporný rozdíl mezi skutečností a plánovanou projekcí (tedy nedostatečnou obsazenost směn) a nakonec celkový počet obsazených směn. Všechna tři kriteria jsou minimalizační a lze je tedy sloučit snadno pomocí váženého součtu [18], přičemž váhy jednotlivých kriterií lze zadat dle aktuálního požadavku uživatele či manažera restaurace. Bude-li pak požadováno určit plán směn pouze s ohledem na 24
Optimalizace rozvrhů ve vybrané restauraci
jedno kriterium, postačí přiřadit mu váhu rovnou jedné a váhy u ostatních dvou vynulovat. Navíc vzhledem k tomu, že v tomto optimalizačním problému na vlastní hodnotě vícekriteriální účelové funkce až tak úplně nezáleží, nemusejí se váhy nutně skládat do jedné, do modelu se nemusejí zbytečně zavádět desetinná čísla a můžeme místo vah se stejným významem uvažovat běžné cenové koeficienty. K účelové funkci je pak potřeba přidat omezující podmínky. Stručný přehled již zmíněných i implicitně předpokládaných podmínek vypadá následovně: (a) každému pracovníkovi může být přiřazena pouze jedna směna denně, (b) každá směna musí být souvislá (tedy směnu tvoří několik po sobě jdoucích časových úseků bez přestávek), (c) směna musí být pracovníkovi přiřazena tak, aby odpovídala jeho dostupnosti pro dané časové období (tedy nesmí začínat dříve či končit později než povoluje jeho dostupnost), (d) každá naplánovaná směna musí mít délku minimálně 4 hodiny (tedy 8 časových úseků), (e) žádná ze směn přiřazených mladistvým pracovníkům nesmí být delší než 6 hodin (tj. 12 časových úseků), (f) žádná ze směn přiřazených pracovníkům starším 16 let nesmí přesahovat 8 hodin (16 časových úseků), (g) žádnému z pracovníků nesmí být přiřazeno více než 5 směn týdně (toto omezení spolu s omezením (e) zajišťuje, že žádný z mladistvých neodpracuje více jak zákonem daných 30 hodin za týden), (h) každému pracovníkovi na plný úvazek musí být přiřazeno přesně 40 hodin týdně (tedy 80 časových úseků týdně), (i) každému pracovníkovi na zkrácený úvazek musí být přiřazeno minimálně 25 hodin týdně (tedy 50 časových úseků týdně). Pro lepší přehlednost matematických modelů byl zvolen množinový zápis a je tedy nutno definovat následující množiny objektů: Dny (D) – množina pracovních dní (v tomto případě v rozmezí 1, 2, ..., 7, resp. pondělí,
úterý, ..., neděle) Časové úseky (H) – množina základních časových úseků jednoho dne (jedná se o půlhodiny v rozmezí od 6:00 do 22:00, tedy množina H nabývá hodnot 1, 2, ..., 32) Směny (S) – množina všech přípustných směn (přípustnou směnou se rozumí všechny směny vyhovující podmínkám na délku směn, začínající v některém z vymezených
25
Optimalizace rozvrhů ve vybrané restauraci
časových úseků a nepřesahující svým počátkem či koncem hodnoty množiny H, tj. nezasahující mimo uvažovanou dobu denních plánů). Pracovníci (P) – množinou pracovníků rozumíme jmenný seznam všech zaměstnanců provozovny. Pracovníky můžeme rozdělit do čtyř vzájemně výlučných podmnožin - plné úvazky (Ppl) – zaměstnanci pracující na úvazek 40 hodin týdně - částečné úvazky (Pc) – zaměstnanci pracující na částečný úvazek (v případě této konkrétní restaurace se jedná o 25 hodin týdně) - brigádníci (Pb) – zaměstnanci starší 16 let pracující na dohodu o provedení práce (bez omezení počtu odpracovaných hodin) - mladiství (Pm) – zaměstnanci mladší 16 let věku (maximální délka jedné směny je 6 hodin)3 Jak již bylo zmíněno, pro účely řešení nastíněného problému byly zkonstruovány dva lineární modely. Pro snazší čitelnost modelů byl mírně zjednodušen zápis sumací a rozsahů jednotlivých proměnných v následujícím duchu: ∑d∈D nahrazeno zápisem ∑d, ∀d∈D nahrazeno zápisem ∀d apod. Model 1 potom vypadá následovně: Minimalizovat ∑∑
∑∑
∑∑∑
za podmínek ∑
∀ ∀ ∀ ∀ ∀ ∀ ∀ ∑
∀ ∀ ∀ ∀ ∀ ∀ ∀
í
∀ ∀
3
Čistě teoreticky je možné, aby zaměstnanec mladší 18 let pracoval i na plný či zkrácený úvazek. V případě této konkrétní restaurace však tato varianta nenastává a je tedy v dalším textu vynechána. Pokud by tento případ nastal, doplnil by se model o další podmnožinu zaměstnanců včetně příslušného omezení odpovídajícího úvazku pracovníka.
26
Optimalizace rozvrhů ve vybrané restauraci
∑ ∑
∀ ∀
∑
∀ ∀ ∀ ∀ ∀ ∀ ∈
∑∑
∀
∑∑
∀ ∈
∑∑
∀ ∈ ∈
kde
∀ ∀ ∀ ∀
∀ ∀ ∀ ∀ ∀
∀
xdhp ... je-li pracovník p v den d a časový úsek h na směně (xdhp = 1) či má-li volno (xdhp = 0), ydhp ... je-li časový úsek h v den d začátkem směny pracovníka p (ydhp = 1) či nikoli (ydhp = 0), zdhp ... je-li časový úsek h v den d koncem směny pracovníka p (zdhp = 1) či nikoli (zdhp = 0), vdh ... hodnota projekce pro den d a časový úsek h, λdp ... délka směny pracovníka p pro den d (v případě, že pracovník p v den d nepracuje, je λdp = 0), oddp ... od kterého časového úseku je pracovník p v den d dostupný, dodp ... do kterého časového úseku je pracovník p v den d dostupný, δdh+... nadbytek pracovníků (kladný rozdíl mezi skutečným počtem obsazených směn a projekcí) v den d a hodinu h, – δdh ... nedostatek pracovníků (záporný rozdíl mezi skutečným počtem obsazených směn a projekcí) v den d a hodinu h, cnad... váhy (cenový koeficient) kriteria sledujícího nadbytek pracovníků, cpod... váhy (cenový koeficient) kriteria sledujícího nedostatek pracovníků, csm... váhy (cenový koeficient) kriteria sledujícího celkový počet směn v týdnu.
27
Optimalizace rozvrhů ve vybrané restauraci
Účelová funkce (3.1) kombinuje tedy tři možné cíle, přičemž záleží pouze na uživateli, jaké hodnoty koeficientů cnad, cpod a csm zvolí. Omezení (3.2) zajišťuje jednoznačný rozklad rozdílu mezi projekcí a skutečným obsazením směn na kladnou a zápornou složku (tedy na nadbytek či nedostatek pracovníků), omezení (3.3) a (3.4) odpovídají podmínce (c), tedy že v časových okamžicích před začátkem dostupnosti a po skončení dostupnosti daného pracovníka bude mít pracovník volno, tj. proměnná xdhp bude nulová, omezení (3.5) a (3.6) definují proměnnou ydhp jako začátek směny a omezení (3.7) proměnnou zdhp jako konec směny. Omezení (3.8) a (3.9) odpovídají podmínce (a) a zajišťují danému pracovníkovi v daném dni nejvýše jeden začátek resp. konec směny. Omezení (3.10) definuje λdp jako délku směny a nerovnosti (3.11) a (3.12) pak omezují její dobu trvání na požadované hodnoty pro všechny resp. nezletilé pracovníky dle podmínek (d) – (f). Omezení (3.13) zajišťuje podmínku (g), tedy nejvýše pět směn do týdne pro každého pracovníka. Rovnost (3.14) vynucuje 40 hodin týdně pro pracovníky na plný úvazek a nerovnost (3.15) pak minimálně 25 hodin týdně pro pracovníky na částečný úvazek. V případě, že bude plánování některých částí rozvrhu prováděno ručně (především určení nočních směn a manažerských směn), je třeba uvedený model mírně upravit, neboť např. pracuje-li zaměstnanec v týdnu 2 noční směny, bude se v modelem sestavovaném plánu objevovat již maximálně třikrát. Stejná situace nastává i v případě vedoucích pracovníků, kdy vedoucí dne je plánován odděleně, ale není-li pracovník nasazen každý den na pozici vedoucího dne, musí zbytek týdenního úvazku pokrýt modelem sestavený plán. Do modelu se tedy zavede pomocná proměnná ap, která bude určovat, kolik směn má zaměstnanec v daném modelu opravdu odpracovat. Zmíněná úprava se týká pouze omezení (3.13), (3.14) a (3.15), která budou nahrazena omezeními (3.13ʹ), (3.14ʹ) a (3.15ʹ), přičemž musí ještě přibýt vymezení hodnot ap: ∑∑
∀
∑∑
∀ ∈
∑∑
∀ ∈ ∈
∀ ∀ ∀
28
∀
Optimalizace rozvrhů ve vybrané restauraci
Druhý sestavený model (Model 2) má podobnou strukturu jako model původně navržený Dantzigem (1.1) až (1.3) představený v teoretické části: Minimalizovat ∑∑
∑∑
∑∑∑
za podmínek ∑∑
∀ ∀ ∀ ∀ ∀ ∑
∀ ∀
∑∑
∀
∑∑
∀
∑∑
∀ ∈
∑∑
∀ ∈ ∈ ∈ ∈
kde
∀ ∀ ∀ ∀ ∀ ∀ ∀ ∀
∀
xdps ... je-li pracovník p v den d a přiřazen směně s (xdps = 1) či nikoli (xdps = 0), jdps ... je-li pracovník p v den d dostupný pro směnu s (jdps = 1) či nikoli (jdps = 0), ksh ... pokrývá-li směna s časový úsek h (ksh = 1) či nikoli (ksh = 0), tj. patří-li časový úsek h ke směně s (ksh = 1) či nikoli (ksh = 0), ls ... délka směny s, vdh ... hodnota projekce pro den d a časový úsek h, δdh+... nadbytek pracovníků (kladný rozdíl mezi skutečným počtem obsazených směn a projekcí) v den d a hodinu h, – δdh ... nedostatek pracovníků (záporný rozdíl mezi skutečným počtem obsazených směn a projekcí) v den d a hodinu h, cnad... váhy (cenový koeficient) kriteria sledujícího nadbytek pracovníků, cpod... váhy (cenový koeficient) kriteria sledujícího nedostatek pracovníků, csm... váhy (cenový koeficient) kriteria sledujícího celkový počet směn v týdnu. 29
Optimalizace rozvrhů ve vybrané restauraci
Účelová funkce (3.16) analogicky účelové funkci (3.1) Modelu 1 zajišťuje možnost kombinovat minimalizaci celkového počtu směn s minimalizací rozdílu aktuální obsazenosti od plánovaného počtu zaměstnanců v závislosti na uživatelem zadaných koeficientech cnad, cpod a csm. Omezení (3.17) je též obdobné jako omezení (3.2) a zavádí rozklad rozdílu projekce a skutečnosti na kladnou složku (nadbytek zaměstnanců) a zápornou složku (nedostatek zaměstnanců). Díky omezení (3.18) je ošetřena podmínka (c), tedy že zaměstnanci bude přiřazena pouze taková směna, která vyhovuje jeho dostupnosti. Zároveň toto omezení zajišťuje i podmínky (d) až (f), neboť pracuje pouze s přípustnými směnami pro hledaný rozvrh. Navíc již z podstaty významu proměnné jdps je zajištěna podmínka (b), tedy souvislost přípustných směn. Omezení (3.19) odpovídá podmínce (a) na přiřazení nejvýše jedné směny denně jednotlivým pracovníkům. Nerovnost (3.20) zajišťuje splnění podmínky (g) o maximálním počtu 5 směn za týden. Díky omezení (3.21) nepřekročí souhrnný počet hodin za týden pro žádného pracovníka hodnotu 40, přičemž rovnost (3.22) zajistí přesné pokrytí předepsaných hodin pro plné úvazky (tedy 40 hodin týdně dle podmínky (h)) a nerovnost (3.23) pak minimální počet 25 hodin týdně pro zkrácené úvazky v souladu s podmínkou (i). Opět lze provést modifikaci s proměnnou ap, tentokrát se bude týkat omezení (3.20) až (3.23): ∑∑
∀
∑∑
∀
∑∑
∀ ∈
∑∑
∀ ∈ ∈
∀ ∀ ∀
∀
Všímavý čtenář jistě postřehl, že ve výše uvedených modelech jsou v tichosti opomenuty povinné přestávky v práci. Tyto přestávky jsou vynechány záměrně, neboť ráz provozu restaurace nevyžaduje přesné plánování přestávek. Zaměstnanci obvykle čerpají přestávky na pokyn vedoucího dne v době, kdy to aktuální vytížení pracovníků s ohledem na momentální provoz a počet zákazníků v restauraci dovoluje. Z hlediska dodržení předepsaných hodin jsou pak v případě plných úvazků přestávky zahrnuty již do rozdílu plánovaných hodin (40 hodin týdně) a smlouvou požadovaných hodin (37,5 hodiny týdně). V případě brigádníků a mladistvých žádné omezení na přesný či minimální počet hodin není stanoveno. Navíc u mladistvých není nutno přestávky v práci uvažovat vůbec, neboť 30
Optimalizace rozvrhů ve vybrané restauraci
povinnost zařadit přestávku v práci vzniká až pro směny delší 6 hodin a tato situace u mladistvých nikdy nenastává. Jedinou problémovou skupinou by tedy mohli být pracovníci na zkrácený úvazek, ale také ne vždy. Problém s dodržením počtu předepsaných hodin může nastat pouze v případě, že je jim během týdne přiřazena některá směna delší než 6 hodin a zároveň celkový počet hodin přiřazený pracovníkovi v daném týdnu nepřesáhne 26 hodin.4 Takových kombinací směn je však velmi málo. Obvykle jsou do týdenního plánu buď zahrnuty směny kratší, nebo naopak výrazně delší, které vyváží i případné přestávky, zvláště jsou-li případné chybějící hodiny sledovány až v měsíčním kontextu, kdy jediná hodina odpracovaná navíc pokryje případné dvě přestávky z ostatních směn. Z tohoto důvodu bylo přistoupeno k jistému zjednodušení, kdy byly přestávky z rozvrhování směn zcela vynechány. Navíc výskyt tohoto problému lze minimalizovat také tím, že v účelové funkci bude přiřazena vyšší váha minimalizaci počtu směn, což bude mít za následek plánování spíše delších směn a v nastíněné situaci částečných úvazků tak bude vznikat spíše rezerva v hodinách odpracovaných za týden či za celý měsíc, než že by nemělo být dodrženo zmíněných 25 hodin týdně.
3.2
Úskalí spojená s implementací navržených modelů
Oba uvedené modely s sebou bohužel přinášejí i určité potíže, především při přípravě dat a zpracování získaných výsledků. Je zřejmé, že oproti současnému způsobu plánování bude třeba změnit určitým způsobem uchovávání vstupních dat. Tabulku dlouhodobých dostupností je třeba poupravit pouze mírně tak, aby každému zaměstnanci byla přiřazena zvlášť pole nejzazších začátků a maximálních konců směn. Před vlastním spuštěním modelu pak bude nutno do této tabulky doplnit aktuální stav dle krátkodobé dostupnosti a také zaznamenat odpovídajícím způsobem volné dny pracovníků vynucené nočními směnami. V neposlední řadě se pak mezi dostupné pracovníky musejí zařadit manažeři, kteří pro příslušné období mohou či mají mít směnu. Nakonec k dostupným datům přibudou i hodnoty odpovídající proměnné ap, tedy příslušný počet směn, který by měl pracovník v daném období odpracovat v závislosti na směnách přiřazených v oddělených plánech.
4
Hodnota 26 hodin vychází z následující úvahy: jestliže by bylo pracovníkovi přiřazeno všech pět směn v týdnu delších než 6 hodin denně, pak by odpracoval nejméně 32,5 hodiny, což by po odečtení 2,5 hodiny pro přestávky stále bylo více než požadovaných 25 hodin, a tudíž by nedošlo k porušení podmínky (i). Podobně je tomu i v případě čtyř směn delších 6 hodin. K hraniční hodnotě 25 hodin a méně se po odečtení přestávek lze dostat pouze v některých případech, kdy týdenní plán obsahuje nejvýše 3 směny delší 6 hodin, a tudíž se kvůli přestávkám odečítá nejvýše 1,5 hodiny (např. čtyři směny v délce 8 hodin, 7 hodin, 7 hodin a 4 hodiny znamenají odpracovaných 26 hodin, od nichž je nutno odečíst 1,5 hodiny přestávek a čistý čas je tedy 24,5 hodiny; obdobně pro směny v délce 8 hodin, 6,5 hodiny, 6 hodin a 5 hodin je celkově naplánováno 25,5 hodiny, ale je třeba odečíst 1 hodinu přestávek a zaměstnanec tak odpracuje pouze 24,5 hodiny). Pokud je ale zaměstnanci přiřazeno alespoň 26,5 hodiny za týden, nemůže v takovém případě k porušení podmínky (i) dojít.
31
Optimalizace rozvrhů ve vybrané restauraci
V případě prvního modelu tím příprava dat v podstatě končí. Druhý model je na přípravu dat mnohem náročnější. Především je potřeba sestavit množinu všech přípustných směn a určit, které z těchto směn jsou pro každého ze zaměstnanců v souladu s jeho dostupností. Přípustné směny jsou všechny, které splňují podmínky (d) až (f) a které pokrývají otevírací dobu provozovny, tedy od 6:00 do 22:00 hodin. Pro každý možný začátek směny, tedy pro všechny půlhodinové časové úseky, se určí směny všech přípustných délek, počínaje délkou čtyř hodin (tedy osmi úseků), čtyř a půl hodiny, pěti hodin a tak dále až po maximální délku osmi hodin (šestnácti časových úseků). Je zřejmé, že pro posledních 16 časových úseků nemá smysl vytvářet směny takových délek, které by přesahovaly otevírací dobu restaurace. Poslední směna, která tak bude do množiny směn seřazené dle počátků a délek patřit, bude čtyřhodinová směna od 18:00 do 22:00. Podobně rozdílná je i „čitelnost“ výstupů jednotlivých modelů. Zatímco Model 1 dokáže do sešitu MS Excel exportovat hodnoty, které jsou za pomoci jednoduchého podmíněného formátování velmi snadno převoditelné do srozumitelné podoby a zároveň svým vzhledem velmi blízké plánům směn, na které jsou dnes zaměstnanci restaurace zvyklí, v případě Modelu 2 je situace výrazně složitější. Vzhledem k tomu, že proměnná xdps určuje, ke kterému typu směny bude daný pracovník v daný den přiřazen, je nutno tato získaná přiřazení rozklíčovat tak, aby bylo zřejmé, jak je který den pokryt jak směnami, tak pracovníky. Dalším problémem spojeným s uvedenými modely je pak doba potřebná k provedení výpočtů a získání výsledků. Této oblasti se věnuje celá následující podkapitola.
3.3
Výpočetní efektivnost
Oba představené modely spadají do kategorie smíšeně celočíselných úloh, přičemž i pro relativně malé úlohy dosahuje počet jejich binárních proměnných tisíců či desetitisíců, což určitým způsobem omezuje jejich výpočetní efektivnost. Počet proměnných v Modelu 1 dosahuje hodnoty 3·|D|·|H|·|P|. Pro případ uvažované restaurace, kdy |D| = 7 a |H| = 32, tedy s každým dalším pracovníkem zařazeným do množiny zaměstnanců narůstá rozměr úlohy o dalších 672 binárních proměnných. Základní dvě podoby zadání, jejichž výsledky jsou prezentovány v následující podkapitole, zahrnovaly 40 resp. 52 zaměstnanců, což znamená 26 880 resp. 34 944 binárních proměnných. Počet proměnných v Modelu 2 odpovídá součinu |D|·|P|·|S|. Uvažují-li se pouze směny přípustné dle výše uvedených pravidel, tedy 4hodinové, 4,5hodinové, 5hodinové atd. až po 8hodinové, v rozmezí otevírací doby od 6:00 do 22:00, pak |S| = 189. V tomto případě s každým dalším zaměstnancem narůstá rozměr úlohy o 1 323 binárních proměnných a pro uvažované dva případy se 40 a 52 zaměstnanci měly úlohy v Modelu 2 celkem 52 920 a 68 796 binárních proměnných. 32
Optimalizace rozvrhů ve vybrané restauraci
Je tedy zřejmé, že Model 2 je náročnější nejen na přípravu dat, ale i na počet používaných proměnných. Na stranu druhou má však Model 2 méně omezení a co víc, tato omezení mají mnohem jednodušší strukturu než omezení v Modelu 1. Především díky tomu bylo dosahováno výrazně kratších výpočetních časů při použití Modelu 2 oproti Modelu 1. K výpočtům bylo využíváno převážně optimalizačního SW Lingo 12 spuštěného na počítači s dvoujádrovým procesorem Intel dual core 2,2 GHz a 2 GB RAM. Pro oba rozsahy úlohy, tedy 40 a 52 zaměstnanců, dokázal výpočetní SW pomocí Modelu 2 najít řešení řádově během několika vteřin, dle momentální podoby dat nejvýše během několika málo minut. Model 1 však pro obě uvedené úlohy řešené pomocí zmíněné techniky nepřinášel tak rychlé výsledky. Naopak mnohdy se k optimálnímu řešení nedokázal dobrat ani po několika dnech nepřetržitých výpočtů. Empiricky bylo zjištěno, že výrazně rychleji dokáže řešitel SW Lingo 12 dospět u Modelu 1 řešení v případech, kdy byl počet pracovníků dostupných pro jednotlivé dny velmi blízký požadované projekci. V ten moment nebylo na výběr mnoho přípustných variant a ve výjimečném případě bylo dosaženo optimálního řešení dokonce během necelé hodiny. Bohužel často se však stalo, že optimálního řešení nebylo dosaženo vůbec a bylo nutné po několika dnech výpočet zastavit. Obvykle však i pro větší úlohy bylo nalezeno alespoň takové přípustné řešení, které se pohybovalo v odchylce několika jednotek procent od meze nalezené při aplikaci řešitele s metodou větvení a mezí, což se v praktickém užití nechá považovat za přijatelné řešení. V konkrétním případě to obvykle znamenalo, že se během určitého období (většinou se jednalo o jediný den či pouze několik po sobě jdoucích časových úseků daného dne) rozdíl mezi projekcí a skutečností pohyboval v rozmezí od -3 do 3, zatímco ve všech ostatních úsecích byl tento rozdíl nulový či dosahoval v absolutních hodnotách nejvýše jedné. Pro zjištění chování Modelu 1 bylo provedeno ještě několik testovacích výpočtů pro různě velké úlohy. V rozumném čase, tedy v horizontu několika minut, dosahoval model optimálního řešení pouze pro úlohy zahrnující přibližně 10 až 15 zaměstnanců. Pro úlohy s počtem do 25 pracovníků bylo obvykle optimálního řešení dosaženo řádově během hodin. I to by mohlo být užitečné, kupříkladu bylo-li by možné si večer před plánováním směn připravit vstupní data, nechat model počítat přes noc a ráno již jen navázat s dodatečnými činnostmi na získané výsledky. Jak již bylo zmíněno, u větších úloh, kde počet uvažovaných pracovníků přesahoval hodnotu přibližně 25, optima často dosaženo nebylo vůbec (jedna z mála výjimek, kdy se podařilo i pro větší úlohu nalézt řešení během pár hodin, je uvedená v následující podkapitole). Model 2 takto podrobněji zkoumán nebyl, neboť i úlohu s 52 pracovníky bylo možné vyřešit nejdéle během několika minut a nebylo tedy nutné doby výpočtů dále testovat.
33
Optimalizace rozvrhů ve vybrané restauraci
3.4
Zhodnocení získaných výstupů
Během spolupráce se zmíněnou restaurací bylo testováno několik různých sad vstupních dat, jejichž výsledky pak byly porovnávány s plány sestavenými administrativním pracovníkem na základě stejných informací. Řešené úlohy lze rozdělit do dvou odlišných skupin. Za základní úlohu byl považován problém zahrnující 40 zaměstnanců a data pocházející průběžně z období jarních měsíců roku 2012. Druhá série pak pracovala s údaji od 52 zaměstnanců pro období několika týdnů během letních prázdnin. Zásadní rozdíl v těchto dvou úlohách je především v počtu pracovníků dostupných pro jednotlivá plánovací období. Během školního roku se totiž restaurace obvykle potýká s nedostatkem pracovníků – ať již s chybějícím personálem jako takovým, nebo s vysokým počtem dočasných požadavků na volné dny především u studujících zaměstnanců. Naopak na prázdninové měsíce nabírá restaurace větší množství brigádníků, kteří obvykle dokážou nejen pokrýt případné požadavky stálých pracovníků na souvislé dovolené, ale často je díky nim docíleno výrazného převisu dostupných pracovníků oproti projekci. Navíc tito pracovníci nemají žádným způsobem upraven počet hodin, který jim má být pracovními plány přiřazen, a proto jejich přebytek nepůsobí ani žádné komplikace v tomto směru. Pro prezentaci výsledků jsem vybrala jeden konkrétní týden z každého ze dvou sledovaných období, na kterém budou demonstrována jak vybraná řešení získaná jednotlivými modely, tak srovnání těchto řešení s plány sestavenými v restauraci. Pokud není uvedeno jinak, platí pro všechny níže uvedené testovací příklady nastavení cenových koeficientů cnad = 3, cpod = 3 a csm = 1, tedy je mírně upřednostněna celková odchylka od projekce oproti delším směnám. Záměrně jsou vždy vybrány jen některé denní plány, neboť přeci jen zveřejnění veškerých dat a kompletních týdenních plánů by v tomto případě mohlo ohrozit zachování citlivého „know-how“ společnosti v tajnosti. JARNÍ OBDOBÍ V jarním období byla použita data z týdne od 14. května do 20. května 2012. V tomto týdnu byla pro plánování směn v restauraci dostupná data od 40 zaměstnanců (po zahrnutí dostupných manažerů a vynechání zaměstnanců speciálního úseku), z nichž 7 bylo plných úvazků, 4 částečné úvazky a 4 mladiství. Požadovanou projekci je možné vidět na Obr. 3-1. Zmíněné období bylo vybráno především proto, že se jedná o jeden z mála případů, kdy se i pro větší počet uvažovaných pracovníků podařilo nalézt optimální řešení pomocí obou modelů. Zároveň byl v tomto období v restauraci k dispozici zjevně nedostatečný počet pracovníků, což se odrazilo především na vyšších odchylkách skutečně naplánovaných směn od projekce. Empirický rozvrh sestavený v restauraci dokonce vykazoval za uvedený týden
34
Optimalizace rozvrhů ve vybrané restauraci
rozdíl celkem 182 jednotek5, z nichž v různých denních dobách i různých dnech v týdnu chybělo celkem 158 jednotek a naopak přebývalo 24 jednotek. Počet pracovníků přiřazených na směny v jednotlivých dnech i časových úsecích je možné vidět na Obr. 3-2, rozdíl mezi skutečností a projekcí pak na Obr. 3-3 (záporné znaménko vyjadřuje nedostatečně obsazenou restauraci, kladné naopak více pracovníků než bylo projekcí požadováno). Výsledky získané pomocí Modelu 1 jsou pro srovnání uvedeny na Obr. 3-4, pomocí Modelu 2 pak na Obr. 3-5.
Obr. 3-1 – Požadovaný počet pracovníků (projekce) pro jednotlivé časové úseky v týdnu 14. 5. – 20. 5.
Obr. 3-2 – Naplánovaný počet pracovníků (projekce) pro jednotlivé časové úseky v týdnu 14. 5. – 20. 5.
Obr. 3-3 – Rozdíl mezi projekcí a rozvrženým počtem pracovníků pro časové úseky v týdnu 14. 5. – 20. 5. (záporné hodnoty značí nedostatek pracovníků), naplánováno v restauraci
5
Pod pojmem jednotka bude v tomto případě rozuměn jeden člověk v jednom časovém úseku, tedy chybí-li ve třech časových úsecích po dvou lidech, celkem se jedná o šest jednotek (pojem je zaveden ve snaze vyhnout se výrazu „člověkoúsek“).
35
Optimalizace rozvrhů ve vybrané restauraci
Obr. 3-4 – Rozdíl mezi projekcí a rozvrženým počtem pracovníků pro časové úseky v týdnu 14. 5. – 20. 5. (záporné hodnoty značí nedostatek pracovníků), určeno Modelem 1
Obr. 3-5 – Rozdíl mezi projekcí a rozvrženým počtem pracovníků pro časové úseky v týdnu 14. 5. – 20. 5. (záporné hodnoty značí nedostatek pracovníků), určeno Modelem 2
Jak je vidět, v tomto konkrétním případě se pomocí matematického modelu a výpočetní techniky podařilo sestavit výrazně lepší rozvrh směn. Navržený rozvrh nikde neplýtvá zdroji a i přesto je výsledná odchylka za celý uvažovaný týden 17 jednotek. I s ohledem na skutečnost, že uvedená hodnota je dle řešitele v SW Lingo 12 optimální, nezbývá než konstatovat, že v daném období se restauraci opravdu nedostávalo potřebného počtu zaměstnanců, aby bylo možné požadované směny lépe pokrýt. Zároveň z Obr. 3-4 a Obr. 3-5 vyplývá, že byť měla účelová funkce stejnou hodnotu a byť mají oba výsledné rozvrhy odchylky od projekce ve stejné výši, konkrétní přiřazení pracovníků na směny shodné není. Úloha má tedy alternativní optimální řešení. Pro srovnání jsou vloženy ukázky pracovních plánů pro vybraný den z uvažovaného období. Modelově byla vybrána sobota, záměrně pro srovnání nejen vůči empirickému rozvrhu, ale i pro srovnání modelů mezi sebou. Obr. 3-6 a Obr. 3-7 odpovídají plánům sestaveným pomocí modelů. První sloupec před zkratkami pracovníků (ze zřejmého důvodu nejsou uvedena plná jména, ale pouze kódy pracovníků) na těchto obrázcích vyjadřuje úvazek pracovníka, kdy jedničku mají pracovníci na plný úvazek, dvojku na částečný, trojku mladiství a čtyřku brigádníci. Za plánovacím obdobím je ještě uvedena délka směny, která je pracovníkovi přidělena. Na Obr. 3-8 je pak zobrazen plán sestavený v restauraci. 36
Optimalizace rozvrhů ve vybrané restauraci
Obr. 3-6 – Plán směn na sobotu 19. 5. 2012 sestavený Modelem 1
Obr. 3-7 – Plán směn na sobotu 19. 5. 2012 sestavený Modelem 2
Jak je vidět na Obr. 3-6 a Obr. 3-7, celková odchylka od projekce je v obou případech shodná, tedy 6 jednotek. Dokonce i obsazení lidmi je v obou případech shodné. Pokrytí směnami je však rozdílné. Oba modely obsadily celkem 11 směn po 8 hodinách a jednu směnu v délce 7,5 hodiny. V kratších směnách se již ale liší. Model 1 zahrnul tři 7hodinové a po 37
Optimalizace rozvrhů ve vybrané restauraci
jedné 6,5hodinové, 6hodinové, 5,5hodinové a 5hodinové. Model 2 použil pouze dvě 7hodinové směny, ale tři 7,5hodinové a jednu 6hodinovou a jednu 4,5hodinovou. Otevřenou otázkou pak jen zůstává, zda je lepší postrádat zaměstnance spíše v období okolo oběda nebo během večerního provozu.
Obr. 3-8 – Plán směn na sobotu 19. 5. 2012 sestavený v restauraci
Z Obr. 3-6 až Obr. 3-8 je dále patrné, že plány navržené pomocí modelů dosáhly lepšího výsledku oproti ručnímu plánování na Obr. 3-8 především díky zařazení pracovníků ZEL, LAN, PATE, PLA a STKO, které plán sestavený v restauraci neobsahuje. Při bližším prozkoumání směn sestavených v restauraci bylo zjištěno, že v případě pracovníků PATE, PLA a STKO jde pouze o jiné rozložení směn během týdne, pracovníci ZEL a LAN se v empirických rozvrzích vyskytují pouze jednou resp. vůbec. Vyvstává tedy otázka, z jakého důvodu nebyli někteří z těchto pracovníků zařazeni do plánů vytvořených v restauraci. Důvodů pro to může být několik, počínaje nepozorností administrativního pracovníka, který v nepřehledných datech neodhalil tuto možnost obsazení směn, přes určité provozní důvody, které nebyly zveřejněny, až po nesprávně předaná data k případové studii. Na některých denních plánech (včetně toho na Obr. 3-8) se administrativní pracovník restaurace s požadovaným počtem zaměstnanců vypořádal dokonce i tak, že porušil některé z podmínek (a) až (i) uvedených v podkapitole 3.1 této práce. Především se tato porušení týkají přípustných délek, kdy v některých situacích docházelo k přiřazování směn delších než 8 hodin (viz směny pracovníků HAL, SET a TUM na Obr. 3-8), nebo naopak kratších než 38
Optimalizace rozvrhů ve vybrané restauraci
4 hodiny (možno si povšimnout již na Obr. 2-2). V těchto případech se jednalo zřejmě o osobní domluvu s konkrétními pracovníky, kterou do plánování pomocí matematických modelů v podstatě zahrnout nelze. Další pomůcku, kterou administrativní pracovník používá při ručním sestavování plánů pro obsazení směn v případě, kdy k tomu dle podkladů není dostatečné množství dostupných pracovníků, lze také jen těžko zohlednit při užití zmíněných modelů. Pracovník totiž v kritickém období, kdy mu výrazně scházejí pracovníci, vypíše směny tak, jak mu to dovolují dostupná data, a navíc přidá několik prázdných směn, které je ještě potřeba zajistit (viz poslední tři směny na Obr. 3-8). Následně pak doufá, že se někteří z pracovníků o tyto směny sami přihlásí. Pokud nakonec situace dojde tak daleko, že směny jsou pár dní před jejich uskutečněním stále neobsazené, dochází k domlouvání s okolními restauracemi, zda by nebylo možné „půjčit“ pro dané období některé zaměstnance na záskok. Ani tuto variantu nelze do zmíněných modelů zahrnout. Vyvažuje ji ale skutečnost, že rozvrh připravený pomocí zmíněných modelů je výrazně přesnější a lépe pokrývá předložené požadavky na obsazení restaurace. Závěrem tohoto srovnání plánů v týdenním kontextu bych ráda vybrala pár zajímavých detailů, které je možné v připravených rozvrzích objevit. Jak se modely vypořádaly s otázkou plných úvazků, není až tak podstatné, neboť v případě zaměstnanců na plný úvazek není žádný velký prostor pro experimentování. Zaměstnanci mají přesně předepsáno, kolik hodin mají v daném období odpracovat. Pozastavím se však u zaměstnanců s částečným úvazkem. Připomenu, že v jejich případě je nutné odpracovat minimálně 25 hodin týdně (pokud nejsou z týdenního rozpisu vyřazeni kvůli dovolené, noční směně či směně v odděleném úseku apod.). V květnovém období pracovali v restauraci 4 zaměstnanci s částečným úvazkem. Všichni byli ve sledovaném týdnu plně dostupní (měli tedy opravdu odpracovat alespoň 25 hodin). S ohledem na výše diskutovanou otázku přestávek a případných nesrovnalostí bych se chtěla zaměřit právě na zjištění toho, jestli je získaný rozpis směn nakonec v souladu se smlouvami či zda došlo k některému z výjimečných případů, kdy potřebný počet 25 hodin týdně dodržen nebyl. Na Obr. 3-9 jsou uvedeny směny, které Model 1 přiřadil pro daný týden pracovníkům na částečný úvazek. Již u pracovníka KRA je vidět, že zde došlo k problematickému přiřazení, neboť celkem je tomuto pracovníkovi naplánováno 25,5 hodiny, ale mezi čtyřmi směnami jsou dvě dlouhé a po odečtení přestávek odpracuje tedy KRA pouze 24,5 hodiny. Pracovník MAA má odpracovat plných 40 hodin týdně, takže u něj žádný problém nenastává. Pracovník PRO je na tom obdobně jako KRA – ve čtyřech směnách je naplánováno 25 hodin, ale jedna z nich přesahuje délku 6 hodin a po odečtení přestávky i PRO bude chybět 0,5 hodiny. Zaměstnanec ZEL opět žádný problém mít nebude, neboť má v pěti směnách předepsáno 33,5 hodiny. 39
Optimalizace rozvrhů ve vybrané restauraci
Obr. 3-9 – Přehled směn částečných úvazků přiřazených Modelem 1 pro týden týden 14. 5. – 20. 5.
Jak je tomu v případě směn sestavených Modelem 2, je vidět na Obr. 3-10. Model 2 využil částečných úvazků méně než Model 1, přiřadil jim v součtu pouze 118,5 hodiny. Přesto v otázce přestávek obstály výsledky lépe. Zaměstnancům KRA a MAA byl přidělen dostatečný počet hodin (32,5 a 34), takže se do případných problémů vůbec nedostali. Zaměstnanec ZEL by měl odpracovat 26,5 hodiny, přičemž jeho plán zahrnuje 2 směny delší než 6 hodin a má tedy přiřazeny hodiny v souladu se svým úvazkem. Ne tak zaměstnanec PRO, kterému bylo naplánováno 25,5 hodiny, bohužel však do 4 směn, z nichž dvě přesahují hraničních 6 hodin a musí se tedy odečíst 1 hodina za povinné přestávky, čímž zaměstnanec odpracuje pouze 24,5 hodiny. Zde tedy bohužel modely neposkytují potěšující výsledky co se dodržení předepsaného úvazku týče a bylo by třeba věnovat zvýšenou pozornost plánům připraveným pro ostatní dny v měsíci. Z dostupných dat bylo odpozorováno, že obvykle nečiní žádný problém odpracovat chybějící hodiny v dalších týdnech. Nelze však na tuto skutečnost plně spoléhat a bude třeba součty řádně zkontrolovat, popřípadě ručně některé směny poupravit (například výměnou směn s některým z brigádníků). Další zajímavostí by mohlo být, že pro lepší pokrytí projekce potřeboval Model 2 oproti empirickým rozvrhům více směn (empiricky bylo použito 99 směn, resp. 102, započítáme-li i ty tři vytvořené leč neobsazené směny ze soboty, zatímco modely potřebovaly na pokrytí týdenní projekce shodně 110 směn). Na první pohled se tato skutečnost zdá poněkud zarážející, neboť v účelové funkci byl zohledněn i požadavek na minimalizaci počtu naplánovaných směn. Důvodem je však již zmíněné nedodržování maximální povolené délky směn. 40
Optimalizace rozvrhů ve vybrané restauraci
Obr. 3-10 – Přehled směn částečných úvazků přiřazených Modelem 1 pro týden týden 14. 5. – 20. 5.
LETNÍ OBDOBÍ V letním období byla vybrána pro prezentaci výsledků data z týdne od 23. července do 29. července 2012. Dostupnou projekci je možné vidět na Obr. 3-11.
Obr. 3-11 – Požadovaný počet pracovníků (projekce) pro jednotlivé časové úseky v týdnu 23. 7. – 29. 7.
Při srovnání s Obr. 3-1 je zřejmé, že především v poledních a odpoledních špičkách je v tomto červencovém týdnu požadována přítomnost vyššího počtu pracovníků v restauraci než v modelovém květnovém týdnu, celkem je potřeba 1665 jednotek (v květnu to bylo pouze 1517). Oproti květnovým datům však tentokrát disponuje restaurace dostatečným množstvím pracovníků, především díky zvýšenému počtu sezónních brigádníků, kteří nejen že dokážou pokrýt výpadky způsobené letními dovolenými stálých pracovníků, ale zajišťují možnost dostatečného obsazení směn a ještě zůstává jistá rezerva v plánování pro případ nečekaných absencí, nenadálých událostí či náhlých změn projekce.
41
Optimalizace rozvrhů ve vybrané restauraci
Celkem bylo v týdnu od 23. července do 29. července 2012 dostupných 52 pracovníků, z nichž 8 bylo plných úvazků, 4 částečné úvazky a 5 mladistvých. Z těchto dat vyplývá, že počet brigádníků vzrostl oproti prvnímu sledovanému období o 10 pracovníků z 25 na 35. K prezentaci výsledků v červencovém období využiji pouze Modelu 2. Bohužel totiž v tomto případě úloha pro zpracování Modelem 1 dosáhla již problematického rozsahu, kdy řešitel SW Lingo 12 nebyl během prvních 12 hodin schopen ani nalézt výchozí přípustné řešení. Řešení bylo posléze po dalších 24 hodinách zastaveno s tím, že pro data dostupná pro toto období nelze Model 1 s úspěchem využít. Na Obr. 3-12 je vidět, jak si s obsazením směn poradili v restauraci, Obr. 3-13 pak přináší výsledky získané Modelem 2.
Obr. 3-12 – Rozdíl mezi projekcí a rozvrženým počtem pracovníků pro časové úseky v týdnu 23. 7. – 29. 7. (záporné hodnoty značí nedostatek pracovníků), naplánováno v restauraci
Obr. 3-13 – Rozdíl mezi projekcí a rozvrženým počtem pracovníků pro časové úseky v týdnu 23. 7. – 29. 7. (záporné hodnoty značí nedostatek pracovníků), určeno Modelem 2
Z Obr. 3-13 vyplývá, že v případě letního období se podařilo získat rozvrh, který téměř dokonale kopíruje stanovenou projekci. V plánu připraveném v restauraci neodpovídalo projekci celkem 47 jednotek (15 jednotek chybělo a 32 přebývalo), zatímco v plánu určeném Modelem 2 přebývá za celý týden pouze 5 jednotek, aniž by jediná scházela.
42
Optimalizace rozvrhů ve vybrané restauraci
Opět se blíže podívám na směny přiřazené pracovníkům na částečný úvazek. V datech pro letní období se nacházeli čtyři tací zaměstnanci. Tři z nich byli dostupní po celý týden, jeden byl k dispozici pouze pro dva dny. Na Obr. 3-14 je uvedena část z vypočteného týdenního rozvrhu, do které jsou zahrnuti pouze zmínění pracovníci s částečným úvazkem.
Obr. 3-14 – Přehled směn částečných úvazků přiřazených Modelem 1 pro týden 23. 7. – 29. 7.
Pracovník DAPO má v daném týdnu přiřazeny pouze dvě pětihodinové směny a nehrozí tedy nedostatek hodin způsobený přestávkami, neboť na žádné přestávky nemá nárok. Pracovník JIPR má přiřazeny dvě 6hodinové a dvě 7,5hodinové směny. Nárok na přestávky tedy má, celkem na dvě. Pokud se však od celkového počtu 27 odpracovaných hodin tyto dvě přestávky odečtou, žádný problém nenastane. Stejně tak je tomu u pracovníka KAKR, který má též odpracovat čtyři směny v souhrnné délce 26,5 hodiny, nárok na přestávku mu vzniká dokonce třikrát za směny v délce 7 a 7,5 hodiny, ale po započtení přestávek odpracuje přesně 25 hodin čistého času. Poslední pracovník na částečný úvazek RAMA má předepsáno 28 hodin, směny delší jak 6 hodin jsou mu přiděleny tři (dvě 7hodinové a jedna 8hodinová), za přestávky tedy odečítá také 1,5 hodiny a ani on se do žádné kolize s hodinami určenými smlouvou nedostává. V tomto případě tedy k žádnému problému v rozpisu směn pro pracovníky na částečný úvazek nedochází. Obdobně jako v květnu, tak i ve zkoumaném červencovém týdnu se objevila skutečnost, že pro lepší pokrytí projekce potřeboval Model 2 oproti empirickým rozvrhům více směn. A obdobně jako v jarním období je to i tentokrát způsobeno porušením základních podmínek na délku přípustných směn, a to hned v pěti dnech z prezentovaných sedmi. Ve všech těchto pěti dnech je zaměstnancům přiřazeno několik směn, které zahrnují více hodin než je omezeními daná délka. Extrémním případ představuje plán úterních směn, kdy nejdelší směna má dokonce 12,5 hodiny a navíc se v tomto plánu vyskytují další dvě 9hodinové směny. V těchto případech se musí zjevně jednat o nějaké interní dohody a individuální 43
Optimalizace rozvrhů ve vybrané restauraci
žádosti zaměstnanců, neboť z dostupností, které byly pro toto období k dispozici, vyplývá, že žádný nedostatek pracovníků restauraci nesužoval. Pro úplnost přikládám i srovnání plánů sestavených ručně a pomocí Modelu 2 pro jeden vybraný den. Snažila jsem se opět zvolit takový denní plán, který v empirické podobě má největší odstup od projekce a v podobě určené modelem se naopak projekci co nejvíce blíží. Podle tohoto kriteria bylo pro srovnání vybráno pondělí.
Obr. 3-15 – Plán směn na pondělí 23. 7. 2012 sestavený Modelem 2
Na tomto místě bych pak ještě ráda zmínila otázku potřeby zpracování výsledů získaných jednotlivými modely. Jak již bylo uvedeno výše, převést výsledky získané Modelem 1 z Lingo 12 do podoby uvedené na Obr. 3-6, která je velmi blízká původnímu rozložení plánů (viz Obr. 3-8), není nic obtížného. Pomocí jednoduchého podmíněného formátování lze výstup v podobě nul a jedniček převést do uvedeného tvaru poměrně snadno. Zpracování výstupů, které poskytuje Model 2 však tak snadné není. Vzhledem k tomu, že používaná proměnná přiřazuje příslušnému pracovníkovi v daný den směnu z množiny přípustných směn, je nutné nejdříve zjistit, o kterou směnu se vlastně jedná a podle toho pak teprve sestavit souhrnný denní a týdenní plán. V případě ručního zpracování jde o poměrně pracnou záležitost. Proto bylo při zpracování výsledků využito možnosti zautomatizovat tento proces pomocí VBA v MS Excel. Pomocí různých procedur je také možné získané týdenní plány (ať již navržené Modelem 1 či Modelem 2) rozepsat například podle zaměstnanců tak, aby každý z nich mohl obdržet rozpis svých vlastních směn místo toho, aby musel prohledávat všechny navržené plány a vypisovat si, kdy by měl přijít do práce. Tím lze odstranit další 44
Optimalizace rozvrhů ve vybrané restauraci
Obr. 3-16 – Plán směn na pondělí 23. 7. 2012 sestavený v restauraci
možné komplikace v obsazení směn, kdy se při současném způsobu plánování v restauraci výjimečně stává, že zaměstnanec nepřijde do práce, neboť svoji směnu v plánech přehlédl. Toto je však pouze jednou z možných rozšiřujících aplikací, které lze díky plánování pomocí uvedených modelů zavést. S daty poskytnutými zmíněnými modely lze dále různě pracovat. Mezi základní exporty budou samozřejmě patřit i externí přehledy odpracovaných hodin pro jednotlivé zaměstnance v daném měsíci, popřípadě se lze zaměřit i na další skutečnosti, které bylo nyní potřeba dohledávat pouze ručně, a proto se doposud nesledovaly. ČASOVÁ NÁROČNOST PŘÍPRAVY SMĚN Z prezentovaných výsledků vyplývá, že pro tuto konkrétní restauraci je možné použít navržených modelů k plánování směn s poměrně dobrými úspěchy. Pokud se podaří dostatečně zautomatizovat přípravu dat a zpracování výsledků, je jistě vhodnější Model 2, který poskytuje potřebné výstupy ve velmi krátkých časech. Pokud je v dostupných datech dostatečné množství prostoru pro tvorbu různých kombinací směn a pracovníků, je zřejmé, že modely poskytují dokonce i výrazně lepší rozvrhy co se odchylek reality od projekce týče. Pokud je manévrovací prostor výrazně omezen, tedy pokud chybějí pracovníci, kteří by dostatečně dokázali pokrýt požadovaný počet směn, dokážou modely produkovat takové plány, které jsou i tak v souladu s primárně zadanými omezeními na minimální a maximální
45
Optimalizace rozvrhů ve vybrané restauraci
délku směn, zatímco empiricky navržené plány pracovníkem restaurace obvykle tato omezení porušují. Je však nutné zdůraznit, že ani v případech, kdy se výsledné rozvrhy utvořené v restauraci velmi podobaly těm navrženým pomocí modelů, nelze popřít obrovskou přednost použití modelů oproti empirickému plánování v podobě výrazné časové úspory. Aplikace zmíněných modelů byla v závěru studie testována na reálných datech a bylo zjišťováno, jak velká by přibližně mohla zmíněná časová úspora být. Snahou bylo určit, kolik práce administrativnímu pracovníkovi přibude a kolik naopak bude ušetřeno při implementaci modelů. Na počátku je nutné určitým způsobem upravit současný způsob evidence dlouhodobých i krátkodobých dostupností. Faktem je, že prvotní převod současných tabulek do podoby použitelné pro model zabral více než hodinu. Na stranu druhou průběžně již bude potřeba dlouhodobou dostupnost pouze udržovat aktuální, tedy do ní zaznamenávat pouze drobné změny, takže tento čas se zkrátí na několik minut měsíčně. Dále je třeba do těchto dat doplňovat aktuální požadavky zaměstnanců. Toto by v restauraci bylo řešeno pravděpodobně pomocí sestaveného makra v MS Excel, ale i v případě ručního zadání byly dostupnosti aktualizovány během cca 15 minut. Následuje příprava zdrojových dat pro projekci. Vzhledem k tomu, že už v současné době si musí pracovník odhadovanou projekci doplňovat do jednotlivých plánů ručně sám, není oproti nově testovanému způsobu rozdíl v časové náročnosti vůbec žádný. Dalo by se říct, že příprava dat se tak prodloužila opravdu o maximálně 20 minut týdně. Samotný běh modelu včetně následného spuštění aplikace pro zpracování výsledků v MS Excel pro testovaný týden zabral 15 minut. Součástí testování nebyla tvorba oddělených reportů pro jednotlivé zaměstnance ani export dat do reportů sledujících další skutečnosti (celkově odpracované hodiny aj.). Odhaduji však, že tato činnost by zabrala také řádově několik minut. Každopádně i kdyby se kterákoli ze zmíněných činností mírně prodloužila, popřípadě pokud by došlo k zařazení nějaké další, dosud neuvažované aktivity, nepřekročila by doba potřebná pro plánování směn dobu jedné hodiny. Nelze opomenout, že z přípravy denních plánů jsou vyřazeni denní vedoucí, noční směny, pracovníci obsluhující speciální úsek a pracovníci v tréninku. Pro testované období zabrala práce na obsazení těchto směn pro celý týden necelých 30 minut (připomínám, že plánování nočních úvazků i denních vedoucích vychází z příslušných předem připravených měsíčních plánů, pro obsazení speciálního úseku je k dispozici pouze úzký okruh pracovníků, kteří obsluhují jen tento úsek, tedy jejich přiřazování příslušným směnám v podstatě nemá nic společného s obsazováním zbylých pracovišť restaurace, a začleňování zaměstnanců
46
Optimalizace rozvrhů ve vybrané restauraci
v tréninku probíhá i v současné době odděleně až po vytvoření jednotlivých denních plánů pro celý týden). Sestavení všech sedmi denních plánů pro příslušné období pak zabralo pracovníkovi téměř 7,5 hodiny čistého času. Z naznačených údajů tak vyplývá, že pokud by v tomto vybraném období místo ruční tvorby bylo použito navržených modelů (v kombinaci s pomocnou aplikací MS Excel pro zpracování dat), bylo by možné ušetřit přibližně 6 hodin, čili téměř 80% potřebného času.
47
Závěr
Závěr Cílem práce bylo navrhnout a na konkrétních datech aplikovat podpůrný model pro plánování směn na konkrétní restauraci rychlého občerstvení. První část práce byla věnována obecnému teoretickému úvodu do problematiky rozvrhování pracovníků včetně vymezení různých aplikačních oblastí a modelových přístupů. Druhá kapitola se již blíže zaměřila na konkrétní zadání uvažované provozovny. Byla nastíněna podoba vstupních dat i vyskytujících se omezení, na základě kterých je potřeba požadované plány směn generovat. Poslední kapitola se pak věnovala představení navržených modelů, včetně jejich slabých míst a výpočetní náročnosti. Závěrem pak byly prezentovány získané výstupy, srovnány rozvrhy směn získané různými přístupy k zadání a zhodnocen jejich přínos. S potěšením mohu konstatovat, že původně vytyčený cíl se podařilo splnit vysoko nad prvotní očekávání. Plány směn získané pomocí dvou vlastních modelů navržených „na míru“ potřebám restaurace nejen že splňovaly veškeré požadavky kladené na podobu a obsazení směn, ale modely běžně dokázaly sestavit přijatelné rozvrhy i tam, kde si administrativní pracovník restaurace musel vypomoci porušením základních pravidel, aby dokázal sestavit alespoň nějaký plán směn. Z výsledků získaných jednotlivými modely vyplývá, že použití prvního navrženého modelu je v praxi velmi omezené, ale druhý testovaný model přináší požadované úspěchy. Mimo vlastního sestavení funkčních modelů se podařilo dokonale splnit i stanovený cíl uspoření alespoň části času potřebného pro plánování směn. Sama jsem byla až překvapena, že časová úspora dosahovala téměř 80%. Zároveň mne velmi těší, že po předložení vypočtených rozvrhů zástupcům restaurace byly tyto rozvrhy ohodnoceny jako velmi přijatelné. Je zřejmé, že do rozvrhů nelze zahrnout těžko zachytitelné skutečnosti, které dokáže dnes pracovník v plánech zohlednit. Těmito skutečnostmi jsou například informace o výkonnosti jednotlivých pracovníků, o vzájemných mezilidských vztazích jednotlivých pracovníků, preferencích společně obsazených směn určitými pracovníky či vůbec preferencí na délku směny a podobně. Pokud by se však tyto informace podařilo nějakým způsobem vyjádřit v datové podobě, otevírá se prostor pro další rozšíření zmíněných modelů. Jediným zjištěným slabším místem navržených modelů co do poskytnutých výsledků se zdá být občasné porušení podmínky na týdenní počet hodin u pracovníků na částečný úvazek, k němuž dochází v několika případech, kdy jsou mezi přiřazenými směnami některé delší, které vyžadují zařazení přestávky v práci. Do budoucna by tedy bylo vhodné zauvažovat, jak se s těmito nesrovnalostmi vypořádat. Další rozšíření modelů se může ubírat i směrem podrobnějšího členění požadovaných směn či dostupných pracovníků do menších skupin. Zajímavou otázkou by pak mohla být 48
Závěr
tvorba plánů, které by již rovnou zahrnovaly přiřazení pracovníků na jednotlivá stanoviště (příprava, obsluha pokladny, atd.), což by zároveň umožňovalo do plánování zahrnout i pracovníky, kteří teprve procházejí školením a nejsou tedy schopni samostatně fungovat na všech stanovištích. Není však jisté, jak by pak s ohledem na nově zavedená omezení a rozdělení narůstala výpočetní náročnost a zda by i poté výsledky poskytované modelem byly tak pozitivně hodnocené. Nezodpovězenou otázkou pak zůstává, zda by se navržené modely (alespoň Model 2) nechaly uplatnit ve všech restauracích uvažovaného řetězce, či zda by ve velkých provozovnách i tento model narážel na problémy s rozměry úlohy. Největší provozovny řetězce v České republice mají k dispozici i okolo 100 zaměstnanců, přičemž struktura omezení se v těchto provozovnách může porůznu rozšiřovat.
49
Použitá literatura a internetové zdroje
Použitá literatura [1]
BECHTOLD, S. E., JACOBS, L. W.: Implicit Modeling of Flexible Break Assignments in Optimal Shift Scheduling. Management Science, 1990, Vol. 36, No. 11, str. 1339-1351.
[2]
BERMAN, O., LARSON, R. C., PINKER, E.: Scheduling Workforce and Workflow in a High Volume Factory. Management Science, 1997, Vol. 43, No. 2, str. 158-172.
[3]
BODIN, L. D.: Twenty Years of Routing and Scheduling. Operational Research, 1990, Vol. 38, No. 4, str. 571-579.
[4]
BOOLER, J. M. P.: A Method for Solving Crew Scheduling Problems. Operational Research Quarterly (1970-1977), 1975, Vol. 26, No. 1, Part 1, str. 55-62.
[5]
BRUSCO, M. J., JACOBS, L. W.: A Simulated Annealing Approach to the Solution of Flexible Labour Scheduling Problems. The Journal of the Operational Research Society, 1993, Vol. 44, No. 12, str. 1191-1200.
[6]
BRUSCO, M. J., JACOBS, L. W.: Optimal Models for Meal-Break and Start-Time Flexibility in Continuous Tour Scheduling. Management Science, 2000, Vol. 46, No. 12, str. 1630-1641.
[7]
BRUSCO, M. J., JACOBS, L. W.: Personnel Tour Scheduling When Starting-Time Restrictions Are Present. Management Science, 1998, Vol. 44, No. 4, str. 534-547.
[8]
BRUSCO, M. J., JACOBS, L. W., BONGIORNO R. J., LYONS, D. V., TANG, B.: Improving Personnel Scheduling at Airline Stations. Operations Research, 1995, Vol. 43, No. 5, str. 741-751.
[9]
BURNS, R. N., KOOP G. J.: A Modular Approach to Optimal Multiple-Shift Manpower Scheduling. Operations Research, 1987, Vol. 35, No. 1, str. 100-110.
[10]
BURNS, R., NARASIMHAN, R.: Multiple Shift Scheduling of Workforce on Four-day workweeks. The Journal of the Operational Research Society, 1999, Vol. 50, No. 9, str. 979-981.
[11]
CAPPANERA, P., GALLO, G.: A Multicommodity Flow Approach to the Crew Rostering Problem. Operations Research, 2004, Vol. 52, No. 4, str. 583-596.
[12]
CAPRARA, A., TOTH, P., VIGO, D., FISCHETTI, M.: Modeling and Solving the Crew Rostering Problem. Operations Research, 1998, Vol. 46, No. 6, str. 820-830.
[13]
DANTZIG, G. B.: A Comment on Edie’s „Traffic Delays at Toll Booths“. Journal of the Operations Research Society of America, 1954, Vol. 2, No. 3, str. 339-341.
[14]
DIAS, T. G., DE SOUSA, J. P., CUNHA, J. F.: Genetic Algorithms for the Bus Driver Scheduling Problem: A Case Study. Journal of the Operational Research Society, 2002, Vol. 53, No. 3, str. 324-335.
50
Použitá literatura a internetové zdroje
[15]
DOWSLAND, K. A., THOMPSON, J. M.: Solving a Nurse Scheduling Problem with Knapsack, Networks and Tabu Search. The Journal of the Operational Research Society, 2000, Vol. 51, No. 7, str. 825-833.
[16]
EDIE, L. C.: Traffic Delays at Toll Booths. Journal of the Operations Research Society of America, 1954, Vol. 2, No. 2, str. 107-138.
[17]
ERNST, A. T., JIANG, H., KRISHNAMOORTHY, M., SIER, D.: Staff scheduling and rostering: A review of applications, methods and models. European Journal of Operational Research, 2004, Vol. 153, No. 1, str. 3-27.
[18]
FIALA, P.: Modely a metody rozhodování. Oeconomica, Praha, 2008. ISBN 978-80-2451345-4
[19]
FISCHETTI, M., LODI, A., MARTELLO, S., TOTH, P.: A Polyhedral Approach to Simplified Crew Scheduling and Vehicle Scheduling Problems. Management Science, 2001, Vol. 47, No. 6, str. 833-850.
[20]
GLOVER, F., MCMILLAN, C.: The General Employee Scheduling Problem: An Integration of MS and AI. Computer And Operations Research, 1986, Vol. 13, No. 5, str. 563-573.
[21]
GRAVES G. W., MCBRIDE R. D., GERSHKOFF, I., ANDERSON, D., MAHIDHARA, D.: Flight Crew Scheduling. Management Science, 1993, vol. 39, No. 6, str. 736-745.
[22]
CHU, S. C. K., HO, M. P. P., LEE, K. K. Y., LO H. P.: Nurses Allocation Models for Maternal and Child Health Services. The Journal of the Operational Research Society, 2000, Vol. 51, No. 10, str. 1193-1204.
[23]
JARRAH, A. I. Z., BARD, J. F., DESILVA, A. H.: Solving Large-Scale Tour Scheduling Problems. Management Science, 1994, Vol. 40, No. 9, str. 1124-1144.
[24]
LEZAUN, M., PÉREZ, G., SÁINZ DE LA MAZA, E.: Crew Rostering Problem in a Public Transport Company. The Journal of the Operational Research Society, 2006, Vol. 57, No. 10, str. 1173-1179.
[25]
MASON A. J., RYAN D. M.: Integrated Simulation, Heuristic and Optimisation Approaches to Staff Scheduling. Operations Research, 1998, vol. 46, No. 2, str. 161-175.
[26]
MILLER, H. E., PIERSKALLA, W. P., RATH G. J.: Nurse Scheduling Using Mathematical Programming. Operations Research, 1976, Vol. 24, No. 5, str. 857-870.
[27]
MINGOZZI, A., BOSCHETTI, M. A., RICCIARDELLI, S., BIANCO, L.: A Set Partitioning Approach to the Crew Scheduling Problem. Operations Research, 1999, Vol. 47, No. 6, str. 873-888.
[28]
MORRIS, J. G., SHOWALTER, M. J.: Simple Approaches to Shift, Days-off and Tour Scheduling Problems. Management Science, 1983, Vol. 29, No. 8, str. 942-950.
[29]
PELIKÁN, J.: Diskrétní modely. VŠE, Praha, 1999. ISBN 80-7079-179-9. 51
Použitá literatura a internetové zdroje
[30]
ROCHA, M., OLIVEIRA, J. F., CARRAVILLA, M. A.: Quantitative Approaches on Staff Scheduling and Rostering in Hospitality Management: An Overview. American Journal of Operations Research, 2012, No. 2, str. 137-145.
[31]
TESTIK, M. C., COCHRAN, J. K., RUNGER, G. C.: Adaptive Server Staffing in the Presence of Time-Varying Arrivals: A Feed-Forward Control Approach. The Journal of the Operational Research Society, 2004, Vol. 55, No. 3, str. 233-239.
[32]
TIBREWALA, R., PHILIPPE, D., BROWNE, J.: Optimal Scheduling of Two Consecutive Idle Periods. Management Science, 1972, Vol. 19, No. 1, str. 71-75.
[33]
TIEN, J. M., KAMIYAMA, A.: On Manpower Scheduling Algorithms. SIAM Review, 1982, Vol. 24, No. 3, str. 275-287.
[34]
TOWNSEND, W.: An Approach to Bus-Crew Roster Design in London Regional Transport. The Journal of the Operational Research Society, 1988, Vol. 39, No. 6, str. 543550.
[35]
WAN, L., BARD, J. F.: Weekly Staff Scheduling with Workstation Group Restrictions. The Journal of the Operational Research Society, 2007, Vol. 58, No. 8, str. 1030-1046.
Internetové zdroje [36]
FÁBRY, J: Diskrétní modely (prezentace k přednáškám předmětu, VŠE, dostupné online: http://nb.vse.cz/~fabry/4EK314-prezentace.ppt, navštíveno dne 30.6.2012)
[37]
BOURDAIS, S., GALINIER, P., PESANT, G.: HIBICUS: A Constraint Programming Application
to
Staff
Scheduling
in
Health
Care
(článek,
dostupné
online:
http://www.crt.umontreal.ca/~quosseca/pdf/32-hibiscus.pdf, navštíveno dne 12. 7. 2012) [38]
TRILLING, L., GUINET, A., LE MAGNY, D.: Nurse Scheduling Using Integer Linear Programming
and
Constraint
Programming
(článek,
dostupné
online:
http://hal.inria.fr/docs/00/17/30/72/PDF/Trilling_Guinet_Lemagny_INCOM_2006.pdf, navštíveno dne 12. 7. 2012) [39]
Zákon č. 262/2006 Sb., zákoník práce (v platném znění), § 83a, § 245 (dostupné online: http://business.center.cz/business/pravo/zakony/zakonik-prace/, navštíveno dne 20. 5. 2012)
52