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

Une méthode de grand voisinage pour le RCPSP

Présentations similaires


Présentation au sujet: "Une méthode de grand voisinage pour le RCPSP"— Transcription de la présentation:

1 Une méthode de grand voisinage pour le RCPSP
M. Palpant, C. Artigues, P. Michelon {mireille.palpant, christian.artigues, Laboratoire d’Informatique d’Avignon 339 chemin des Meinajariès BP 1228 84000 Avignon 27/09/02 M. Palpant, C. Artigues, P. Michelon 1

2 M. Palpant, C. Artigues, P. Michelon
Plan Aperçu général de la méthode Présentation du RCPSP Caractéristiques avancées de la méthode Résultats expérimentaux Conclusion et remarques 27/09/02 M. Palpant, C. Artigues, P. Michelon 2

3 M. Palpant, C. Artigues, P. Michelon
Introduction 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 27/09/02 M. Palpant, C. Artigues, P. Michelon 3

4 Schéma général d’exécution
Recherche d’une solution initiale ( heuristique ) Phase d’initialisation Sélection de p  n variables libres Phase itérative Tests d’arrêt 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 27/09/02 M. Palpant, C. Artigues, P. Michelon 4

5 M. Palpant, C. Artigues, P. Michelon
Paramè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 27/09/02 M. Palpant, C. Artigues, P. Michelon 5

6 M. Palpant, C. Artigues, P. Michelon
RCPSP : 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 27/09/02 M. Palpant, C. Artigues, P. Michelon 6

7 M. Palpant, C. Artigues, P. Michelon
RCPSP : formulation RCPSP : min Cmax s - à : Cmax  Si+pi  i  V Sj  Si+pi  (i, j)  E (contraintes potentielles) rik  Rk  t = 1, …, T,  k  R (contraintes cumulatives) 27/09/02 M. Palpant, C. Artigues, P. Michelon 7

8 RCPSP : exemple 1 5 3 6 4 2 7 Un ordonnancement réalisable res1 3 1 2
1 2 4 5 6 7 8 3 {3, 0} {2, 0} {1, 0} {0, 1} {0, 0} 1 5 3 2 1 6 {0, 0} 5 10 15 17 res2 1 4 2 7 5 10 15 17 27/09/02 M. Palpant, C. Artigues, P. Michelon 8

9 Construction de la solution initiale (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 27/09/02 M. Palpant, C. Artigues, P. Michelon 9

10 Construction de la solution initiale (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 plus grande des dates de fin calculées à partir des dates de début données par la passe avant précédente 27/09/02 M. Palpant, C. Artigues, P. Michelon 10

11 M. Palpant, C. Artigues, P. Michelon
Construction de la solution initiale : exemple 5 10 1 4 6 2 7 15 res1 res2 3 20 25 L = {7, 5, 6, 4, 3, 2, 1} 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

12 Construction de la solution initiale : exemple
7 6 5 4 3 2 1 Priorités croissantes 10 15 20 25 7 10 15 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

13 Construction de la solution initiale : exemple
7 6 5 4 3 2 1 Priorités croissantes 5 10 15 20 25 7 10 15 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

14 Construction de la solution initiale : exemple
7 6 5 4 3 2 1 Priorités croissantes 5 6 10 15 20 25 7 10 15 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

15 Construction de la solution initiale : exemple
7 6 5 4 3 2 1 Priorités croissantes 5 6 10 15 20 25 4 7 10 15 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

16 Construction de la solution initiale : exemple
7 6 5 4 3 2 1 Priorités croissantes 5 3 6 10 15 20 25 4 7 10 15 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

17 Construction de la solution initiale : exemple
7 6 5 4 3 2 1 Priorités croissantes 5 3 6 10 15 20 25 4 2 7 10 15 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

18 Construction de la solution initiale : exemple
7 6 5 4 3 2 1 Priorités croissantes 1 5 3 6 10 15 20 25 4 2 7 10 15 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

19 M. Palpant, C. Artigues, P. Michelon
Construction de la solution initiale : exemple 5 10 1 4 6 2 7 15 res1 res2 3 L = {4, 1, 5, 6, 2, 7, 3} 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

20 Construction de la solution initiale : exemple
4 5 10 1 4 6 2 7 15 res1 res2 3 1 5 6 2 7 3 Priorités croissantes 27/09/02 M. Palpant, C. Artigues, P. Michelon 11

21 M. Palpant, C. Artigues, P. Michelon
Sélection des tâches libres : mé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 27/09/02 M. Palpant, C. Artigues, P. Michelon 12

22 Sélection des tâches libres : exemple
L = {3, 1, 7, 2, 4, 5, 6}, p=3 5 10 1 4 6 2 7 15 res1 res2 3 20 25 tâche de départ 27/09/02 M. Palpant, C. Artigues, P. Michelon 13

23 M. Palpant, C. Artigues, P. Michelon
Sélection des tâches libres : remarque La liste aléatoire d’indices apporte de la diversité au processus de sélection tâche de départ 5 10 1 4 6 2 7 15 3 20 25 L = {3, 1, 7, 2, 4, 5, 6} L = {6, 7, 1, 4, 5, 3, 2} 27/09/02 M. Palpant, C. Artigues, P. Michelon 14

24 M. Palpant, C. Artigues, P. Michelon
Sélection des tâches libres : autres approches 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" 27/09/02 M. Palpant, C. Artigues, P. Michelon 15

25 Sous-problème : génération et résolution
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) 27/09/02 M. Palpant, C. Artigues, P. Michelon 16

26 M. Palpant, C. Artigues, P. Michelon
Sous-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 : 27/09/02 M. Palpant, C. Artigues, P. Michelon 17

27 Contraintes de précédence
{3, 0} 5 {0, 1} 4 {3, 0} 4 2 8 3 6 {0, 1} {3, 0} {0, 0} 1 2 3 2 5 8 6 6 5 {0, 0} {2, 0} {0, 0} 4 7 6 5 {0, 1} {0, 1} 6 {1, 0} 27/09/02 M. Palpant, C. Artigues, P. Michelon 18

28 M. Palpant, C. Artigues, P. Michelon
Capacités variables des ressources 5 10 1 6 7 15 20 3 2 25 5 10 15 res1 res2 20 25 1 7 6 27/09/02 M. Palpant, C. Artigues, P. Michelon 19

29 M. Palpant, C. Artigues, P. Michelon
Fenêtres d’exécution des tâches 5 10 1 6 7 15 20 3 2 25 4 2 8 3 6 {0, 1} {3, 0} {0, 0} S0+p0 5 10 15 3 4 2 S5 S8 S1+p1 S2+p2 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 20

30 M. Palpant, C. Artigues, P. Michelon
Résolution 5 10 1 4 6 7 15 res1 res2 20 3 2 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 21

31 M. Palpant, C. Artigues, P. Michelon
Résolution 5 10 1 4 6 2 7 15 res1 res2 3 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 21

32 Reconstruction de la solution courante
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) 27/09/02 M. Palpant, C. Artigues, P. Michelon 22

33 M. Palpant, C. Artigues, P. Michelon
Reconstruction de la solution courante 5 10 1 4 6 2 7 15 res1 res2 3 20 25 27/09/02 M. Palpant, C. Artigues, P. Michelon 23

34 M. Palpant, C. Artigues, P. Michelon
Reconstruction de la solution courante 5 10 1 4 6 2 7 15 res1 res2 3 20 27/09/02 M. Palpant, C. Artigues, P. Michelon 23

35 M. Palpant, C. Artigues, P. Michelon
Reconstruction de la solution courante res1 3 1 5 3 2 1 6 5 10 15 20 res2 1 4 2 7 5 10 15 20 27/09/02 M. Palpant, C. Artigues, P. Michelon 23

36 M. Palpant, C. Artigues, P. Michelon
Reconstruction de la solution courante res1 3 1 5 3 2 1 6 5 10 15 res2 1 4 2 7 5 10 15 27/09/02 M. Palpant, C. Artigues, P. Michelon 23

37 M. Palpant, C. Artigues, P. Michelon
Diversification 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) 27/09/02 M. Palpant, C. Artigues, P. Michelon 24

38 M. Palpant, C. Artigues, P. Michelon
Ré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 27/09/02 M. Palpant, C. Artigues, P. Michelon 25

39 M. Palpant, C. Artigues, P. Michelon
Tests 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 27/09/02 M. Palpant, C. Artigues, P. Michelon 26

40 Résultats expérimentaux : PPC
Dev_ Opt* LB Max_ dev Nb_ best Aver_ 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/09/02 M. Palpant, C. Artigues, P. Michelon 27

41 Résultats expérimentaux : PL
Dev_ Opt* LB Max_ dev Nb_ best Aver_ 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 27/09/02 M. Palpant, C. Artigues, P. Michelon 28

42 Ré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 27/09/02 M. Palpant, C. Artigues, P. Michelon 29

43 M. Palpant, C. Artigues, P. Michelon
Conclusions 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) 27/09/02 M. Palpant, C. Artigues, P. Michelon 30

44 M. Palpant, C. Artigues, P. Michelon
Perspectives 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… 27/09/02 M. Palpant, C. Artigues, P. Michelon 31


Télécharger ppt "Une méthode de grand voisinage pour le RCPSP"

Présentations similaires


Annonces Google