Systém pro optimalizaci a řízení lidských zdrojů

Podobné dokumenty
1 Úvod do celočíselné lineární optimalizace

Otázky ke státní závěrečné zkoušce

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel

Management sítí OSI management framework SNMP Komerční diagnostické nástroje Opensource diagnostické nástroje

Zobrazte si svazy a uspořádané množiny! Jan Outrata

4EK213 Lineární modely. 10. Celočíselné programování

Název diplomové práce: Srovnávač životního pojištění. Určení: Bakalářská práce. Vedoucí: Doc. Ing. Petr Sosík, Dr.

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Úvod do celočíselné optimalizace

Numerické metody optimalizace - úvod

Programování II. Modularita 2017/18

DSS a De Novo programming

1. července 2010

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

Obr. P1.1 Zadání úlohy v MS Excel

Programování II. Třídy a objekty (objektová orientovanost) 2018/19

Úloha - rozpoznávání číslic

4EK212 Kvantitativní management. 2. Lineární programování

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Lineární stabilita a teorie II. řádu

Základy algoritmizace

Datová věda (Data Science) akademický navazující magisterský program

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

Procesní řízení operačních sálů Mgr. Martin Gažar

Měření dat Filtrace dat, Kalmanův filtr

Sémantický web a extrakce

Teorie systémů TES 5. Znalostní systémy KMS

Výroková a predikátová logika - III

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

1.1. Původ pojmů manažer a management Úloha manažera a managementu Funkce manažerů Význam plánování a pojem plánu 13

Aplikační software. Řízení lidských zdrojů PRAHA Zpracoval: Ing. Pavel Branšovský pro potřebu VOŠ a SŠSE

Metody a nástroje modelování Generation Adequacy. David Hrycej, CIIRC ČVUT

PA163 Programování s omezujícími podmínkami

12. Lineární programování

ČVUT v Praze, Fakulta strojní, Ústav mechaniky tekutin a energetiky. Tomáš Hyhĺık,

3. Optimalizace pomocí nástroje Řešitel

Optimalizace úvěrových nabídek. EmbedIT Tomáš Hanžl

ILOG (aisa:/software/ilog/solver51/doc/index.html)

V této kapitole bude popsán software, který je možné využít pro řešení rozhodovacích problémů popisovaných v těchto skriptech.

Nástroje pro vývoj software

Systematická tvorba jízdního řádu 2. cvičení

Měření dat Filtrace dat, Kalmanův filtr

Obsah. Zpracoval:

POZNÁMKY K PŘEDMĚTU PROJEKT

Design of experiment Návrh experimentu

aneb jiný úhel pohledu na prvák

P ílohy. P íloha 1. ešení úlohy lineárního programování v MS Excel

A0M33EOA: Evoluční optimalizační algoritmy

Optimalizace obecný úvod. [proč optimalizovat?] Formalizace problému. [existují podobné problémy?]

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

10. Soustava lineárních rovnic - substituční metoda

4EK201 Matematické modelování. 2. Lineární programování

Vyučovací hodiny mohou probíhat v multimediální učebně a odborných učebnách s využitím interaktivní tabule.

Přednáška č.7 Ing. Sylvie Riederová

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly

Moderní systémy pro získávání znalostí z informací a dat

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

Úvod do úloh plánování rozvozu (Vehicle Routing Problems)

Diferenciální rovnice 1

Kombinatorická minimalizace

Seminář z umělé inteligence. Otakar Trunda

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

Seznam úloh v rámci Interního grantového systému EPI

Vyřešené teoretické otázky do OOP ( )

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

Předpovídejte snadno a rychle

Příklady modelů lineárního programování

SEMINÁŘ K VÝUCE MATEMATIKA 1

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

ití empirických modelů při i optimalizaci procesu mokré granulace léčivl ková SVK ÚOT

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

TEAM DESIGN ABB CHALLENGE. EBEC Brno března

AristoTelos Systém pro optimalizaci a řízení lidských zdrojů

Prediktivní regulace pro energetiku

OSA. maximalizace minimalizace 1/22

SEMINÁŘ K VÝUCE MATEMATIKA

LINEÁRNÍ ROVNICE S ABSOLUTNÍ HODNOTOU

InformatikaaVT(1) Cílem předmětu je: Žáci:

IB111 Úvod do programování skrze Python Přednáška 13

IB013 Logické programování I Hana Rudová. jaro 2011

Intervalová data a výpočet některých statistik

3.2 MATEMATIKA A JEJÍ APLIKACE (M) Charakteristika vzdělávací oblasti

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Náležitosti ICT plánu Cíl kapitoly. Základní pojmy. Kam patří ICT plán?

