La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Méthodes approchées et bornes inférieures pour le problème de gestion de projet multi-compétence Odile Bellenguez - Emmanuel Néron – Laurent Magniez Laboratoire.

Présentations similaires


Présentation au sujet: "Méthodes approchées et bornes inférieures pour le problème de gestion de projet multi-compétence Odile Bellenguez - Emmanuel Néron – Laurent Magniez Laboratoire."— Transcription de la présentation:

1 Méthodes approchées et bornes inférieures pour le problème de gestion de projet multi-compétence Odile Bellenguez - Emmanuel Néron – Laurent Magniez Laboratoire dInformatique de lUniversité de Tours, Département Informatique, PolytechTours, 64 avenue Jean Portalis, Tours

2 MSPSP - O.Bellenguez - E.Néron - L.Magniez2 Plan Le problème de gestion de projet multi-compétence –Exemple –Modèle mathématique –Références Bornes inférieures –Taches incompatible –Borne préemptive –Approche énergétique Borne supérieures –Algorithme Série –Algorithme Parallèle –Une méthode Tabou Conclusion

3 MSPSP - O.Bellenguez - E.Néron - L.Magniez3 Présentation du MSPSP Activités: Personnes: S1S1 S2S2 S3S3 S4S4 A1A A2A A3A A4A S1S1 S2S2 S3S3 S4S4 P0P P1P P2P P3P P4P P5P SourcePuits A 1, S 1 A 1, S 4 A 1, S 1 A 1, S 3 A 2, S 4 A 2, S 2 A 4, S 1 A 4, S 4 A 3, S 3 A 3, S 2 C max = P0P0 P1P1 P2P2 P3P3 P4P4 P5P5

4 MSPSP - O.Bellenguez - E.Néron - L.Magniez4 Données p i : durée de lexécution de A i b i,k : nombre de personnes exerçant la compétence S k nécessaire à lactivité A i pendant son exécution S m,k = 1 si la personne P m maîtrise S k, 0 sinon A(P m, t) = 1 si la personne P m est disponible à la date t, 0 sinon

5 MSPSP - O.Bellenguez - E.Néron - L.Magniez5 Contraintes Précédence: – une activité ne peut commencer quaprès la fin de ses prédécesseurs Ressource/ Affectation: –une personne ne peut exercer quune compétence quelle maîtrise –une personne ne peut répondre quà une unité de besoin par unité de temps où elle est disponible Objectif: C max –minimiser la date dachèvement totale

6 MSPSP - O.Bellenguez - E.Néron - L.Magniez6 Extension aux niveaux de compétences hiérarchiques[Toroslu, 2003] S m,k = h, h {0..H} Une personne peut être affectée si elle a au moins le niveau de compétence requis On crée une compétence fictive pour chaque niveau de compétence de chaque compétence réelle : –S k correspond à n compétences, h {0,…H} –Chaque personne a toutes les compétences (fictives) de niveau inférieur ou égal à son niveau de maîtrise : = 1, h {0.. H}

7 MSPSP - O.Bellenguez - E.Néron - L.Magniez7 Modèle mathématique (1/3) si P m commence A i à t, 0 sinon si P m participe à S k pour A i, 0 sinon n.M.T + n.M.K variables Contraintes : de précédence : (i,j) {1..n} \ A i A j, de participation :

8 MSPSP - O.Bellenguez - E.Néron - L.Magniez8 Modèle mathématique (2/3) de début : de maîtrise : Sur le nombre de personnes :

9 MSPSP - O.Bellenguez - E.Néron - L.Magniez9 Modèle mathématique (3/3) de participation maximum entre les variables : Objectif : Permet de résoudre des problèmes de taille allant jusquà 10 activités, 10 personnes, et 3 compétences, à laide de Cplex 8.0

10 MSPSP - O.Bellenguez - E.Néron - L.Magniez10 Références (1/3) Cas particulier du RCPSP multi-mode [Sprecher et al, 97], [De Reyck et Herroelen, 97], [Hartmann et Drexl, 98] -une activité a différents modes dexécution possibles Ex : faire un trou, M 1 (3 j)| 3 terrassiers, M 2 (1 j)| 1 conducteur |3 pelles| 1 bulldozer -un mode correspond à un sous-ensemble de personnes Ex: dans un RCPSP multi-mode, lactivité A 3 aurait 16 « modes dexécution» possibles : {(P 0,P 1,P 3 ), (P 0,P 1,P 4 ), (P 0,P 1,P 5 ), (P 0,P 3,P 4 ), (P 0,P 3,P 5 ), (P 0,P 4,P 5 ) (P 1,P 3,P 4 ), (P 1,P 3,P 5 ) (P 1,P 4,P 5 ), (P 2,P 1,P 3 ), (P 2,P 1,P 4 ), (P 2,P 1,P 5 ), (P 2,P 3,P 4 ), (P 2,P 3,P 5 ), (P 2,P 4,P 5 ), (P 3,P 4,P 5 )} Augmente très vite avec le nombre de personnes et de compétence Jusquà 1000 modes par activité dans des ex. de taille normale

