1 / 22

Optimisation des horaires de personnel

Optimisation des horaires de personnel. Bernard Gendron Université de Montréal. Domaines d’application. Transport en commun Transport aérien Administration de la santé Chaînes de magasins. Contribution de la RO. A Montréal même, une expertise de plus de 30 ans dans ces domaines!

Download Presentation

Optimisation des horaires de personnel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimisation des horaires de personnel Bernard Gendron Université de Montréal

  2. Domaines d’application • Transport en commun • Transport aérien • Administration de la santé • Chaînes de magasins

  3. Contribution de la RO • A Montréal même, une expertise de plus de 30 ans dans ces domaines! • Centre de recherche sur les transports • GERAD • Quelques compagnies • Pourtant relativement peu connue • RO : peu connue! • Informatisation très lente dans de nombreuses organisations • Situation aujourd’hui : • RO : méthodes de plus en plus sophistiquées • Essor d’Internet et progrès technologiques

  4. Confection d’horaires • Deux problèmes distincts : • Décider des quarts de travail et du nombre d’employés à affecter en fonction des besoins à combler • Décider des employés à affecter aux quarts de travail • Le premier problème peut être résolu par : • Apprentissage statistique (voir présentation de Yoshua Bengio au CIRANO) • Modèles stochastiques et simulation • Le deuxième problème est traité par des méthodes d’optimisation combinatoire

  5. Optimisation combinatoire • Programmation en nombres entiers • Génération de colonnes • Méthodes heuristiques • Programmation par contraintes • Méthodes hybrides

  6. Objectifs à considérer • Minimiser les coûts • Maximiser la satisfaction des employés • Satisfaire les exigences particulières • Affecter les quarts de façon équitable • Respecter l’ancienneté des employés • Satisfaire des besoins particuliers • Par exemple, affecter certains quarts en priorité à certaines catégories d’employés

  7. Exemple simplifié • I employés • J jours • K quarts de travail/jour • Contrainte 1 : un employé/quart • Contrainte 2 : Un quart de travail/jour pour chaque employé • Contrainte 3 : Après un soir travaillé, pas de quart le lendemain matin • 24 heures/jour (cas des salles d’urgence) • Contrainte 4 : Après trois nuits travaillées, au moins trois jours de congés

  8. Programmation en nombres entiers • Définir les variables d’affectation : employé i affecté au quart k du jour j • On peut facilement modéliser les trois premières contraintes avec ces variables • La contrainte 4 est plus complexe • Une première tentative (n’utilisant que les variables d’affectation) échoue : plusieurs situations valides seraient interdites • Il faut ajouter des variables de succession

  9. Programmation en nombres entiers • Avantages • Approche classique • Extension de la programmation linéaire • Algorithme de résolution éprouvé • Algorithme exact • Logiciels performants • Désavantages • Contraintes de succession difficiles à modéliser • S’il y en a trop, difficile à résoudre! • Objectif parfois impossible à exprimer comme une fonction linéaire des variables d’affectation

  10. Génération de colonnes • Modèle basé sur l’affectation d’horaires : employé i affecté à un horaire h • Trop de variables : les générer de façon dynamique • Les deux premières contraintes sont modélisées dans le problème maître : • Programmation linéaire (en nombres entiers) • Les deux autres contraintes sont modélisées dans le problème auxiliaire • Souvent résolu par la recherche d’un plus court chemin avec contraintes additionnelles

  11. Génération de colonnes • Avantages • Permet de modéliser aisément des situations complexes (contraintes de succession, objectif non linéaire,…) • Algorithme exact • Problème maître a une structure connue • Algorithmes très efficaces pour le calcul de plus courts chemins • Désavantages • Développement et implantation peuvent être très longs • S’il y a trop de contraintes additionnelles, le problème auxiliaire devient difficile à résoudre

  12. Méthodes heuristiques • Méthodes ne garantissant pas l’obtention d’une solution optimale • Souvent basées sur la notion de voisinage • A partir d’une solution, on atteint une solution voisine par une modification • Exemple : échanger les affectations de deux employés • Générer une première solution (plusieurs contraintes peuvent être violées!) • Passer d’une solution à une autre voisine • En tentant d’améliorer l’objectif • En tentant de réduire la violation des contraintes

  13. Méthodes heuristiques • Avantages • Simples à concevoir • Souvent très efficaces, si elles obéissent aux principes fondamentaux des métaheuristiques • Permet de s’affranchir des logiciels commerciaux (économie de $...) • Désavantages • Implantation efficace : un art • Aucune garantie d’optimalité (écart à la solution optimale?) • S’il y a trop de contraintes, difficile de trouver des solutions

  14. Programmation par contraintes • Variables à domaine fini : employé i affecté au quart k du jour j • Contrainte • Exprime des relations de toute nature entre les variables et leurs domaines • Lorsque le domaine d’une variable est réduit, déclenche un algorithme de propagation pour réduire les domaines d’autres variables • Algorithme de recherche • Réduit les domaines des variables • Propage l’effet de ces réductions au moyen des contraintes

  15. Programmation par contraintes • Avantages • Permet de modéliser toutes sortes de contraintes • Souvent efficace lorsqu’il y a un grand nombre de contraintes difficiles à satisfaire simultanément • Algorithmes de recherche pouvant s’adapter à des méthodes exactes ou heuristiques • Désavantages • Difficile d’implanter des contraintes efficaces • Domaine relativement jeune (intéressant pour les chercheurs, mais pas pour les praticiens…) • N’exploite pas encore très bien les algorithmes éprouvés en RO

  16. Méthodes hybrides • Combiner heuristique et programmation par contraintes • Explorer des solutions par une heuristique à base de voisinage • Explorer chaque voisinage au moyen de la programmation par contraintes • Combiner génération de colonnes et programmation par contraintes • Résoudre le problème auxiliaire au moyen de la programmation par contraintes • Diriger la recherche de solutions du problème auxiliaire pour faciliter la résolution du problème maître

  17. Application 1 : médecins d’urgence • Deux hôpitaux de la région montréalaise • Programmation en nombres entiers • Heuristique en trois phases • Affecter les fins de semaine • Affecter les nuits • Affecter les autres quarts • Certaines contraintes sont dures, mais la plupart sont molles • Force de la méthode : capacité de prendre en compte simultanément un grand nombre de contraintes

  18. Application 1 : médecins d’urgence • Premier cas (1995-98) • Collaboration des médecins • Implantation informatique rudimentaire • Absence de budget pour poursuivre • Deuxième cas (1999-2001) • Intérêt de la DSP • Implantation informatique incluant interface graphique et base de données • Logiciel de programmation en nombres entiers jugé trop coûteux • Développement d’une méthode heuristique sans logiciel de programmation en nombres entiers (2001-2004)

  19. Application 2 : SAQ • 400 magasins et 3000 employés • Division par région • Un même employé peut travailler dans plusieurs succursales d’une même région • On traite les employés l’un après l’autre, par ordre d’ancienneté • Pour chaque employé, on résout un modèle de programmation en nombres entiers • Une méthode exacte est nécessaire car une solution optimale doit être identifiée!

  20. Application 2 : SAQ • Interface accessible dans chaque succursale via le Web • Base de données centralisée qui reçoit les données et transmet les résultats aux succursales • Base de données communique avec le moteur d’optimisation via des fichiers • Nouvelles contraintes faciles à intégrer au modèle grâce aux librairies pouvant être intégrées au code C++ • Implantation depuis septembre 2002

  21. Caractéristiques des applications • Environnement syndiqué • Règles rigides et souvent complexes • Méthode exacte souvent nécessaire • Satisfaction des employés et ancienneté • Environnement non syndiqué • Règles flexibles • Méthodes heuristiques intéressantes • Équité entre employés (mais pas toujours) • Demande variable : combiner la résolution des deux problèmes mentionnés au début

  22. Conclusions • Questions de recherche • Programmation par contraintes • Méthodes hybrides • Demande variable • Progrès en pratique • Interface Web et base de données • Moteur d’optimisation communiquant avec la base de données • Progrès continus dans les méthodes d’optimisation combinatoire

More Related