Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel...

25
Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision Faculté des sciences de l'administration Université Laval

Transcript of Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel...

Page 1: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

Allowing user interaction in timetable scheduling software

Daniel Kreeft, Bernard Lamond et Angel RuizDépartement d'opérations et systèmes de décision

Faculté des sciences de l'administrationUniversité Laval

Page 2: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

2Septembre 2010 CIRRELT

Motivation

• Au Québec, les horaires pour environ 3000 résidents en médecine à travers la province sont encore faits à la main

• Opportunité de concevoir un logiciel à l`échelle provinciale

• S’inspirer des méthodes heuristiques (méthode manuelle) pour créer des algorithmes permet d’atteindre deux objectifs: Avoir une meilleure définition du concept de qualité d’une horaire Améliorer la performance algorithmique

Page 3: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

3Septembre 2010 CIRRELT

Motivation

Logiciels commerciaux implémentés dans plusieurs hôpitaux

Warner, Keller, and Martel (1990): ANSOSJelinek and Kavois (1992) MEDICUSDarmoni et al. (1995) HOROPLANMeisels, Gudes, and Solotorevski (1997) EASYSTAFFMeisels, Gudes, and Solotorevski (1996) TORANITDowsland and Thompson (2000): CAREMeyer auf’m Hofe (1997) ORBIS DIENSTPLANBurke et al. (2001b, 2001, 1999), De Causmaecker andVanden Berghe (2003)

PLANE

Les logiciels commerciaux offrent une multitude d`outils pour élaborer des horaires de médecins et du personnel de soins

Page 4: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

• Mais la littérature ne s’intéresse (dans le meilleur de nos connaissances) aux horaires de garde pour les résidents

• Raisons?

• Travaux sur les horaires de médecins – Horaires personnalisés

– Modélisation basée sur la séparation des contraintes en hard et soft

– La qualité d’un horaire est mesurée par les violations de contraintes souples.

Motivation

Septembre 2010 CIRRELT 4

Page 5: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

Objectif

Objectif : créer un algorithme capable d’apprendre à faire des horaires

Générateur horaires

Paramétres

Évaluation par l’usager

Moteur d’apprentissage

Septembre 2010 CIRRELT 5

Page 6: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

Objectif

Objectif : créer un algorithme capable d’apprendre à faire des horaires

Générateur horaires

Paramétres

Évaluation par l’usager

Septembre 2010 CIRRELT 6

Page 7: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

7Septembre 2010 CIRRELT

Le concepteur humaine• Implicitement les méthodes manuelles tiennent compte

d’un certain nombre de critères qui sont satisfaits dans une perspective d'optimisation

• L`humain « est une méta-heuristique » à lui seul, capable de gérer simultanément les échanges dans le voisinage, l’évaluation de l’horaire, et la résolution des conflits d’horaire

• En revanche… Les interventions manuelles demandent une implication de temps importante de l’utilisateur

Page 8: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

8Septembre 2010 CIRRELT

Interaction utilisateur - logiciel• La construction manuelle d`un horaire peut être décrit

(au moins partiellement) par la combinaison de plusieurs méthodes heuristiques

• L’étude des méthodes manuelles inspirent certains des caractéristiques à intégrer dans notre approche algorithmique: Choix des paramètres de l`algorithme (Initialisation au hasard,

temps de recherche, satisfaction des contraintes, nombre de solutions permis, etc.)

Impact sur processus de recherche (diversification, intensification, espace de solutions, etc.)

Page 9: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

9Septembre 2010 CIRRELT

Exemple étudié

• La charge de travail d'un résident est composée de quarts de jour, gardes, journées d'éducation et journées de congrès, journées de non-disponibilité.

• L`horaire planifie uniquement les gardes en tenant compte des autres journées (éducation, non-dispo.)

• Horizon de 28 jours, 2 départements• 1 Garde = 12 heures semaine, 24 heures week-end• Maximum de 6 gardes par mois par résident• Nombreuses contraintes (Dures / Molles):

o Contraintes de couverture: Nb de resident par dpt…o Contraintes de temps: Temps supplémentaire, jours fériés…o Contraintes régulatoires: Régulation du repos entre gardes…

Page 10: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

10Septembre 2010 CIRRELT

Contraintes dures et molles

Page 11: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

11Septembre 2010 CIRRELT

Aspects méthodes manuelles

• Quelques caractéristiques des méthodes manuelles de confection d’horaires observées :Deux contraintes dures sont satisfaites dès le début:

