Gedistribueerde Planning Patrick De Causmaecker Gedistribueerde Dataverwerking, Informatieverwerking en Beslissingsondersteuning (GDIB) K.U. Leuven Campus Kortrijk
K.U.Leuven Campus Kortrijk: Groep GDIB ZAP(Statistiek, Data, Beslissingsondersteuning) O.A. onderzoek naar Combinatorische Planningsproblemen Datamining in Bioinformatica en Geografische Informatiesystemen Modellen en metrieken voor grote gedistribueerde systemen (Agents) Binnen Associatie K.U.Leuven, nauwe samenwerking met IT-groep KaHo St.-Lieven en het departement Computerwetenschappen
COALA OCAPI DINGO BIOPTRAIN/ Metrics in Marie Curie/ Distributed EST Optimisation DINGO OCAPI COALA MultiTr@ns Quality Gate IBBT/ VRT/ PISA
Inhoud Planning? Complexiteit van planning Gedistribueerde planning Een oplossing via multiagentensystemen?
Planning XTremisWeb: web-based personnel planning and job loading tussen productieplanning en -controle met MES … Time & Attendance, Access Control, Personnel Planning & Cost center management. we develop a model for distributed personnel planning. We want to build a generic model that allows to optimise the time plans of the personnel over department boundaries, to discover win-win situations in which an interchange of personnel can render a better global result. world-class patient logistics software, designed to support generic planning and management processes related to the patient's stay in hospital. which was developed for personnel-planning in laboratories related to health care. We describe the characteristics of these
Personeelsplanning Werkdruk, onderbemanning, technologie kan werk niet verlichten Op elk ogenblik voldoende gekwalificeerd personeel voorzien Werkroosters beïnvloeden de organisatie en het privéleven van het personeel Flexibele werkroosters, deeltijds werk, persoonlijke wensen Schadelijke (onvoorspelbare, sterk fluctuerende) en ongezonde werkroosters vermijden Interactief systeem dat assisteert bij objectief opstellen van de roosters Technologische vooruitgang kan werkdruk niet verlichten, in tegenstelling tot in andere sectoren (ambachten zijn geautomatiseerd, productie, transport, bouw,… onvoorspelbare en sterk fluctuerende uurroosters bederven de sfeer op de afdelingen en veroorzaken vaak absenteïsme. Hoewel het veel gemakkelijker is om automatisch uurroosters te evalueren is het niet eenvoudig om de kennis en ervaring waarover planners beschikken in te bouwen in een algoritme. Om problemen te voorkomen moeten hoofdverpleegkundigen of personeelsverantwoordelijken in staat zijn lang genoeg op voorhand efficiënte uurroosters op te stellen. Flexibele planningssystemen kunnen, door zoveel mogelijk kennis te incorporeren, personeelsverantwoordelijken bevrijden van de ondankbare taak om objectieve uurroosters op te stellen. ©Greet Vanden Berghe
Strategische personeelsplanning Bemannen van diensten Opstellen van werkroosters per dienst: korte termijnplanning Personeelsplanning Werkdruk proberen te voorspellen Diensten bepalen, bepalen hoeveel mensen er aanwezig moeten zijn voor elke taak. Bemannen van diensten: aanwerven van gekwalificeerd personeel, voldoende divers (ervaren, nieuw)
Cyclische werkroosters Centraal / per dienst plannen Manueel of automatisch opstellen van werkroosters Personeelsplanning Tijdrovend, ondankbaar, moeilijk objectief te doen, moeilijk duidelijk te evalueren ©Greet Vanden Berghe
Probleem Harde Beperkingen Zachte Beperkingen DIENSTROOSTERS Begin- en einduur, afwijkende uren, deeltijds werk, onderbroken dienstroosters OPSTELLEN WERKROOSTER KWALIFICATIES BEZETTING CONTRACTEN Dienstrooster Van Tot Korte vroege 7:00 13:00 Vroege 15:00 Dag 8:00 17:00 Late 21:00 Korte Late Nacht ©Greet Vanden Berghe
↔ hiërarchische vervangingen Harde beperkingen KWALIFICATIE vervanging enkel door mensen met alternatieve kwalificaties ↔ hiërarchische vervangingen ©Greet Vanden Berghe
WETTELIJKE BEPERKINGEN Zachte beperkingen WETTELIJKE BEPERKINGEN Tijd tussen opeenvolgende opkomsten Alternatieve kwalificaties Aantal opkomsten: voor full time verpleegkundigen bijvoorbeeld 19 dagen in 4 weken Halftime bijvoorbeeld 10 dagen in 4 weken Aantal uren (afhankelijk van contract), cumulatief, wie na vorige planningsperiodes overuren heeft begint met een positief saldo aantal opeenvolgende dagen werken, dagen tussen werkdagen,… Opeenvolgende dienstroosters (bvb. Niet meer dan 2 nachten na elkaar, minstens 2x dezelfde dienst na elkaar) Weekendwerk: volledige weekends, aantal opeenvolgende weekends, dezelfde dienstroosters tijdens het weekend, geen nachtdienst voor een vrij weekend. ©Greet Vanden Berghe
PERSOONLIJKE WENSEN Zachte beperkingen Vrije dag Vrij dienstrooster Voorkeur voor dienstrooster op een dag Samenwerken / niet samenwerken Aantal opkomsten: voor full time verpleegkundigen bijvoorbeeld 19 dagen in 4 weken Halftime bijvoorbeeld 10 dagen in 4 weken Aantal uren (afhankelijk van contract), cumulatief, wie na vorige planningsperiodes overuren heeft begint met een positief saldo aantal opeenvolgende dagen werken, dagen tussen werkdagen,… Opeenvolgende dienstroosters (bvb. Niet meer dan 2 nachten na elkaar, minstens 2x dezelfde dienst na elkaar) Weekendwerk: volledige weekends, aantal opeenvolgende weekends, dezelfde dienstroosters tijdens het weekend, geen nachtdienst voor een vrij weekend. ©Greet Vanden Berghe
Evaluatie werkroosters KWALITEIT VAN EEN WERKROOSTER som voor alle personeelsleden van de som van alle overtredingen op zachte beperkingen, vermenigvuldigd met de overeenkomstige kostparameter Overtredingen op zachte beperkingen Kostparameter per zachte beperking De harde beperkingen zijn altijd voldaan, een andere schikking van de dienstroosters leidt tot andere overtredingen van zachte beperkingen, door met de dienstroosters te verschuiven proberen we een zo goed mogelijk uurrooster te bekomen. Aan iedere zachte beperking wordt een kostparameter gekoppeld, bijvoorbeeld teveel opeenvolgende weekends: 5, overuren: 1 per uur ©Greet Vanden Berghe
CONSISTENTIECONTROLE OPLOSSINGSSTRUCTUUR CONSISTENTIECONTROLE Harde beperkingen Bezetting Kwalificaties `Voorrang’ Zachte beperkingen Persoonlijke wensen voor verlofdagen Afwezigheden Gewenste opkomsten Patronen overtreding aanvaarden herstellen relaxeren harde beperkingen relaxeren persoonlijke wensen
Persoonlijke uurroosters Deel van de planningsperiode BEVRIEZEN Persoonlijke uurroosters Deel van de planningsperiode
Bezetting per uur Dienstrooster Van Tot Korte vroege 7:00 13:00 Vroege 15:00 Dag 8:00 17:00 Late 21:00 Korte Late Nacht 0:00 12:00 24:00
opstellen initiële planning manipuleren tot een oplossing INITIALISATIE opstellen initiële planning Vorige planning Bestaande planning Leeg plan manipuleren tot een oplossing Willekeurig dienstroosters toevoegen/verwijderen tot op elke dag aan de harde beperkingen voldaan is
PLANNINGSOPTIES Voor de planning Na de planning Minimum bezetting Gewenste bezetting Na de planning Aanvullen naar gewenste bezetting Aanvullen uren
Optimalisatieprobleem Vind een rooster dat aan alle harde beperkingen voldoet met een zo laag mogelijke kost voor de overtredingen op de zachte beperkingen
Lokaal zoeken : Tabu search Metaheuristiek : een algoritmeschema met ruimte voor probleemgebonden informatie. Lokale optima verlaten door het verbieden van recent gebruikte (soorten) zetten. Brede exploratie afwisselen met intens onderzoek Door het landschap bewegen via verschillende nabuurschapsrelaties (VNHS) Er is geen garantie dat het optimum gevonden is.
Gebruikersinterface complex model -> complexe gebruikersinterface. Onmogelijk alle verwachtingen uit te drukken -> geavanceerde grafische hulpmiddelen. Visueel onderzoek en manueel aanpassen van automatisch gegenereerde roosters Rapportering! Integrating human abilities and automated systems for timetabling: a competition using STARK and HuSSH Representations at the PATAT 2002 Conference S.Ahmadi, R. Barone, E.K. Burke, P. Cheng, P. Cowling, B. McCollum
Gedistribueerde personeelsscheduling Voorbeelden Voorbeeld : Waterloo University (Canada) Verantwoordelijken in de verschillende departementen onderhandelen op specifieke ogenblikken in het proces. Zie Carter, M.W., “A Comprehensive Course Timetabling and Student Scheduling System at the University of Waterloo”
Gedistribueerde personeelsscheduling Voorbeelden Taakmanagement in British Telecom (RECONET, Tsang, MISTA 2005) Autonome groepen (Managers, Buyers, Sellers) Competitief model, Financieel en organisatorisch Uitwisseling van middelen wordt genegocieerd Management ageert als opdrachtgever Diensten in een hospitaal Collaboratief model Autonomie is organisatorisch
Waarom gedistribueerd? Intrinsiek gedistribueerd: partijen beheren eigen middelen Implementeren eigen voorkeuren Gedistribueerd algoritme: Kan gebruik maken van parallelle rekenkracht.
Voorbeeld: Werkschikkingen in een ziekenhuis roosters voor één ziekenhuisafdeling personeeltekorten: Ziekte Overbezetting … Mogelijke oplossing: Uitwisselingen van personeel door onderhandeling
Eigenschappen Lokale autonomie Globale vereisten Zeer gedetailleerd Persoonsgebonden, gevoelig Zeer reactief, lokale optimalisatie brengt veel bij Risico op eilandjes Globale vereisten Kosteneffectief, taakgedreven, flexibiliteit, snelheid, slank
Een goed model Multi Agenten Systeem Een probleem met autonome componenten die door te interageren een coherent werkende gemeenschap moeten vormen wordt goed beschreven als een Multi Agenten Systeem
Intelligente Agenten Agenten hebben hun oorsprong in artificiële intelligentie, maar het domein heeft zijn eigen dynamiek ontwikkeld. Technieken en benaderingen uit de artificiële intelligentie worden er gecombineerd met parallel rekenen, declaratieve talen, logica, emergent gedrag, automatisch plannen… Hun belangrijkste kenmerk is hun autonomie om het doel waarvoor ze ontworpen zijn na te streven.
Drie elementen Agententechnologie is een relatief jonge discipline in computerwetenschappen Verzamelt veel technieken en ideeen uit andere gebieden (bijv. Artificiele intelligentie). We beperken ons tot Onderhandelen Speltheorie Optimalisatie
Onderhandelen Veilingen, contractnetprotocols, monotone procedures,… Door samen te werken kunnen soms betere evenwichten gevonden worden. Dit wordt ingebouwd in de onderhandelingsprocedure. Andere aspecten: privacy vertrouwen Second price, open cry, ascending (proxy Vickrey) First price, open cry, descending
Speltheorie: The Prisoners Dilemma Twee mannen zijn beschuldigd van een misdaad en zitten in afzondering Men zegt ze dat 1. Indien één van hen bekent en de andere niet, dan komt degene die bekent vrij, en de ander gaat in de cel voor 3 jaar 2. Indien beide bekennen gaan ze in de cel voor 2 jaar. Ze weten dat, indien geen van hen bekent, ze allebei voor 1 jaar in de cel gaan.
Speltheorie: The Prisoners Dilemma Twee mannen zijn beschuldigd van een misdaad en zitten in afzondering. Indien één van hen bekent en de andere niet, dan komt degene die bekent vrij, en de ander gaat in de cel voor 3 jaar beide bekennen gaan ze in de cel voor 2 jaar. geen van hen bekent, ze allebei voor 1 jaar in de cel gaan.
Nash evenwicht Wat mijn tegenstrever ook kiest, ik bereik … In het voorbeeld is het Nash evenwicht (verraad,verraad) Gevangene B zwijgt Gevangene B verraadt Gevangene A zwijgt Beide zitten één jaar Gevangene A zit drie jaar Gevangene B komt vrij Gevangene A verraadt Gevangene A komt vrij Gevangene B zit drie jaar Beide zitten twee jaar
De schaduw van de toekomst “Iterated Prisoners Dilemma” Het spel wordt verschillende keren gespeeld, verschillende “ronden”. Laten we veronderstellen “zeer lang” of “oneindig lang”. Als ik nu verraad, dan kan mijn tegenstrever me “straffen” door straks ook te verraden. Als ik nu eens probeer, door mee te werken, dan kan ik niet zo heel veel verliezen, en misschien komen we tot samenwerking.
Optimalisatie en Collaboratie Agenten laten toe om dieper in de organisatie door te dringen Efficientere informatiegaring Er is meer controle over vertrouwelijke informatie Bij het onderhandelen wordt de informatie geaggregeerd Het resulterende proces is suboptimaal ten opzichte van een centrale benadering Hoe kunnen deze aspecten tegen mekaar afgewogen worden?
The proof of the pudding is in the eating Conclusie The proof of the pudding is in the eating so Come again!