1 / 24

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

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 :

bobby
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 deperformance : 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).

  3. 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

  4. 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

  5. Temps d’attente SPT est la règle qui minimise le temps de passage moyen Fmoy Preuve… SPT minimise aussi Cmoy et Lmoy 2. 1.Modèle à 1 machine : Minimiser le temps de Passage Moyen (1//Fmoy)

  6. Exemple avec SPT • Séquence opt?

  7. 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.

  8. 2.2. Modèle à 1 machine : Minimiser le temps total de finition pondéré (1//wjCj) • Exemple avec WSPT Commandes 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

  9. 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

  10. 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

  11. 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

  12. 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}

  13. 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 jV{j(Cj) }; • Alors il existe une séquence optimale avec h en dernière position Description de l’algorithme: • Étape 1: Soient J = { }, Jc = {1,…n} et V l’ensemble des tâches n’ayant pas de successeurs. • Étape 2: Soit h tel que - τ = j Jc (pj) • h (τ) = Min jV (j (τ) ) • 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. • Étape 3 : Si Jc = { }, Stop; autrement aller à l’étape 2.

  14. Exemple (de French)

  15. 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

  16. 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

  17. 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).

  18. Exemple avec le TSP

  19. M1 M2 n4 M1 M2 n2 n1 n3 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?

  20. 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 m3.

  21. 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.

  22. 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

  23. 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.

  24. Sommaire

More Related