o Couverture pour départements (besoins)o Nombre de gardes permis

Le voisinage de recherche couvre uniquement des solutions réalisables

La recherche compare 2-4 échanges possibles dans des voisinages différents

Page 12: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

12Septembre 2010 CIRRELT

États possible d’un résident

0 = Le résident n’a pas de garde

1 = Le résident est de garde

2 = Le résident préfère ne pas être de garde

3 = Congrès/formation

4 = Congé

Période de travail

Res # Mo Tu We Th Fr Sa Su Mo Tu We

R1  1 2 2 3            

R2           1        

R3 4 4 4 4 4   1      

R4 4 4 4 4 4          

Page 13: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

13Septembre 2010 CIRRELT

Procédure manuelle• Déterminer nombre de gardes• Répéter tant qu’ils restent des gardes à affecter

1. Choisir résident en fonction de sa disponibilité, et son ancienneté

2. Choisir journée à affecter, en commençant par samedi et ensuite par degré de difficulté:

3. Simultanément effectuer: Vérifier nombre de jours déjà effectués Affecter journée Affecter une autre journée pour compenser la garde difficile

venant d’être affectée Vérifier conflits d`horaire

Si un conflit se produit: Changer de place résidents déjà affectés, càd répéter

étapes 1-3

Page 14: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

14Septembre 2010 CIRRELT

Horaire de base

Per préc Période de travail

Res # Fr Sa Su Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We

R1     1         2 2 2            

R2   1                            

R3     1   4 4 4 4 4 4 4          

R4 1       4 4 4 4 4 4 4          

R5     1 1           2 2     3 3  

R6         1   3 3                

R7   1       1         2 2 2 3 3  

R8 1       1                      

R9       1     2 2                

R10           1         2 2 2      

M                                

Page 15: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

15Septembre 2010 CIRRELT

Options du programme

Gestion

Gestion résidentes

Requêtes des résidents

Chargement journées étude/off

Chargement historique

Résolution automatiqueLimiter temps d’éxecution

Limiter nombre d’itérations

ÉvaluationCharger un horaire pour modification

Évaluer horaire

Parametrisation À partir d’un ensemble enregistré

Paramétrisation manuelle

Page 16: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

16Septembre 2010 CIRRELT

Etape 1: Horaire Initial

• Détermination des besoins :

• Chaque jour de semaine reçoit une note pour sa difficulté d’affectation

• Le poids diminue la probabilité que des résidents obtiennent des horaires défavorables

Dépt. Mo Tu We Th Fr Sa Su Mo Tu We1 2 3 4 5 6 7 8 9 10

  NN_1 NN_2 NN_3 NN_4 NN_5 NN_6 NN_7 NN_8 NN_9 NN_10Néonatale 2 2 1 1 3 4 3 2 2 1

  SI_1 SI_2 SI_3 SI_4 SI_5 SI_6 SI_7 SI_8 SI_9 SI_10

Pédiatrie 2 2 1 1 3 4 3 2 2 1

Difficulté d`affectation

Lundi 4

Mardi 4

Mercredi 4

Jeudi 3

Vendredi 7

Samedi 9

Dimanche 6

Page 17: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

17Septembre 2010 CIRRELT

Etape 1: Horaire Initial• Chaque résident obtient un score

