Page de garde présentation Obtention des cycles de production pour les cellules robotisées Agustin Pecorari Fabien Mangione Bernard Penz
Ateliers de traitement de surfaces Galvanoplastie Microprocesseurs... rail porteur Cuve 0 (de chargement) Cuve 1 Cuve 2 Cuve 3 Cuve m-1 Cuve m Cuve m+1 (de déchargement)
Problèmes spécifiques au HSP Marges sur les durées de trempe borne minimum: temps nécessaire au traitement borne maximum: éviter les dégradations éventuelles et les coûts élevés Disponibilité du robot Disponibilité des cuves
Etat de l’art Hoist Scheduling Problem Heuristiques: [Yih 94] Branch and Bound: [Ng 96] PLC: [Baptiste et al 96] Flow Shop robotisé Complexité: [Crama et van de Klundert 96] Cas particuliers: [Finke et Brauner 96], [Agnetis 00]
Notations m nombre de cuves temps de déplacement de la cuve i à i+1 li temps de trempe minimal dans la cuve i ui temps de trempe maximal dans la cuve i pi temps de trempe effectif dans la cuve i i ou Ai activité i Cuve i Cuve i+1
Objectif Comment obtenir l'ensemble des cycles de production. Quels sont les cycles de production optimaux?
Cycles de production Définition d’un k-cycle: Cycle dont toutes les activités sont répétées exactement k fois Exemple : Différence entre cycle 0213, 2031 et 02132031. 0 2 1 3 0 2 1 3 2 0 3 1 2 0 3 1 - 0 2 1 3 2 0 3 1 0 2 8δ 4δ 4δ
Représentation Mouvements à vide Temps de process minimal Mouvement en charge (activité 1) Temps de process minimal
Calcul du temps de cycle Décomposer en deux parties : Temps de déplacement du robot Algorithme polynomial : O(k(m+1)) : Pour chaque activité (Ai) : Si activité suivante (Aj) supérieure : tps = (j-i)δ Si activité suivante (Aj) inférieure : tps = (i-j+2)δ On se positionne au niveau du robot
Calcul du temps de cycle Temps d'attente t1=max(0;p2-4δ) t2=max(0;p1-4δ-t1) t3=max(0;p3-4δ-t2) t5 t3 t1 t4 t1 t6 t2
Programme linéaire obtenu t1=max(0;p2-4δ) t2=max(0;p1-4δ-t1) t3=max(0;p3-4δ-t2) t4=max(0;p2-4δ-t3) t5=max(0;p3-6δ) t6=max(0;p1-6δ-t5) t1 ≥ p2-4δ t2 + t1 ≥ p1- 4δ t3 + t2 ≥ p3- 4δ t4 + t3 ≥ p2- 4δ t5 ≥ p3- 4δ t6 + t5 ≥ p1- 6δ min Σti
Problèmes Besoin de plusieurs cycles avant de revenir à la position initiale Période transitoire Pas de solution t5 t3 t1 t4 t7 t6 t2
Obtention des cycles Comment obtenir les cycles réalisables Connaissance du nombre de cycles pour k et m fixés (Brauner)
Graphe d’état Cuve 0 Cuve 1 Cuve 2 Cuve 3 Cuve 4 1,1,1 1,1,0 1,0,1 0,1,1 1,0,0 0,0,1 0,0,0 A3 A2 A0 A1 A0 0,1,0 A2
Line-Graph A0 A1 A3 A2 A0 A2 A3 1,1,0 1,0,0 A3 A0 A2 A1 A3 A0 1,1,1 1,0,1 0,1,0 0,0,0 A1 A2 A0 A3 A0 A1 A3 A2 A3 A0 0,1,1 0,0,1 A0 A2 A3
Intérêts du Line Graph A tout cycle dans le line-graph équivaut un cycle de production réalisable et inversement A3 A2 A3 A0 A1 A0 A0 A1 A0 Cycle A0, A2, A1, A3 A3 A2 A3
Pourquoi le line-graph Pourquoi utiliser un line-graph plutôt que le graphe d’état ? 0213, 2031 et 02132031. 1,1,0 1,0,0 A3 A2 A1 A3 A0 1,1,1 1,0,1 0,1,0 0,0,0 A1 A2 A0 A3 A0 0,1,1 0,0,1 A3 A2 A3 A0 A1 A0 A0 A1 A0 A3 A2 A3
Algorithmes Recherche dans une arborescence avec backtrack Algorithme fortement exponentiel Suppression des sommets inaccessibles 1100 1110 1000 1010 1101 0100 1111 0110 1001 0000 1011 0010 0101 0111 0001 0011
Amélioration des algorithmes Algorithme supprimant les arcs déjà étudiés Algorithme avec distance de retour k-cycles : k(m+1) activités Calcul des distances retour k-cycles : k(m+1) activités : connaissance du nb d’activités a réaliser
Résultats 2,9 107 3,56 . 107 1,18 . 108 5 1400 4952 28 2 Arcs étudiés Nombre de cycles obtenus 2,9 107 3,56 . 107 1,18 . 108 5 1400 4952 28 2 Arcs étudiés 800 4600 4200 Tps cal cul 3940 11440 4 26 40 3 Nombre optimal Distanc es retour Suppres sion sommet s Algo brut m
Conclusions et perspectives Calcul des temps de cycles par programmation linéaire Impossibilité de faire ce calcul avant d’avoir construit tout le cycle Méthode permettant d’obtenir les cycles de production Combinaison des deux travaux : cycle optimal Algorithmes exponentiels Ajout de contraintes sur les temps de process Suppression d’arcs dans le graphe