pdf 293.7 ko - Revue e-STA
Transcription
pdf 293.7 ko - Revue e-STA
Minimisation de la somme des retards dans un jobshop flexible Nozha ZRIBI1 , Imed KACEM2 , Abdelkader EL KAMEL1 , Pierre BORNE1 1 LAGIS Ecole Centrale de Lille, BP 48, 59651 Villeneuve d’Ascq Cedex, France 2 ISTIT Université de Technologie de Troyes, BP 2060, 10010 Troyes Cedex, France {nozha.zribi, abdelkader.elkamel, p.borne}@ec-lille.fr, [email protected] Résumé— Dans cet article nous considérons le problème d’ordonnancement d’un job-shop flexible avec dates de disponibilité et dates dues. Nous proposons une méthode heuristique en deux phases pour la minimisation de la somme des retards. La première consiste à affecter les tâches selon une heuristique de la littérature et à améliorer le résultat avec une recherche Tabou. La deuxième étape permet d’optimiser les solutions données par les heuristiques classiques (EDD, MOD, LRPT...) par le biais d’un algorithme évolutionniste. Mots-clés— Job-shop flexible, affectation, ordonnancement, somme des retards, recherche Tabou, algorithme génétique, règles de priorité. Fig. 1. I. Introduction Le problème des job-shops flexibles est une extension du problème classique connu sous le nom de job shop. Il s’agit de planifier et d’organiser des tâches à réaliser sur un ensemble de machines selon des durées d’exécution variables [17], [18], [13], [7], [3]. Dans la littérature, la plupart des approches cherchent à optimiser le critère du makespan (la date de fin d’exécution de la dernière tâche). Elles considèrent deux étapes dans la résolution d’un tel problème [3], [13], [18]. La première consiste à construire une affectation pour les différentes tâches sur les machines adéquates. La deuxième est l’ordonnancement des tâches et la détermination des dates de début d’exécution en tenant compte de différentes contraintes conjonctives (précédence) et disjonctives (capacités des machines). Néanmoins, Dauzère-Pérès et ses co-auteurs ont construit une approche intégrée qui traite conjointement l’affectation et le séquencement [7]. Mastrolilli a également repris cette approche intégrée pour améliorer ces résultats [17]. Récemment, Kacem a proposé une étude de plusieurs modèles de résolution et des bornes inférieures pour quelques critères pour l’évaluation des solutions [14]. Dans nos travaux précédents, nous avons mis en place une approche hiérarchique pour résoudre le problème du job-shop flexible afin de minimiser le makespan [22]. Dans cet article, nous proposons d’adapter cette méthode pour la minimisation de la somme des retards dans un jobshop flexible. Cet article est organisé comme suit. Après la formulation du problème traité, nous présentons dans Exemple d’un PF JSP la section III l’algorithme proposé pour la résolution du sous-problème d’affectation. La quatrième section décrit l’approche évolutionniste proposée pour résoudre le sousproblème de séquencement. Des résultats numériques sont ensuite présentés, et nous terminons cet article par quelques conclusions sur ce travail de recherche. II. Formulation du problème du job-shop flexible avec dates de disponibilité et dates dues imposées Le problème est d’organiser la réalisation de N jobs sur M machines. Chaque job Jj représente un nombre nj d’opérations ordonnées (contraintes de précédence). Chaque opération i d’un job Jj (notée Oi,j ) peut être réalisée sur n’importe quelle machine disponible. La durée d’exécution pi,j,k de l’opération Oi,j dépend de la machine Mk affectée à cette opération. Pour chaque problème de job-shop flexible, on peut associer un tableau des durées opératoires tel que : PF JSP = {pi,j,k ∈ IN ∗ |1 ≤ j ≤ N ; 1 ≤ i ≤ nj ; 1 ≤ k ≤ M },Un exemple est représenté dans Fig.1. Dans ce problème, nous faisons les hypothèses suivantes : ◦ Toutes les machines sont disponibles à la date t = 0; ◦ Chaque job Jj peut commencer à la date t = rj ; ◦ Pour chaque job, l’ordre des opérations est fixé dès le départ et ne peut être modifié (contraintes de précédences dans la gamme) ; ◦ Chaque job possède une date échue di ; ◦ Une machine ne peut exécuter qu’une seule opération à la fois ; ◦ La préemption n’est pas autorisée. Le problème considéré présente deux sous-problèmes. Le premier est l’affectation de chaque opération Oi,j sur une machine Mk . Le deuxième est la détermination d’un ordonnancement qui minimise la somme totale des retards. Par la suite nous proposons un algorithme en deux phases pour la résolution du problème d’ordonnancement d’un job-shop flexible avec minimisation de la somme des retards. III. Le problème d’affectation Il existe différents critères associés à l’affectation des opérations sur les machines. Par exemple, on doit équilibrer la charge des différentes machines, minimiser la charge totale de toutes les machines, minimiser la charge de la machine critique (la machine la plus chargée)... Dans [14], l’auteur a proposé une heuristique appelée approche par localisation permettant d’affecter les opérations sur les machines tout en équilibrant la charge des différentes machines. En effet, cette heuristique affecte les opérations d’une manière itérative tout en tenant compte des durées opératoires et des charges des machines sur lesquelles nous avons deja affecté des opérations. On se propose d’améliorer la solution donnée par l’approche par localisation par une recherche Tabou qui minimise le critère suivant : Fig. 2. Exemple d’un PJSP Elle consiste à se déplacer de solution en solution en s’interdisant de revenir en une configuration déjà rencontrée [11]. A. Paramètres de la recherche Tabou A.1 La solution initiale La solution initiale est calculée en utilisant l’approche par localisation A.2 Mouvement Le mouvement consiste à réaffecter une opération à différentes machines. Toutes les possibilités sont testées et le meilleur mouvement minimisant le critère Crit est sélectionné. A.3 Restriction Tabou Crit = α × Cr2 + (1 − α) × Cr3 (1) tel que : ◦ Cr2 est la charge de la machine critique : Cr2 = maxk {Wk }, ◦ Wk est la charge de la machine k, ◦ CrP 3 est la charge totale de toutes les machines Cr3 = k {Wk }, ◦ α est une variable appartenant à l’intervalle [0, 1]. Les deux critères choisis ont beaucoup d’influence sur la valeur de la somme des retards et aussi sur la difficulté du problème. d −r Considérons le coefficient Aj = jPj j (Pj est la durée totale du job j). Ce coefficient mesure la sévérité de la contrainte de la date d’échéance imposée (dj est indépendant de l’affectation) du job j et par conséquent la difficulté du problème. La charge totale des machines peut être interprétée aussi comme la durée totale de tous les jobs. Il est clair que ce critère affecte la valeur des Aj (Aj et Pj sont inversement proportionnelles) et ainsi de la valeur du retard de chaque job. Il est évident aussi que la répartition des charges sur les différentes machines ainsi que la charge de la machine critique affectent la difficulté du problème et la somme des retards. La recherche Tabou est une méthode itérative générale d’optimisation combinatoire, elle est très performante sur un nombre considérable de problèmes d’ordonnancement. La liste Tabou est constituée des paires {op, m o}, où op désigne l’opération initialement affectée à la machine m o et ayant été réaffectée à une autre. A.4 Critère d’aspiration Dans cette application, nous avons utilisé le critère d’aspiration le plus connu et le plus utilisé dans la littérature qui est le critère d’aspiration globale. Ce critère permet à un mouvement Tabou d’être candidat pour la sélection, s’il conduit à une nouvelle meilleure solution. A.5 Critère d’arrêt L’algorithme s’arrête si un nombre donné d’itérations est atteint. Le nombre d’itérations est fixé à 100. Après avoir résolu le sous problème d’affectation, le problème du job-shop flexible se réduit à un problème de job shop classique. ◦ A chaque opération Oi,j , on définit Mk comme la machine sur laquelle Oi,j va être exécutée (Mk est la machine affectée à Oi,j pendant la première phase du programme), et une durée opératoire pi,j égale à pi,jk . ◦ Pour chaque problème de job-shop, on peut associer un tableau D des durées opératoires tel que : PJSP = {pi,j ∈ IN∗ , 1 ≤ j ≤ N ; 1 ≤ i ≤ nj ; }. Un exemple est representé dans Fig.2. Dans la section suivante nous proposons un algorithme génétique permettant d’optimiser le séquencement des opérations. Le critère choisi est la minimisation de la somme totale des retards exprimé par la formule 2 suivante : T1 (1, 2, 3) T2 (2, 2, 3) ... Fig. 3. • • } ∈{ = ∈{ } } ( = TN T (3, 2, 4) Codage proposé ∈{ = • Tz (i, j, k) ) = • = • = Fig. 4. + + + Procédure d’ordonnancement T = N X j=1 max(Cj − dj , 0) j (2) avec Cj la date de fin d’exécution du job j. IV. Algorithme génétique pour la minimisation de la somme des retards dans un job-shop De nombreux travaux dans la littérature ont été dédiés au problème d’ordonnancement avec minimisation de la somme des retards notamment pour les problèmes à une machine [1],[6] et les problèmes à machines parallèles [21]. Certains travaux ont concerné la minimisation de ce critère dans un atelier de type job-shop [19], [20], [12]. Les règles de priorité ont été fréquemment utilisées pour résoudre ce problème [15]. D’autres approches heuristiques basées sur la recherche Tabou ont été récemment développées [20]. Le problème d’ordonnancement dans un job-shop est NP-difficile [4], [10]. Les problèmes de minimisation de la somme des retards sur une machine est aussi NP-difficile [9]. Nous proposons alors dans ce qui suit une metaheuristique basée sur les algorithmes génétiques [8], [2], [5] pour la minimisation de la somme des retards dans un job-shop. A. Codage : Liste des opérations Nous choisissons d’utiliser un codage linéaire simple. Il consiste à représenter le P séquencement par une liste j=N de N T opérations (N T = j=1 nj ). Chaque chromosome représente une liste de N T cellules. Chaque cellule représente une tâche Tz (1 ≤ z ≤ N T ) codée de la manière suivante : (i, j, k). Le calcul de la date de début et de la date de fin (ti,j , tfi,j ) se fait en appliquant la procédure décrite dans Fig.4 selon l’ordre z de chaque tâche dans la liste (Fig.3). Cette procédure permet de calculer les dates de début d’exécution de la tâche (i, j) en prenant en compte la date de disponibilité DM [k] de la machine Mk et la date de disponibilité DJ[j] du job Jj . B. Solutions initiales Différentes règles de priorité adaptées au problème de minimisation de la somme des retards ont été utilisées pour créer la population initiale : 1. EDD (earliest due date), la tâche la plus prioritaire est celle qui appartient au job dont la date due est la plus petite. 2. EOD (earliest operation due date), on trie les tâches selon les dij croissants. La date due de chaque opération est calculée grâce à la formule (3). Le calcul de la date de début et de la date de fin (ti,j , tfi,j ) se fait en appliquant la procédure décrite dans Fig.4 selon l’ordre de chaque tâche. Pnj 3. On trie les tâches selon les (dj − i=k pij ) croissants, avec k l’indice de l’opération considérée. Le calcul de la date de début et de la date de fin (ti,j , tfi,j ) se fait en appliquant la procédure décrite dans Fig.4 selon l’ordre de chaque tâche. 4. MDD (modified due date) : cette règle combine la règle EDD et LRPT (the least remaining processing time). La date due modifiée d’un job est définie de la manière suivante : Pnj 0 dj = max{dj , t + i=k pij } , avec k l’indice de l’opération du job j en attente pour exécution. 5. MOD (modified operation due date) : la date due de chaque opération est modifiée de la manière suivante : 0 dkj = max{dj , t + pkj } , avec k l’indice de l’opération à ordonnancer. A cette série de solutions créées à partir des règles de priorité nous ajoutons d’autres solutions réalisables construites de manière aléatoire pour compléter la population initiale. Définition 1: On associe à chaque opération une date due dij qui dépend de la durée de l’opération et de la marge totale d’un job : ( p dij = di−1,j + (dj − rj ) Pnj ij , d0j = rj k=1 pkj (3) ∀ 1 ≤ i ≤ nj , ∀ 1 ≤ j ≤ N. C. Opérateurs Dans notre cas, nous avons à respecter les contraintes de précédence entre les opérations d’un job. Nous avons donc proposé d’utiliser quelques opérateurs développés par Lee et Kawa permettant de respecter les contraintes de précédence : l’opérateur POX (Precedence Preserving order based crossover) pour le croisement et l’opérateur PPS (Precedence Preserving Shift mutation) pour la mutation [16]. D. Paramètres ◦ Les probabilités de mutation et de croisement sont fixées d’une manière classique (Pcrossover = 0.95, Pmutation = 0.05). En effet, ce choix a été motivé par les résultats donnés par quelques simulations préliminaires qui ont montré que ces grandeurs doivent être judicieusement choisies. Les figures 5, 6 et 7 montrent des tests de réglage de ces probabilités sur un exemple de taille 15x45x7 et une population de 200 individus. De telles simulations prouvent qu’un taux élevé de mutation conduit à une difficulté de convergence traduite par l’obtention d’un extrémum local. Par contre, un choix de taux de mutation faible permet de réaliser un bon compromis entre exploration et optimisation. ◦ Le mécanisme de sélection donne la priorité aux meilleurs individus selon leur évaluation définie par l’équation (2) pour la phase de reproduction. 3 critère 2,5 2 1,5 1 0,5 Fig. 5. Générations 30 0 20 0 10 0 0 0 Courbe de convergence avec Pc = 0.95 et Pm = 0.05 3 2,5 critère 2 1,5 1 0,5 Fig. 8. Générations Fig. 6. Performances des heuristiques 30 0 20 0 10 0 0 0 ◦ Le facteur de retard β est généré selon la formule (5) permettant de générer des dates dues étroites[12]. Courbe de convergence avec Pc = 0.6 et Pm = 0.4 ◦ Critères d’arrêt • le nombre maximal d’itérations est atteint, • aucun job n’est en retard. V. Résultats expérimentaux Les instances utilisées pour tester la méthode sont créées d’une manière aléatoire. Les paramètres sont générés de la manière suivante : ◦ Le nombre de jobs N varie dans {5, 10, 15, 20, 30, 50}, le nombre d’opérations par job varie dans {1, 2, 3, 4}, le nombre de machines varie dans [4, 10]. ◦ Les dureés opératoires sont dans [1, 10]. ◦ LesPdates de disponibilité des jobs sont choisies entre 1 et i,j pij , pij étant la moyenne des durées opératoires d’une opération sur les différentes machines. ◦ Le paramètre α de la recherche Tabou est fixé à 0.25 pour donner plus d’importance au critère Cr3 (charge totale de toutes les machines), en effet les simulations montrent que ce dernier critère a plus d’influence sur la somme des retards que Cr2 (charge de la machine critique). ◦ La date due de chaque job dépend du facteur de retard β et de la moyenne des durées opératoires d’une opération sur les différentes machines pij , elle se calcule selon la formule (4). dj = rj + β nj X pij ) (4) i=1 β= N ∗M + 0.5 100 (5) Les simulations montrent que la règle de priorité MDD donne dans la plupart des cas le meilleur résultat. En effet, le tableau 8 montre une comparaison entre cinq stratégies S1 , S2 , S3 , S4 et S5 : ◦ S1 : EDD, ◦ S2 : EOD, ◦ S3 : MDD, ◦ S4 : MOD, Pnj pij ). ◦ S5 : trie selon (dj − i=k On se propose alors de comparer le résultat donné par l’algorithme génétique avec celui donné par la MDD (Tableau 9). On calcule le taux d’amélioration A − GA − M DD de −TGA 100, la manière suivante : A − GA − M DD = TMTDD M DD avec TM DD , TGA représentant respectivement la somme des retards calculée à partir de la règle de priorité MDD et la somme des retards donnée par l’algorithme génétique. Le tableau 9 montre que le taux d’amélioration varie de 10% à 100% mais aussi que l’amélioration est d’autant plus importante que la valeur de la somme des retards est petite. VI. Conclusion 3 2,5 critère 2 1,5 1 0,5 Fig. 7. Générations 30 0 20 0 10 0 0 0 Courbe de convergence avec Pc = 0.8 et Pm = 0.2 Dans cet article nous avons traité le problème d’ordonnancement dans un job-shop flexible. Il s’agit d’une extension du problème classique du job-shop. Dans une telle extension, nous avons considéré la propriété flexible des ressources. Nous nous sommes intéressés au critère de la somme des retards. Notre approche a été basée sur une approche hériarchique : une étape d’affectation suivie d’une étape de séquencement. Pour assurer l’efficacité du résultat, nous avons fait coopérer plusieurs techniques Fig. 9. Performance de l’algorithme génétique d’optimisation (heuristiques, recherche Tabou, algorithmes génétiques, etc...). Les résultats préliminaires sont encourageants et prometteurs. Les principales directions futures vont être la comparaison de notre méthode avec d’autres approches et aussi le développement d’une borne inférieure pour la somme des retards pour mieux évaluer les solutions. Références [1] P. Baptiste, J. Carlier and A. Jouglet. Minimiser la somme des retards sur une machine avec dates de disponibilité. MOSIM’01, 25-27 avril 2001, Troyes (France). [2] W. Banzhaf, P. Nordin, R.E. Keller and F.D. Francone . Genetic programming An introduction on the Automatic evolution of computer programs and its application. Morgan Kaufmann publishers, Inc. San Francisco, California, USA. [3] P. Brandimarte. Routing and scheduling in flexible job-shop by tabu search. Annals of Operations Research, 41 :157-183, 1993. [4] J. Carlier and P. Chretienne. Problèmes d’Ordonnancement : Modélisation / Complexité / Algorithmes. Editions Masson, FRANCE. [5] C. Caux, H. Pierreval and MC. Portmann. Les algorithmes génétiques et leur application aux problèmes d’ordonnancement, Kevie A.P.I.I (Automatique Productique et Informatique Industrielle), 29(4-5) :409-443, 1995. [6] C. Chu. A Branch and Bound algorithm to minimize total tardiness with different release dates. Naval Research Logistics, 39 :265-283, 1992. [7] S. Dauzère-Pérès and J. Paulli. An integrated approach for modelling and solving the general multiprocessor job-shop scheduling problem using tabu search. Annals of Operational Research, 70 :281-306, 1997. [8] L. Davis. Handbook of Genetic Algorithms, Van Nostrand Reinhold, New-York, 1990, USA. [9] J. Du and J.Y. -T. Leung. Minimizing Total Tardiness on one Machine is NP-Hard. Mathematics of Operations Research, 15 : 483-495, 1990. [10] M.R. Garey and D.S. Johnson. Computers and intractability : A guide to theory of NP-Completeness. W.H. Freeman and Co., New York. [11] F. Glover, E. Taillard. E and D. De werre, A users guide to Tabou search. Vol 41, P 3-28, 1993 [12] Z. He. , T. Yang and D.E. Deal. A multiple-pass heuristic rule for job-shop scheduling with due dates. International journal of Production Research,31 :187-199, 1993. [13] I. Hurink, B. Jurisch and M. Thole. Tabu search for the job-shop scheduling problem with multi-purpose machines. OR-Spektrum, 15 :205-215, 1994. [14] I. Kacem. Ordonnancement multicritère des job-shops flexibles : formulation, bornes inférieures et approche évolutionniste coopérative, Thèse de doctorat, Ecole Centrale de Lille, 6 janvier 2003. [15] J.J. Kanet and J.C Hayya. Priority dispatching with operation dues datas in job-shop. Journal of operations Management, 2 :167-165,1982. [16] KM. Lee and T. Yama Kawa. 1996. A Genetic algorithm for general machine scheduling problems . Journal of knowlege-Based Electronics Systems, 2 :60-66, 1996 Australia. [17] M. Mastrolilli and L.M. Gambardella. Effective neighborhood functions for the flexible job-shop problem. Journal of Scheduling, 3(1) :3-20, 2000. [18] K. Mesghouni. Application des algorithmes évolutionnistes dans les problèmes d’optimisation en ordonnancement de production. hèse de doctorat, Ecole Centrale de Lille, 5 janvier 1999. [19] M. Pinedo and M. Singer. A Shifting Bottleneck heuristic for minimizing the total wheighted tardiness in job-shop. Naval Research Logistics, 46(1) :1-17, 1999. [20] A. Vinicius and R. Cintia. Tabu search for minimizing total tardiness in a job-shop. International journal of Production Economics,63 :131-140, 2000. [21] F. Yalaoui and C. Chu. Parallel machine scheduling to minimize total tardiness. International journal of Production Economics,76 :265-279, 2002. [22] N. Zribi, I. Kacem and A. EL Kamel. Hierarchical Optimization for the Flexible Job-shops Scheduling Problem. INCOM’04, Brazil 5-7 April 2004.