GPA750 – Ordonnancement des systèmes de production aéronautique

24
GPA750 – Ordonnancement des systèmes de production aéronautique Cours # 3

description

GPA750 – Ordonnancement des systèmes de production aéronautique. Cours # 3. Classification des problèmes. Les problèmes sont classifiés avec 3 paramètres : α/β/γ. a) Le champ α (1 entrée) décrit des machines et l’atelier : - PowerPoint PPT Presentation

Transcript of GPA750 – Ordonnancement des systèmes de production aéronautique

Page 1: GPA750 – Ordonnancement des systèmes de production aéronautique

GPA750 – Ordonnancement des systèmes de production

aéronautique

Cours # 3

Page 2: GPA750 – Ordonnancement des systèmes de production aéronautique

Classification des problèmes

Les problèmes sont classifiés avec 3 paramètres : α/β/γ.

a) Le champ α (1 entrée) décrit des machines et l’atelier : • 1 : 1 machine; m : m machines; P : machines parallèles; F : flow-shop; J :

job-shop; O : open-shop; FFs : Flexible flow-shop; etc.

b) Le champ β (0, 1 ou plusieurs entrées) décrit les caractéristiques de traitement et des contraintes :

• interruption; précédence;préemption (prmp); rj; dj; pij; sijk, permutation (prmu); recirculation (recr); pas d ’attente (nwt = no-wait); etc.

c) Le champ γ (1 entrée) contient la mesure de performance : Cmax, Lmax, Tmax, Cmoy

Exemple : J4//Cmax décrit un problème de job-shop avec 4 machines; pas de recirculation et l ’objectif est de minimiser le temps de finition (makespan).

Page 3: GPA750 – Ordonnancement des systèmes de production aéronautique

Problèmes avec une machine et deux machines

• Séquences de Permutation

• Temps moyen de finition

• Retard Maximum

• Nombre de tâches en retard

• Problème avec temps de changement sur une machine

• Algorithmes pour deux machines

Page 4: GPA750 – Ordonnancement des systèmes de production aéronautique

1. Calendrier de type Permutation

• Nbre de calendriers (n!)m

• Quelques résultats pour les problèmes d’une machine où:– rj= 0 pour j=1,…,n

• Théorème 3.I: Soit R une mesure régulière alors :

• le calendrier optimal ne contient pas de temps d’attente entre deux commandes.

• pas de gain possible en permettant la pré-emption.– Donc le calendrier optimal est de type ‘permutation’

• Est complètement spécifié par une permutation (séquence) des commandes: J1-J2-,…,Jn

Page 5: GPA750 – Ordonnancement des systèmes de production aéronautique

