Méthodes approchées et bornes inférieures pour le problème de gestion de projet...

34
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, 37200 Tours

Transcript of Méthodes approchées et bornes inférieures pour le problème de gestion de projet...

Page 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.

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, 37200 Tours

Page 2: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 2

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

Page 3: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 3

Présentation du MSPSP

Activités:

Personnes:

S1 S2 S3 S4

A1 2 0 1 1

A2 0 1 0 1

A3 0 1 2 0

A4 1 0 1 0

S1 S2 S3 S4

P0 1 1 0 0

P1 0 1 1 0

P2 0 1 0 1

P3 1 1 1 0

P4 1 0 1 1

P5 1 0 1 0

Source Puits

1

2

3

4

2

33

4

4

A1, S1

A1, S4

A1, S1

A1, S3

A2, S4

A2, S2

A4, S1

A4, S4

A3, S3

A3, S3

A3, S2

Cmax = 70 1 2 3 4 5 6P0

P1

P2

P3

P4

P5

Page 4: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 4

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

Page 5: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 5

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

Page 6: 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.

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}

hkS

hkmS ,

Page 7: 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.

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 :

1,, tmix

1,, kmi

kkj

m ttmj

i

kki

m ttmi

b

txp

b

tx

,

,,

,

,,

t

tmixMmni 1,..,1,,..,1 ,,

Page 8: 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.

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 :

t

kki

h tthi

tmi b

txtxMmni

,

,,

,,,..,1,,..,1

kmkmi SKkMmni ,,,,,..,1,,..,1,,..,1

m t k

kitmi btxni ,,,,,..,1

m

kikmi bni ,,,,,..,1

Page 9: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 9

Modèle mathématique (3/3)

• de participation maximum

• entre les variables :

• Objectif :

i

t

ptdtmi

i

xMm 1,,..,11

,,

t k

kmitmixMmni ,,,,,...,1,...,1

n

kkn

t mtmn

pb

xC

,

,,

max

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

Page 10: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 10

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 possiblesEx : faire un trou, M1(3 j) | 3 terrassiers, M2 (1 j) | 1 conducteur

|3 pelles | 1 bulldozer

- un mode correspond à un sous-ensemble de personnesEx: 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

Page 11: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 11

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

Page 12: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 12

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)

• 1 ressource {P1, P3, P4, P5} (S3)

Page 13: 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.

Bornes inférieures pour le MSPSP

Page 14: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 14

LB1: graphe de compatibilité

S

A3

A2

A1

A5

A6

A7

A4

A9

A8

P

S0 S1 S2

A1 1 2 0

A2 1 1 0

A3 0 3 1

A4 2 1 1

A5 0 0 1

A6 0 2 0

A7 0 2 1

A8 2 1 1

A9 0 1 0

S0 S1 S2

P0 1 0 1

P1 1 1 0

P2 0 1 0

P3 1 1 0

P4 1 0 0

total 4 3 2

S

A3

A2

A1

A5

A6

A7

A4

A9

A8

P

32

3

42

1

3

2

5

iii

i

jiji

up

u

UAAuu

max

1;0

'),(,1

• [Mingozzi et al, 98]

Page 15: 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.

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

m

lkmki

ili

llkml

km

liil

liil

lili

bxKkLl

ttPmASKkMmLl

xdtsiLlni

xrtsiLlni

pxni

,,,

1,,

,

,1

,

,,...,1,,...,1

),,(,,...,1,,...,1,,...,1

0,,...,1,,...,1

0,,...,1,,...,1

,,...,1

lix ,

lkm,

Page 16: 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.

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

Page 17: 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.

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)

Page 18: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 18

LB3: raisonnement énergétique

On cherche le flot maximum dans le graphe suivant :

kii

bttiW ,21 ),,( Source Puits

S1

Sk

P1

PM

P2

Si le flot maximum final est inférieur à

ikW(i,t1,t2). bi,k

alors D+1 est une borne inférieure valide

12 tt

A(Pm, t1, t2)

Page 19: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 19

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

Page 20: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 20

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):

Page 21: 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.

Méthode de résolution :

Algorithme série

Page 22: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 22

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

Page 23: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 23

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

Page 24: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 24

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)

ii

i

ij

pt

tt mmkm

EAkj

k

tPAS

b

CS

),(,

,

Page 25: 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.

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

PuitsSource

S1, 1

Capacité maxCapacité max

PM-1

1 ; CPM-1

• NB : cela permet de construire directement l’ensemble de personne le moins critique

Page 26: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 26

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

Page 27: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 27

Méthode de résolution :

Algorithme parallèle

Page 28: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 28

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]}, l’ensemble 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]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

Page 29: 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.

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; 43;3

A[3]

5; 4

Capacité

Flot final

=> On place {A[1], A[2]}

.

Page 30: 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.

Méthode de résolution :

Une méthode tabou

Page 31: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 31

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

Page 32: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 32

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

Page 33: 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.

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

Page 34: 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.

MSPSP - O.Bellenguez - E.Néron - L.Magniez 34

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