230 likes | 437 Views
Gedistribueerde personeelsplanning: DINGO Studiedag Automatische Personeelsplanning. Patrick De Causmaecker, Peter Demeester, Greet Vanden Berghe en Bart Verbeke KaHo Sint-Lieven – Vakgroep IT - 6 september 2014 http://ingenieur.kahosl.be/projecten/dingo. Inleiding: probleemstelling.
E N D
Gedistribueerde personeelsplanning: DINGOStudiedag Automatische Personeelsplanning Patrick De Causmaecker, Peter Demeester, Greet Vanden Berghe en Bart Verbeke KaHo Sint-Lieven – Vakgroep IT - 6 september 2014 http://ingenieur.kahosl.be/projecten/dingo
Inleiding: probleemstelling • Meeste organisaties bestaan uit verschillende departementen • Wanneer departementen > kritische omvang => geïsoleerde eilanden: • Bijna geen communicatie met andere departementen • Informatie over het eigen departement zoveel mogelijke privé houden • Leidt natuurlijk tot suboptimaal gedrag • (Te) eenvoudig voorbeeld: • Ziekenhuis bestaande uit verschillende departementen • Een departement is onderbezet door bijv. ziekte of verlof,… • Andere departementen zijn overbemand • Oplossing: uitwisseling van verpleegkundigen Gedistribueerde Personeelsplanning: DINGO
Inleiding: probleemstelling • Suboptimaliteit aanpakken door: • Telefoneren, onderhandelen tussen de departementshoofden • Tijdrovende bezigheid • Soms subjectief • Doel van dit onderzoek: • Automatiseren van de onderhandeling over uitwisseling van personeel Gedistribueerde Personeelsplanning: DINGO
Inleiding: aanpak • Lokale planning • Zoek- en evaluatiealgoritme • Zoekalgoritme: stelt oplossing voor • Evaluatie-algoritme: evalueert de voorgestelde oplossing rekening houdend met beperkingen • Gedistribueerde planning • Vertrekkend van planning per departement (lokale planning) • Onderhandelen tussen de vertegenwoordigers van de verschillende departementen in de applicatie Gedistribueerde Personeelsplanning: DINGO
Departement 1 Zoek- en evaluatie-algoritme Departement 2 Zoek- en evaluatie-algoritme Departement 3 Zoek- en evaluatie-algoritme 1st lokale opl 1st lokale opl 1st lokale opl Initiële toekenning van personeel onderhandeling Departement 3Finale oplossing Departement 1Finale oplossing Departement 2Finale oplossing Gedistribueerde Personeelsplanning: DINGO
Evaluatiemethode • Oplossing voorgesteld door zoekalgoritme wordt geëvalueerd • Kwaliteit van de oplossing wordt bepaald door het gewogen aantal overtredingen op beperkingen • Dit betekent: • beperkingen moeten in het systeem gekend zijn! • Eerste (naïeve) manier: • Beperkingen hard coderen, dit betekent: • Elke nieuwe beperking moet worden geïmplementeerd • Niet echt uitbreidbaar en flexibel • Tweede manier: • Beperkingen worden uitgedrukt in XML, dit betekent: • Indien beperking in vooraf bepaald XML formaat kan uitgedrukt worden, dan kan de beperking geëvalueerd worden • Beperking wordt ingelezen en geïnterpreteerd door applicatie Gedistribueerde Personeelsplanning: DINGO
Evaluatiemethode • Voordelen van tweede methode t.o.v. eerste methode: • Leven voor de software ontwikkelaar wordt eenvoudiger • Probleem verschuift naar het uitdrukken van de beperking in het vooropgestelde XML formaat • Hiervoor hebben we een demo versie van een GUI ontwikkeld Gedistribueerde Personeelsplanning: DINGO
Max aantal shift2 per periode: 5 Max opeenvolgende shift2 per periode: 4 Min opeenvolgende shift2 per periode: 3 Max aantal uren per week dat er gewerkt mag worden: 38 Max aantal weekends per periode: 2 Volledige weekends werken: ja Voorwaarts roteren: ja Minimum tijd tussen 2 opeenvolgende opkomsten: 10h00 Max aantal zondagen werken: 4 Beperkingen op Dagen Weekdagen Weekends Shift1 Shift2 … Maandag Dinsdag Woensdag Donderdag Vrijdag Zaterdag Zondag … Gedistribueerde Personeelsplanning: DINGO
Niet-gedistribueerde geval Webservice Departement Lokale zoek-component Gedistribueerde Personeelsplanning: DINGO
Webservice • Om openheid te garanderen: voorzien van een webservice die communicatie met evaluatiealgoritme toelaat • Demonstrator: • GUI die via webservice communiceert om oplossingen te genereren Gedistribueerde Personeelsplanning: DINGO
Opmerkingen • Indien ENKEL lokaal gepland dient te worden: • Geen nood aan webservice! • Grafische gebruikersinterface communiceert direct met de onderliggende rekenmodule • Gebruiker hoeft geen XML te kennen om beperkingen uit te drukken • Er is demo versie van een GUI voor beperkingen voorzien Gedistribueerde Personeelsplanning: DINGO
Woordje uitleg bij demo • Maria Middelares - Sint-Jozef ziekenhuis (lid van Gebruikerscommissie) • Roulement: 18 weken • Full Time: • gemiddeld: +/- 40h00/week • Part Time: • gemiddeld: 30h00/week • Roulement: 8 weken • Half Time: • gemiddeld: 20h00/week • 20h00 N per week • Roulement: 4 weken • 35h00 N per week • Roulement: 2 weken • 30h00 N per week Gedistribueerde Personeelsplanning: DINGO
Onze vertaling • Planningsperiode: 4 weken • 30 personeelsleden • 4 shifts per dag (V,L,D,N) • 19 beperkingen • Gemiddeld 7 beperkingen per personeelslid • Demo! Gedistribueerde Personeelsplanning: DINGO
Departement 1 Tabu Search Departement 2 Tabu Search Departement 3 Tabu Search 1st lokale opl 1st lokale opl 1st lokale opl Initiële toekenning van personeel onderhandeling Departement 1Finale oplossing Departement 2Finale oplossing Departement 3Finale oplossing Gedistribueerde Personeelsplanning: DINGO
Onderhandeling • Software agenten? • Autonome objecten die in ons geval personeel en departementshoofden vertegenwoordigen • In literatuur zijn er verschillende onderhandelingsmodellen • Hier: protocollen voor afhandeling van tekorten en overschotten van personeel • Contract Net Protocol: grootste tekort eerst • Token Ring: elk departement probeert om beurt zijn grootste tekort op te lossen • Blackboard: elk departement kiest om beurt één persoon die zoveel mogelijk shiften kan helpen Gedistribueerde Personeelsplanning: DINGO
Contract Net Protocol ? ? ! Gedistribueerde Personeelsplanning: DINGO
Webservice Webservice Webservice Webservice Local searchcomponent Local searchcomponent Local searchcomponent Local searchcomponent evaluationcomponent evaluationcomponent evaluationcomponent evaluationcomponent Gedistribueerde geval Departement 2 Departement 1 agentenserver Departement 3 Departement 4 Gedistribueerde Personeelsplanning: DINGO
Demo • Gedistribueerd planning met behulp van Contract Net Protocol • Voorbeeld • 3 departementen • Sommige personeelsleden zijn gekwalificeerd om in andere departementen te werken • Eerst alle 3 lokaal plannen (zo goed mogelijk proberen voldoen aan persoonlijke en wettelijke beperkingen) • Daarna personeel uitwisselen om aan bezetting te voldoen Gedistribueerde Personeelsplanning: DINGO
Conclusie • Aanpak in dit project is: • Minder complex dan indien bedrijf in zijn geheel zou gepland worden • Meer realistisch: departementen kunnen informatie geheim houden voor andere departementen • Kan gebruikt worden als een beslissingsondersteunde tool bij onderhandelingen • Objectief: niet noodzakelijk degene die het luidst roept die meeste personeel krijgt • Minder tijdrovend Gedistribueerde Personeelsplanning: DINGO
Vragen? • Dank u voor uw aandacht! Gedistribueerde Personeelsplanning: DINGO