2. 1.Modèle à 1 machine : Minimiser le temps de Passage Moyen (1//Fmoy)

• Temps d’attente

• SPT est la règle qui minimise le temps de passage moyen Fmoy

• Preuve…

• SPT minimise aussi– Cmoy et Lmoy

1 1

( ) ( )1

( ) ( )1 1

1 1( )

1( )

1 1

n n

j j jj j

n

j k j kj

n n

j k j kj j

F F W pn n

W pn

W pn n

(1)

(2) (1)

(3) (1) (2)

0j

j j

j j j

W

W p

W p p

Page 6: GPA750 – Ordonnancement des systèmes de production aéronautique

Exemple avec SPT

• Séquence opt?

Commande 1 2 3 4 5 6 7Temps 6 4 6 3 2 7 1

Page 7: GPA750 – Ordonnancement des systèmes de production aéronautique

2.2. Modèle à 1 machine : Minimiser le temps total de finition pondéré (1//wjCj)

• Min wjCj

• Règle WSPT(weighted shortest processing time first) est optimale.– Trouver la séquence telle que:

ou encore – ordonner les commandes dans l’ordre

décroissant des wj /pj.

j k

j k

p p

w w

Page 8: GPA750 – Ordonnancement des systèmes de production aéronautique

2.2. Modèle à 1 machine : Minimiser le temps total de finition pondéré (1//wjCj)

• Exemple avec WSPTCommandes 1 2 3 4 5 6 7

wj 6 18 12 8 8 17 18

pj 3 6 5 5 6 8 10

wj/pj(décroissant) 2 3 2.4 1.6 1.33 2.13 1.8

pj/wj (croissant) 0.5 0.33 0.42 0.63 0.75 0.47 0.56

ordre 4 1 2 6 7 3 5

Séquence optimale : 2-3-6-1-7-4-5

Page 9: GPA750 – Ordonnancement des systèmes de production aéronautique

2.3. Modèle à 1 machine : Minimiser le Retard Maximal (1//Lmax)

• Théorème: La règle EDD (plus petite date promise en premier) minimise Lmax lorsque rj=0 pour j=1,…,n– La séquence est telle que:

• dj(1) dj(2) … dj(n)

• Preuve ...• Exemple:

• Note 1: le problème 1/ rj/Lmax est extrêmement difficile si rj > 0.• Note 2: EDD minimise aussi Tmax

Commandes 1 2 3 4 5 6Temps 1 1 2 4 1 3Date promise 7 3 8 12 9 3

Page 10: GPA750 – Ordonnancement des systèmes de production aéronautique

2.4. Modèle à 1 machine : Minimiser le nombre de commandes en retard (1//Uj)

• On définit Uj comme suit : Uj vaut 1 si cj >dj, 0 sinon. • Algorithme de Moore

– Étape 1: Déterminer une première séquence en appliquant la règle EDD;• dj(k) ‘= dj(k+1) pour k = 1,2,…,n-1

– Étape 2: Trouver la première commande, Jj(l) en retard. S’il n’y a pas de commande en retard, aller à l’étape 4.

– Étape 3: Trouver la commande dans la séquence (Jj(1), … Jj(l)) ayant le plus grand temps d’opération et rejeter la de la séquence.

• Retour à l’étape 2 avec la nouvelle séquence ayant une commande en moins;– Étape 4: Construire la séquence optimale en ajouter les commandes rejetées à

la séquence actuelle.

– Exemple:

– Séquence optimale : 2-3-4-6-1-5

Commandes 1 2 3 4 5 6Temps 10 3 4 8 10 6Date promise 15 6 9 23 20 30

Page 11: GPA750 – Ordonnancement des systèmes de production aéronautique

2.5. Modèle à 1 machine : Commandes avec contraintes de préséance (1/prec/Fmoy)

• Chaîne de commandes– Contrainte 1: Une fois une chaîne débutée, il faut compléter toutes les

commandes de la chaîne

– Pour minimiser le temps de passage moyen (Fmoy), séquencer les

commandes selon la règle SPT modifiée

(1) (2) (3) ( )

(1) (2) (3) ( )

' ' ' '....j j j j n

j j j j n

p p p p

n n n n

( )

( )1

j kn

j k ijj

P P

( )j kn = nbre de commandes dans la j(k)ième chaîne.

Page 12: GPA750 – Ordonnancement des systèmes de production aéronautique

2.5. Modèle à 1 machine : Commandes avec contraintes de préséance (1/prec/max)

• Algorithme de Lawler– contraintes de préséance générales mais sans la

contrainte 1;– Coût j(Cj) associé à la commande j

• Fonction non décroissante en Cj

– Minimiser max = Maxj {j(Cj}

Page 13: GPA750 – Ordonnancement des systèmes de production aéronautique

Algorithme de Lawler :

Min max = Maxj {j(Cj}

• Théorème: – Soit V l’ensemble des commandes qui peuvent être traitées en

dernier. • La dernière commande dans le calendrier doit terminer au temps τ= j (Cj);• Soit h de sorte que h (τ) = min jV {j(Cj) };• Alors il existe une séquence optimale avec h en dernière position

Description de l’algorithme:

1. Étape 1: Soient J = { }, Jc = {1,…n} et V l’ensemble des tâches n’ayant pas de successeurs.

2. Étape 2: Soit h tel que- τ = j J

c (pj)

1. h (τ) = Min jV (j (τ) )2. Ajouter h à J; enlever h de Jc et modifier V afin qu’il représente le nouvel

ensemble de tâches n’ayant pas de successeurs.

3. Étape 3 : Si Jc = { }, Stop; autrement aller à l’étape 2.

Page 14: GPA750 – Ordonnancement des systèmes de production aéronautique

Exemple (de French)

Page 15: GPA750 – Ordonnancement des systèmes de production aéronautique

2.6. Problème avec temps de changement (setup) sur une machine (1/sj/ymax)

• Cas 1: Si les temps de setup ne dépendent pas de la séquence– Ajouter les temps de changement et d’opération– Exemple:

• Cas 2 : Si les temps de setup dépendent de la séquence– Problème de commis voyageur (TSP)– Très difficile– Solution heuristique– Cas spécial:

• Deux paramètres associés aux commandes aj, bj

• S ij = aj – bj • Solution optimale – p85 des notes

Page 16: GPA750 – Ordonnancement des systèmes de production aéronautique

Exemple avec temps de changement qui dépendent de la séquence

• Données de base sous forme matricielle

• Ajouter les temps d’opérations aux temps de changement

• Ajouter une colonne représentant le temps de changement pour la première commande

• Former un réseau avec:– n+1 nœuds– les arcs (i,j) avec

• Cij = Sij +Pj

• Résoudre avec un algorithme pour TSP.– Exemple: Ville plus proche en

premier (nearest neighbour)• Cas spécial – Voir exemple

dans notes

1.

Cmax = 1+7+4+4+9+1=26

Page 17: GPA750 – Ordonnancement des systèmes de production aéronautique

Heuristique pour TSP

• Étape 1: Procédure de construction– Déterminer un tour initial à l’aide d’une règle telle que: v

• ville plus proche en premier– Résultat:

• S: J[1] - J[2] - J[3] - … - J[n]• Où C(S) = temps pour compléter le tour

• Étape 2: Procédure d’amélioration– Échange de deux villes adjacentes (pairwise exchange)

• Construire un nouveau tour en échangeant deux villes adjacentes – (J[k], J[k+1]) ----> (j[k+1], j[k]) k=1… n-1– On obtient n-1 nouvelle séquences Sk

– Soit S’ tel que C(S’) = Min (C(Sk)), k= 1,…n

• Étape 3: – Si C(S’) < C(S) alors S = S’, aller à l ’étape 2;– Sinon – Stop Solution = S avec C(S).

Page 18: GPA750 – Ordonnancement des systèmes de production aéronautique

Exemple avec le TSP

Page 19: GPA750 – Ordonnancement des systèmes de production aéronautique

2.7 Modèle avec 2 machines en série: F2//Cmax.

• n commandes, 2 machines

• M1 avant M2

• Règle de Johnson pour minimiser Cmax

• 4 ensembles de commandes

• Comment min Cmax?

M1 M2

n3

M1 M2

n4

n1n2

Page 20: GPA750 – Ordonnancement des systèmes de production aéronautique

Algorithme de Johnson pour F2//Cmax.

Etape 1 : – Diviser l’ensemble de jobs en 2 sous-ensembles E1= {p1j p2j} et

E2 = {p1j p2j}. Si p1j = p2j, alors la job j peut aller dans E1 ou E2 .

Etape 2 : – Appliquer SPT sur E1 et LPT sur E2 .

– La séquence résultante est optimale «SPT (E1) - LPT (E2)» est optimale pour F2//Cmax.

• Remarque : La structure de cédule «SPT (E1) - LPT (E2)» ne peut pas être généralisée pour Fm// Cmax, pour m3.

Page 21: GPA750 – Ordonnancement des systèmes de production aéronautique

Adaptation de l ’algorithme de Johnson

pour 3 machines en série : F3//Cmax.

On a besoin du critère de dominance (étape 1 ci-après).

Étape 1 : vérifier le critère de dominance suivant :

si la machine M2 est peu occupée i.e.– Minj {p1j} maxj {p2j} : Machine 1 domine machine 2

ou (i.e. l ’une des 2 inégalités suffit)

– Minj {p3j} maxj {p2j} : Machine 3 domine machine 2.

– Si ce critère est rempli, un calendrier optimal pour F3//Cmax peut être trouvé en procédant à l ’étape 2.

Étape 2 : Réduction à un problème avec 2 machines.– Calculer : aj = p1j + p2j et bj = p2j + p3j où aj et bj sont les temps de

traitement de la commande j sur la machine #1 et #2 respectivement.

– Appliquer ensuite l’algorithme de Johnson (m=2) en utilisant aj et bj.

Page 22: GPA750 – Ordonnancement des systèmes de production aéronautique

Exemple de l’algorithme de Johnson pour résoudre F2//Fmax

Exemple 1 : • 7 pièces sont traitées par 2 machines et l ’ordre de

traitement est le même pour toutes les pièces. Trouver un calendrier optimal qui minimise Fmax. (Notez que dans ce cas Fmax = Cmax car rj = 0).

Pièces : 1 2 3 4 5 6 7

p1j (sur M1) : 6 2 4 1 7 4 7

p2j (sur M2) : 3 9 3 8 1 5 6

L ’algorithme de Johnson (séquence optimale) : 4-2-6-7-1-3-5 ou 4-2-6-7-3-1-5

Page 23: GPA750 – Ordonnancement des systèmes de production aéronautique

Exemple de l’algorithme de Johnson pour résoudre F3//Cmax

Exemple 2 : 6 pièces sont traitées par 3 machines et l ’ordre de traitement est le même pour toutes les pièces. Trouver un calendrier optimal qui minimise Cmax.

Pièces : 1 2 3 4 5 6

p1j (sur M1) : 4 6 3 5 8 4

p2j (sur M2) : 1 2 1 3 2 1

p3j (sur M3) : 3 9 2 7 6 1

L ’algorithme de Johnson adapté à F3//Cmax produit une séquence optimale :

2 - 4- 5 -1-3-6 ou 4 -2 - 5 -1 -3 - 6.

Page 24: GPA750 – Ordonnancement des systèmes de production aéronautique

Sommaire

Problèmes avec une machine où toutes les commandes sont disponibles au temps 0 Objectif Algorithme Observations Min Fmoy SPT Calendrier optimal Min Temps total pondéré WSPT Calendrier optimal Min Lmax EDD Calendrier optimal

Min nbre de commandes en retard Algorithme de Moore Calendrier optimal

Min Temps de passage moyen avec chaînes de préséance SPT modifié Calendrier optimal

Min Max j { γj(Cj) } avec contraintes de préséance Algorithme de Lawler Calendrier optimal

Min Jj

T Min SLACK en premier Ne garantit pas l’optimalité

Problème avec deux machines en série Min Cmax Algorithme de Johnson Calendrier optimal