Numerická stabilita algoritmů

Praha, 24. listopadu 2014

Návrh postupu pro stanovení četnosti překročení 24hodinového imisního limitu pro suspendované částice PM 10

Emergence chování robotických agentů: neuroevoluce

A B C D E F 1 Vzdělávací oblast: Matematika a její aplikace 2 Vzdělávací obor: Matematika 3 Ročník: 8. 4 Klíčové kompetence. Opakování 7.

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

ALGORITMIZACE A PROGRAMOVÁNÍ

Pythagorova věta Pythagorova věta slovní úlohy

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

4.Řešení optimalizačních úloh v tabulkových kalkulátorech

icc Next Generation atlantis Copyright 2011, atlantis

A B C D E F 1 Vzdělávací oblast: Matematika a její aplikace 2 Vzdělávací obor: Matematika 3 Ročník: 8. 4 Klíčové kompetence. Opakování 7.

20. května Abstrakt V následujícím dokumentu je popsán způsob jakým analyzovat problém. výstřelu zasáhnout bod na zemi v definované vzdálenosti.

Transkript:

ArisoTelos Systém pro optimalizaci a řízení lidských zdrojů

Workforce management (WFM) O p t i m a l i z a c e a ř í z e n í l i d s k ý c h z d r o j ů = [řecky] optimální řešení komerční software pro plánování pracovních sil založen na diplomové práci na MFF ve spolupráci s MSPS s.r.o. MSPS = Matematické + Statistické Projekty + Software Štefan Pacinda

Popis problému, který řeší Tvorba plánu směn pro zaměstnance (kontaktního centra) splňujícího sadu 'tvrdých' omezení, který je zároveň co možná nejlepším vzhledem k sadě optimalizačních kritérií.

Omezení: Plán směn O m e z e n í & O p t i m a l i z a č n í k r i t é r i a požadavky na zdroje přestávky mezi směnami, týdenní volno, dodržení odsouhlasených požadavků dodržení fondu pracovní doby omezení počtu směn na nějaké aktivitě či směně zákaz noční směny po pohotovosti či pohotovosti po šesti směnách Optimalizační kriteria: automatické požadavky fair policy preference zaměstnanců, popularita směn shlukování dnů volna Uvolnění tvrdých omezení: Někdy vstupní data nedovolují vytvořit rozvrh, musíme tedy rozvolnit některé požadavky. Příklad: ve čtvrtek 24.11. má být na přednášce 8 studentů a jsou tu jen 4. Pan docent ale stejně bude vyučovat a potřebuje vygenerovat zasedací pořádek.

U n d e r t h e H o o d Každá část aplikace může běžet na jiném stroji, komunikace přes WCF na HTTP. Nás zde bude zajímat generátor modelu a calculation service.

M o ž n é p ř í s t u p y k ř e š e n í CSP programování s omezujícími podmínkami [Constraint Satisfaction Problem] Genetické algoritmy Vlastní heuristika MIP (smíšený) celočíselný program [Mixed Integer Program] a další.. měli jsme problém a neměli řešení; review literatury přineslo slibných 30-50 článků o rosteringu (tvorba plánů směn) většina autorů použila MIP či MIP s column generation zvolili jsme MIP a nenarazili jsme na žádnou neřešitelnou překážku a vítěznou taktiku MIP jsme neměnili

Celočíselný program D r o b n ý n á h l e d n a m o d e l o v á n í 10 typů proměnných, 17 typů constraintů základním stavebním prvkem je proměnná reprezentující jednu položku plánu směn tato proměnná modeluje položku na plánu směn; binární doména; hodnota určuje, zda se daná proměnná objeví v plánu směn či ne vygenerujeme veškeré smysluplné a platné proměnné pro všechny zaměstnance, aktivity, dny a směny, pro které je daná položka platná dané proměnné svážeme v různých typech constraintů tak, aby optimální ohodnocení splňovalo všechny požadavky pro každou proměnnou musíme ukládat meta-data definující význam dané proměnné, abychom mohli efektivně model tvořit a poté interpretovat řešení (postavit plán směn) dvě úrovně reprezentace třídy držící meta data a explicitně informace o vztazích mezi entitami technická nízko-úrovňová reprezentace modelu vzájemné mapování

