190 likes | 311 Views
A Coordination Model for Distributed Personnel Planning. Patrick De Causmaecker, Peter Demeester, Greet Vanden Berghe, Bart Verbeke http://ingenieur.kahosl.be/projecten/dingo. Introduction. Dingo : Negotiation in distributed personnel scheduling
E N D
A Coordination Model for Distributed Personnel Planning Patrick De Causmaecker, Peter Demeester, Greet Vanden Berghe, Bart Verbeke http://ingenieur.kahosl.be/projecten/dingo
Introduction • Dingo: Negotiation in distributed personnel scheduling • Exchange of employees between departments that are understaffed using agent technology • Suitable / adaptable for many real-world problems (dynamic settings) Vakgroep IT KaHo Sint-Lieven
Objective and approach • Interviews with 11 companies • Classification of personnel scheduling problems (based on scheduling difficulties) Vakgroep IT KaHo Sint-Lieven
Classification • Permanence centred • police, hospitals • Mobility centred • home health care, health and safety board • Fluctuation centred • distribution, employment agency • fast food, call centres (from literature) • Project centred • consulting, software development Vakgroep IT KaHo Sint-Lieven
Generalisation • Position in scheduling space: • Personnel: have qualifications and preferences • Duty/task: require employees with qualifications • Time: shifts, periods, holidays, … • Personnel-Time plane: contract, holidays (many legal constraints) • Duties-Time plane: coverage per shift • Personnel-Duties plane: qualifications Vakgroep IT KaHo Sint-Lieven
Simplification • Personnel-Time • Assign employees to each department • Use a tabu search algorithm to find solution per department • Distribution of personnel among duties • One software agent for each duty (department!) • Negotiation in exchange of personnel Vakgroep IT KaHo Sint-Lieven
Case study • Distribution company, warehouse • A lot of distribution involved • Personnel are polyvalent: every employee has several qualifications • Ideal test case! • In our model: • every task = department • Every department = represented by agent • How organise exchange of personnel among the departments? • Coordination model for this exchange? Vakgroep IT KaHo Sint-Lieven
Coordination model • Opt to use Contract Net Protocol • Contracting? • Two interchangeable roles: • Manager defines sub problems & coordinates the whole problem • contractor executes sub task (possibly using sub contractors) • Bid process to find a solution • Announce a task (manager) • Evaluate task (contractors) • Bid (contractors) • Evaluate and grant bid (manager) • Coordinate & evaluate the whole (manager) Vakgroep IT KaHo Sint-Lieven
Grant contract Submit a bid Announce a task CNP contactors contractors contractors manager manager manager Vakgroep IT KaHo Sint-Lieven
Contract Net Protocol (CNP) • Pro’s • Dynamic task allocation to reach better contracts • Agent population is dynamic • Load balancing emerges naturally from bidding process • High fault tolerance • Cons • No conflict resolution • Assumes passive, generous, honest agents • Communication intensive, high network load Vakgroep IT KaHo Sint-Lieven
Coordination mechanism for distributed personnel planning • Contract Net Protocol (actually 3 X CNP) • Only exchange of personnel, no need for an agreement • 3 kinds of agents • OmbudsAgent (OA) • Department Agent (DA) • Employee Agent (EA) Vakgroep IT KaHo Sint-Lieven
Ombuds Agent Employee Agentj Department Agenti CFP Every one sends most expensive cost + time slot. Result of local search algorithm CNP (Cost, T)i Take highest cost send timetable to every personnel member ACCEPT PROPOSAL CNP Send others a REJECT REJECT PROPOSAL CFP: Qmax, Tmax Evaluate every proposed change and generate corresponding cost CFP: Qmax, Tmax Every involved agent evaluates its own constraints and generates a cost CNP Cost If Costi < threshold, then change is accepted Costi Involved Department Agents exchange personnel and adapt department timetable for that shift ACCEPT PROPOSAL ACCEPT PROPOSAL REJECT PROPOSAL REJECT PROPOSAL Otherwise not Sends agents that have done changes a new CFP CFP Only these agents that have done changes send their costs (Cost, T)i Vakgroep IT KaHo Sint-Lieven
Ombuds Agent Department Agenti Employee Agentj CFP Every one sends most expensive cost + timeslot. Result of local search algorithm CNP (Cost, T)i Choose highest cost Send personal timetable to every member of personnel ACCEPT PROPOSAL Send others a REJECT REJECT PROPOSAL • OA sends CFP to all DA • Every DA: starts local tabu search algorithm • Every EA (belonging to the department) gets its initial timetable of DA • Every DA sends highest cost + time slot • OA: selects highest cost Vakgroep IT KaHo Sint-Lieven
OmbudsAgent Department Agenti Employee Agentj CNP CFP: Qmax, Tmax Evaluate every proposed change and generate corresponding cost CFP: Qmax, Tmax Every involved agent evaluates its own constraints and generates a cost CNP Cost If Costi < threshold, then change is accepted Costi Involved Department Agents exchange personnel and adapt department timetable for that shift ACCEPT PROPOSAL ACCEPT PROPOSAL REJECT PROPOSAL REJECT PROPOSAL Otherwise not CFP Sends agents that have done changes a new CFP Only these agents that have done changes send their costs (Cost, T)i Vakgroep IT KaHo Sint-Lieven
Coordination model • OA sends question to all DA containing a shift and qualification • Proposed change is evaluated by DA AND EA • EA evaluates personal constraints + generates extra cost when department changes • DA generates cost if there is under coverage • DA sends lowest cost • From all received costs OA chooses lowest cost • Change is executed • DA adapts personnel • Chosen EA adapts work spot • Starting all over again!!! Vakgroep IT KaHo Sint-Lieven
Implementation issues • Jade: De facto agent environment for Java • some facilities for CNP (Initiator & Responder) • Although: still a lot of complex programming • problems with a large number of agents • Mozart Oz: multi-paradigm, distributed programming language • functionality for agents Vakgroep IT KaHo Sint-Lieven
Comment • We make no difference between departments, qualifications and tasks • Make no use of employee agents during tabu search • Communication between agents would be a bottleneck • Employee agents are created after tabu search • If lots of personnel: only create employee agents when they are needed Vakgroep IT KaHo Sint-Lieven
Future • Jade? • Mozart Oz • Communication between tabu search algorithm (implemented in Java) and coordination model (implemented in Oz): XML-RPC • Testing with real data! Vakgroep IT KaHo Sint-Lieven