GÉNÉRATION DE PLAN PAR EXPLORATION SELECTIVE D UN ARBRE DE COUVERT Mercedes E. Narciso, Miquel A. Piera Dept Computer Science, Univ. Autonoma de Barcelona Bellaterra, 0819 Barcelona, Espagne mnarciso (miquel)@sunaut.uab.es Jean-Claude Hennet LAAS-CNRS, 7 avenue du Colonel Roche, 1077 Toulouse Cedex 4, France 1. INTRODUCTION Cette étude entre dans le cadre d un projet visant à concevoir un logiciel capable de générer automatiquement un plan de fabrication pour une cellule de fabrication flexible [Narciso 01, Narciso et Piera 01]. L outil de base de ce projet est la représentation du fonctionnement de la cellule par un réseau de Petri Coloré [Jensen 97], qui fournit une description compacte et claire du système et permet son analyse grâce à l arbre de couverture associé. Au-delà du rôle analytique qu il peut jouer, l arbre de couverture est utilisé dans cette étude comme outil de synthèse pour la construction du plan de fabrication. Ce plan est construit par sélection progressive des meilleurs branchements lors du parcours de l arbre à partir de l état initial du système. Une telle procédure, qui s appuie sur des mécanismes locaux de sélection, ne vise pas l optimalité globale mais plutôt la garantie d un comportement performant dès lors que la fonction d évaluation locale anticipe convenablement l évolution ultérieure du système dans sa globalité. En outre, le suivi en temps réel de l état de l atelier procure à la méthode proposée un avantage important en terme d aide à la décision pour la replanification et l ordonnancement réactif, grâce à la facilité de réinitialisation de l algorithme. Dans l optique de validation de l algorithme ainsi construit, nous allons appliquer cette méthodologie d optimisation locale sur deux exemples déjà traités dans la littérature : un exemple d optimisation multi-étapes par lots [Hennet 01], et un problème classique d ordonnancement dans un job-shop [Fisher et Thompson ].. EXPLORATION ET SELECTION DANS L ARBRE DE COUVERTURE Les réseaux de Petri Colorés de Jensen [Jensen 97] présentent de nombreux avantages pour la description du fonctionnement des ateliers flexibles. En particulier, ils fournissent une représentation concise des composants de l atelier (machines, stocks, organes de transport), tout en mettant en évidence le parallélisme, les processus multi-ressources, les choix, le partage de ressources. Les conditions associées aux tirs des transitions répertorient tous les cas possibles d exécution liés aux différentes couleurs des jetons mis en jeu. Le déroulement de tous les enchaînements de possibilités génère l arbre de couverture du réseau de Petri Coloré. D une part, l exhaustivité de cette représentation permet une analyse complète de système. Mais d autre part, l introduction d une logique d exploration et de sélection dans l arbre de couverture permet de contrôler le système et d optimiser son fonctionnement. On peut noter que l arbre de couverture d un réseau de Petri Coloré croît de façon exponentielle avec le nombre d événements susceptibles de se produire dans des séquences alternatives. Les limites de temps de calcul conduisent donc, pour des ateliers de taille raisonnable, à limiter l exploration de cet arbre, par exemple en limitant le nombre de niveaux de retour arrière (ou backtracking)..1 Exploration de l arbre de couverture L algorithme d exploration démarre à partir d un marquage initial. Il combine ensuite la simulation et la sélection. Supposons tous d abord que l on explore l arbre de couverture de façon exhaustive. Alors, à partir du marquage initial, toutes les transitions sensibilisées sont répertoriées, chacune d entre elles est sélectionnée, et de nouveaux états sont générés. Si le marquage associé à l un des états obtenus a déjà été généré dans l exploration, la date d obtention de ce marquage est fixée à sa plus petite valeur. Cette procédure est répétée pour tous les marquages générés par le marquage d origine. Tous les nouveaux marquages sont conservés et pour chacun d entre eux, on explore les transitions sensibilisées qui en découlent, de façon itérative. Quand un des marquages générés correspond à l état final recherché, les caractéristiques du chemin conduisant à cet état sont gardées en mémoire. On peut ainsi théoriquement, par une recherche de plus court chemin dans l arbre de couverture, déterminer la trajectoire optimale du système vers l état final recherché, à partir de son état initial. Il est clair cependant que les limitations de temps de calcul et de mémoire interdisent le plus souvent une exploration complète de l arbre de couverture. La procédure de sélection proposée consiste à limiter la profondeur d exploration à un niveau noté niveau I. Ainsi, on explore tous les sous-arbres jusqu au niveau I à
partir du marquage initial. Tous les sommets du niveau courant sont explorés jusqu à la profondeur I, les n meilleurs sommets sont sélectionnés comme racines de n sous-arbres de couverture jusqu au niveau I. Cette procédure, schématisée sur la Figure 1, est appliquée itérativement jusqu à la première obtention de l état final recherché. l n= Racine Chemin rejeté Chemin sélectionné Nouvelle racine Solutions Fig.1 Procédure d exploration partielle Les performances de l algorithme dépendent d une part de la fonction d évaluation utilisée pour sélectionner les n meilleurs sommets, d autre part des paramètres de réglage de l algorithme, I et n.. Sélection et convergence Dans l industrie, les impératifs de la production correspondent généralement à la recherche d un compromis entre les coûts et les délais. Les coûts des «en-cours» (ou WIP, «Work In Process») sont parmi les coûts les plus fréquemment considérés. En terme de modélisation par réseau de Petri, les coûts d en-cours peuvent être facilement calculés à partir des marquages des places qui correspondent à des stocks. C est ainsi que l on peut associer par exemple un coût c ij à la couleur j en place i et calculer le coût total associé à un marquage P = (( P ij )) par simple sommation sur les N places et les M couleurs : N M CP = cij Pij. (1) i= 1j= 1 Le problème de minimisation des délais pour un état initial et un état final donné correspond à la recherche dans le graphe de couverture du plus court chemin entre les deux sommets correspondant à ces états. La prise en compte conjointe (dans l ordre dit «lexicographique») des deux critères est donc possible, le critère de coût servant pour sélectionner les n meilleurs sommets courants, et le critère de durée permettant la mise à jour des plus courts chemins entre paires de sommets. Selon ce schéma bi-critère, une condition essentielle de convergence rapide de l algorithme vers l état final recherché est le faible coût (1) associé à cet état. Pour les problèmes d exécution de job, cette condition est automatiquement remplie si l on affecte des coûts nuls aux produits fabriqués : c ij = 0 pour i place terminale relative au produit représenté par la couleur j.. EVALUATION ET VALIDATION Pour évaluer l adéquation de la technique proposée aux objectifs de performance recherchés, deux exemples d application ont été choisis : L ordonnancement par lots de production pour un système manufacturier multi-étapes [Hennet 01]. L ordonnancement dans un job-shop à Jobs Machines (x) [Fisher et Thompson ] La démarche méthodologique suivie consiste tout d abord en la représentation du système par Réseau de Petri Coloré (RPC), en spécifiant pour chaque transition les conditions (pré) et les actions (post) associées au tir pour chaque couleur. Une fonction d évaluation de performances est ensuite construite à partir de l objectif global recherché. En outre, un critère temporel est sélectionné. C est généralement la minimisation du
«makespan», qui correspond à la recherche du chemin le plus court entre l état initial du système, décrit par la liste des jobs à exécuter, et l état final, dans lequel les jobs sont tous terminés..1. Planification de la production pour des systèmes manufacturiers multi-étapes L étude décrite dans la référence [Hennet 01] formule un problème d ordonnancement cyclique par lots pour des fabrications multi-étapes dans un job-shop. Ce type de fabrication concerne en particulier les systèmes de production qui fabriquent des familles de produits à partir de certains produits intermédiaires communs, à travers différentes étapes de traitement et d assemblage. La nature cyclique du problème posé repose sur des taux de demandes constants en produits finis, et sur l hypothèse d un cycle commun pour tous les produits (produits finis, intermédiaires ou primaires). La durée du cycle est une inconnue du problème. C est elle qui fixe les tailles de lots de produits. Chaque job générique consiste en la production d un lot de produit fini d un type donné et des lots de composants qui le constituent, de façon à satisfaire la demande en permanence. Ainsi, le problème d ordonnancement générique ressemble à un problème de job shop dans lequel certaines contraintes de précédence entre tâches sont modifiées par la possibilité d utiliser des stocks intermédiaires. La figure représente le graphe «gozinto» qui décrit les recettes de fabrication des produits. Le problème d ordonnancement générique relatif à ce graphe est constitué de jobs. Le premier job : générique, associé au produit final D, est composé des opérations génériques, 4,, 9, 10. Le second job générique est associé au produit final E. Il est composé des opérations génériques 1,, 5, 7, 8. Sur ce graphe, les arcs correspondent à des relations de précédence à condition que les opérations concernées par le même lot de fabrication soient fabriquées pendant la même période, c est à dire, en termes d ordonnancement cyclique, que leur «hauteur» soit identique. Le relâchement d une contrainte de précédence se produit lorsque la tâche source de l arc a une hauteur supérieure à celle de la tâche de destination de l arc. Produit A sur la ressource 10 9 8 7 Produit B 5 Ressource 1 Produit C 4 Produit D Ressource 1 Produit E 1 Fig. : Graphe d une structure de production multi-étapes. Les tables 1, et décrivent la sémantique du modèle de réseau de Petri Coloré qui permet de simuler son fonctionnement après avoir arbitré les choix qu il contient grâce à l algorithme d optimisation. La fonction d évaluation découle du critère à minimiser, qui correspond au coût des en-cours, ce coût s annulant lorsque toutes les opérations ont été exécutées. Dans cette étude, on a choisi de minimiser aussi la durée totale de déroulement du plan générique, c est à dire le makespan sur la période générique. Notons que le critère utilisé dans [Hennet 01] était différent puisqu il s agissait dans le cadre de l étude initiale de minimiser uniquement le coût moyen de stockage de tous les produits par unité de temps. Il s agit donc dans cet exemple, pour valider notre approche, de vérifier que le makespan obtenu par notre approche n est pas supérieur à celui qui correspond aux résultats de [Hennet 01].
Couleur Définition Description Couleur Mp int 8,10,0,0,,48 Quantité de produit agrégé pour chaque type de produit. X1 int 7..10 Identificateur de l opération générique pour fabriquer le produit agrégé A. Y1 int 0..1 Indique si le produit agrégé A a été fabriqué par l opération générique x1 (0 s il n a pas été fabriqué, 1 s il a été fabriqué). X int 5, Identificateur de l'opération générique pour fabriquer le produit agrégé B. Y int 0..1 Indique si le produit agrégé B a été fabriqué par l opération générique x (0 s il n a pas été fabriqué, 1 s il a été fabriqué). X int,4 Identificateur de l opération générique pour C. Y int 0..1 Indique si le produit agrégé C a été fabriqué par l opération générique x (0 s il n a pas été fabriqué, 1 s il a été fabriqué). X4 int 1, Identificateur de l'opération générique pour fabriquer le produit agrégé final. Y4 int 0..1 Indique si le produit agrégé A a été fabriqué par l opération générique x4 (0 s il n a pas été fabriqué, 1 s il a été fabriqué). Pa Produit X1,Y1 Information sur le produit A Pb Produit X,Y Information sur le produit B Pc Produit X,Y Information sur le produit C Pf Produit X4,Y4 Information sur le produit final Ma int 1.. Identificateur de ressource (machines) Table 1: Ensemble de couleurs du réseau de Petri Place Couleur Description P Mp Représente l information associée a la quantité de matière première requise pour fabriquer le produit final. A Pa Représente l information associée au produit A: identification de l opération générique par laquelle se fabrique (7..10) et si le produit est fabriqué (1) ou non (0). B Pb Représente l information associée au produit B: identification de l opération générique par laquelle se fabrique (5,) et si le produit est fabriqué (1) ou non (0). C Pc Représente l information associée au produit C: identification de l opération générique par laquelle se fabrique (,4) et si le produit est fabriqué (1) ou non (0). F Pf Représente l information associée au produit final: identification de l opération générique par laquelle se fabrique (1,) et si le produit est fabriqué (1) ou non (0). M Ma Représente l information associée à la machine ou ressource de traitement: ressource 1 (1), ressource (), ressource (). Table : Ensemble des places du réseau de Petri Transition Description T 1 Fabrication de produit agrégé A. T Fabrication de produit agrégé B. T Fabrication de produit agrégé C. T 4 Fabrication de produit agrégé final. Table : Ensemble des transitions du réseau de Petri 4
1 (8)+1 (10)+1 (0)+1 (0) +1 () +1 (48) 4 1 (7,0)+1 (8,0)+1 (9,0)+1 (10,0) 1 (8)+1 (10)+1 (0)+1 (0) +1 () +1 (48) 1 (5,0)+1 (,0) P A P B 1 (x0) 1 (x1,0) 1 (x1,1) @ + [x0*10] 1 (x0) 1 (x,0) 1 (x,1) @ + [x0*5] T 1 [ x0=8 x1=7 ] [ x0= x1=8 ] [ x0=0 x1=9 ] [ x0=10 x1=10] T [ x0=48 x=5 ] [ x0=0 x= ] 1 () 1 () 1 () 1 () M M 1 (1)+1 ()+1 () Fig. : Sous-système de fabrication du produit A. Fig. 4: Sous-système de fabrication du produit B. A B A C 1 (x1,1) 1 (x,1) 1 (x1,1) 1 (x,1) 1 (x1,0) T 1 () 1 () 1 (x,0) 1 (x,0) [x1=8 x=5 x=] [x1=9 x= x=4] 1 (x,1) @ + [if x= then 10 else 100] 1 (x1,0) T 4 1 (1) 1 (1) 1 (x4,0) 1 (x,0) [x1=7 x= x4=1] [x1=10 x=4 x4=] 1 (x4,1) @ + [if x4=1 then 80 else 100] M C M F 1 (,0)+1 (4,0) Fig. 5: Sous-système de fabrication du produit C. Fig. : Sous-système de fabrication des produits finis Le schéma de production obtenu par l algorithme est représenté par le diagramme de Gantt de la figure 7. La valeur obtenue pour le makespan est de 800, alors que le makespan de la solution dans [Hennet 01] était de 80. Ce résultat semble donc confirmer la validité de la méthode proposée. Ressource 7 8 9 10 Ressource 5 4 Ressource 1 1 0 100 00 00 400 500 00 700 800 80 150 90 50 80 t Fig. 7: Diagramme de Gantt du schéma de production obtenu. 5
.. Planification de la production pour un problème jobs machines ( ) Le problème d ordonnancement de systèmes de production du type job-shop, définit le séquencement du traitement d un ensemble de jobs J sur un ensemble de machines M. L affectation des opérations sur les machines est pré-définie, et chaque machine ne peut exécuter qu une opération à la fois. L objectif est de minimiser la durée totale C max (ou makespan) requise pour traiter tous les jobs. Un problème standard d ordonnancement de job-shop, dû à [Fisher et Thompson ] a été choisi dans [Dauzère- Péres et Lasserre 94] pour tester les différents algorithmes d ordonnancement qu ils étudient. Le problème considéré est d obtenir l ordonnancement optimal d un système de production du type job-shop à machines et jobs. Le makespan optimal de ce problème est connu. Il vaut 55 unités de temps. Pour ce problème, les tables 4, 5, et décrivent la sémantique du modèle RPC conçu pour évaluer le plan proposé pour ce type de système de production. La figure 7 montre le RPC qui représente l exécution d un job sur une machine. Couleur Definition Description Couleur J int 1.. Identificateur de Job. M int 0..5 Identificateur de la machine sur laquelle s exécute chaque opération d un job. T int 1..10 Indique le temps que consomme une opération d un Job sur chaque machine. O int 1..7 Identificateur de l ordre de l opération pour chaque job. Ma int 0..5 Identificateur de machine. Jo Produit J*M*T*O Information sur chaque opération d un job. Table 4 : Places du réseau de Petri Place Couleur Description Job Jo Représente l information associée à chaque opération d un Job: identification (1..), machine où doit s exécuter l opération (0..5), temps que consomme l opération (1..10) et ordre d exécution de l opération dans le Job (1..) Maq Ma Représente l information associée aux machines sur lesquelles peuvent s exécuter les différentes opérations de chaque job (0..5) Table 5 Places du réseau de Petri Transition T 1 Description Exécution d une opération d un job Table : Transitions du réseau de Petri Le réseau de Petri coloré représentant l exécution des opérations sur les machines est donc très simple. Il est représenté sur la figure 8. L application de l algorithme de chemin minimal dans le graphe de couverture, entre l état initial, où tous les jobs sont à exécuter et l état final, où tous les jobs sont terminés, permet de trouver l ordonnancement représenté par le diagramme de Gantt de la figure 9. On constate que la durée totale d exécution de cet ordonnancement est de 55 unités de temps, ce qui correspond à l optimum connu de ce problème. Ce résultat confirme de façon expérimentale la qualité de la procédure heuristique d exploration sélective de l arbre de couverture.
1'(1,,1,1)+1'(,1,8,1)+1'(,,5,1)+1'(4,1,5,1)+1'(5,,9,1)+1'(,1,,1) T 1 F 1 (m) Job 1 (j,m,t,o) 1 (m) [ o < 7 ] F = if j=1 & o=1 then 1'(1,0,,) else if j=1 & o= then 1'(1,1,,) else if j=1 & o= then 1'(1,,7,4) else if j=1 & o=4 then 1'(1,5,,5) else if j=1 & o=5 then 1'(1,4,,) else if j=1 & o= then 1'(1,0,0,7) else if j= & o=1 then 1'(,,5,) else if j= & o= then 1'(,4,10,) else if j= & o= then 1'(,5,10,4) else if j= & o=4 then 1'(,0,10,5) else if j= & o=5 then 1'(,,4,) else if j= & o= then 1'(,0,0,7) else if j= & o=1 then 1'(,,4,) else if j= & o= then 1'(,5,8,) else if j= & o= then 1'(,0,9,4) else if j= & o=4 then 1'(,1,1,5) else if j= & o=5 then 1'(,4,7,) else if j= & o= then 1'(,0,0,7) else if j=4 & o=1 then 1'(4,0,5,) else if j=4 & o= then 1'(4,,5,) else if j=4 & o= then 1'(4,,,4) else if j=4 & o=4 then 1'(4,4,8,5) else if j=4 & o=5 then 1'(4,5,9,) else if j=4 & o= then 1'(4,0,0,7) else if j=5 & o=1 then 1'(5,1,,) else if j=5 & o= then 1'(5,4,5,) else if j=5 & o= then 1'(5,5,4,4) else if j=5 & o=4 then 1'(5,0,,5) else if j=5 & o=5 then 1'(5,,1,) else if j=5 & o= then 1'(5,0,0,7) else if j= & o=1 then 1'(,,,) else if j= & o= then 1'(,5,9,) else if j= & o= then 1'(,0,10,4) else if j= & o=4 then 1'(,4,4,5) else if j= & o=5 then 1'(,,1,) else if j= & o= then 1'(,0,0,7); Maq 1'(0)+1'(1)+1'()+1'()+1'(4)+1'(5) Fig. 8: Exécution d une opération d un job sur une machine Machine 5 Machine 4 Machine Machine 8 1 5 4 8 5 4 1 4 1 5 1 5 4 Machine 1 Machine 0 0 4 1 5 1 4 5 10 15 0 5 0 5 40 45 5 t 50 55 8 9 11 1 14 117 1 7 1 78 44 49 554 Fig.9 : Diagramme de Gantt de la solution du problème x 7
4 CONCLUSIONS L approche de génération de plan par exploration d un arbre de couverture permet de passer facilement de la phase de modélisation de toutes les trajectoires possibles d un système à la phase de génération de trajectoires performantes relativement à un critère d optimisation donnée. Dans cet article, cette approche a été appliquée à des problèmes d ordonnancement correspondant à l exécution d un carnet de commandes. Les possibilités d application de cette technique sont nombreuses. En particulier, l extension actuellement étudiée de cette application est la génération automatique de plans de fabrication pour une cellule de fabrication flexible. REFERENCES [Fisher et Thompson ] Fisher H. et Thompson G.L., Probabilistic Learning Combinations of Local Job-Shop Scheduling Rules Industrial Scheduling, coordonné par J.F. Muth et G.L. Thomson, Prentice Wood 19, pp. 5-1. [Dauzère-Péres et Lasserre 94] Dauzère-Péres, S., Lasserre, J-B., An Integrated Approach in Production Planning and Scheduling Lecture Notes and Mathematical Systems, Springer-Verlag, Berlin, 1994. [Hennet 01] Hennet, J-C., A Common Cycle Approach to Lot-Scheduling in Multistage Manufacturing Systems Production Planning & Control, 001, Vol.1, No. 4, pp. -71. [Jensen 97] Jensen, K., Coloured Petri Nets: Basics Concepts, Analysis Methods and Practical Use, Vol. 1,,. Springer-Verlag. Berlin, 1997. [Narciso 01] Narciso, M. E., Entorno de Planificación de la Producción basado en el Recorrido del Arbol de Cobertura d una Red de Petri Couleureada, Trabajo de Investigación de Tercer Ciclo de Informática UAB, Barcelona, España, Sep. 001. [Narciso et Piera 01] Narciso, M. E., Piera, M. A., Coloured Petri Net Simulator. A Generic Tool for Production Planning In Proc. of 8th IEEE International Conference on Emerging Technologies and Factory Automation, Antibes Oct. 001, pp. 19-147. 8