45
Ordonnancement d’atelier avec contraintes temporelles entre opérations - Construction d’une solution valide par des algorithmes à base de règles de priorité et de liste d’ordre strict Freddy DEPPNER 11 juin 2004

Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Embed Size (px)

Citation preview

Page 1: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Ordonnancement d’atelier avec contraintes temporelles entre

opérations-

Construction d’une solution valide par des algorithmes à base de règles de priorité et de liste d’ordre strict

Freddy DEPPNER

11 juin 2004

Page 2: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Contexte des travaux

Convention CIFRE entre

Société INCOTEC (SSII – Éditeur de progiciels)

PDG André HENTZLER

et

Équipe MACSI du LORIAet de l’INRIA-Lorraine

(Modélisation, Analyse et Conduite de Systèmes Industriels)

1/ 38

Page 3: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Sommaire1. Description de la problématique

Définition et exemples industriels

2. Construction d’une solution faisablePanorama des solutions existantes1ère approche : ARP-MD et AOS-MD2ème approche: Placement par grappes ARP-G et AOS-G

3. Axes d’améliorationCroissance dynamique des grappesCroissance itérative des grappes

4. Conclusion

2/ 38

Page 4: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Définies de début d’opération à début d’opération

Écart minimal

Écart maximal

Définition des contraintes temporelles

Chevauchement Précédence simple Transfert, séchage..

Écart minimal et maximal « No wait »3/ 38

Page 5: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Exemples de cas industrielsAgro-

alimentaireChimie SidérurgieMécanique

SystèmesInformatiques

TâchesInformatiques

Formation…

4/ 38

Page 6: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Exemples de cas industriels

Cuisson Congélation

30 mn

liens de précédence

h écarts maximaux entre opérations

4/ 38

Agro-alimentaire

Chimie SidérurgieMécanique

SystèmesInformatiques

TâchesInformatiques

Formation…

Page 7: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Exemples de cas industriels

liens de précédence

h écarts maximaux entre opérations

Pesée Formulation Filtration

Contrôle de laRéactivité

Stérilisation

Montage

SertissageMirage

RemplissageMontage

sondeLyophilisation Déchargement

Nettoyage

Condition-nement

0h

48h.

PréparationMatériel

24h

40h

70h

48h.

24h

4/ 38

Agro-alimentaire

Chimie SidérurgieMécanique

SystèmesInformatiques

TâchesInformatiques

Formation…

Page 8: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Exemples de cas industriels

liens de précédence

h écarts maximaux entre opérations

Tournage / Fraisage

Contrôle

Contrôle

Changementd'outils

4/ 38

Agro-alimentaire

Chimie SidérurgieMécanique

SystèmesInformatiques

TâchesInformatiques

Formation…

Page 9: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Exemples de cas industriels

liens de précédence

h écarts maximaux entre opérations

Ni++ Ni++ Ni+ Ni- Ni-

Ni++ Ni++ Ni+ Ni- Ni-

Four

Répartiteur30mn

Temps de

transfert

Absence de tempsmort sur la ressource

Temps d'attenteinter-coulée

4/ 38

Agro-alimentaire

Chimie SidérurgieMécanique

SystèmesInformatiques

TâchesInformatiques

Formation…

Page 10: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Exemples de cas industriels

liens de précédence

h écarts maximaux entre opérations

Théorie

Pratique boîteautomatique

Pratique boîtemanuelle

Examen

Max(pauto,pmanu)

SM 1

SM2

SM3

SM4

SM5

p2 + p3 + p4

Module X

4/ 38

Agro-alimentaire

Chimie SidérurgieMécanique

SystèmesInformatiques

TâchesInformatiques

Formation…

Page 11: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Exemples de cas industriels

liens de précédence

h écarts maximaux entre opérations

4/ 38

Agro-alimentaire

Chimie SidérurgieMécanique

SystèmesInformatiques

TâchesInformatiques

Formation…

Arrêtapplication

Recopiedes fichiers

10mn

Indexation dela base

SauvegardeRobot

RelanceApplication

45mn

10mn

30mn

Page 12: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Bilan des problématiques industrielles

De véritables contraintes et non des objectifs

Contraintes temporelles définies essentiellement au niveau d’opérations du même travail

Contraintes temporelles localisées au niveau d’un groupe réduit d’opérations

Organisations d’atelier les plus fréquentes: «flowshops » généralisés (lignes en parallèle et/ou machines en parallèle)

