27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP...

44
27/09/02 M. Palpant, C. Artigues, P. Michel on Une méthode de grand voisinage Une méthode de grand voisinage pour le RCPSP pour le RCPSP Laboratoire d’Informatique d’Avignon 339 chemin des Meinajariès BP 1228 84000 Avignon M. Palpant, C. Artigues, P. Michelon {mireille.palpant, christian.artigues, philippe.michelon}@lia.univ-avignon.fr 1

Transcript of 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP...

Page 1: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Une méthode de grand voisinage Une méthode de grand voisinage pour le RCPSPpour le RCPSP

Laboratoire d’Informatique d’Avignon339 chemin des Meinajariès

BP 122884000 Avignon

M. Palpant, C. Artigues, P. Michelon{mireille.palpant, christian.artigues, philippe.michelon}@lia.univ-

avignon.fr

1

Page 2: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

PlanPlan

1. Aperçu général de la méthode

2. Présentation du RCPSP

3. Caractéristiques avancées de la méthode

4. Résultats expérimentaux

5. Conclusion et remarques

2

Page 3: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

IntroductionIntroduction

intégration de résolution exacte au sein d’un processus de recherche locale :

procédés d’intensification et de diversification de la recherche

grand voisinage (LNS) Mimausa [Mautor, Michelon] : affectation

quadratique Forget&Extend [Caseau, Laburthe] : job-shop

3

Page 4: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Génération et résolution exacte du problème réduit

Reconstruction d’une solution complète

Perturbation éventuelle

Auto-ajustement de la valeur de p

Tests d’arrêt

Recherche d’une solution initiale ( heuristique )

Phase d’initialisation

Sélection de p n variables libres

Phase itérative

Schéma général d’exécutionSchéma général d’exécution

4

Page 5: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

ParamètresParamètres

taille p du sous-problème

temps maximum t_opt alloué à la résolution exacte du sous-problème

perturbation au bout de nb_iter itérations sans amélioration de la solution courante

nombre maximum d’itérations max_iter

5

Page 6: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

RCPSP : donnéesRCPSP : données

R : ensemble {0, …, m} de ressources capacité limitée Rk

V : ensemble {0, …, n} de tâches durée pi

consommation de rik unités de chaque ressource k durant l’exécution

G = (V, E) : graphe modélisant les contraintes de précédence entre tâches

6

Page 7: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

RCPSP : formulationRCPSP : formulation

RCPSP : min Cmax

s - à : Cmax S

i+p

i i V

Sj S

i+p

i (i, j) E

(contraintes potentielles)

rik R

k t = 1, …, T, k R

(contraintes cumulatives)

A(t) i

7

Page 8: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

RCPSP : exempleRCPSP : exemple

5 10

1

4

6

5

2 7

15

res1

res2

17

3

Un ordonnancement réalisable

0 5 10 15 17

3

2

1

1

0

0

0

{0, 0}

0

1 2

4

5

6

7

8

35

5

5

5

4

2

6

6

0

0

{3, 0}

{2, 0}

{1, 0}

{3, 0}

{0, 1}

{0, 1}

{0, 1}

{0, 0}

8

Page 9: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale Construction de la solution initiale (1)(1)

procédure de forward-backward [Li, Willis] :

alternance de passes avant et passes arrières d’une méthode constructive (SGS sériel)

convergence rapide arrêt si obtention lors d’une passe avant et

une passe arrière successives d’une même valeur de makespan

9

Page 10: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale Construction de la solution initiale (2)(2)

passe avant : ordonnancement au plus tôt règle de priorité :

première passe : minLFT autres passes : plus petite des dates de début

données par la passe arrière précédente passe arrière :

ordonnancement au plus tard règle de priorité :

plus grande des dates de fin calculées à partir des dates de début données par la passe avant précédente

10

Page 11: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15 20

3

2

1

1

0

0

0

20

25

25

11

L = {7, 5, 6, 4, 3, 2, 1}

Page 12: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

10

7

15

10 15 20

20

25

25

11

7

6

5

4

3

2

1Priorités croissante

s

Page 13: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

10

5

7

15

10 15 20

20

25

25

11

7

6

5

4

3

2

1Priorités croissante

s

Page 14: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

10

6

5

7

15

10 15 20

20

25

25

11

7

6