basé sur différents critères• Permet d`influencer la répartition

moins bons horaires aux résidents visés (Ancienneté)

Res # Dept Category Seniority

R1 ped MF 1

R2 nn PG 2

R3 nn PG 3

R4 ped MF 2

R5 ped MF 3

R6 ped PG 1

R7 ped PG 4

M ped PG 5

Gardes pér préc Congres Vac Total DisponibilitéScore dispo

ScorePér préc

Total

R1 1 0 0 1 3 60 8 52R2 1 0 0 1 3 60 8 52R3 1 0 7 8 1 20 8 12R4 1 0 7 8 1 20 8 12R5 2 2 0 4 2 40 16 24R6 1 2 0 3 2 40 8 32R7 2 2 0 4 2 40 16 24R8 2 0 0 2 3 60 16 44R9 1 0 0 1 3 60 8 52

R10 1 0 0 1 3 60 8 52M 0 0 0 0 3 60 0 60

Page 18: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

18Septembre 2010 CIRRELT

Interface SOSCHUL

Page 19: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

19Septembre 2010 CIRRELT

Étape 2 : Algorithme d’améliorationGéneration

horaire initial

Échange 2OPT

Réparation

Évaluation

Sélection des colonnes à échanger (n)

Échange de colonnes

Échange de céllules

Fin

Amelioration

# itérations?

Best-improvement sur le voisinage réduit

Page 20: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

20Septembre 2010 CIRRELT

Étape 2 : Algorithme d’amélioration

Géneration horaire initial

Échange 2OPT

Réparation

Évaluation

Sélection des cellules à échanger (N)Échange de

colonnes

Échange de céllules

Fin

Amelioration

# itérations?

Best-improvement sur le voisinage réduit

Page 21: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

21Septembre 2010 CIRRELT

Exemple numérique

CodePlanning difficulty score

NN_6 4 R1SI_6 4 R2NN_5 3 R9NN_7 3 R10SI_5 3 R8SI_7 3 R6NN_1 2 R5NN_2 2 R7NN_8 2 R3NN_9 2 R4SI_1 2 R1SI_2 2 R2SI_8 2 R9SI_9 2 R10NN_3 1 R8NN_4 1 R6NN_10 1 R5SI_3 1 R7SI_4 1 R1SI_10 1 R2

• Les jours sont triés en ordre décroissant de score

• Les résidents sont dynamiquement triés en ordre croissant de score

• L’affectation par l’heuristique résulte dans un horaire initiale réalisable

• 27 résidents• T = 4 semaines (84 gardes)• n = 1/6, N=1/100

Page 22: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

22Septembre 2010 CIRRELT

Résultats

• L`initialisation par l`heuristique simple a un impact sur le temps de recherche de l`algorithme

• Le temps de recherche pour une solution équivalent à A est respectivement plus long pour B et C. La solution D n’atteint pas le même niveau

Test A B C D

Mon 7 2 1 1

Tue 6 4 2 1

Wed 5 3 3 1

Thu 4 1 4 1

Fri 3 6 5 1

Sat 2 7 6 1

Sun 1 5 7 1

Init. value 20006 24426 26156 29782 Table 3 : Values used for initialization and resulting initial values

A B C D

  Time Score Time Score Time Score Time Score

Average514.9 9587.6 191.4 8762.8 0.0 10222.6 434.7 7937.0

S. Dev 234.1 1097.0 69.2 1550.4 0.0 739.6 184.6 147.1

 Table 4: Average total solution time and S. Dev for test problem

Page 23: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

23Septembre 2010 CIRRELT

Résultats

Page 24: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

24Septembre 2010 CIRRELT

Conclusion et perspectives

• Des heuristiques imitant le comportement d’un utilisateur ont une performance réelle sur l’efficience de la résolution de problèmes difficiles

• La perception de l’usager par rapport à la qualité d’un horaire doit être capturée par les méthodes d’optimisation

• Travail future : moteur d’apprentissage automatisé

Page 25: Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décision.

25Septembre 2010 CIRRELT

Références• Burke, E.K., P. De Causmaecker, G.Vanden Berghe and H. Van Landeghem (2004). The state of

the art of nurse rostering – J. Scheduling, Vol 7, Issue 6, pp. 441 – 499.

• Burke, E.K., T. Curtois, G. Post, R. Qu, B. Veltman (2007). A hybrid heuristic ordering and

variable neighbourhood search for the nurse rostering problem. Eur. J. of Operational Research.,

188 (2), pp. 330-341.

• Dowsland K. A., J. M. Thompson (2000). Solving a Nurse Scheduling Problem with Knapsacks,

Networks and Tabu Search, J. Operational Research Soc., Vol. 51, No 7, pp. 825-833.

• J. S. Dean (2008). Staff Scheduling by a Genetic Algorithm with a Two-Dimensional Chromosome

Structure. 7th International Conference for the Practice and Theory of Automated Timetabling

(PATAT '08).

• I. Ozkarahan (1994). A Scheduling Model for Hospital Residents J. Medical Systems, Vol. 18,

No. 5, pp. 251 – 265.

• Jr. JE Pecora, AC Moretti, SD Lapiere, P. Soriano, A. Ruiz (2008). Un algorithme de recherche

hybride pour résoudre le problème de confection d’horaires des médecins en salle d’urgence.

4eme édition de Gestion et Ingénierie des Systèmes Hospitaliers (GISEH)

• G. Vanden Berghe: An Advanced Model and Novel Metaheuristic Solution Methods to Personnel

Scheduling in Healthcare (2002). Ph.D. Thesis, University of Gent, Belgium.