Download presentation
Presentation is loading. Please wait.
Published byJustin Pope Modified over 9 years ago
1
Systems design for scheduling: Open Tools Patrick De Causmaecker, Peter Demeester, Greet Vanden Berghe and Bart Verbeke KaHo Sint-Lieven, Gent, Belgium http://ingenieur.kahosl.be/projecten/dingo
2
Vakgroep IT KaHo Sint-Lieven2 Overview Introduction: distributed personnel scheduling Local optimisation Agent model Web service Conclusion
3
Vakgroep IT KaHo Sint-Lieven3 Introduction: problem description Most companies have different departments When departments > critical size => isolated islands Almost no communication with other departments Keep department information private This leads to sub optimal behaviour Oversimplified example: Hospital consisting of different departments One department is understaffed due to illness, holidays,… Some are overstaffed Exchange of nurses solves both their problems
4
Vakgroep IT KaHo Sint-Lieven4 Introduction: problem description Sub optimality is solved at the moment: negotiations between different heads of department Time consuming activity Goal of this research: Automating this negotiation
5
Vakgroep IT KaHo Sint-Lieven5 Final solution Negotiation Department 1 Tabu Search 1st local solution Department 2 Tabu Search 1st local solution Department 3 Tabu Search 1st local solution Final solution Initial assignment of personnel Our approach
6
Vakgroep IT KaHo Sint-Lieven6 Local optimisation Since we are developing a general tool applicable in different domains/sectors: Need of general evaluation method that can evaluate different constraints => Numbering evaluation method 1 Evaluation mechanism implemented in Java Constraints are expressed in XML 1 E.K. Burke, P. De Causmaecker, S. Petrovic, G. Vanden Berghe: Fitness Evaluation for Nurse Scheduling Problems, Proceedings of Congress on Evolutionary Computation, CEC2001, Seoul, IEEE Press, 2001, p. 1139-1146.
7
Vakgroep IT KaHo Sint-Lieven7 Numbering: example Planning period: 1 week soft constraints: Maximum number of assignments6 Minimum 2 Maximum number consecutive free days8 Minimum 2 Maximum number consecutive assignments4 Minimum 2 Maximum number of shifts per day1 Maximum number of night shifts3 Minimum number consecutive night shifts2 Work full weekends N1N1 N2N2 N3N3
8
Vakgroep IT KaHo Sint-Lieven8 Numbering: example roster P1 constraints N1 max-total = 6 min-total = 2 max-between = 8 min-between = 2 max-consecutive = 4 min-consecutive = 2 max-pert = 1 counters last total consecutive constant max constraints N2 max-total = 3 min-consecutive = 2 constraints N3 min-consecutive = 2
9
Vakgroep IT KaHo Sint-Lieven9 Evaluation algorithm Initialisation: taking into account the previous planning map numberings onto the previous planning period search values for counters: initialise Intermediate evaluation: adjust counters and calculate costs if necessary Final evaluation: calculate costs at the end of the planning period per iteration the algorithm is executed 1 x per person in the planning independently of the number and the type of soft constraints
10
Vakgroep IT KaHo Sint-Lieven10 Constraints N1 in XML 1 6 2 1 -infinity 8 2 4 2 …
11
Vakgroep IT KaHo Sint-Lieven11 3 4 5 6 … Constraints N1 in XML … 0 1 2
12
Vakgroep IT KaHo Sint-Lieven12 Evaluation algorithm Every constraint that can be expressed in the proposed XML format can be evaluated! Local search algorithm: tabu search Use OpenTS Framework for implementation http://www.coin-or.org/OpenTS/
13
Vakgroep IT KaHo Sint-Lieven13 Non-distributed case Local search component Webservice Department webservice
14
Vakgroep IT KaHo Sint-Lieven14 Webservice To guarantee openness: we provide a webservice that allows communication with the evaluation component Webservice: implemented in Apache SOAP (http://ws.apache.org/soap/)http://ws.apache.org/soap/ As a proof of concept: We developed a GUI that uses webservice to generate solutions
15
Vakgroep IT KaHo Sint-Lieven15 Agents Final solution Negotiation Task 1 Tabu Search 1st local solution Task 2 Tabu Search 1st local solution Task 3 Tabu Search 1st local solution Final solution Initial assignment of personnel
16
Vakgroep IT KaHo Sint-Lieven16 Agent model Every department is represented by an agent Every member of personnel is represented by an agent Note: agents are not used in local search algorithm However they are used to (improve) negotiate about the solution Question: how organise the exchange of personnel among the departments? Need of a coordination model
17
Vakgroep IT KaHo Sint-Lieven17 Coordination model Contract Net Protocol Announce a task manager contractors Submit a bid manager contractors manager contractors Grant contract
18
Vakgroep IT KaHo Sint-Lieven18 Agent Architecture (CNP) OmbudsAgent Department Agent Mozart/Oz Java Department Agent Local search algorithm XML-RPC
19
Vakgroep IT KaHo Sint-Lieven19 Agent Architecture (CNP) Department Agent Mozart/Oz Java XML-RPC Employee Agent Local search algorithm
20
Vakgroep IT KaHo Sint-Lieven20 Coordination Model Blackboard: Demand/supply for personnel are written on a black board Token Ring: there is no boss, every department can ask a question per round
21
Vakgroep IT KaHo Sint-Lieven21 Department 1 Department 2 Department 3 Department 4 Negotiation server Distributed case Local search component Webservice evaluation component Local search component Webservice evaluation component Local search component Webservice evaluation component Local search component Webservice evaluation component
22
Vakgroep IT KaHo Sint-Lieven22 Communication Local search algorithm implemented in Java Agent negotiation mechanism implemented in Mozart/Oz Communication: Socket? Webservice? Opt to use webservice: SOAP? Alternative: XML-RPC?
23
Vakgroep IT KaHo Sint-Lieven23 Conclusion Platform independent implementation of personnel planning application that is useful for many domains Open: Every constraint that can be expressed in proposed XML format can be evaluated Methods can be called via web service Tools will be available for download in November 2005 from http://ingenieur.kahosl.be/projecten/DINGO/ http://ingenieur.kahosl.be/projecten/DINGO/
24
Vakgroep IT KaHo Sint-Lieven24 Questions? Thank you for your attention!
25
Vakgroep IT KaHo Sint-Lieven25 M L N Solution structure Example 0|1|0||1|0|0||0|0|0||0|0|1||0|1|0||0|0|1||1|0|0| 0|0|1||1|0|0||1|0|0||1|0|0||0|0|1||0|1|0||0|0|1| 1|0|0||1|0|0||1|0|0||0|0|0||1|0|0||0|0|0||0|1|0| 1|0|0||1|0|0||0|0|0||1|0|0||0|0|0||0|1|0||0|1|0| 0|1|0||0|1|0||0|1|0||1|0|0||1|0|0||0|1|0||0|1|0| 1|0|0||0|0|0||0|0|0||0|1|0||1|0|0||0|1|0||1|0|0|
26
Vakgroep IT KaHo Sint-Lieven26 Moves Flip move: 0 => 1 or 1 => 0 Swap move: swap 2 elements Row and column swap move
27
Vakgroep IT KaHo Sint-Lieven27 Ombuds Agent Department Agent i CFP Every one sends most expensive cost + time slot. Result of local search algorithm (Cost, T) i Evaluate every proposed change and generate corresponding cost ACCEPT PROPOSAL REJECT PROPOSAL Involved Department Agents exchange personnel and adapt department timetable for that shift CNP CFP (Cost, T) i Only these agents that have done changes send their costs CNP Employee Agent j send timetable to every personnel member CFP: Q max, T max Cost ACCEPT PROPOSAL Every involved agent evaluates its own constraints and generates a cost REJECT PROPOSAL Take highest cost Send others a REJECT Cost i ACCEPT PROPOSAL REJECT PROPOSAL CFP: Q max, T max CNP If Cost i < threshold, then change is accepted Otherwise not Sends agents that have done changes a new CFP
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.