5/ 38

Page 13: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Deux problématiques en une Optimisation d’un critère donné (makespan, délais, coûts..) Construction d’une solution faisable : NP-complet dès une

machine pour certains problèmes)

deux axes de recherche

Construction d’une solution valide

Optimisation d’un critère

Bartusch et al, 1988 ; Brucker et al, 1999

6/ 38

Page 14: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Graphe potentiel-tâchesG={V,C D}

V ensemble des sommets représentant les tâches + racine et puits C ensemble des arcs conjonctifs D ensemble des arcs disjonctifs

0 d(Oi,j,Ok,l) = pi,j Précédence simple

0 d(Oi,j,Ok,l) < pi,j Chevauchement

d(Oi,j,Ok,l) > pi,j Écart minimal à respecter (transfert, stockage…)

d(Oi,j,Ok,l) 0 Écart maximal à ne pas dépasser

Inégalités de potentielsi,j + d(Oi,j,Ok,l) sk,l

7/ 38

Page 15: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Exemple de graphe potentiel-tâches

Arcs disjonctifs

Arcs conjonctifs 8/ 38

O1,1 O2,1 O3,1

O1,2 O2,2 O3,2

O1,3 O2,3 O3,3

0

0

0

4

5

4

7 5 5

4 6

5

44

4

5

5

5

5

5

5

5

5

7

7

66

4

4

4

-10

-6

Page 16: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Graphe arbitré : sélection complète

Arcs disjonctifs

Arcs conjonctifs 9/ 38

O1,1 O2,1 O3,1

O1,2 O2,2 O3,2

O1,3 O2,3 O3,3

0

0

0

4

5

4

7 5 5

4 6

5

44

4

5

5

5

5

5

5

5

5

7

7

66

4

4

4

-10

-6

Page 17: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Gantt

10/ 38

O1,3 O1,1 O2,2

O1,2 O2,1 O3,3

O3,1O2,3M1

M3

M2

0 5 10 15 20

O3,2

Page 18: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Panorama des méthodes existantesProcédures par Séparation et Évaluation (PSE)

Avantages Méthode la plus utilisée Méthode exacte

Inconvénients Combine recherche de l’optimum et d’une solution valide Efficacité dépendante de la qualité des bornes utilisées

(qualité faible lorsqu’il existe des contraintes de calendriers) Temps de calcul

De Reyck et Herroelen, 1998 ; Schwindt, 1998 ; Brucker et al, 1999 ; Franck et al, 2001 ; Heilmann 2003 ; Fondrevelle 2003

11/ 38

Page 19: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Panorama des méthodes existantes

Méthodes d’amélioration par voisinage

Avantages Efficacité reconnue pour de nombreuses problématiques Adaptées aux problèmes avec pénalités

Inconvénients Voisinage efficace repose sur la définition de blocs critiques

(cas du « Makespan ») Combine recherche de l’optimum et d’une solution valide Aucune garantie de trouver une solution valide

Hurink et Keuchel, 2001 ; Despontin et Briand, 2003

12/ 38

Page 20: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Panorama des méthodes existantes

Progiciels utilisant la propagation de Contraintes

Avantage Efficacité obtenue par la création de nouvelles contraintes

globales et par croisement avec de la programmation linéaire

Inconvénients Contraintes calendaires de disponibilité des ressources Temps de calcul

Cheng et Smith, 1997 ; Cesta et al, 2002

13/ 38

Page 21: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Panorama des méthodes existantes

Progiciels de Programmation Linéaire en nombres entiers

Avantage Méthode exacte (type PSE utilisant de la PL continue)

Inconvénients Combine recherche de l’optimum et d’une solution valide Nombre important d’inéquations Temps de calculs Efficacité dépend du choix du modèle linéaire

14/ 38

Page 22: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Approche retenue

Généralisation des algorithmes de construction à base de règles de priorité ou de liste d’ordre strict

Avantages Simples à mettre en oeuvre Intuitifs et rapides Souples et permettent d'intégrer de nombreuses contraintes Algorithmes très répandus Complétés par des algorithmes de recherche par voisinage

Inconvénient : méthode non exacte

15/ 38

Page 23: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Algorithmes de constructionen présence d’écarts minimaux

M1

M2

M3

1

3

3 2

3

1 2

21

M1

M2

M3

5

1

2 4

7

9 8

3 6

