490 likes | 746 Vues
Méthodes de résolution pour un problème de gestion de projet avec prise en compte de compétence. Odile Bellenguez-Morineau Laboratoire d’Informatique (EA 2101) Dépt. Informatique - Polytech’Tours Université François-Rabelais de Tours - France. Problème d’ordonnancement.
E N D
Méthodes de résolution pour un problème de gestion de projet avec prise en compte de compétence Odile Bellenguez-Morineau Laboratoire d’Informatique (EA 2101) Dépt. Informatique - Polytech’Tours Université François-Rabelais de Tours - France
Problème d’ordonnancement • « Ordonnancer c’est programmer l’exécution d’une réalisation en attribuant des ressources aux tâches et en fixant leurs dates d’exécution » [Carlier & Chrétienne, 88] • Projet : réalisation unique à objectifs définis. Un projet est découpé en activités qui doivent être accomplies à l’aide des ressources allouées pour que le projet aboutisse. • Ressource renouvelable : disponible en quantité limitée sur chaque période de temps 26 avril 2007
2 A1 A3 4 0 A0 A5 3 0 4 A2 A4 3 Problème de gestion de projet • Classiquement, les projets se modélisent à l’aide d’un graphe de précédence : • Ressources disponibles en quantité connue • Les besoins des activités sont exprimés en terme de quantité requise de chaque ressource existante 26 avril 2007
Origines du problème de gestion de projet multi-compétence • Problème à l’origine de notre réflexion : • Développement de projets industriels • Réaliser un ensembles d’activités (étapes du projet) à l’aide des ressources allouées (équipe de projet) • Lors de la phase de négociation, il est nécessaire de s’engager sur des délais de livraison (durée du projet) 26 avril 2007
Origines du problème de gestion de projet multi-compétence • Dans ce cas : Les ressources sont des ressources humaines, maîtrisant des compétences [Pepiot et al., 04] : « … habilité à mobiliser d’une manière efficace des ressources non-matérielles dont la structuration peut se réaliser de multiples façons et des ressources matérielles dans le but de répondre à une activité » • besoins définis en terme de compétences De nombreuses affectations possibles pour une même activité 26 avril 2007
2 A1 A3 4 0 A0 A5 3 0 4 A2 A4 3 P4 A2, S2 A4, S1 P3 A1, S1 A3, S0 P2 A1, S0 A4, S0 P1 A2, S1 A3, S0 P0 A1, S1 A3, S2 0 2 4 Cmax = 6 Le problème de gestion de projet multi-compétence Sous-ensembles possibles : {(P0,P1,P3), (P0,P1,P4), (P0,P3,P4), (P1,P3,P4), (P2,P0,P1), (P2,P0,P3), (P2,P0,P4), (P2,P1,P3), (P2,P1,P4), (P2,P3,P4), … } 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Des méthodes approchées • Une méthode exacte • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Notations • Complexité • Des bornes inférieures • Des méthodes approchées • Une méthode exacte • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
Le problème de gestion de projet multi-compétence • Données : • Compétences Sk, k {0,…,K-1} • Activité Ai, i {0,…,n} : précédence, durée pi, besoins bi,k • Ressource Pm, m {0,…,M-1}: compétences (MSm,k {0,1}), disponibilité (Disp(Pm, t) {0,1}) • Contraintes : • Capacité des ressources • Compétences • Disponibilité • Précédence • Pas de préemption Minimiser la durée du projet 26 avril 2007
Le problème de gestion de projet multi-compétence • Complexité : NP-difficile au sens fort • Si chaque personne ne maîtrise qu’une compétence • RCPSP classique [Blazewicz et al., 83] • Si les dates de début des activités sont fixées • Fixed Job Scheduling Problem [Kolen & Kroon, 91] • Si les affectations des personnes aux activités sont fixées Multiprocessor job-shop [Garey et al., 76] 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Raisonnement énergétique • Graphe de compatibilité • Des méthodes approchées • Une méthode exacte • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
Des bornes inférieures • [Bellenguez & Néron, 05] • Les bornes présentées sont destructives : on fixe D comme date de fin impérative du projet • la propagation sur le graphe de précédence permet de déterminer les fenêtres d’exécution des activités [ri,di(D)] • Si une infaisabilité est détectée, alorsD+1est une borne inférieure valide On effectue une recherche dichotomique sur D entre la borne inférieure donnée par le chemin critique et une borne supérieure valide ~ 26 avril 2007
Borne inférieure : raisonnement énergétique • [Lopez et al, 92], [Baptiste et al, 99] pour le RCPSP • Partie obligatoire W(i,t1,t2) d’une activité Ai sur [t1; t2]: W(i,t1,t2) = min(max(0,ri+pi-t1), max(0,t2-(di(D)-pi)), pi, t2-t1) ~ ~ t1 t2 ri di(D) 26 avril 2007
Un arc si MSm,k = 1 Un nœud par compétence |t2-t1| P0 t2t1 Disp(P1, t) S0 i W(i,t1,t2)bi,0 P1 puits Source i W(i,t1,t2)bi,K SK-1 t2t1 Disp(PM, t) PM-1 Un nœud par personne Borne inférieure : raisonnement énergétique • Sur un intervalle [t1;t2], on a un problème d’affectation simple à résoudre • on cherche le flot maximum dans G: 26 avril 2007
Borne inférieure : raisonnement énergétique • Si [t1;t2] t.q. le flot maximum calculé est inférieur à la somme des besoins, alors les besoins ne peuvent pas être satisfaits D+1 est une borne inférieure valide • On teste tous les intervalles [t1;t2], t1<t2 t1 {ri, ri+pi, di(D)-pi, i {0,…,n} } t2 {ri+pi, di(D)- pi, di(D), i {0,…,n} } ~ ~ ~ 26 avril 2007
Un arc si MSm,k = 1 Un nœud par compétence Un nœud par personne Un nœud par activité P0 1 bi,1 S0 1 1 Ai k bi,k 1 bi,K Sk 1 Source Puits bj,k k bj,k 1 Aj 1 1 bj,K SK-1 PM-1 Borne inférieure : graphe de compatibilité • Inspiré de [Mingozzi et al, 98] pour le RCPSP • Pour chaque couple (Ai, Aj) : • Déterminer si les activités peuvent être exécutées en parallèle 26 avril 2007
Poids = durée de l’activité A4 A1 A8 A5 P S A2 A6 A9 A3 A7 Borne inférieure : graphe de compatibilité 2 3 A4 3 Graphe de précédence G(U,V): Graphe de compatibilité G(U,V’): (Ai, Aj) V’, si Ai et Aj peuvent être en cours d’exécution en même temps A1 A8 4 A5 2 P S A2 5 3 A6 A9 1 A3 2 A7 2 3 3 4 2 5 3 1 2 26 avril 2007
Borne inférieure : graphe de compatibilité • On recherche un stable de poids maximum sur G(U,V’): (NP-difficile au sens fort) Max i ui.pi ui {0,1} ui = 1 si Ai est dans le stable, 0 sinon s.c. (Ai,Aj) G(U,V’) ui +uj ≤ 1 • Si le poids de ce stable maximum est supérieur à D, D+1 est une borne inférieure valide 26 avril 2007
Bornes inférieures : Résultats • Complémentarité des deux bornes 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Des méthodes approchées • Placement série • Méthode tabou • Une méthode exacte • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
Méthodes approchées : algorithme série • Adaptation de [Kelley, 63] pour le RCPSP • L : liste de priorité respectant les contraintes de précédence • Ai est calée à gauche, i.e., placée à la plus petite date ti ≥ ri qui respecte les contraintes de ressources • À cette date il peut exister plusieurs sous-ensembles de personnes pouvant satisfaire Ai on les départage à l’aide de la criticité (indicateur heuristique) Permet de construire des ordonnancements actifs 26 avril 2007
Méthodes approchées : algorithme série • La criticité d’une compétence : besoin total/ressource disponible • La criticité d’une personne : somme des criticités des compétences maîtrisées 26 avril 2007
Méthodes approchées : algorithme série • On recherche un flot maximum à coût minimum : Capacité maximum, coût 1,0 P0 S0 bi,k1, 0 1,CP0 S1 1,0 P1 Source Puits 1,0 bi,k2,0 1,CPM-1 SK-1 PM-1 1,0 • Si le flot est égal à la somme des besoins alors Ai est placée à la date t, sinon on incrémente t jusqu’à ce qu’une nouvelle ressource soit libre 26 avril 2007
Méthodes approchées : algorithme série • Exécution pour 8 règles de priorité classiques : • MTS, EST, EFT, LFT, LST, MST, GRD, GR • Résultats pour la meilleure règle de priorité : 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Des méthodes approchées • Placement série • Méthode tabou • Une méthode exacte • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
Méthodes approchées : méthode tabou • Inspiré de [Klein, 2000] pour le RCPSP • L = {A[i]} : liste de priorité respectant les contraintes de précédence • Une solution est basée sur une liste de priorité • La solution associée est obtenue par la méthode de placement série • L’ est voisine de L si elle peut être obtenue par un échange • On interdit les échanges d’activité liées par une contrainte de précédence • On interdit les échanges qui ne modifieront pas les dates de début des activités 26 avril 2007
Méthodes approchées : méthode tabou • A chaque itération on évalue un nombre limité de voisins, choisis aléatoirement parmi ceux valides • On conserve le meilleur comme point de départ de l’itération suivante • Liste tabou • Les solutions visitées sont stockées dans une table de hashage • Un enregistrement = la liste de priorité, le nombre de visites nv, indice de l’itération où a eu lieu la dernière visite lv • Une solution est tabou à une itération ir si ir – lv < v, avec v la période tabou 26 avril 2007
Méthodes approchées : méthode tabou • Intensification • Le nombre de voisins visités est augmenté • Diversification • Le nombre de voisins visités est diminué • Si le nombre de revisites est supérieur à 3, on réinitialise la recherche (règles de priorité classiques, puis une génération aléatoire) • Condition d’arrêt • Après ∆ itérations sans amélioration de la meilleure solution atteinte (∆=250) 26 avril 2007
Méthodes approchées : méthode tabou • Résultats 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Des méthodes approchées • Une méthode exacte • Condition coupe • Traitement d’une feuille • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
~ ~ mi =di(UB)- ri -pi Ai [ri; di(UB)] ~ ~ Ai [ri; di(UB) - mi/2] Ai [ri + mi/2; di(UB)] Méthode exacte • Inspiré de [Carlier & Latapie, 91] pour le RCPSP • Schéma de branchement basé sur les marges des activités • Une activité est choisie et sa marge est réduite de moitié • Propagation sur les successeurs et prédécesseurs • Borne supérieure UB déterminée par la méthode série • Bornes inférieures présentées précédemment • Recherche dichotomique à la racine • Dans un nœud on teste uniquement UB-1 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Des méthodes approchées • Une méthode exacte • Condition coupe • Traitement d’une feuille • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
pi pi Méthode exacte : condition de coupe • Partie centrale obligatoire • Permet de définir une activité « fictive » à date de début fixée • Durée d’autant plus importante que la fenêtre d’exécution est serrée • Problème traité comme une feuille Si ce problème n’admet pas de solution, alors le nœud peut être coupé ~ ri di(D) 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Des méthodes approchées • Une méthode exacte • Condition coupe • Traitement d’une feuille • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
P4(S1,S2,S3) A2(S2) A3(S3) P3(S1) A3(S0,S3) A5(S1) A6(2S1) A1(S1) A1(2S1) P2(S0,S1) A2(S0) A3(S0) A2(S0,S2) P1(S1,S3) A5(S1) A1(S1) A6(2S1) P0(S0,S2,S3) A4(S3) A4(S3) A6(2S1) 0 2 4 6 0 2 4 6 Méthode exacte : traitement d’une feuille • Une feuille = problème à dates de début fixées NP-difficile au sens fort [Kolen & Kroon, 91] 26 avril 2007
Méthode exacte : traitement d’une feuille • Appel à une heuristique de placement • Inspiré du placement série • Décomposition en sous-problèmes de plus petite taille • Décomposition temporelle • Décomposition par groupes de compétences indépendants • Résolution : appel à un Programme Linéaire en Nombres Entiers 26 avril 2007
t Méthode exacte : traitement d’une feuille • Décomposition temporelle : • Point de coupure t • Sous-problèmes indépendants • Résolution plus rapide • Coupures fréquentes dues aux contraintes de précédence A5 A1 A6 A2 A7 A3 A8 A4 A9 26 avril 2007
Méthode exacte : traitement d’une feuille • Décomposition par groupes de compétences indépendants • Groupes indépendants • Sous-problèmes indépendants • Résolution plus rapide • Coupure peu fréquente due aux nombres de compétences maîtrisées 26 avril 2007
Méthode exacte : résultats • Obtenus en branchant sur l’activité de marge maximum • Tronquée en 10 minutes 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Des méthodes approchées • Une méthode exacte • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
Extension et problèmes industriels traités • Problème de planification de formation de télé-opérateurs (société Vitalicom) • Formations initiales pour les arrivants (turnover important) • Plusieurs formations continues pour chaque télé-opérateur • Formateurs multi-compétents, avec fenêtres de disponibilité et préférence • Formations par groupe de 20 télé-opérateurs (entre 5 et 15 groupes par session) en modules soumis à des contriantes de précédence • Faire un planning lissé des formations sur 15 jours • Minimiser les modifications d’emploi du temps des télé-opérateurs • Proposition d’une méthode heuristique • Jusqu’à 400 modules de formations planifiés avec une charge équitable entre les opérateurs 26 avril 2007
Extension et problèmes industriels traités • Problème planification d’un service de maintenance d’un progiciel bancaire (société Delta Informatique) • Employés multi-compétents avec différents niveaux de maîtrise • Couvrir les créneaux horaires d’ouverture de la hotline (équipe de 2 personnes sur chaque créneau) • Composé des équipes complémentaires non-figées • Maximiser le lissage de l’emploi du temps de chacun • Maximiser l’équité et la satisfaction des souhaits Modèle mathématique + proposition d’une méthode heuristique permettant de gérer 40 employés 26 avril 2007
Extension et problèmes industriels traités • Problème de changement de série dans un système de production (société SKF) • Opérateurs multi-compétents (avec vitesse moyenne) • Lignes de production série/parallèle • Certaines machines sont prioritaires • Effectuer les changements d’outils et les réglages nécessaires à la nouvelle production • Minimiser la perte de production Algorithme génétique + descente locale permettant de gagner entre 10 et 50% de productivité 26 avril 2007
Extension et problèmes industriels traités • Problème de planification des opérations de maintenance d’un système de production (société SKF) • Opérateurs multi-compétents (avec vitesse moyenne) • Précédence ou disjonction entre certaines opérations de maintenance • Minimiser la durée d’immobilisation des machines à entretenir • Permettre aux opérateurs de s’entrainer sur tous les types de réparation Adaptation de la PSE en cours 26 avril 2007
Plan • Problème de gestion de projet multi-compétence • Des bornes inférieures • Des méthodes approchées • Une méthode exacte • Extension et problèmes industriels traités • Conclusion et perspectives scientifiques 26 avril 2007
Conclusion • Prise en compte de compétences des ressources dans le cadre de la gestion de projet • Définition d’un modèle pour ce problème • Mise au point de méthodes d’évaluation par défaut et de méthodes de résolution efficaces • Permet de modéliser différents cas pratiques : • Formations internes nécessitant des formateurs multi-compétents (Vitalicom), planification d’activités de maintenance (SKF)… • Ces travaux ont donné lieu à 1 participation à un ouvrage, 3 acceptations en revues internationales et 14 présentations en conférences. 26 avril 2007
Perspectives • Amélioration de la PSE, notamment dans le traitement des feuilles (problèmes à dates de début fixées) • Intégration dans un outil de gestion de projet • Prise en compte de critères supplémentaires : • Coût des personnes, dimensionnement de l’équipe • Méthodes réactives prenant en compte les aléas • Réagir aux absences imprévues en minimisant le retard engendré, les modifications d’emploi du temps 26 avril 2007
Merci de votre attention… odile.morineau@univ-tours.fr 26 avril 2007