220 likes | 354 Views
GPA750 – Ordonnancement des systèmes de production aéronautique. Cours # 4. Problème avec plusieurs machines. Machines en parallèles Complexité des problèmes avec plusieurs machines. Environnement et Organisation (Atelier mono-gamme vs Multigammes) Représentation réseau d’un calendrier.
E N D
GPA750 – Ordonnancement des systèmes de production aéronautique Cours # 4
Problème avec plusieurs machines • Machines en parallèles • Complexité des problèmes avec plusieurs machines. • Environnement et Organisation (Atelier mono-gamme vs Multigammes) • Représentation réseau d’un calendrier
Machines ParallèlesMin Fmoy • n commandes • m machines en parallèles • Toutes les commandes sont disponibles au temps t=0 • Algorithme pour minimiser le temps de passage moyen (Min Fmoy ) : • Ordonner les commandes selon SPT; • Prendre les commandes une à la fois et les assigner sur la machine ayant le plus petit temps total d’opération.
Exemple de SPT • Exemple • Séquence SPT : 6-10-3-7-9-1-8-2-5-4 Fmoy = 8.1 Cmax = 18
Machines Parallèles : Min Cmax et Temps de passage moyen (Fmoy ) • Heuristique pour minimiser Cmax : • Ordonner les commandes selon LPT; • Prendre les commandes une à la fois et les assigner sur la machine ayant le plus petit temps total d’opération. • Pour minimiser Cmax et Temps de passage moyen (Fmoy) • Renverser les séquences sur les machines de sorte que l’on a une séquence SPT. • Exemple… • Ne garantit pas l’optimalité • Qualité de la solution
Exemple : Min Cmax et temps de passage moyen Étape 1: LPT Cmax = 16 Étape 2: SPT Fmoy = 8.1
Machines Parallèles : Réduire T • Heuristique 1: Min Tmax • Ordonner les commandes selon EDD; • Prendre les commandes une à la fois et les assigner sur la machine ayant le plus petit temps total d’opération. • Heuristique 2 : Réduire T • Ordonner les commandes selon SLACK (Marge); • dj-pj • Prendre les commandes une à la fois et les assigner sur la machine ayant le plus petit temps total d’opération. • Exemples • Ne garantit pas l’optimalité
Exemple pour Réduire T Heuristique 1: EDD Tmoy = 0.6 Tmax = 4 3 commandes en retard Heuristique 2: SLACK Tmoy = 1.3, Tmax = 5, 6 commandes en retard
Machines Parallèles :Min le nombre de commandes en retard • Etape 1: Appliquer l’algorithme EDD pour les machines parallèles. • Étape 2: Pour chaque machine, appliquer l’algorithme de Moore pour minimiser le nombre de commandes en retard sur une machine. • Exemple… • Ne garantit pas l’optimalité
Complexité des problèmes • Procédures simples qui donnent la solution optimale pour certains problèmes. • Solutions approximatives pour d’autres… • Peut-on trouver la solution optimale? • Oui mais… • Deux classes de Problèmes • P vs NP • ‘faciles’ vs ‘difficiles’ • P: On peut trouver une solution dans un temps polynomial • Exemple: règle de Johnson. • NP: Algorithme avec temps de résolution exponentiel • Exemple: énumération complète ou implicite. • Note : P est un sous-ensemble de la classe NP • Donc la plupart des problèmes avec plus de 3 machines font partie de la classe NP .
Complexité des algorithmes et des temps de résolution Une opération = 1 micro seconde
Types d’environnements Atelier Mono-gamme Atelier Multi-gamme
Pour une mesure de performance régulière, il suffit de considérer les calendriers avec la même séquence sur les machines M1 et M2 Preuve: Faire k avant i sur m1 Ne change pas les temps de début sur m2 Il suffit de considérer les calendriers ayant les mêmes séquences sur les machines Mm-1 et Mm afin de minimiser Fmax Preuve: Faire i avant k sur Mm ne change pas Fmax Donc, en pratique, on considère des séquences de permutation seulement dans les ateliers monogammes. Atelier Monogamme(Flowshop)
Atelier MonogammeAvec encours • Séquence de permutation • J1, …, Jn • Formules pour calcul des temps de finition • Pij – temps d’opération de la commande j sur la machine i • Temps de finition de la première commande sur la machine 1 • Eq (1); • Temps de finition de la kième commande sur la machine 1: • Eq (2) • Temps de finition de la kième commande sur la machine i • Eq (3)
Représentation réseau Cmax = Plus long chemin dans le réseau Exemple
Atelier MonogammePas d’encours • Pas d’encours entre les machines • Blocage des machines • Représentation réseau • Ajouter les nœuds (0,Jk), k=1,...,n • Les autres nœuds (i, Jk), i=1,…,m, k=1,…,n • le nœud (i, Jk), représente le temps de départ de la commande k sur la machine i • Le nœud (i, Jk) a deux arcs sortant: • (i+1, Jk) avec comme valeur Pi+1,Jk • (i-1, Jk+1) avec une valeur de Zero • Note : Un problème avec encours limité peut être converti en un problème avec zéro encours. • Ajouter le nombre de machines nécessaires avec des temps d’opération de zéro.
Soit Dij le temps où la commande j quitte la machine i Di,J1 = h=1i Ph,J1 Di,Jk = max(Di-1,Jk + Pi,Jk , Di+1,Jk-1 ) Dm,Jk = Dm-1,Jk + Pm,Jk Atelier MonogammePas d’encours
Atelier MonogammePas d’encours • Cas spécial 1: • Deux machines sans encours • Peut être converti en un cas spécial du problème de commis voyageur • Cas Spécial 2: • Pas de temps d’attente entre deux opérations de la même commande • Solution… • Plus tard
Atelier Multigamme J1 J2 J3 J4 • Représentation d’une séquence réalisable: • Fixer les arcs sur les machines de sorte qu’il n’y ait pas de cycle