5

4

3

2

1Priorités croissante

s

Page 15: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

10

4

6

5

7

15

10 15 20

20

25

25

11

7

6

5

4

3

2

1Priorités croissante

s

Page 16: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

10

4

6

5

7

15

3

10 15 20

20

25

25

11

7

6

5

4

3

2

1Priorités croissante

s

Page 17: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

10

4

6

5

2 7

15

3

10 15 20

20

25

25

11

7

6

5

4

3

2

1Priorités croissante

s

Page 18: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

10

1

4

6

5

2 7

15

3

10 15 20

20

25

25

11

7

6

5

4

3

2

1Priorités croissante

s

Page 19: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

11

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15

3

2

1

1

0

0

0

L = {4, 1, 5, 6, 2, 7, 3}

Page 20: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Construction de la solution initiale : Construction de la solution initiale : exempleexemple

11

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15

3

2

1

1

0

0

0

7

6

5

4

3

2

1

Priorités croissante

s

Page 21: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Sélection des tâches libres : Sélection des tâches libres : méthodeméthode

méthode par bloc :

génération aléatoire d’une liste L d’indices

sélection aléatoire d'une tâche de départ i

itérativement : sélection dans l’ordre donné par L de toute

tâche j telle que Sj Si+pi et Sj+pj Si

sélection d'une nouvelle tâche i

12

Page 22: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Sélection des tâches libres : exempleSélection des tâches libres : exemple

L = {3, 1, 7, 2, 4, 5, 6}, p=3

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15 20

3

2

1

1

0

0

0

20

25

25

13

tâche de départ

Page 23: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Sélection des tâches libres : Sélection des tâches libres : remarqueremarque

La liste aléatoire d’indices apporte de la diversité au processus de sélection

14

tâche de départ

5 10

1

4

65

2 715

3

0 5 10 15 20

0 20

25

25 5 10

1

4

65

2 715

3

0 5 10 15 20

0 20

25

25

L = {3, 1, 7, 2, 4, 5, 6}

L = {6, 7, 1, 4, 5, 3, 2}

Page 24: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Sélection des tâches libres : autres Sélection des tâches libres : autres approchesapproches

Efficacité croissante :

aléatoire

aléatoire - prédécesseurs dans le projet

aléatoire - prédécesseurs dans l’ordonnancement

aléatoire - tous prédécesseurs

"bloc"

15

Page 25: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Sous-problème : génération et Sous-problème : génération et résolutionrésolution

génération : recalage au plus tard des tâches fixes si

possible détermination des capacités des ressources

(variables au cours du temps) détermination des fenêtres d’exécution des

tâches libérées

résolution : utilisation de la bibliothèque ILOG Scheduler

(PPC)

16

Page 26: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Sous-problème : formulationSous-problème : formulation

SubRCPSP : min sous les contraintes :

+pi i

de précédence (contraintes potentielles) :

de limitation des ressources (contraintes cumulatives) :

de fenêtre d’exécution :

