Presentation is loading. Please wait.

Presentation is loading. Please wait.

Systems design for scheduling: Open Tools Patrick De Causmaecker, Peter Demeester, Greet Vanden Berghe and Bart Verbeke KaHo Sint-Lieven, Gent, Belgium.

Similar presentations


Presentation on theme: "Systems design for scheduling: Open Tools Patrick De Causmaecker, Peter Demeester, Greet Vanden Berghe and Bart Verbeke KaHo Sint-Lieven, Gent, Belgium."— Presentation transcript:

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


Download ppt "Systems design for scheduling: Open Tools Patrick De Causmaecker, Peter Demeester, Greet Vanden Berghe and Bart Verbeke KaHo Sint-Lieven, Gent, Belgium."

Similar presentations


Ads by Google