Algorithme à base de règle de priorité (ARP):Placement au plus tôt derrière la dernière opération placée sur la première ressource disponible

Parmi les opérations à placer, sélection de l’opération la plus prioritaire qui commence avant la plus petite date de fin

Algorithme d’ordre strict (AOS) :Placement en respectant scrupuleusement une liste triée selon les relations de précédence

16/ 38

Page 24: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

ARP vs AOS

Tous deux construisent des ordonnancements actifs

L’espace des solutions est identique

ARP AOS

O(n(n+1)/2) calculs de dates d’exécution

n calculs de dates d’exécution

Durée du calcul des dates d’exécution rapide si absence de calendriers

Durée de calcul des dates d’exécution dépendant de l’implantation de la gestion des calendriers

Règles de priorité dynamiques

Priorités fixes

17/ 38

Page 25: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

1ère approche pour la prise en comptedes écarts maximaux dans AOS et ARP

Les opérations sont placées les unes après les autres en ne tenant compte que des écarts minimaux

Lors du placement d’une opération, on teste la validité des inégalités de potentiels avec des opérations déjà placées

Si une inégalité n’est pas respectée, on dépile et on recommence après avoir incrémenté les dates de disponibilité des opérations placées antérieurement et dont une contrainte d’écart maximal n’est pas respectée

Algorithmes modifiés : ARP-MD et AOS-MD18/ 38

Page 26: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Terminaison théorique des algorithmesARP-MD et AOS-MD

Hypothèse H0: S'il existe un arc négatif orienté de O à O' alors il existe également un chemin à arcs positifs de O' à O.

Hypothèse H1: Il existe dans le graphe conjonctif (V,C) un ordre total entre les opérations qui utilisent la même ressource.

Hypothèse H2: Il existe une solution valide.

Sous les hypothèses H0, H1 et H2, AOS-MD et ARP-MD sont convergents et construisent un ordonnancement actif.

Cas général

Aucune garantie d’obtenir un ordonnancement actif !

Aucune garantie de terminer ! 19/ 38

Page 27: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Terminaison pratique des algorithmes

Horizon de planification pour garantir la terminaison

zone de respect des contraintes

20/ 38

Page 28: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Phénomène du Saute-Mouton

• Flowshop• 2 ressources (M1,M2) - 2 travaux (J1, J2)

• s2,1 - 3 s1,1 et s2,2 - 3 s1,2

• Règle de priorité aléatoire

O1,1 O2,1 O1,2 O2,2

Pi,j 1 2 1 2

Affectation M1 M2 M1 M2

21/ 38

Page 29: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Etapes du Saute-Mouton

M1

M2

O1,1 O1,2

O2,2 O2,1

M1

M2

O1,1O1,2

O2,2O2,1

M1

M2

O1,1 O1,2

O2,2 O2,1

1ère étape

2ème étape

3ème étape

Violation decontrainte

Violation decontrainte

Violation decontrainte

Conséquences :

Solution fortement dégradée en terme de makespan

Nombreux « trous » inutilisés

22/ 38

Page 30: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

2ème approche de prise en compte des écarts maximaux: placement par grappes

Partition des opérations en grappes : composantes fortement connexes du graphe conjonctif (V,C)

Simples contraintes de calendrier pour les opérations extérieures à la grappe

Conflits réduits au niveau des opérations de chaque grappe Construction reste NP-complet pour chaque grappe Il existe une solution valide si et seulement s'il en existe

une pour chaque grappe et il n’y a pas de contraintes initiales de calendrier

Brinkmann et Neumann, 1995 ; Franck et al, 2001

23/ 38

Page 31: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

AOS-G et ARP-G

Placement d'unegrappe

en utilisantARP-MD

ouAOS-MD

Créationdes grappes

placement des grappes

AOS-G: choix statique

ARP-G: choix dynamique

Absence d’écart maximal :

Algorithme ARP ou AOS

24/ 38

Page 32: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Terminaison des algorithmesARP-G et AOS-G

Hypothèse H0: S'il existe un arc négatif orienté de O à O' alors il existe également un chemin à arcs positifs de O' à O.

Hypothèse H1: Il existe pour chaque grappe un ordre total entre les opérations qui utilisent la même ressource (ordre total lié à la nature des gammes ou imposé par le bureau des méthodes).

Hypothèse H2: Il existe une solution valide pour le placement de chaque grappe et il n’y a pas de contraintes initiales de calendrier.