11 MSPSP - O.Bellenguez - E.Néron - L.Magniez11 Références (2/3) Toute méthode basée sur lénumération explicite des modes est inadaptée : –Ex : Programme linéaire [Sprecher, 96] x j,s,t, = 1 si A j est achevée en mode s à la fin de la période t, 0 sinon U j,s,r = quantité de ressource r nécessaire à A j en mode s pendant une période t n.Nbmod.T + n.Nbmod.M variables

12 MSPSP - O.Bellenguez - E.Néron - L.Magniez12 Références (3/3) Cas particulier du multi-resource shop, [Dauzère-Pérès et al, 98] : -une activité a besoin de différentes ressources qui appartiennent chacune à un groupe de ressources possibles Ex: dans un multi-resource shop, lactivité A 3 aurait besoin de: 1 ressource {P0, P1, P2, P3} (S2) 1 ressource {P1, P3, P4, P5} (S3)

13 Bornes inférieures pour le MSPSP

14 MSPSP - O.Bellenguez - E.Néron - L.Magniez14 LB1: graphe de compatibilité S A3 A2 A1 A5 A6 A7 A4 A9 A8 P S0S1S2 A1120 A2110 A3031 A4211 A5001 A6020 A7021 A8211 A9010 S0S1S2 P0101 P1110 P2010 P3110 P4100 total432 S A3 A2 A1 A5 A6 A7 A4 A9 A8 P [Mingozzi et al, 98]

15 MSPSP - O.Bellenguez - E.Néron - L.Magniez15 LB2: programmation linéaire simple Fixer D, et mettre à jour les d i à laide du graphe de précédence = partie de i exécutée sur [t l, t l +1 ] = temps où P m exerce

16 MSPSP - O.Bellenguez - E.Néron - L.Magniez16 LB2: programmation linéaire Sil existe une solution au programme linéaire : alors il existe une solution (qui peut-être préemptive) sinon D + 1 est une borne inférieure valide

17 MSPSP - O.Bellenguez - E.Néron - L.Magniez17 LB3: raisonnement énergétique [Lopez et al, 92], [Baptiste et al, 99] Fixer D, et mettre à jour les d i à laide du graphe de précédence t 1, t 2 : t1t1 t2t2 W(i,t 1,t 2 ) = min (max (0,r i +p i -t 1 ), max (0,t 2 -(d i -p i )), p i, t 2 -t 1 )

18 MSPSP - O.Bellenguez - E.Néron - L.Magniez18 LB3: raisonnement énergétique On cherche le flot maximum dans le graphe suivant : Source Puits S1 Sk P1 PM P2 Si le flot maximum final est inférieur à i k W(i,t 1,t 2 ). b i,k alors D+1 est une borne inférieure valide A(P m, t 1, t 2 )

19 MSPSP - O.Bellenguez - E.Néron - L.Magniez19 Jeux de données 85 instances : - de 15 à 100 tâches ( 27 en moyenne) - 3 compétences - 8 à 22 personnes Graphes de précédence copiés à partir dinstances classiques du RCPSP Tirage aléatoire des compétences : le nombre de tâches susceptibles de sexécuter en parallèle varie NB: Large panel dinstances

20 MSPSP - O.Bellenguez - E.Néron - L.Magniez20 Comparaison entre les bornes inférieures Graphe de compatibilité (exact: PLNE) Graphe de compatibilité (heur.) Programma- tion linéaire Raisonne- ment énergétique Meilleure 9.25% 24.65%6.2%5.8%3.75% 0.18 s 0.15 s 12 s 0.5 s Ecart à la meilleure borne supérieure connue (cf méthodes de résolution):

21 Méthode de résolution : Algorithme série

22 MSPSP - O.Bellenguez - E.Néron - L.Magniez22 Algorithme série (1/2) Adaptation de [Kolish et al, 96], [Klein, 2001] : Serial Schedule Scheme 1. Séquencement des activités selon une liste priorité 2. Pour chaque activité : - fixer sa date de début - Fixer lensemble de personnes qui va leffectuer Fin Pour

23 MSPSP - O.Bellenguez - E.Néron - L.Magniez23 Algorithme série (2/2) Règle de séquencement –La liste de priorité est construite à laide dune des règles classiques (EDD, MST, …) tout en respectant les contraintes de précédence Choix de la date de début –plus petite date à laquelle il existe au moins un ensemble de personnes pouvant répondre aux besoins en compétences. On choisit lensemble le moins critique : –Résolution dun problème daffectation à coût minimum

