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

Odile Bellenguez - Emmanuel Néron – Laurent Magniez

Présentations similaires


Présentation au sujet: "Odile Bellenguez - Emmanuel Néron – Laurent Magniez"— 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 d’Informatique de l’Université de Tours, Département Informatique, Polytech’Tours, 64 avenue Jean Portalis, Tours

2 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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 MSPSP - O.Bellenguez - E.Néron - L.Magniez

3 MSPSP - O.Bellenguez - E.Néron - L.Magniez
Présentation du MSPSP Activités: Personnes: Source Puits 1 2 3 4 S1 S2 S3 S4 A1 2 1 A2 A3 A4 1 2 3 4 5 6 P0 P1 P2 P3 P4 P5 A1, S1 A1, S4 A1, S3 A2, S4 A2, S2 A4, S1 A4, S4 S1 S2 S3 S4 P0 1 P1 P2 P3 P4 P5 A3, S3 A3, S2 Cmax = 7 MSPSP - O.Bellenguez - E.Néron - L.Magniez

4 MSPSP - O.Bellenguez - E.Néron - L.Magniez
Données pi : durée de l’exécution de Ai bi,k : nombre de personnes exerçant la compétence Sk nécessaire à l’activité Ai pendant son exécution Sm,k = 1 si la personne Pm maîtrise Sk, 0 sinon A(Pm, t) = 1 si la personne Pm est disponible à la date t, 0 sinon MSPSP - O.Bellenguez - E.Néron - L.Magniez

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

6 Extension aux niveaux de compétences hiérarchiques[Toroslu, 2003]
Sm,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 : Sk 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} MSPSP - O.Bellenguez - E.Néron - L.Magniez

7 Modèle mathématique (1/3)
si Pm commence Ai à t, 0 sinon si Pm participe à Sk pour Ai, 0 sinon n.M.T + n.M.K variables Contraintes : de précédence : (i,j)  {1..n} \ Ai  Aj, de participation : MSPSP - O.Bellenguez - E.Néron - L.Magniez

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

9 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, à l’aide de Cplex 8.0 MSPSP - O.Bellenguez - E.Néron - L.Magniez

10 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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 d’exécution possibles Ex : faire un trou, M1(3 j) | 3 terrassiers, M2 (1 j) | 1 conducteur |3 pelles | 1 bulldozer un mode correspond à un sous-ensemble de personnes Ex: dans un RCPSP multi-mode, l’activité A3 aurait 16 « modes d’exécution» possibles : {(P0,P1,P3), (P0,P1,P4), (P0,P1,P5), (P0,P3,P4), (P0,P3,P5), (P0,P4,P5) (P1,P3,P4), (P1,P3,P5) (P1,P4,P5), (P2,P1,P3), (P2,P1,P4), (P2,P1,P5), (P2,P3,P4), (P2,P3,P5), (P2,P4,P5), (P3,P4,P5)}  Augmente très vite avec le nombre de personnes et de compétence Jusqu’à 1000 modes par activité dans des ex. de taille normale MSPSP - O.Bellenguez - E.Néron - L.Magniez

11 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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] xj,s,t, = 1 si Aj est achevée en mode s à la fin de la période t, 0 sinon Uj,s,r = quantité de ressource r nécessaire à Aj en mode s pendant une période t n.Nbmod.T + n.Nbmod.M variables MSPSP - O.Bellenguez - E.Néron - L.Magniez

12 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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, l’activité A3 aurait besoin de: 1 ressource {P0, P1, P2, P3} (S2) 1 ressource {P1, P3, P4, P5} (S3) MSPSP - O.Bellenguez - E.Néron - L.Magniez

13 Bornes inférieures pour le MSPSP

14 LB1: graphe de compatibilité
[Mingozzi et al, 98] S A3 A2 A1 A5 A6 A7 A4 A9 A8 P 3 2 4 1 5 S0 S1 S2 A1 1 2 A2 A3 3 A4 A5 A6 A7 A8 A9 S0 S1 S2 P0 1 P1 P2 P3 P4 total 4 3 2 S A3 A2 A1 A5 A6 A7 A4 A9 A8 P MSPSP - O.Bellenguez - E.Néron - L.Magniez

15 LB2: programmation linéaire simple
Fixer D, et mettre à jour les di à l’aide du graphe de précédence = partie de i exécutée sur [tl , tl+1] = temps où Pm exerce MSPSP - O.Bellenguez - E.Néron - L.Magniez

