Minimisation de la somme des retards dans un jobshop flexible Nozha ZRIBI, Imed KACEM, Abdelkader EL KAMEL, Pierre BORNE LAGIS Ecole Centrale de Lille, BP 48, 5965 Villeneuve d Ascq Cedex, France ISTIT Université de Technologie de Troyes, BP 6, Troyes Cedex, France {nozha.zribi, abdelkader.elkamel, p.borne@ec-lille.fr, imed.kacem@utt.fr 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é. 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 [7], [8], [], [7], []. 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 [], [], [8]. 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 [7]. 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 [4]. 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 []. 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 Fig.. Exemple d un P F 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 J j représente un nombre n j d opérations ordonnées (contraintes de précédence). Chaque opération i d un job J j (notée O i,j ) peut être réalisée sur n importe quelle machine disponible. La durée d exécution p i,j,k de l opération O i,j dépend de la machine M k 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 : P F JSP = {p i,j,k IN j N; i n j ; k M,Un exemple est représenté dans Fig.. Dans ce problème, nous faisons les hypothèses suivantes : Toutes les machines sont disponibles à la date t = ; Chaque job J j peut commencer à la date t = r j ; 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 d i ; 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 O i,j sur une machine M k. 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. Fig.. Exemple d un P JSP 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 [4], 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 : Crit = α Cr + ( α) Cr () tel que : Cr est la charge de la machine critique : Cr = max k {W k, W k est la charge de la machine k, Cr est la charge totale de toutes les machines Cr = k {W k, α est une variable appartenant à l intervalle [, ]. 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. Considérons le coefficient A j = d j r j P j (P j 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 (d j 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 A j (A j et P j 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. Elle consiste à se déplacer de solution en solution en s interdisant de revenir en une configuration déjà rencontrée []. A. Paramètres de la recherche Tabou A. La solution initiale La solution initiale est calculée en utilisant l approche par localisation A. 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. Restriction Tabou 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é à. 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 O i,j, on définit M k comme la machine sur laquelle O i,j va être exécutée (M k est la machine affectée à O i,j pendant la première phase du programme), et une durée opératoire p i,j égale à p i,jk. Pour chaque problème de job-shop, on peut associer un tableau D des durées opératoires tel que : P JSP = {p i,j IN, j N; i n j ;. Un exemple est representé dans Fig.. 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 suivante :
T T... T z T NT (,, ) (,, ) (i, j, k) (,, 4) Fig.. Codage proposé = { = { { ( ) = = + = + = + Fig. 4. Procédure d ordonnancement T = N j= max(c j d j, ) () j avec C j 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 [],[6] et les problèmes à machines parallèles []. Certains travaux ont concerné la minimisation de ce critère dans un atelier de type job-shop [9], [], []. Les règles de priorité ont été fréquemment utilisées pour résoudre ce problème [5]. D autres approches heuristiques basées sur la recherche Tabou ont été récemment développées []. Le problème d ordonnancement dans un job-shop est NP-difficile [4], []. 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], [], [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 séquencement par une liste de NT opérations (NT = j=n j= n j). Chaque chromosome représente une liste de N T cellules. Chaque cellule représente une tâche T z ( z NT ) codée de la manière suivante : (i, j, k). Le calcul de la date de début et de la date de fin (t i,j, tf i,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.). 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 M k et la date de disponibilité DJ[j] du job J j. 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 :. EDD (earliest due date), la tâche la plus prioritaire est celle qui appartient au job dont la date due est la plus petite.. EOD (earliest operation due date), on trie les tâches selon les d ij croissants. La date due de chaque opération est calculée grâce à la formule (). Le calcul de la date de début et de la date de fin (t i,j, tf i,j ) se fait en appliquant la procédure décrite dans Fig.4 selon l ordre de chaque tâche.. On trie les tâches selon les (d j n j i=k p ij) 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 (t i,j, tf i,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 : d j = max{d j, t + n j i=k p ij, 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 : d kj = max{d j, t + p kj, 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 : On associe à chaque opération une date due d ij qui dépend de la durée de l opération et de la marge totale d un job : { p dij = d i,j + (d j r j ) ij n j, d j = r j k= p kj () i n j, 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 [6]. D. Paramètres Les probabilités de mutation et de croisement sont fixées d une manière classique (P crossover =.95, P mutation =.5). 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 5x45x7 et une population de 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 () pour la phase de reproduction.
critère,5,5 Fig. 5. Courbe de convergence avec P c =.95 et P m =.5 critère,5,5 Fig. 6. Courbe de convergence avec P c =.6 et P m =.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,, 5,,, 5, le nombre d opérations par job varie dans {,,, 4, le nombre de machines varie dans [4, ]. Les dureés opératoires sont dans [, ]. Les dates de disponibilité des jobs sont choisies entre et i,j p ij, p ij é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é à.5 pour donner plus d importance au critère Cr (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 Cr (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 p ij, elle se calcule selon la formule (4). critère,5,5 Fig. 7. Courbe de convergence avec P c =.8 et P m =. Fig. 8. Performances des heuristiques Le facteur de retard β est généré selon la formule (5) permettant de générer des dates dues étroites[]. d j n j = r j + β p ij ) (4) β = N M i= +.5 (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 S, S, S, S 4 et S 5 : S : EDD, S : EOD, S : MDD, S 4 : MOD, S 5 : trie selon (d j n j i=k p ij). 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 MDD de la manière suivante : A GA MDD = T MDD T GA T MDD, avec T MDD, T GA 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 % à % mais aussi que l amélioration est d autant plus importante que la valeur de la somme des retards est petite. VI. Conclusion 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. [4] 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. [5] J.J. Kanet and J.C Hayya. Priority dispatching with operation dues datas in job-shop. Journal of operations Management, :67-65,98. [6] KM. Lee and T. Yama Kawa. 996. A Genetic algorithm for general machine scheduling problems. Journal of knowlege-based Electronics Systems, :6-66, 996 Australia. [7] M. Mastrolilli and L.M. Gambardella. Effective neighborhood functions for the flexible job-shop problem. Journal of Scheduling, () :-,. [8] 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 999. [9] M. Pinedo and M. Singer. A Shifting Bottleneck heuristic for minimizing the total wheighted tardiness in job-shop. Naval Research Logistics, 46() :-7, 999. [] A. Vinicius and R. Cintia. Tabu search for minimizing total tardiness in a job-shop. International journal of Production Economics,6 :-4,. [] F. Yalaoui and C. Chu. Parallel machine scheduling to minimize total tardiness. International journal of Production Economics,76 :65-79,. [] N. Zribi, I. Kacem and A. EL Kamel. Hierarchical Optimization for the Flexible Job-shops Scheduling Problem. INCOM 4, Brazil 5-7 April 4. Références [] P. Baptiste, J. Carlier and A. Jouglet. Minimiser la somme des retards sur une machine avec dates de disponibilité. MOSIM, 5-7 avril, Troyes (France). [] 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. [] P. Brandimarte. Routing and scheduling in flexible job-shop by tabu search. Annals of Operations Research, 4 :57-8, 99. [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), 9(4-5) :49-44, 995. [6] C. Chu. A Branch and Bound algorithm to minimize total tardiness with different release dates. Naval Research Logistics, 9 :65-8, 99. [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, 7 :8-6, 997. [8] L. Davis. Handbook of Genetic Algorithms, Van Nostrand Reinhold, New-York, 99, USA. [9] J. Du and J.Y. -T. Leung. Minimizing Total Tardiness on one Machine is NP-Hard. Mathematics of Operations Research, 5 : 48-495, 99. [] M.R. Garey and D.S. Johnson. Computers and intractability : A guide to theory of NP-Completeness. W.H. Freeman and Co., New York. [] F. Glover, E. Taillard. E and D. De werre, A users guide to Tabou search. Vol 4, P -8, 99 [] 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, :87-99, 99. [] I. Hurink, B. Jurisch and M. Thole. Tabu search for the job-shop scheduling problem with multi-purpose machines. OR-Spektrum, 5 :5-5, 994.