250 likes | 356 Views
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. Motivation.
E N D
Allowing user interaction in timetable scheduling software Daniel Kreeft, Bernard Lamond et Angel Ruiz Département d'opérations et systèmes de décisionFaculté des sciences de l'administrationUniversité Laval
Motivation CIRRELT 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
Motivation Les logiciels commerciaux offrent une multitude d`outils pour élaborer des horaires de médecins et du personnel de soins CIRRELT
Motivation • 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. CIRRELT
Objectif Objectif : créer un algorithme capable d’apprendre à faire des horaires Générateur horaires Évaluation par l’usager Moteur d’apprentissage Paramétres Septembre 2010 5 CIRRELT
Objectif Objectif : créer un algorithme capable d’apprendre à faire des horaires Générateur horaires Évaluation par l’usager Paramétres Septembre 2010 6 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 CIRRELT
Interaction utilisateur - logiciel CIRRELT 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.)
Exemple étudié CIRRELT 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): • Contraintes de couverture: Nb de resident par dpt… • Contraintes de temps: Temps supplémentaire, joursfériés… • Contraintesrégulatoires: Régulation du repos entre gardes…
Contraintes dures et molles CIRRELT
Aspects méthodes manuelles CIRRELT Quelques caractéristiques des méthodes manuelles de confection d’horaires observées : • Deux contraintes dures sont satisfaites dès le début: • Couverture pour départements (besoins) • 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
États possible d’un résident CIRRELT 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é
Procédure manuelle CIRRELT Déterminer nombre de gardes Répéter tant qu’ils restent des gardes à affecter • Choisir résident en fonction de sa disponibilité, et son ancienneté • Choisir journée à affecter, en commençant par samedi et ensuite par degré de difficulté: • 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
Horaire de base CIRRELT
Options du programme Gestion Gestion résidentes Requêtes des résidents Chargement journées étude/off Chargement historique Évaluation Charger un horairepour modification Évaluerhoraire Parametrisation À partir d’un ensemble enregistré Paramétrisation manuelle Résolutionautomatique Limiter temps d’éxecution Limiter nombred’itérations CIRRELT
Etape 1: Horaire Initial CIRRELT 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
Etape1: Horaire Initial CIRRELT 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é)
Interface SOSCHUL CIRRELT
Étape 2 : Algorithme d’amélioration Géneration horaire initial Best-improvement sur le voisinage réduit Sélection des colonnes à échanger (n) Amelioration Échange de colonnes Échange 2OPT Échange de céllules Réparation Évaluation # itérations? Fin CIRRELT
Étape 2 : Algorithme d’amélioration Géneration horaire initial Best-improvement sur le voisinage réduit Amelioration Sélection des cellules à échanger (N) Échange de colonnes Échange 2OPT Échange de céllules Réparation # itérations? Fin Évaluation CIRRELT
Exemple numérique • 27 résidents • T = 4 semaines (84 gardes) • n = 1/6, N=1/100 • 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 CIRRELT
Résultats CIRRELT 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
Résultats CIRRELT
Conclusion et perspectives CIRRELT 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é
Références CIRRELT 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. VandenBerghe: An Advanced Model and Novel Metaheuristic Solution Methods to Personnel Scheduling in Healthcare (2002). Ph.D. Thesis, University of Gent, Belgium.