Ej)(i,pSS iij~~~

RkT,1,...,tRr(t)Ai

kik

)(

~t

S Si ~

V i S p S i ii i~~

,

maxC~

17

maxC~

iS~

V~

Page 27: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Contraintes de précédenceContraintes de précédence

18

0

4

2

8

34

6

0

0

{0, 1}

{3, 0}

{0, 1}

{0, 0}

{0, 0}

2

0

1 2

4

5

6

7

8

35

6

5

5

4

2

6

6

0

0

{3, 0}

{2, 0}

{1, 0}

{3, 0}

{0, 1}

{0, 1}

{0, 1}

{0, 0}

{0, 0}

Page 28: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Capacités variables des ressourcesCapacités variables des ressources

5 10 15

res1

res20 5 10 15 20

0 20

25

25

1 5

7

56

1

7

5 10

165

715

0 5 10 15 20

321

1

0

00

20

25

25

19

Page 29: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Fenêtres d’exécution des tâchesFenêtres d’exécution des tâches

20

S0+p

0

0 5 10 15

3

4

2

S5

S8

33 pS S1+p

1S2+p

2

20 25

5 10

165

715

0 5 10 15 20

321

1

0

00

20

25

25

0

4

2

8

34

6

0

0

{0, 1}

{3, 0}

{0, 1}

{0, 0}

{0, 0}

2

Page 30: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

RésolutionRésolution

21

5 10

1

4

6

5

7

15

res1

res20 5 10 15 20

3

2

1

1

0

0

0

20

25

25

2

3

Page 31: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

RésolutionRésolution

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15 20

3

2

1

1

0

0

0

20

25

25

21

Page 32: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Reconstruction de la solution Reconstruction de la solution courantecourante

mise à jour de la solution courante avec le résultat de l’optimisation

application de l’heuristique de forward-backward :

recalage au plus tôt amélioration éventuelle au cours des passes règle de priorité différente lors de la

première passe (plus petite des dates de début de la solution courante)

22

Page 33: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Reconstruction de la solution Reconstruction de la solution courantecourante

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15 20

3

2

1

1

0

0

0

20

25

25

23

Page 34: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Reconstruction de la solution Reconstruction de la solution courantecourante

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15 20

3

2

1

1

0

0

0

20

23

Page 35: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Reconstruction de la solution Reconstruction de la solution courantecourante

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15 20

3

2

1

1

0

0

0

20

23

Page 36: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Reconstruction de la solution Reconstruction de la solution courantecourante

5 10

1

4

6

5

2 7

15

res1

res2

3

0 5 10 15

3

2

1

1

0

0

0

23

Page 37: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

DiversificationDiversification

reconstruction complète périodique d’une nouvelle solution (multi-start)

utilisation de l’heuristique de forward-backward :

règle de priorité différente lors de la première passe (choix aléatoire de la tâche à ordonnancer)

24

Page 38: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Réglage des paramètresRéglage des paramètres

p : valeur de départ relativement faible auto-ajustement toutes les 5 itérations

t_opt = 0.5 seconde

nb_iter = n max_iter = 10*n

25

Page 39: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Tests d’arrêtTests d’arrêt

atteinte d’un nombre maximum d’itérations

atteinte d’une borne inférieure triviale

sous-problème de taille n résolu exactement

26

Page 40: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Résultats expérimentaux : PPCRésultats expérimentaux : PPC

Dev_Opt*

Dev_LB

Max_dev

Nb_best

Aver_time

Max_time

J30 0,013 - 2,061 476 13,83 132

J60 0,166 10,807 3,061 420 42,09 225

J90 0,358 10,409 4,839 384 67,38 339

J120

1,459 32,716 7,692 238 238,90 607

* optimum pour J30 ou meilleure solution connue pour J60, J90 et J120

27

Page 41: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Résultats expérimentaux : PLRésultats expérimentaux : PL

Dev_Opt*

Dev_LB

Max_dev

Nb_best

Aver_time

Max_time

J30 0,078 - 3,175 457 165,04 1485

J60 0,629 11,480 7,071 371 397,39 2238

* optimum pour J30 ou meilleure solution connue pour J60

28

Page 42: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

Résultats expérimentauxRésultats expérimentaux

Algorithme Dev_opt (J30)

Dev_LB (J60)

Dev_LB (J90)

Dev_LB (J120)

Notre méthode 0.013 10.807 10.409 32.716

Valls et al. (2000) 0.056 11.455 11.123 34.533

Hartmann (1997) 0.25 11.89 - 36.74

Bouleimen, Lecocq (1998)

0.23 11.90 - 37.68

Kolish (1996) 1.29 13.23 - 38.75

29

Page 43: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

ConclusionsConclusions

intérêts : méthode très simple et facile à implémenter résultats de qualité

inconvénients : méthode relativement coûteuse en terme

de temps d’exécution nécessité de trouver un processus de

sélection du sous-problème efficace (problème dépendant)

30

Page 44: 27/09/02M. Palpant, C. Artigues, P. Michelon Une méthode de grand voisinage pour le RCPSP Laboratoire dInformatique dAvignon 339 chemin des Meinajariès.

27/09/02 M. Palpant, C. Artigues, P. Michelon

PerspectivesPerspectives

amélioration des résultats : nouvelles méthodes de génération de sous-

problèmes : sélection déterministe, multi-fenêtrage…

autres procédés de diversification tuning de la méthode exacte : edge-finding,

Branch&Bound spécifiques… amélioration du temps d’exécution :

parallélisation de l’algorithme résolution du sous-problème : glouton,

modification de l’objectif…

31