Celočíselný program P r a k t i c k á u k á z k a požadavky na zdroje testování validnosti proměnné: požadavky, znalosti agenta, vstupní plán, minulý plán uvolnění tvrdého omezení přestávky mezi směnami rozbor komplexnější situace limity na počet směn s aproximací nelineární penalizace mocninu aproximujeme lomenicí vynucení fondu pracovní doby se započítáním žádostí o volno problém, jak počítat s hodnotou, kterou neznáme; uvolnění omezení v různých situacích musíme vystačit pouze s lineárními výrazy, nicméně pomocí pomocných proměnných a pomocných constraintů jsme schopni emulovat různé logické spojky, a další netriviální vztahy v praxi se často ukazuje, že máme teoretickou možnost leccos modelovat, ale za cenu značného zvětšení modelu

Celočíselný program R e á l n á i n s t a n c e p r o b l é m u velikost modelu závisí na počtu agentu, počtu aktivit, délce plánovacího období, počtu směn a struktuře požadavků na zdroje běžně řešíme instance problému 30-40 agentů 10 typů směn 10 typů aktivit měsíční plánovací období takovému zadání obvykle odpovídá model s 15 000 20 000 proměnnými (cca 80% binárních) a podobným počtem constraintů doba řešení problému open source solver LP Solve: vůbec nemá šanci v reálném čase jednotek dní se přiblížit ani k suboptimálnímu řešení nejlepší open source solver SCIP na jednom jádru: desítky hodin do optima nejlepší komerční solver Gurobi na 8 jádrech: desítky minut do optima

Celočíselné programování N e j v ě t š í p r a k t i c k ý n e p ř í t e l jedna z největších komplikací v praktickém využití MIP v našem projektu je neřešitelnost modelu ve fázi vývoje modelu jsou občasné neřešitelnosti nepříjemností, v případě modelu v produkci je neřešitelnost opravdu velkým problémem předcházení neřešitelnosti vstupní data pocházejí od uživatele; naším úkolem je zjistit a priori, zda na základě vstupu lze vytvořit rozvrh, anebo zda obsahují nějaký spor v ideálním případě odchytíme všechny kombinace vstupů, které vedou k neřešitelnému problému a uživateli vrátíme vstup k přepracování bez spouštění výpočtu bohužel je (alespoň v této fázi projektu) téměř nemožné odhalit 100% vedoucích k neřešitelné instanci problému případů pokud dostaneme neřešitelný model, pomocí specializovaných nástrojů lze spočítat nejmenší nerozložitelnou spornou množinu pravidel (irreducible infeasible set) a na základě té ohlásit uživateli zhruba, kde se chyba vyskytla často je ale sporná množina složena i z desítek constraintů a je potřeba ruční zásah někoho, kdo se v modelu vyzná; obvykle na základě takového pozorování odvodíme nový a priorní test

Testování a feedback I n t e r a k c e s l i d m i úspěch všech projektů založených na matematickém modelování závisí na zpětné vazbě v našem projektu je zásadní cyklus přímý sběr požadavků začlenění nových požadavků do modelu konfrontace plánů směn založených na novém modelu se zákazníkem testování celého procesu tvorby modelu je velmi těžké testujeme dílčí feature na malých instancích problému testování vyžaduje poměrně velký podíl ruční práce - v komplexnějších případech není úplně jednoduché identifikovat trade-offy, které musí solver vážit unit testy je možné nasadit na pomocné rutiny a dílčí metody

Technologie N e n í t ř e b a b ý t z b y t e č n ě e f e k t i v n í v našem projektu je efektivita naprosto zásadní jde nám o to najít v co nejkratším čase co nejlepší řešení doba výpočtu solveru je řádově delší než doba, kterou tvoří vytvořit model a interpretovat výsledky; proto je možné použít vyšší programovací jazyky C#, Java a off-the-shelf řešení pro reprezentaci MIP dokonalý model je k ničemu, pokud nespolupracuje se spolehlivou a efektivní prezentační vrstvou, která sbírá data prezentuje výsledky umožňuje manuální úpravy automaticky získaných výsledků

Motivace L i n e á r n í p r o g r a m o v á n í u m í b ý t u ž i t e č n é a v y d ě l a t p e n í z e přestože celočíselné a lineární programování jsou teoretické koncepty, mají skutečnou praktickou použitelnost i v prostředí České republiky je možné zkombinovat psaní diplomové/bakalářské práce, ročníkového či softwarového projektu s prací pro firmu u které dostanete za svou práci zaplaceno a ještě Vaše práce nezůstane pouze na polici v knihovně, ale bude pomáhat v nějaké firmě či instituci efektivně řídit provoz či alokovat zdroje pro praktické použití lineárního/celočíselného programování je potřeba aktivní znalost nějakého programovacího jazyka (C#, C++, Java apod.), nejenom porozumění teorii či praxi na papíře; není ovšem potřeba být kodér na nejvyšší úrovni