Optimisation des horaires de personnel - PowerPoint PPT Presentation

About This Presentation
Title:

Optimisation des horaires de personnel

Description:

A Montr al m me, une expertise de plus de 30 ans dans ces domaines! ... employ i affect au quart k du jour j. On peut facilement mod liser les trois premi res ... – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 23
Provided by: cira5
Category:

less

Transcript and Presenter's Notes

Title: Optimisation des horaires de personnel


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

2
Domaines dapplication
  • 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 aujourdhui
  • RO méthodes de plus en plus sophistiquées
  • Essor dInternet et progrès technologiques

4
Confection dhoraires
  • Deux problèmes distincts
  • Décider des quarts de travail et du nombre
    demployé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
    doptimisation 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 lancienneté des employés
  • Satisfaire des besoins particuliers
  • Par exemple, affecter certains quarts en priorité
    à certaines catégories demployé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 durgence)
  • Contrainte 4 Après trois nuits travaillées, au
    moins trois jours de congés

8
Programmation en nombres entiers
  • Définir les variables daffectation
  • 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 (nutilisant que les
    variables daffectation) é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
  • Sil y en a trop, difficile à résoudre!
  • Objectif parfois impossible à exprimer comme une
    fonction linéaire des variables daffectation

10
Génération de colonnes
  • Modèle basé sur laffectation dhoraires
  • 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 dun 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
  • Sil y a trop de contraintes additionnelles, le
    problème auxiliaire devient difficile à résoudre

12
Méthodes heuristiques
  • Méthodes ne garantissant pas lobtention dune
    solution optimale
  • Souvent basées sur la notion de voisinage
  • A partir dune 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 dune solution à une autre voisine
  • En tentant daméliorer lobjectif
  • 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 saffranchir des logiciels commerciaux
    (économie de ...)
  • Désavantages
  • Implantation efficace un art
  • Aucune garantie doptimalité (écart à la solution
    optimale?)
  • Sil 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 dune variable est réduit,
    déclenche un algorithme de propagation pour
    réduire les domaines dautres variables
  • Algorithme de recherche
  • Réduit les domaines des variables
  • Propage leffet de ces réductions au moyen des
    contraintes

15
Programmation par contraintes
  • Avantages
  • Permet de modéliser toutes sortes de contraintes
  • Souvent efficace lorsquil y a un grand nombre de
    contraintes difficiles à satisfaire simultanément
  • Algorithmes de recherche pouvant sadapter à des
    méthodes exactes ou heuristiques
  • Désavantages
  • Difficile dimplanter des contraintes efficaces
  • Domaine relativement jeune (intéressant pour les
    chercheurs, mais pas pour les praticiens)
  • Nexploite 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 durgence
  • 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 durgence
  • 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 dune 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 dune même région
  • On traite les employés lun après lautre, par
    ordre dancienneté
  • 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
    doptimisation 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 doptimisation communiquant avec la base
    de données
  • Progrès continus dans les méthodes doptimisation
    combinatoire
Write a Comment
User Comments (0)
About PowerShow.com