Sous les hypothèses H0, H1 et H2, AOS-G et ARP-G sont convergents et construisent un ordonnancement actif.

25/ 38

Page 33: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Jeux d’essai Taille 5x10, 5x20, 10x10, 10x20, 10x30

Temps opératoires pi,j générés aléatoirement dans l’intervalle [10;50]

Horizon de planification fixé à [0;2.n.50]

Pour chaque travail j :

Choix aléatoire de 1, 2 ou 3 couples d'opérations

(Oi,j , Ok,j) (i<k)

d(Oi,j , Ok,j) = - C (initialement C=3)

Estimateur du nombre de calculs de dates d’exécution n.m2

1

,

k

ia

jap

26/ 38

Page 34: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Comparaison des algorithmes

400

500

600

700

800

900

1000

1100

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-G AOS-G ARP-MD AOS-MD

0

5

10

15

20

25

30

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-MD AOS-MD Succès cumulés

Evolution du makespan

Solutions valides obtenues

3

4

5

6

7

8

9

10

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-G AOS-G ARP-MD AOS-MD

Nombre de calculs de dates d’exécution

27/ 38

Page 35: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Comparaison des algorithmes

3

4

5

6

7

8

9

10

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-G AOS-G ARP-MD AOS-MD

Nombre de calculs de dates d’exécution en fonction de la tension C sur les écarts maximaux

28/ 38

Page 36: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Comparaison des algorithmes

Évolution du makespan en fonction de la tension C sur les écarts maximaux

400

500

600

700

800

900

1000

1100

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-G AOS-G ARP-MD AOS-MD

29/ 38

Page 37: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Comparaison des algorithmes

Évolution du nombre de solutions valides obtenues par AOS-MD et ARP-MD en fonction de la tension C

sur les écarts maximaux

0

5

10

15

20

25

30

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-MD AOS-MD Succès cumulés

30/ 38

Page 38: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Amélioration des performances

1ère piste : algorithme d’amélioration par voisinage (tabou, recuit simulé..)

Résultats encourageants

Optimisation rapide à partir d’une solution générée par ARP-G ou AOS-G car faible tension sur les écarts maximaux

31/ 38

Nécessité d’entrelacer les grappes

Page 39: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Croissance des grappes

faible tension :grappes "réduites"

forte tension :grappes "maximales"

Objectif :atteindre une taille « critique » pour les grappes

Moyen : Construction successives avec tailles croissantes de grappes

32/ 38

Page 40: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Croissance dynamique des grappes

33/ 38

Convergence et ordonnancement actif sous H0, H1 et H2

Page 41: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Croissance itérative des grappes

34/ 38

Convergence et ordonnancement actif sous H0, H1 et H2

Page 42: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Comparaison des algorithmes

8,5

9,0

9,5

10,0

10,5

11,0

11,5

12,0

12,5

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-G-MAX ARP-G-DYN ARP-G-ITE ARP-MD

Nombre de calculs de dates d’exécution en fonction de la tension C sur les écarts maximaux

35/ 38

Page 43: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Comparaison des algorithmes

Évolution du makespan en fonction de la tension C sur les écarts maximaux

1000

1050

1100

1150

1200

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2

ARP-G-MAX ARP-G-DYN ARP-G-ITE ARP-MD

1100

1200

1300

1400

1500

1600

2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-G-MAX ARP-G-DYN ARP-G-ITE ARP-MD

Faibles tensions Fortes tensions

36/ 38

Page 44: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

1,0

1,5

2,0

2,5

3 2,9 2,8 2,7 2,6 2,5 2,4 2,3 2,2 2,1 2 1,9 1,8 1,7 1,6 1,5 1,4 1,3 1,2 1,1 1

ARP-G-MAX ARP-G-DYN ARP-G-ITE

Comparaison des algorithmes

Évolution de la taille moyenne des grappes en fonction de la tension C sur les écarts maximaux

37/ 38

Page 45: Ordonnancement datelier avec contraintes temporelles entre opérations - Construction dune solution valide par des algorithmes à base de règles de priorité

Avantages des algorithmes par grappes rapidesTerminaison obtenue dans de nombreux cas de figureOrdonnancements actifs sous H0, H1 et H2

InconvénientsNombre de calculs de dates importants pour ARP-G-

DYN et ARP-G-ITEARP-G-ITE bon compromis coût-performances

Nécessité de tests plus approfondis sur des cas de figure industriels !

Conclusion

38/38