ORDONNANCEMENT

Transcription

ORDONNANCEMENT
ORDONNANCEMENT
atelier
Christophe RAPINE
ORDONNANCEMENT
1
Flowshop
ORDONNANCEMENT
I
Atelier de montage
I
Ligne de production
I
Passage des jobs sur des machines
spécifiques pour réaliser leurs
opérations
2
Atelier
M2
M1
I
M3
M machines spécifiques
ORDONNANCEMENT
3
Atelier
M2
M1
I
I
M3
M machines spécifiques
Stocks d’encours intermédiares devant les machines
ORDONNANCEMENT
3
Atelier
M2
M1
M3
O 2,A
O 1,A
I
I
I
I
O 3,A
M machines spécifiques
Stocks d’encours intermédiares devant les machines
La gamme du job j est composée d’opérations O1j , . . . Omj
L’opération Ojk doit se faire sur la machine k
Allocation fixée des ressources aux opérations
ORDONNANCEMENT
3
Atelier
M2
M1
M3
O 2,A
O 1,A
O 2,B
O 3,A
O 1,B
I
I
I
I
I
M machines spécifiques
Stocks d’encours intermédiares devant les machines
La gamme du job j est composée d’opérations O1j , . . . Omj
L’opération Ojk doit se faire sur la machine k
Allocation fixée des ressources aux opérations
Des contraintes de précédence peuvent être présentes dans la
gamme
ORDONNANCEMENT
3
Flowshop
I
M machines en série (ligne de production)
ORDONNANCEMENT
4
Flowshop
I
M machines en série (ligne de production)
I
La gamme opératoires des jobs est une chaine
ORDONNANCEMENT
4
Flowshop
I
M machines en série (ligne de production)
I
La gamme opératoires des jobs est une chaine
I
Chaque job suit la même séquence sur les machines
Oj1 → Oj2 → . . . → Ojm
ORDONNANCEMENT
4
Problème F 2||Cmax
I
Dans un atelier, les produits passent successivement sur une
machine outil A et un poste de finition B
I
Comment finir au plus tôt les produits ?
a b c d e
A 2 2 1 3 5
B 1 2 4 3 3
b
ORDONNANCEMENT
a c
e
d
5
Ordonnancements de permutation
Definition (Ordonnancement de permutation)
Un ordonnancement est de permutation si la séquence des jobs est
la même sur toutes les machines
I
Réduction de l’espace des solutions (n!)m → n!
ORDONNANCEMENT
6
Ordonnancements de permutation
Definition (Ordonnancement de permutation)
Un ordonnancement est de permutation si la séquence des jobs est
la même sur toutes les machines
I
Réduction de l’espace des solutions (n!)m → n!
I
Pour tout critère régulier, il est dominant d’avoir le même
ordre de passage sur les 2 premières machines
ORDONNANCEMENT
6
Ordonnancements de permutation
Definition (Ordonnancement de permutation)
Un ordonnancement est de permutation si la séquence des jobs est
la même sur toutes les machines
I
Réduction de l’espace des solutions (n!)m → n!
I
Pour tout critère régulier, il est dominant d’avoir le même
ordre de passage sur les 2 premières machines
I
Les ordonnancements
P de permutation sont dominants pour
F 2||Cmax et F 2|| Ci
ORDONNANCEMENT
6
Ordonnancements de permutation
I
Pour la makespan, il est dominant d’avoir le même ordre de
passage sur les 2 dernières machines
m−1
i
j
m
ORDONNANCEMENT
7
Ordonnancements de permutation
I
Pour la makespan, il est dominant d’avoir le même ordre de
passage sur les 2 dernières machines
m−1
i
j
m
I
Les ordonnancements de permutation sont dominants pour
F 3||Cmax
ORDONNANCEMENT
7
Ordonnancements de permutation
I
Pour la makespan, il est dominant d’avoir le même ordre de
passage sur les 2 dernières machines
m−1
i
j
m
I
I
Les ordonnancements de permutation sont dominants pour
F 3||Cmax
Les ordonnancements de permutation ne sont plus dominants
pour 4 machines
ORDONNANCEMENT
7
Date de fin
I
Pour une permutation π fixée des jobs
ORDONNANCEMENT
8
Date de fin
I
Pour une permutation π fixée des jobs
I
k
Cπ(i)
La date de fin de l’opération ieme job sur la machine k
k−1
k
ORDONNANCEMENT
i
i
i−1
i−1
8
Date de fin
I
Pour une permutation π fixée des jobs
I
k
Cπ(i)
La date de fin de l’opération ieme job sur la machine k
k−1
k
I
i
i
i−1
i−1
k−1
k
k
Cπ(i)
= max{Cπ(i−1)
, Cπ(i)
} + pπ(i),k
ORDONNANCEMENT
8
Graphe d’exécution
I
Pour une permutation π fixée des jobs
ORDONNANCEMENT
9
Graphe d’exécution
I
Pour une permutation π fixée des jobs
I
ORDONNANCEMENT
J1
J4
J2
J3
9
Graphe d’exécution
I
Pour une permutation π fixée des jobs
I
I
J1
J4
J2
J3
Chemin Critique d’exécution = plus long chemin dans le
graphe
ORDONNANCEMENT
9
Problème F 2||Cmax
I
Fm||Cmax problème NP-difficile pour m ≥ 3.
Algorithme de Jonhson
I
A = {i | ai ≤ bi } job plus court sur A.
I
B = {i | ai > bi } job plus court sur B.
I
Ordonnancer les jobs de A par ai croissant
I
Ordonnancer les jobs de B par bi décroissant
ORDONNANCEMENT
10
Problème F 2||Cmax
I
Comment finir au plus tôt nos produits ?
a b c d e
A 2 2 1 3 5
B 1 2 4 3 3
M1
M2
ORDONNANCEMENT
11
Algorithme de Jonhson
Preuve par argument d’échange (ici entre A et B)
i
j
C
d
C = max{α − bi , ai , δ} + β
j
d
i
C’
C 0 = max{α − bj , aj , δ} + β
ORDONNANCEMENT
12
Jobshop
M2
M1
M3
I
La gamme opératoire est une chaine
I
L’opération okj doit se faire sur la machine k
I
Chaque job suit sa propre séquence sur les machines
ORDONNANCEMENT
13
Problème J2||Cmax
Comment finir au plus tôt sur 2 machines ?
Machine A
Machine B
a
b
c
d
e
a b c d e
A 3 4 1 3 1
B 1 5
1 2
ORDONNANCEMENT
14
Problème J2||Cmax
Algorithme de Jackson
Partitionner les jobs
I
{AB} jobs passant d’abord sur la machine A
I
{BA} jobs passant d’abord sur la machine B
I
{A} jobs passant uniquement sur A
I
{B} jobs passant uniquement sur B
Ordonnancer les jobs selon les séquences :
I
machine A: {AB} (Jonhson) {A} et {BA}
I
machine B: {BA} (Jonhson) {B} et {AB}
ORDONNANCEMENT
15
Problème J2||Cmax
a
b
{AB}
c
{A}
d
e
{BA}
A
B
ORDONNANCEMENT
16
Problème J|n = 2|Cmax
I
Approche géométrique pour 2 jobs
ORDONNANCEMENT
17
Problème J|n = 2|Cmax
I
Approche géométrique pour 2 jobs
I
Plus court chemin avec obstacles
ORDONNANCEMENT
17
Problème J|n = 2|Cmax
I
Approche géométrique pour 2 jobs
I
Plus court chemin avec obstacles
I
Exemple : 2 jobs sur 3 machines
J1
M1 → M2 → M1 → M3
2
1
3
2
J2
ORDONNANCEMENT
M1 → M3 → M2
1
2
2
17
Approche géométrique
M2
M3
M1
M1
ORDONNANCEMENT
M2
M1
M3
18
Approche géométrique
M2
M3
M1
M1
ORDONNANCEMENT
M2
M1
M3
18
Approche géométrique
M2
M3
M1
M1
ORDONNANCEMENT
M2
M1
M3
18
Approche géométrique
M2
M3
M1
M1
ORDONNANCEMENT
M2
M1
M3
18
Approche géométrique
M2
M3
M1
M1
M2
M1
M3
I
Longueur chemin
= chemin vertical + chemin horizontal +
√
diagonale / 2
I
Longueur chemin = makespan de l’ordonnacement
ORDONNANCEMENT
18
Approche géométrique
Plus court chemin dans un graphe sans obstacle
I
2 sommets par obstacles : les coins NW et SE
I
2 arcs sortants (au plus) par sommets
J
I
ORDONNANCEMENT
19
Approche géométrique
Plus court chemin dans un graphe sans obstacle
I
2 sommets par obstacles : les coins NW et SE
I
2 arcs sortants (au plus) par sommets
NW
J
SE
I
ORDONNANCEMENT
19
Approche géométrique
Plus court chemin dans un graphe sans obstacle
I
2 sommets par obstacles : les coins NW et SE
I
2 arcs sortants (au plus) par sommets
NW
J
SE
I
ORDONNANCEMENT
19
Approche géométrique
Plus court chemin dans un graphe sans obstacle
I
2 sommets par obstacles : les coins NW et SE
I
2 arcs sortants (au plus) par sommets
NW
J
SE
I
ORDONNANCEMENT
19
Graphe Disjonctif
I
Représentation de tous les ordonnancements
ORDONNANCEMENT
20
Graphe Disjonctif
I
Représentation de tous les ordonnancements
I
Arc conjonctif = précédence entre les opérations
ORDONNANCEMENT
20
Graphe Disjonctif
I
Représentation de tous les ordonnancements
I
Arc conjonctif = précédence entre les opérations
I
Arc disjonctif = séquencement sur les machines
ORDONNANCEMENT
20
Graphe Disjonctif
I
Représentation de tous les ordonnancements
I
Arc conjonctif = précédence entre les opérations
I
Arc disjonctif = séquencement sur les machines
ORDONNANCEMENT
20
Graphe Disjonctif
I
Représentation de tous les ordonnancements
I
Arc conjonctif = précédence entre les opérations
I
Arc disjonctif = séquencement sur les machines
M1
ORDONNANCEMENT
M2
M3
20
Graphe Disjonctif
I
Représentation de tous les ordonnancements
I
Arc conjonctif = précédence entre les opérations
I
Arc disjonctif = séquencement sur les machines
M1
ORDONNANCEMENT
M2
M3
20
Graphe Disjonctif
I
Un ordonnancement = orientation des arcs dijonctifs ⇒ le
graphe d’exécution acyclique
ORDONNANCEMENT
21
Graphe Disjonctif
I
I
Un ordonnancement = orientation des arcs dijonctifs ⇒ le
graphe d’exécution acyclique
Durée ordonnacement = plus long chemin dans le graphe
d’exécution.
ORDONNANCEMENT
21
Modélisation PLNE - ordonnancement de
permutation
I
Variables de décision Cik : fin de l’opération de i sur la
machine k
ORDONNANCEMENT
22
Modélisation PLNE - ordonnancement de
permutation
I
I
Variables de décision Cik : fin de l’opération de i sur la
machine k
Objectif : min maxi Ci
ORDONNANCEMENT
22
Modélisation PLNE - ordonnancement de
permutation
I
I
I
Variables de décision Cik : fin de l’opération de i sur la
machine k
Objectif : min maxi Ci
Contraintes de précédence pour le job i:
Cik ≥ Cil + pik
ORDONNANCEMENT
si Oil → Oik ∀i
22
Modélisation PLNE - ordonnancement de
permutation
I
I
I
Variables de décision Cik : fin de l’opération de i sur la
machine k
Objectif : min maxi Ci
Contraintes de précédence pour le job i:
Cik ≥ Cil + pik
I
si Oil → Oik ∀i
Contrainte disjonctive sur la machine k
variables de décision xijk
1 si i traité avant j sur la machine k
=
0 sinon
Cik ≥ Cjk + pik − Mxijk ∀i, j∀k
xijk + xjik = 1
ORDONNANCEMENT
22
Openshop
M2
M1
M3
I
Pas de gamme opératoires.
I
Les opérations peuvent se faire dans n’importe quel ordre sur
les machines
ORDONNANCEMENT
23
Problème O2||Cmax
Algorithme LAPT (longest alternate processing time)
Dès qu’une machine se libère, ordonnancer l’opération disponible
du job qui a la plus longue durée restante à exécuter sur l’autre
machine
ORDONNANCEMENT
24
Problème O2||Cmax
Algorithme LAPT (longest alternate processing time)
Dès qu’une machine se libère, ordonnancer l’opération disponible
du job qui a la plus longue durée restante à exécuter sur l’autre
machine
Proof.
Borne inférieure
∗
Cmax
≥ max{max{ai + bi },
i
ORDONNANCEMENT
X
i
ai ,
X
bi }
i
24
Problème O2||Cmax
I
Comment finir au plus tôt sur 2 machines ?
a b c d
A 7 4 1 2
B 2 5 3 4
ORDONNANCEMENT
25
Problème O2||Cmax
I
Comment finir au plus tôt sur 2 machines ?
a b c d
A 7 4 1 2
B 2 5 3 4
I
LPTA = b d c a
ORDONNANCEMENT
25
Problème O2||Cmax
I
Comment finir au plus tôt sur 2 machines ?
a b c d
A 7 4 1 2
B 2 5 3 4
I
LPTA = b d c a
I
LPTB = a b d c
ORDONNANCEMENT
25

Documents pareils