allowing user interaction in timetable scheduling software daniel kreeft, bernard lamond et angel...
TRANSCRIPT
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
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
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
• 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
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
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
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
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.)
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…
10Septembre 2010 CIRRELT
Contraintes dures et molles
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
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
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
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
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
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
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
18Septembre 2010 CIRRELT
Interface SOSCHUL
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
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
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
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
23Septembre 2010 CIRRELT
Résultats
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é
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.