16 LB2: programmation linéaire
S’il 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 MSPSP - O.Bellenguez - E.Néron - L.Magniez

17 LB3: raisonnement énergétique
[Lopez et al, 92], [Baptiste et al, 99] Fixer D, et mettre à jour les di à l’aide du graphe de précédence t1, t2 : t1 t2 W(i,t1,t2) = min (max (0,ri+pi-t1 ), max (0,t2-(di-pi)), pi, t2-t1) MSPSP - O.Bellenguez - E.Néron - L.Magniez

18 LB3: raisonnement énergétique
On cherche le flot maximum dans le graphe suivant : P1 S1 P2 Source Puits A(Pm, t1, t2) Sk PM Si le flot maximum final est inférieur à ikW(i,t1,t2). bi,k alors D+1 est une borne inférieure valide MSPSP - O.Bellenguez - E.Néron - L.Magniez

19 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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 d’instances classiques du RCPSP Tirage aléatoire des compétences : le nombre de tâches susceptibles de s’exécuter en parallèle varie NB: Large panel d’instances MSPSP - O.Bellenguez - E.Néron - L.Magniez

20 Comparaison entre les bornes inférieures
Ecart à la meilleure borne supérieure connue (cf méthodes de résolution): 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 MSPSP - O.Bellenguez - E.Néron - L.Magniez

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

22 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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 l’ensemble de personnes qui va l’effectuer Fin Pour MSPSP - O.Bellenguez - E.Néron - L.Magniez

23 MSPSP - O.Bellenguez - E.Néron - L.Magniez
Algorithme série (2/2) Règle de séquencement La liste de priorité est construite à l’aide d’une 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 l’ensemble le moins critique : Résolution d’un problème d’affectation à coût minimum MSPSP - O.Bellenguez - E.Néron - L.Magniez

24 MSPSP - O.Bellenguez - E.Néron - L.Magniez
Coût des personnes Criticité des compétences lors du placement de Ai: avec Ei = {Aj / ti  rj  ti+pi} Criticité des personnes : CPm = f ( <Sm,k . CSk>k=1..K), avec f = somme, moyenne, maximum… NB : le calcul peut également être fait sur tout l’horizon du projet (a priori) MSPSP - O.Bellenguez - E.Néron - L.Magniez

25 Affectation à coût minimum
Modélisation du problème d’affectation sous la forme d’un flot maximum : Coût unitaire S1, K SM, 0 S0, 0 SM, K 1 ; CP1 1 ; CPM 1; CP0 bi, K bi, 1 bi, 0 S0 S1 SK P0 P1 PM Puits Source S1, 1 Capacité max PM-1 1 ; CPM-1 NB : cela permet de construire directement l’ensemble de personne le moins critique MSPSP - O.Bellenguez - E.Néron - L.Magniez

26 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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 MSPSP - O.Bellenguez - E.Néron - L.Magniez

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

28 Algorithme parallèle (1/2)
Séquencement des activités identique à la méthode précédente Création de E = {A[1], A[2].. A[i]}, l’ensemble des activités éligibles à t Recherche du flot maximum/ coût min dans le graphe suivant : b[1],0 Source A[1] A[2] A[i] SK S0 P0 P1 PM 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 S0,0 S1,0 S0,K SM,K 1;CP0 1;CP1 1;CPM MSPSP - O.Bellenguez - E.Néron - L.Magniez

29 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] SK S0 P0 P1 PM Puits 2; 2 4; 4 3;3 A[3] 5; 4 Capacité Flot final => On place {A[1], A[2]} MSPSP - O.Bellenguez - E.Néron - L.Magniez

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

31 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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 L’ordonnancement correspondant est évalué à l’aide de l’algorithme Série basé sur le flot maximum à coût minimum MSPSP - O.Bellenguez - E.Néron - L.Magniez

32 MSPSP - O.Bellenguez - E.Néron - L.Magniez
Méthode Tabou (2/2) Le voisin d’une 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 l’ité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 MSPSP - O.Bellenguez - E.Néron - L.Magniez

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

34 MSPSP - O.Bellenguez - E.Néron - L.Magniez
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 l’algorithme parallèle seul, puis au sein de la méthode tabou D’autres méthodes en cours de développement : Recovering Beam Search, méthodes exactes, amélioration des bornes inférieures MSPSP - O.Bellenguez - E.Néron - L.Magniez


Télécharger ppt "Odile Bellenguez - Emmanuel Néron – Laurent Magniez"

Présentations similaires


Annonces Google