24 MSPSP - O.Bellenguez - E.Néron - L.Magniez24 Coût des personnes Criticité des compétences lors du placement de A i : avec E i = {A j / t i r j t i +p i } Criticité des personnes : CP m = f ( k=1..K ), –avec f = somme, moyenne, maximum… NB : le calcul peut également être fait sur tout lhorizon du projet (a priori)

25 MSPSP - O.Bellenguez - E.Néron - L.Magniez25 Affectation à coût minimum Modélisation du problème daffectation sous la forme dun flot maximum : Coût unitaire S 1, K S M, 0 S 0, 0 S M, K 1 ; CP 1 1 ; CP M 1; CP 0 b i, K b i, 1 b i, 0 S0S0 S1S1 SKSK P0P0 P1P1 PMPM Puits Source S 1, 1 Capacité max P M-1 1 ; CP M-1 NB : cela permet de construire directement lensemble de personne le moins critique

26 MSPSP - O.Bellenguez - E.Néron - L.Magniez26 Résultats Testé sur les règles usuelles : EDD, LST, MST… Permet de déterminer de façon heuristique la meilleure affectation (au sens de la criticité) pour chaque tâche En moyenne on est à 7.2% de la meilleure des trois bornes inférieures Conforme aux résultats attendus

27 MSPSP - O.Bellenguez - E.Néron - L.Magniez27 Méthode de résolution : Algorithme parallèle

28 MSPSP - O.Bellenguez - E.Néron - L.Magniez28 Algorithme parallèle (1/2) 1.Séquencement des activités identique à la méthode précédente 2.Création de E = {A [1], A [2].. A [i] }, lensemble des activités éligibles à t 3.Recherche du flot maximum/ coût min dans le graphe suivant : b [1],0 Source A [1] A [2] A [i] SKSK S0S0 P0P0 P1P1 PMPM Puits b [i],k ; 10 [i] b [1],k ;10 b [2],k ;100 b [1],K b [2],0 b [2],K b [i],K S 0,0 S 1,0 S 0,K S M,K 1;CP 0 1;CP 1 1;CP M

29 MSPSP - O.Bellenguez - E.Néron - L.Magniez29 Algorithme parallèle (2/2) Si le flot maximum = [i] k b [i],k alors on affecte en parallèle toutes les activités de E sinon on retire de E, toutes les activités à partir de la première non satisfaite Source A [1] A [2] A [4] SKSK S0S0 P0P0 P1P1 PMPM Puits 2; 2 4; 4 3;3 A [3] 5; 4 Capacité Flot final => On place {A[1], A[2]}.

30 Méthode de résolution : Une méthode tabou

31 MSPSP - O.Bellenguez - E.Néron - L.Magniez31 Méthode Tabou (1/2) Inspirée de [Klein, 2000] : Méthode tabou pour le RCPSP On construit le voisinage sur la liste de priorité Un nouveau voisin = échange de deux travaux Lordonnancement correspondant est évalué à laide de lalgorithme Série basé sur le flot maximum à coût minimum

32 MSPSP - O.Bellenguez - E.Néron - L.Magniez32 Méthode Tabou (2/2) Le voisin dune séquence est construit par permutation de deux activités, sauf si : –léchange met en jeu deux activités ayant un lien de précédence –léchange a déjà été utilisé dans litération en cours –léchange conduit à une solution tabou –léchange ne conduit à aucune modification de la solution courante Les solutions sont stockées dans une table de hashage La recherche est réinitialisée si trois solutions ont déjà été revisitées

33 MSPSP - O.Bellenguez - E.Néron - L.Magniez33 Résultats de la recherche tabou En 100 itérations : - déviation moyenne = 4.55% LB - temps moyen dexécution = 44 s En 2000 itérations : - déviation moyenne = 4.35% LB - temps moyen dexécution = 8 min 40

34 MSPSP - O.Bellenguez - E.Néron - L.Magniez34 Conclusion Modèle de RCPSP étendu Première modélisation des compétences des personnes Permet de prendre en compte les indisponibilités des personnes Perspectives : Tests sur lalgorithme parallèle seul, puis au sein de la méthode tabou Dautres méthodes en cours de développement : Recovering Beam Search, méthodes exactes, amélioration des bornes inférieures


Télécharger ppt "Méthodes approchées et bornes inférieures pour le problème de gestion de projet multi-compétence Odile Bellenguez - Emmanuel Néron – Laurent Magniez Laboratoire."

Présentations similaires


Annonces Google