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