Une application des algorithmes génétiques à l ordonnancement d atelier VACHER Jean-Philippe - GALINHO Thierry - MAMMERI Zoubir Laboratoire d Informatique du Havre Université du Havre 25, Rue Philippe Lebon F-76600 Le Havre {vacher, galinho, mammeri}@fst.univ-lehavre.fr RESUME : L ordonnancement d atelier est un problème complexe de la gestion de production. Cet article présente une application des Algorithmes Génétiques (AG) pour la résolution des problèmes d ordonnancement de type NxM Job-Shop. Ce type d algorithmes est comparé à d autres méthodes aléatoires telles que le gradient (descente) ou le recuit simulé en utilisant un algorithme de placement par lot. C est-à-dire que l on place les lots un par un et la prise en compte du lot suivant n est possible qu après placement de toutes les opérations du lot précédent. Le critère de comparaison retenu est le retard cumulé de tous les lots par rapport à leur date au plus tard. Les retards sont calculés sur une base d exemples réalisée à partir d un générateur aléatoire. ABSTRACT : Scheduling is a complex problem in production control. This paper presents an application of Genetic Algorithms (GA) for solving NxM Job-Shop scheduling problems. This type of algorithms is compared to other random methods such as gradient or simulated annealing, using a job placing algorithm, i.e.,$ the schedule is done job by job and the following job is considered only after placing all the operations of the previous job. The criteria of comparison $ (supprimer retained) is the $accumulated delay of all jobs with regard to their latest date. The delays are computed using a set of examples yielded by a random generator. Mots-clés : Algorithmes Génétiques, Ordonnancement, Placement, Job-Shop. Keywords : Genetic algorithms, Scheduling, Placing, Job-Shop. 1. Introduction Le problème général qui consiste à parcourir un espace pour y trouver un point remarquable, un minimum ou un maximum la plupart du temps, est souvent le problème à résoudre en informatique. Dans notre cas, nous cherchons à minimiser le
retard d un ordonnancement de jobs pour des problèmes de type job-shop. Différentes méthodes ont été étudiées. Parmi celles-ci, citons les techniques: stochastiques : aléatoire pure, recuit simulé, algorithmes génétiques (AG) [VAC 96][ZOO 94],$ exhaustives et énumératives.$ Certaines méthodes utilisent directement la fonction objectif pour estimer la direction à suivre dans le parcours de l espace de recherche. Ces techniques fonctionnent bien pour les fonctions possédant un seul optimum mais elles sont, généralement, bloquées sur des optima locaux quand elles résolvent des fonctions comportant plusieurs optima. La méthode exhaustive teste tous les points de l espace de recherche, ce qui la réserve aux problèmes de petites tailles. Pour chaque point, on mesure sa qualité (le retard total) comme solution au problème. Une fonction, dite objectif, évalue les points. Le processus renvoie le ou les points ayant obtenu la meilleure évaluation. L examen de certaines régions peut être évité en utilisant des heuristiques telles que l algorithme branch-and-bound [VAC 96][CHE 95]. Les méthodes stochastiques ont été $implantées plus récemment ;$ elles sont basées sur un «parcours» stochastique de l espace de recherche, en partant d un point fixé et l observation de son voisinage, poursuivant la recherche jusqu'à ce que l algorithme n évolue plus ou qu un critère d arrêt soit atteint. Ces méthodes se basent sur la simulation de systèmes physiques ou biologiques tels que le recuit simulé ou l évolution des espèces. Les AG sont basés sur l étude de l adaptation dans les milieux naturels et sur la simulation de ce processus. Nous avons appliqué certaines de ces méthodes au problème d ordonnancement d atelier de type NxM Job-Shop. L objectif est de minimiser la somme des retards, critère que nous avons retenu. $L algorithme de construction d un ordonnancement que nous utilisons est la méthode du placement par lots consiste qui à prendre les lots ou jobs les uns après les autres et à placer toutes leurs opérations avant de considérer les opérations du lot suivant. Lors du placement des opérations du lot, nous regardons les machines sur lesquelles elles peuvent être réalisées, en choisissant $celles donnant le meilleur résultat en plaçant l opération au mieux, c est-à-dire dans un emplacement où la machine est libre et où l on respecte les contraintes de précédence. En fonction de l ordre des lots, lors du placement, nous obtenons des solutions radicalement différentes. La méthode du placement par lots est à opposer à la simulation classique pour $laquelle l élément de base est $(l doit rester collé) l opération. Cette technique a été choisie d une part pour des raisons de temps de calcul et d'autre part en définissant un vecteur correspondant à un ordre de lots pouvant être utilisé par les algorithmes génétiques comme chromosomes. La taille de ces vecteurs détermine le nombre de possibilités et par conséquent le temps de calcul. Dans la suite de cet article, nous présenterons tout d abord le modèle générique des algorithmes génétiques. Nous adaptons ensuite ce modèle pour l utiliser dans notre algorithme de placement pour l ordonnancement. Enfin, nous comparons les résultats obtenus avec nos AG par rapport à d autres méthodes d optimisation. 2. Les Algorithmes Génétiques (AG).
2.1. Principes des AG. Dans cette section, nous donnons une définition générique des algorithmes génétiques basée sur une (et une seule) population [GOL 91]. Cette définition entend recouvrir les différentes variantes. Le but n est pas de proposer un principe formel des algorithmes génétiques, mais de préciser les caractéristiques que l on peut considérer comme essentielles pour qualifier de génétique un algorithme. D une manière générale, un AG simule l évolution d une population d individus. Cette évolution est stochastique et se déroule en temps discret. Chaque individu évolue dans un «environnement» auquel il est plus ou moins adapté. La mesure du degré d adaptation d un individu est explicite et indique sa capacité à être le père d individus. A chaque génération, une méthode de sélection forme la population de la génération suivante. Un individu est défini par son «génotype». Ce génotype est évalué par la fonction objectif pour obtenir son «phénotype». Celui-ci indique l aptitude de l individu à survivre dans son environnement et à se reproduire. Le génotype d un individu est constitué d un ensemble de gènes qui peuvent prendre un certain nombre de valeurs dénommées «allèles». Généralement, l ensemble des allèles est fixé et n évolue pas. Les individus les mieux adaptés tendent à fournir la descendance la plus nombreuse. Néanmoins, le nombre total d enfants $engendrés est égal au nombre total de parents. 2.2. Utilisation des AG dans l ordonnancement. La gestion de production regroupe un ensemble de problèmes liés à la production tels que la gestion des données, la planification et le suivi de production [GAL 94]. L ordonnancement, thème central de cette étude, est lié aux autres fonctions de la gestion de production et aux aspects inhérents au bon fonctionnement de l atelier. La gamme de fabrication indique les ressources à utiliser, les temps opératoires, etc. Dans notre cas, elle induit des relations de précédence entre les opérations. Les opérations élémentaires sont liées par un ordre total, non nécessairement identique pour tous les travaux, ce qui nous situe dans le cadre des problèmes de type jobshop, et plus précisément de type N M Job-Shop où N est le nombre de jobs/lots et M le nombre de machines. Ce problème est NP-Complet. La méthode retenue pour la construction des ordonnancements est la placement par lot. On obtient des solutions différentes en modifiant l ordre de placement des lots. Par conséquent un vecteur de N entiers représentant le rang de placement des lots caractérise un ordonnancement particulier. Ce vecteur peut être considéré comme un individu. Les AG faisant appel à une population d individus à optimiser, cette représentation est particulièrement adaptée à l ordonnancement. La fonction objectif, pour notre étude [VAC 96], est la minimisation du retard cumulé. 3. Notre démarche d application des AG
Le génotype d un individu est constitué d un ensemble de gènes que nous noterons γ i avec 1 i N, ou N dénote le nombre de gènes des individus. On 1 1, γ i E. notera E = [ N, ] [, N ] La fonction objectif, φ, correspondant au retard cumulé des lots : φ : I R + χ a φ( χ) La valeur rendue par φ sera dénommée la «performance» de l individu. La probabilité ϕ, pour un individu d être cloné, sera dénommée «fitness». ϕ + : I R χ a ( ) ϕ χ ϕ indique, pour un individu donné de la population à l instant t, la probabilité qu il fournisse des individus dans la population suivante à la génération t+1. Définition 1 : La performance moyenne de la population est la moyenne sur l ensemble de la population I, à une génération t de la population I t : χ I t Ψ t Φ( χ) Ψ ($l indice t a disparu, pourquoi?) est le nombre d individus de la population I t. Un AG part d une population initiale d individus générée aléatoirement. Ceux-ci représentent des solutions au problème que l on désire résoudre. La population évolue alors, effectuant à chaque génération le cycle reproduction/sélection. Dans la version originellement décrite par J. Holland [HOL 75], les gènes sont des bits, et donc les allèles 0 et 1. Dans notre cas, les individus χ sont des chaînes d entiers de longueur λ = N fixée et identique pour tous les individus. La cardinalité de la population Ψ est constante au cours du temps. Un allèle γ i correspond au rang du lot i. γ i est positif si les opérations sont placées en marche avant et négatif lors d un placement en marche arrière. Ψ est constant, en effet on engendre autant d enfants qu il y a de parents à chaque génération. La méthode de la roulette (méthode de clonage), a été $implantée. Elle correspond à la fonction de «fitness» ϕ. La méthode de la roulette assure que le nombre d enfants d un individu est proportionnel à sa performance. Le principe est d attribuer à chaque individu une section de surface proportionnelle à sa performance sur une roulette de casino. Un des problèmes majeures avec cette technique de clonage est la convergence prématurée vers un optimum local. Lorsqu un individu obtient une performance très supérieure à celle des autres représentants, les générations suivantes risquent de se
réduire à ses descendants, à quelques individus près. Si cet individu représente un optimum local, la chance de trouver un meilleur optimum est faible. Suite à l opération de clonage, les opérateurs génétiques : crossover et mutation manipulent les individus enfants. L idée est de mimer la reproduction naturelle sexuée.le génotype d un enfant est obtenu par recombinaison des génotypes des deux parents, où des modifications stochastiques (mutations) peuvent apparaître. Dans notre étude, l opérateur de mutation agit sur un individu et consiste à choisir un ou plusieurs gènes au hasard, puis à modifier leurs allèles (en prenant l opposé). Cette opération nous permet d introduire le changement de sens de placement. Le crossover, opérateur le plus important, consiste à prendre deux individus et à combiner leurs gènes. Il agit sur des paires d individus. Plusieurs types de crossover ont été mis en place tels que le crossover n-point ( n Ν ), uniforme et ceux issus de la représentation chemin comme le PMX, CX et OX [GOL 91][DAV 85]. Ce sont ces derniers que nous avons principalement utilisés, en effet ils fournissent des individus toujours viables après croisement ce qui accélère les temps de calcul. La dernière opération, dite de sélection, permet de construire la population de la génération suivante à partir des enfants et des parents de la génération courante. Pour générer la nouvelle population, notre fonction objectif est la suivante : φ : I R ( ) χ a retard i La sélection des survivants étant stochastique, le meilleur individu d une génération peut ne pas survivre. Aussi, nous avons introduit une notion de stratégie élitiste pour être sûr que le meilleur individu d une population soit gardé d une génération à la suivante. Dans notre cas, ses clones remplacent les plus mauvais individus de la population. N i=1 4. Les résultats 4.1. Les résultats obtenus par les AG. Après avoir présenté notre démarche d application des AG (en particulier représentation chemin)$, nous avons mené une étude comparative pour obtenir un ensemble de paramètres les plus adéquats aux AG afin de pouvoir comparer, par la suite, ceux-ci avec d autres méthodes telles que le recuit simulé. Afin d établir une base de comparaisons entre les différentes méthodes, nous avons implanté un générateur aléatoire [VAC 96] de problèmes ayant en entrée des paramètres tels que le nombre de machines, le nombre de lots, le nombre moyen d opérations par lot, des charges moyennes par machine, etc. Une autre des $caractéristiques de notre générateur aléatoire est de fournir par construction une solution à retard cumulé nul. Parmi les stratégies de crossover, il nous a fallu déterminer le meilleur opérateur. Pour cela, nous avons utilisé des exemples comportant entre 10 et 20 lots. Sur les tests effectués, il s est avéré que certains opérateurs n étaient pas adéquats pour les
problèmes d ordonnancement. Les opérateurs issus de la représentation chemin tels que le PMX, le CX et l OX (respectivement Partially Mapped, Cycle et Order Crossover) [MIC 94] présentent l avantage de fournir des individus toujours viables. C est-à-dire que l on ne trouve pas dans le génotype d un individu des gènes ayant une même valeur d allèle en valeur absolue. Les opérateurs n-points et l opérateur uniforme, quant à eux, nécessitent des algorithmes de réparations pour fournir des individus viables. Les AG nécessitant un temps de calcul important, pour les problèmes de grande dimension, les opérateurs n-points et l opérateur uniforme supposent un coût plus important par rapport aux autres crossing-over. Ensuite, il nous a fallu déterminer les autres paramètres utilisables par les AG à savoir le taux de mutation et $ (le ou de?) de crossover à utiliser. Etant donné la nature stochastique des AG, le résultat de l exécution d une seule simulation n est pas suffisant. Pour un même jeu de paramètres et une fonction objectif donnée, deux exécutions peuvent donner des résultats différents. Aussi, pour chacune des simulations discutées ici, nous avons exécuté plusieurs (20) expériences avec le même jeu de paramètres. Suite à ces essais, nous avons pris la moyenne des optima pour déterminer la meilleure configuration. Nous avons constaté que les meilleures solutions, sur notre base d exemples, étaient obtenues en prenant un taux de mutation de 0.1 et un taux de crossing-over compris entre 0.7 et 1. Ces paramètres sont assez proches des paramètres standard de «génésis» (respectivement 0.001 et 0.8). Dans ces conditions les individus convergent vers une bonne approximation de la solution ou vers un des optima locaux très proches. Le taux de mutation est plus important car c est à ce niveau que nos AG introduisent la diversité de sens de placement. Après avoir fixé les différents paramètres, nous avons utilisé les AG pour la recherche des optima correspond au retard minimal total pour une base plus grande. Afin de pouvoir établir une comparaison, nous avons réalisé une série de 20000 placements (2000 générations pour une taille de population de 10 individus). Globalement, les AG fournissent de bons résultats en moyenne pour les petites configurations de notre base d exemples. De plus, pour les configurations à 10 lots comportant 3 et 5 opérations, cette technique atteint les différents optima dans tous les cas. Pour les configurations comportant 20 et 50 lots, les AG n atteignent pas l optimum global mais des optima locaux. Vu le nombre important de solutions pour les problèmes de grande dimension, les AG n ont pas le temps d explorer complètement l espace de recherche. Nous avons limité de façon trop significative le nombre de placements. 4.2 Les résultats obtenus par les autres méthodes. Les autres méthodes d optimisation testées fournissent des résultats proches des optima globaux mais souvent au détriment d un temps de calcul important. Avec la méthode exhaustive, en raison du nombre de solutions, dans le cas où le retard cumulé partiel est supérieur à l optimum courant, nous stoppons l algorithme pour diminuer le temps de calcul. Etant donné les temps de calcul, nous n avons pu obtenir que les optima (accessibles par la méthode de placement) pour les configurations à 10 lots. La solution n est jamais unique et dans certains cas, l optimum peut être obtenu pour un grand nombre d ordonnancement de jobs. La méthode aléatoire pure consiste à choisir une position de manière aléatoire dans
notre vecteur donnant l ordre des lots et à prendre éventuellement l opposé du rang. Cette technique nécessite de nombreux essais ce qui explique ses piètres résultats quand on se limite à des temps de calcul raisonnables. La méthode du recuit simulé fournit de bons résultats en s approchant d un l optimum global dans certains cas en s y trouvant proche. Nous remarquons que, pour de grandes configurations, les résultats ne sont plus $probants. Cela peut s expliquer par le fait que la décroissance en température que nous utilisons (T=0.95T) doit être une fonction du nombre de lots. Une décroissance logarithmique, à la place d une décroissance exponentielle, assurerait une convergence mais au prix d un coût $de calcul important. 5. Etude comparative Comme nous pouvons le constater sur le tableau 1 ($mettre tableau 1 et 2, au lieu de tableau de la figure 1 et 2), les algorithmes génétiques fournissent de bons résultats par rapport aux autres méthodes car les AG permettent d explorer une surface plus importante de l espace des solutions à moindre coût. Ceci permet de déterminer ainsi la ou les solutions optimales pour les petites configurations de façon plus fréquente que les autres méthodes. Du fait de la fonction objectif, les algorithmes génétiques atteignent plus rapidement la solution en comparant la complexité de l algorithme (cf. $tableau 2) par rapport aux autres méthodes telles que l aléatoire total ou le gradient surtout si ces méthodes restent bloquées sur un optimum local. Nb. De lots 10 20 50 Nb. opérations 3 5 10 3 5 10 3 5 10 AG 20 70 306 119 420 1013 842 2287 5110 Recuit simulé 20 91 322 98 1067 1117 1121 2895 6674 Gradient 36 140 370 124 388 957 924 2394 5300 Aléatoire 47 134 352 158 519 1131 1251 3144 6831 Itérative 20 70 249 $Tableau 1. Retards moyens obtenus par les différentes techniques. Nb. De lots 10 20 50 Nb. opérations 3 5 10 3 5 10 3 5 10 AG 54 124 584 520 700 2700 960 4340 7260 Recuit simulé 14 60 310 66 620 4260 1760 Gradient 12 30 274 38 160 1380 210 2030 6720 Aléatoire 16 51 244 52 270 1310 550 3320 16000 $Tableau 2. Temps moyens obtenus par les différentes techniques pour $élaborer un $résultat. Pour $le temps de calcul, en moyenne, la méthode du gradient est la plus rapide mais au détriment de résultats médiocres. La méthode du recuit simulé fournit des résultats légèrement moins bons que les algorithmes génétiques mais cette différence sur le retard total cumulé n est pas significative. Il faut savoir que dans certains cas,
la méthode du recuit simulé peut être considérée comme un cas particulier des AG. Sur les petites configurations de notre base d exemples, les résultats (cf. $tableau 1) sont meilleures que ceux obtenus par la méthode du gradient (descente) car le recuit simulé calcule des $probabilités [VAC 96][ZOO 94] à chaque placement et accepte des dégradations du $résultat pour sortir d un optimum local contrairement à la méthode du gradient qui va se laisser enfermer dans un optimum local.comme nous pouvons le voir sur $le tableau 1 donnant la valeur moyenne du retard cumulé, les méthodes traditionnelles donnent globalement de bons résultats mais les algorithmes génétiques fournissent les meilleures résultats mais avec un coût de calcul plus important. Il apparaît que pour les configurations à 50 lots, le gradient produit de meilleurs résultats que le recuit simulé. Ceci peut s expliquer par le fait que la décroissance en température doit être une fonction du nombre de lots. Une décroissance logarithmique aurait assuré une convergence par rapport à une décroissance exponentielle mais au prix d un temps de calcul plus long. Toutefois, le but principal de l ordonnancement est de fournir un résultat satisfaisant en un temps raisonnable pour une utilisation industrielle. Il nous faut donc faire un compromis entre le coût CPU et la qualité de la solution au problème.
6. Conclusion La représentation de problèmes de type Job-Shop se fait ($se fait par qui et pour quel but?) à l aide de configurations, générées aléatoirement, décrivant la structure d un atelier et celle des lots d une façon proche de la réalité. Différentes méthodes de recherche d optima ont été implantées afin de pouvoir comparer et valider les résultats obtenus avec les AG. Parmi ces méthodes, celles du gradient et du recuit simulé donnent de meilleurs résultats que des méthodes totalement aléatoires. Basés sur un processus d évolution naturelle, les Algorithmes Génétiques appartiennent aux techniques d optimisation se basant sur l exploration aléatoire de l espace des solutions. $Ils cherchent l optimum à partir d une population de points et non à partir d un seul point. L opérateur de crossover a une place importante et la mutation ne joue qu un rôle secondaire par rapport à ce dernier mais son influence sur l exploration de l espace des solutions n est pas à négliger. Parmi les représentations possibles du problème, nous avons choisi la représentation chemin car elle correspond à une représentation naturelle et les opérateurs qui y sont définis donnent les meilleurs résultats. De plus, le codage employé est en décimal et diffère des codages classiques car chaque gène possède un signe caractérisant le sens de placement du lot correspondant. L opérateur le plus performant qui a été trouvé après plusieurs tests est le crossover CX. $Les tests ont aussi permis de déterminer les autres paramètres pour obtenir des résultats intéressants. Les algorithmes génétiques sont particulièrement adaptés à l ordonnancement mais en collaboration avec le recuit simulé, ils auraient la faculté d aboutir plus rapidement à une solution optimale par création d une population de base déjà optimisée. Mais pour définir cette population, une étude sur la décroissance en température devrait être $envisagée afin de produire des individus de départ ayant un faible retard. Toutefois, le risque $majeur est de rester bloqué sur un optimum local et pour en sortir, un accroissement du taux de mutation assurerait une diversité de sens de placement. Références [CHE 95] CHENGZHONG X., TSCHOKE S. et BURKHARD M., Performance Evaluation of Load Distribution $Strategies in Parallel Branch and Bound Computations, $Proceedings of the 7th IEEE Symposium on Parallel and Distributed Processing, SPDP 95, pp. 402-405, 1995 [DAV 85] DAVIS L., Applying Adaptive Algorithms to Epistatic Domains, $Proceedings of the 9th International Joint Conference on Artificial Intelligence, pp. 162-164, 1985. [GAL 94] GALINHO T., Algorithme heuristique de placement d ordonnancement, Thèse d université, Rouen, 1994. [GOL 91] GOLDBERG D.E., Algorithmes génétiques, Editions Addison-Wesley France, 1991. [HOL 75] HOLLAND J.H., Adaptation in natural and $artificial systems, University of Michigan Press, 1975. $c est un rapport ou quoi? [MIC 94] MICHALEWICZ Z., GAs : What Are They?, The Traveling Salesman Problem, Genetic Algorithms + Data Structures = Evolution Programs, pp. 13-54, pp. 211-237, Springer-Verlag, 1994. ($pourquoi y a t il deux fois pp.?) [VAC 96] VACHER J.P., GUY E., Application des algorithmes génétiques à l ordonnancement d atelier, Mémoire de DEA Informatique, INSA Rouen, 1996.
[ZOO 94] ZOONEKYND V., Recuit simulé et autres méthodes d optimisation, Ecole Nationale Supérieure de Cachan, 1994. $c est un rapport ou quoi?