Optimisation du placement des formes irrégulières par Salah MAOUCHE Professeur à l’Université des sciences et technologies de Lille (USTL) Laboratoire d’automatique I3D (Interaction, Image et Ingénierie de la Décision) Catherine K. BOUNSAYTHIP Docteur de l’USTL VTT Information Technology, Finlande et Gilles ROUSSEL Maître de conférences à l’université du Littoral-Côte-d’Opale, Laboratoire d’analyse des systèmes du Littoral (LASL) 1. 1.1 1.2 Considérations générales ........................................................... Problème de placement .............................................................................. Résolution .................................................................................................... S 7 212 – 2 — 2 — 3 2. 2.1 2.2 Description des formes irrégulières ........................................... Discrétisation du contour............................................................................ Choix d’un modèle de description ............................................................. — — — 3 3 3 3. 3.1 3.2 Représentation du problème de placement................................ Graphes d’états et placement..................................................................... Espace de recherche.................................................................................... — — — 5 5 6 4. 4.1 4.2 4.3 4.4 4.5 4.6 Algorithmes de recherche en arbre............................................ Classification ................................................................................................ Admissibilité ................................................................................................ Algorithme A*.............................................................................................. Algorithme semi-admissible A*ε ................................................................ Heuristique d’estimation du remplissage h(u).......................................... Résultats ....................................................................................................... — — — — — — — 6 6 7 7 7 8 9 5. 5.1 5.2 5.3 5.4 Méthode stochastique : recuit simulé ........................................ Amélioration itérative aléatoire.................................................................. Principe......................................................................................................... Recuit simulé hybride.................................................................................. Résultats ....................................................................................................... — — — — — 9 10 10 10 12 6. 6.1 6.2 6.3 6.4 6.5 Algorithmes évolutionnistes ...................................................... Présentation ................................................................................................. Programmation génétique et placement................................................... Population initiale........................................................................................ Opérateurs génétiques................................................................................ Résultats ....................................................................................................... — — — — — — 12 12 13 14 14 15 7. Conclusion ................................................................................. — 15 Références bibliographiques ......................................................................... — 17 e placement fait partie du problème de découpe rencontré chaque fois que la fabrication d'un objet manufacturé est réalisée par transformation de la matière. De ce fait, il concerne un grand nombre d'industries, dont les industries du métal, du bois, du verre, de la confection et du cuir. L Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 1 OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES __________________________________________________________________________________ La fabrication d'un objet est souvent conduite avec l’objectif d’une réduction du coût de revient à travers la réduction de la consommation en matière. Cette tendance est en particulier liée aux augmentations de prix des matières premières. Aussi, en général, l'exploitation optimale des ressources constitue une préoccupation croissante dans les industries manufacturières. Une formulation industrielle du problème de découpe en deux dimensions peut se présenter comme suit : « Étant donné une matière première présentée sous forme de plusieurs unités de dimensions et formes éventuellement différentes, comment produire une quantité de pièces, en fonction de la demande et des niveaux de stocks, en utilisant le minimum de matière, et ce dans un temps compatible avec les délais fixés par le client. » La quantité de pièces à produire peut être connue ou non à l'avance. Si l'objectif principal consiste à minimiser la consommation en matière première, il est d'actualité de produire vite pour satisfaire des délais de livraison impératifs et de plus en plus courts, au « juste-à-temps » pour éviter les frais de stockage. Une demande établie à partir d'une liste de pièces et d'une certaine quantité de matière première constitue la donnée initiale du processus. Les contraintes sont définies comme étant les restrictions imposées au processus pour tenir compte des propriétés de la matière, de la qualité des pièces, du mode de découpe, de l'état des stocks, etc. Le problème du placement consiste à rechercher le meilleur amalgame au sens des objectifs du placement, et dans le problème de découpe, il s'agit de trouver un ensemble d'amalgames pour satisfaire les demandes. Un amalgame est la manière de découper une unité d'une matière première. Le placement constitue la partie la plus importante du problème de découpe et on ne peut résoudre efficacement un problème de découpe sans résoudre efficacement celui du placement. Le placement fait partie des problèmes d'optimisation combinatoire qui suscitent beaucoup d'intérêt. Malgré les progrès considérables de l'outil informatique, les méthodes d'énumération, exhaustive ou partielle, sont encore peu satisfaisantes en termes de temps d'exécution ou d’efficacité. Comme ces problèmes contiennent souvent beaucoup de solutions à intérêts pratiques acceptables, les recherches sont orientées vers le développement des méthodes heuristiques. Le but est de trouver une solution de qualité satisfaisante en un temps de calcul raisonnable, d'autant plus que pour des problèmes réels, il n'est pas toujours impératif de trouver la solution optimale, mais des solutions dont la qualité et le temps mis pour les obtenir restent acceptables. 1. Considérations générales 1.1 Problème de placement Le domaine du placement de formes quelconques reste largement ouvert. La difficulté majeure de ce dernier tient à l'incapacité actuelle à trouver des caractéristiques générales aux formes, incapacité qui contraint les utilisateurs à adopter des critères souvent subjectifs et donc restrictifs. Il apparaît dès lors que les phases les plus importantes dans la résolution d'un problème de placement de formes quelconques sont celles du codage et de la représentation. ■ Codage des formes Le placement automatique des formes irrégulières pose la question importante de la représentation des objets à placer. Nous présentons le codage par peignes de contour. Les peignes représentent la déficience rectangulaire d'une forme. Cette déficience est utilisée pour assembler les formes qui se marient le mieux : nous parlons alors de complémentarité des formes. S 7 212 − 2 ■ Représentation du problème La complexité du problème nous a amenés à décomposer le problème du placement de plusieurs formes en placement par bandes. Chaque bande est construite par imbrication de formes deux à deux. Ensuite, nous présentons les outils nécessaires à la construction d'un placement, en particulier l'opérateur de concaténation de deux formes qui, lorsqu'il est utilisé itérativement, permet la construction d'un placement en général ou d'une bande quand une contrainte sur les dimensions du placement est introduite. Le problème du placement est représenté par un arbre dont le parcours permet de trouver des solutions respectant les contraintes. Les critères d'évaluation des solutions sont fournis par les objectifs d'optimisation ; ils permettent de caractériser et de définir la meilleure solution. Dans le cas des entreprises de confection, les pertes en matière ne sont pas contrôlées rigoureusement, alors qu'elles peuvent représenter jusqu'à 25 % des dépenses sur la matière. On estime qu'une diminution des pertes de 2 % peut faire augmenter de 10 % le bénéfice de l'entreprise. Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle __________________________________________________________________________________ OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES 1.2 Résolution Nous proposons l'étude de trois méthodes heuristiques pour résoudre le problème du placement de formes irrégulières. Le but final est de constituer une bibliothèque d'algorithmes à utiliser selon le choix de l'utilisateur (carnet de commande, critère d'optimalité, temps de calcul...). Les analyses des résultats et les comportements des différents algorithmes permettront de conclure sur l'efficacité de chaque algorithme en fonction des critères à optimiser. Un algorithme de placement doit être en mesure de fournir le placement d'un sous-ensemble de formes. Il cherche à optimiser une fonction de but visant à minimiser les pertes de matière, tout en respectant un temps de calcul acceptable. Les trois types d'approches étudiées ici sont les recherches en arbre, le recuit simulé et les méthodes évolutionnistes. ■ Recherches heuristiques en arbre Les recherches en arbres sont des méthodes déterministes issues de l'algorithme A* (§ 4.3). La recherche est basée sur le principe du « meilleur d'abord » dans lequel la sélection d'un chemin à parcourir repose sur l'estimation de son coût futur. La difficulté de cette stratégie réside dans cette estimation. En effet, la condition pour que la recherche aboutisse à une solution optimale est que celle-ci soit inférieure ou égale au coût optimal. Or, le coût optimal n'est pas connu à l'avance. Il existe alors deux possibilités. ● La première opte pour le chemin de coût toujours largement inférieur au coût optimal estimé, c'est le meilleur coût obtenu depuis le début de la recherche (il est mis à jour au fur et à mesure des nouvelles découvertes) ; l'utilisateur peut alors fixer un écart de tolérance par rapport à cet optimal estimé. C'est le principe de l'algorithme A *ε (§ 4.4). ● La deuxième autorise le choix d'un chemin dont le coût surestime légèrement l'optimal sans trop s'éloigner en valeur supérieure, *. dont le seuil est fixé par un paramètre δ ; c'est la variante R δε Ces méthodes nécessitent une évaluation systématique à chaque étape de la recherche. Parfois, lorsqu'il n'est pas possible d'énumérer tous les états, les préférences sont orientées vers les méthodes aléatoires. Mais ces dernières peuvent ne jamais aboutir à une solution, c'est pourquoi il est nécessaire de les informer. Dès lors, elles ne sont plus tout à fait aléatoires, mais « semi-aléatoires » puisqu'elles utilisent les informations enregistrées au cours de la recherche. Les méthodes semi-aléatoires ne font pas un examen systématique de toutes les possibilités à chaque étape et leur recherche est guidée soit par une probabilité d'acceptation d'un état (recuit simulé), soit par le maintien d'un ensemble de points potentiels (algorithmes évolutionnistes). ■ Algorithme du recuit simulé Le recuit simulé peut être comparé à la méthode de descente du gradient avec possibilité de sortir des optima locaux. L'algorithme est basé sur le principe thermodynamique dont un des paramètres de contrôle est assimilé à la température. À haute température, les molécules ont une plus grande mobilité et peuvent occuper plusieurs configurations, même non stables. Au fur et à mesure que la température diminue, la structure des molécules se fige peu à peu pour être définitivement bloquée dans une configuration quelconque. Un nouveau réchauffement, le recuit, permet de déformer cette configuration. Le processus de refroidissement doit être très lent afin de permettre au système d’atteindre un état stable à énergie minimale, car si la température décroît trop rapidement, la recherche s’arrête sans avoir eu le temps de converger vers un optimum ; la recherche peut ne pas atteindre un état minimal global. ■ Algorithme évolutionniste La méthode évolutionniste est une métaphore du principe de la sélection naturelle et de la loi de survie du plus fort de Darwin. Elle utilise un ensemble (ou population) de solutions, la loi de sélection et les opérateurs de transformation qui sont, entre autres, le croise- ment et la mutation. Une solution au problème est codée en terme de chromosome, appelé parfois aussi génotype, dont le décodage donne le phénotype. Les chromosomes sont croisés entre eux ou mutés pour générer d'autres chromosomes. Pour éviter la génération de solutions invalides, l'idée est d'incorporer dans les opérateurs de croisement ou de mutation des contraintes ou des heuristiques. 2. Description des formes irrégulières Comment passer d’un espace où le placeur humain manipule des gabarits en carton à une représentation numérique pour calculateur par exemple, dans le cadre du placement de patrons de vêtements ? Plusieurs étapes de traitement sont nécessaires pour résoudre ce problème. 2.1 Discrétisation du contour En dehors des éventuels points de raccords imposés, seul le contour est nécessaire à la connaissance des objets à placer. Le contour est alors défini à l’aide d’un outil d’édition de dessin ou extrait de la base de données d’un système de CAO (conception assistée par ordinateur) de l’atelier de conception. Il peut également être le résultat d’un algorithme de recherche de contour à partir de l’image d’un gabarit issu d’une caméra ou d’un scanner. Dans tous les cas, le contour est discrétisé relativement au pavage (carré, hexagonal...) du support discret dans lequel il a été défini. Le contour d’une forme Fk est alors considéré comme une courbe fermée discrète 8-connexe (c’est-à-dire chaque point du support possède huit voisins) codée par une liste Ck de n points πq (xq, yq) exprimés dans le repère d’édition. La liste Ck = ((x0, y0), (x1, y1), (xq, yq) … (xn, yn)) respecte le principe d’unilatéralité par rapport au contour continu initial. 2.2 Choix d’un modèle de description Le modèle établi précédemment constitue un codage de base pour l’affichage, mais ne présente pas une structuration adéquate pour effectuer les traitements géométriques. En outre, les codages de contour potentiellement utilisables doivent être analysés en tenant compte de la réversibilité de la transformation et de l’adéquation aux opérateurs de traitement. Un codage exact est préférable à un codage « approximant », mais ce dernier peut être acceptable s’il n’altère pas le respect des contraintes ni les rendements de placement de façon significative. De nombreux types de codages de contours sont proposés dans la littérature. Bien qu’étant appropriés pour la reconnaissance de formes, l’infographie ou la caractérisation, tous ne sont pas utilisables pour la réalisation du « placement constructif » (c’est-à-dire par ajouts successifs de formes), en raison de l’absence d’opérateurs géométriques d’imbrication. Lorsque toutes les formes sont parallèles à un axe privilégié, le placement est dit paraxial. Même si les contours sont disjoints, leurs rectangles circonscrits respectifs peuvent se chevaucher (figure 1). Cette propriété rencontrée dans le placement textile suggère un type de code particulier permettant une décomposition des formes selon quatre côtés : les peignes de contour. 2.2.1 Peignes de contour Ce code est d’une grande efficacité en placement constructif paraxial. Le principe en est ici résumé, mais il est décrit complètement dans [1]. Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 3 OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES __________________________________________________________________________________ ■ Étape 2 : détermination du peigne complet Le peigne Dk,c du sous-contour c de la forme Fk correspond à l’échantillonnage spatial de la courbe analogique du sous-contour visible C˜ (c’est-à-dire le contour C sans les concavités non visik, c F2 F1 Dk,c = {Dk,c (1), …, Dk,c ( < k,c )} = Int [(C˜ k, c (x) DT (x)] avec Int [ ] < k,c Dk,c (j ) Les flèches indiquent le droit-fil Figure 1 – Chevauchement entre rectangles circonscrits O x Ok = Ok, 0 = Ok, 3 Wk y c=3 Ck c=0 + Ok, 1 Rk xk Droit-fil c=1 Ok, 2 k,c bles) par un peigne de Dirac DT (x) de période T (figure 3) : Forme Fk la hauteur de la dent d’indice j. ■ Étape 3 facultative : détermination du peigne réduit Cela consiste à fusionner les sommets de concavité (c’est-à-dire supprimer le point B pour que l’arc [ABC] devienne le segment [AB]. On supprime alors les dents correspondant aux points à fusionner jusqu'à ce que l’augmentation de surface du peigne atteigne un seuil fixé. Seuls les points de concavité sont supprimés pour conserver le respect de la contrainte de disjonction des contours analogiques. Cette étape permet de limiter la quantité de données associées à chaque forme, et même de réduire le traitement mathématique des opérateurs géométriques définis dans la suite. L’absence de description des parties concaves non visibles peut cependant représenter un obstacle dans certains cas de placement de contours en puzzle. 2.2.2 Opérateurs géométriques d’imbrication c=2 Lk Les deux opérateurs présentés dans cette partie, la concaténation et l’imbrication locale optimale, représentent le noyau de calcul d’optimisation géométrique locale. Ces opérateurs sont appliqués en réponse à une décision prise au niveau d’un algorithme d’optimisation combinatoire globale. Ce dernier, guidé par un objectif de minimisation des pertes, construit progressivement le placement en ajoutant itérativement une forme au placement courant. C’est le principe du placement constructif. Chaque décision d’ajout d’une forme au placement à l’ordre n s’accompagne donc de la séquence suivante : — étape 1 : recherche de la position optimale de Fk par rapport au placement courant P< n . On applique la fonction : yk Figure 2 – Paramètres caractéristiques de forme DT (x ) la partie entière, la longueur du côté c du rectangle circonscrit, T 1 Position_opt = Imbrication (Fk, P< n ) ; Ck, c Ck, c — étape 2 : Concaténation de la forme Fk avec P< n dans la position optimale, en appliquant la fonction : P< n + 1 = Concaténation (Fk, P< n , Position_opt). Dk, 0 Ok = O 0 x <k, 0 Cette opération génère une nouvelle P< n + 1 définie par ses peignes de contour. Nota : le principe des opérateurs est ici rapidement résumé, le lecteur se reportera à [1] pour une description détaillée. ■ Étape 1 : détermination du rectangle circonscrit (figure 2) ■ Concaténation de deux formes Cette opération détermine les peignes réduits (ou non) du contour apparent résultant de la réunion de deux formes disjointes pour une position relative fixée par le couple de variables d (décalage) et Pi (profondeur d’imbrication). Ces paramètres sont déterminés par l’étape d’imbrication locale optimale (figure 4). La procédure de concaténation repose sur un principe de concaténation de peignes, de suppression des dents décrivant des parties de contour masquées après l’opération d’imbrication, et enfin d’une étape d’interpolation des nouveaux points aux frontières des intersections des rectangles circonscrits. L’axe principal du rectangle correspond, selon le cas, à un axe arbitraire de la forme (le droit-fil des pièces de vêtement par exemple), à l’axe d’inertie de la forme ou à la recherche de l’élongation maximale. ■ Imbrication locale optimale La détermination du positionnement relatif optimal de deux formes Fk et F < repose sur la recherche du couple de variables (d, Pi) Figure 3 – Peigne de contour Le codage par peignes de contour repose sur l’échantillonnage du contour visible selon chaque face du rectangle circonscrit. Ce code permet de quantifier l’espace récupérable en périphérie apparente du contour. C’est cet espace qui permettra l’imbrication des formes entre elles. Le codage par peignes s’obtient en deux étapes. S 7 212 − 4 Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle __________________________________________________________________________________ OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES Pi O,, 3 yk, 1 y ,, 3 d Ok, 0 Fk F, Rkn, x,, 3 xk, 1 Pour la recherche de l’imbrication optimale, un critère possible d’imbrication I(d, Pi ) peut être la surface du rectangle circonscrit de la concaténation des deux formes. Ce critère présente cependant des situations d’indéterminisme lorsque plusieurs positions vérifient la minimisation du critère. On peut décider alors de garder la position relative qui laisse une surface vacante maximale pour accueillir une future pièce potentielle. Ce problème est résolu simplement en admettant une valeur de d minimale ou maximale (figure 5). ■ Pour les supports à motifs, ce qui est fréquent en placement textile, l’optimisation locale est alors réduite aux seules valeurs de d et Pi vérifiant un espacement des points de raccords égal à un nombre entier de périodes du motif dans les deux directions orthogonales. 3. Représentation du problème de placement Figure 4 – Concaténation de formes optimisant un critère de qualité d’imbrication I(d, Pi). Les valeurs possibles de (d, Pi) sont celles qui vérifient la contrainte de disjonction des deux contours. Cela se traduit par le problème d’optimisation local. Étant donné deux formes Fk et F < , l’imbrication optimale selon le côté c de Fk vérifie : (dotp, Piopt) = Arg min I(d, Pi) et (F k ∩ F < ) = { ∅ } ■ Dans le cas d’un support homogène (par exemple, un tissu uni), le problème d’optimisation revient à mettre les formes en contact tout en occupant le minimum de matière. La contrainte : (F k ∩ F < ) = { ∅ } est respectée dès lors que pour un décalage d donné, la profondeur d’imbrication Pi est inférieure à la somme minimale des longueurs des dents des peignes en regard, sur la portion commune de mise en imbrication : Pi (d ) = min [(Dk,c (i ) + Dk,c + 2(j )], où j est l’indice de la dent en regard, calculé en fonction de la position de la dent i dans le peigne Dk,c et du décalage d. Le problème d’imbrication optimale à contact peut alors s’exprimer sous la forme : (dopt, Piopt) = Arg min I(Pi (d ), d ) 3.1 Graphes d’états et placement Nous rappelons ici quelques définitions [2] associées aux graphes d’états en relation avec le problème du placement. On définit un graphe d’état par G (U, Γ ), où U est l’ensemble des états ou nœuds et Γ l’ensemble des opérateurs permettant la transformation d’un état en un autre état. À chaque état correspond une configuration de placement dont les caractéristiques sont obtenues en appliquant un des opérateurs de Γ (orientation de la forme à ajouter, imbrication optimale, concaténation). Initialement, seule la racine notée u0, associée au placement vide, est connue. L’ensemble des opérateurs : Γ = {γk,λ,φ,c , Fk ∈ EP, λ ∈ {0,π/2,π, 3π/2], φ ∈ {0, 1}, c ∈ {0, 1, 2, 3}} est représenté par un unique opérateur à quatre paramètres : numéro k de la forme ajoutée Fk dans l’encours de placement EP, orientation λ, symétrie à effectuer φ, numéro c du côté de mise en imbrication avec le placement courant. La génération d’un état v, fils de u, tel que v = γk,λ,φ,c(u), active la recherche d’imbrication optimale entre la forme Fk et le placement courant P< u , pour la position (λ,φ,c) définie. La nouvelle forme P< u est alors créée par concaténation. Dans un arbre, le degré ou facteur de branchement K est le nombre de ses successeurs. On parle d’arbre K-aire. La profondeur ou rang r d’un état u est la longueur du chemin de la racine u0 à u. Un coût g(u) est associé à chaque état u. Il correspond à la chute de matière par rapport aux dimensions de la bande (figure 6) : Fk Rku, PP Le placement est une combinaison ordonnée de formes. Toutes les combinaisons peuvent être représentées par un graphe d’état ayant une structure d’arbre. Le problème du placement optimal se transforme alors en un problème de recherche de chemin optimal entre la racine de l’arbre, où aucune forme n’est placée, et une feuille de l’arbre, dont le placement correspondant occupe le minimum de surface. Pour résoudre numériquement ce problème d’optimisation, il faut définir une représentation d’état pour parcourir l’espace de recherche et adopter un algorithme d’exploration des états. g(u) = Soccupée – Sutile = Lu x WM – Couloir de pénétration ∑ Sk Fk ∈ P<u avec Lu longueur du placement P< u , WM largeur matière, Figure 5 – Indéterminisme de position Sk surface de la forme Fk. Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 5 OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES __________________________________________________________________________________ Surface (P <u , 0) g (u ) u0 u1 Wu un uN WM Surface (P<u , 2) ut Lu ut = g (ut ) Figure 6 – Placement constructif et perte de matière g (uT ) Un état terminal est noté ut ∈ T. L’ensemble T ⊂ U des états terminaux est constitué des états ne possédant pas de successeur (plus de forme à placer, impossibilité d’ajouter une forme dans la largeur de la bande) ou lorsque aucun de ses successeurs ne vérifie la décroissance de la fonction de coût g(u) (cas où l’ajout d’une forme s’effectue dans la longueur, augmentant brutalement le rectangle matière). 3.2 Espace de recherche La recherche en graphe à l’aide d’un algorithme d’optimisation repose sur l’exploration des états pour en comparer les coûts associés. Dans le cas du placement, quelques définitions liées à l’état de l’arbre ou des états sont alors utiles (figure 7). Un état est dit engendré lorsqu’il est totalement caractérisé par toutes les données associées, c’est-à-dire après la construction du placement P< u correspondant ; un état est totalement développé lorsque la totalité de ses successeurs a été engendrée ; un état est pendant faute d’avoir été développé. Nota : sur la figure 7, tous les états ui sont engendrés et développés ; l’état un + 1 est pendant. Racine c (u0, u1) u1 u0 c (u0, uN ) c (u0, un ) uN un c (uN, uN +1 ) c (un , un +1) v + ut< FERMÉ utN Feuille non acceptable h (v ) FERMÉ Feuille acceptable Configurations Figure 8 – Évolution de g (u) À l'espace de configuration présenté précédemment, on peut associer une courbe matérialisant l'évolution de la fonction g (u) selon les différentes combinaisons de placement associées aux états (figure 8). Si ce paysage de coût (ou d'énergie) présentait un seul minimum global, le problème d'optimisation serait très simple et il pourrait être résolu par la méthode d'amélioration itérative classique. Toute la difficulté du problème d'optimisation réside dans le fait que la fonction de but g(u) comporte un grand nombre de vallées plus ou moins profondes et plus ou moins proches qui correspondent à des minima locaux. Lorsque le nombre N de formes est élevé et le nombre K de configurations relatives d’une forme par rapport à une autre est assez grand, le nombre d’états est potentiellement très important. Dans notre cas, K peut atteindre 32 (quatre angles de rotation x deux symétries x quatre côtés de mises en imbrication = 32). Pour estimer la complexité d’un placement en bande, on suppose que tous les nœuds terminaux sont de rang r, lequel dépend du rapport de la surface de la bande sur la surface moyenne des pièces à placer. On montre que l'on est alors ramené à un problème d’une complexité proportionnelle à (K x N )r. Le nombre de nœuds à engendrer reste trop élevé pour espérer utiliser une recherche exhaustive. En pratique, le compromis qualité/temps conduit à se satisfaire d'une bonne solution, avec l'assurance que celle-ci soit proche de la solution optimale. Pour atteindre cet objectif au bout d'un temps de calcul raisonnable, il est nécessaire de recourir à des méthodes heuristiques d’exploration. Ces méthodes doivent permettre de converger vers une bonne solution en envisageant un nombre limité de combinaisons, dont le choix est guidé soit par une stratégie déterministe, soit par une approche stochastique. g (v ) u1< un +1 T T f (v ) 4. Algorithmes de recherche en arbre Avant de passer en revue quelques algorithmes exploitables pour le problème de placement, une classification des algorithmes permet d’en clarifier la présentation. 4.1 Classification Optimum Figure 7 – Graphe d’états de placement S 7 212 − 6 A*, A*ε et R* δ sont des algorithmes dits à stratégies déterministes. L’exploration respecte un ensemble de règles ou de critères systé- Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle __________________________________________________________________________________ OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES matiques permettant de sélectionner un état ou d’élaguer une branche de l’arbre. Ils se déclinent en deux types : — les stratégies non informées, telles que les stratégies « profondeur d’abord » ou « largeur d’abord », cherchent un état respectant une règle préétablie. Elles ne diffèrent que par la trajectoire de parcours dans l’arbre. Elles ne permettent pas d’optimiser un coût ; — les stratégies informées utilisent une ou plusieurs fonctions d’évaluation pour classer les nœuds à développer en priorité. La recherche est souvent guidée par une heuristique afin d’accélérer la recherche du meilleur nœud terminal. C’est le principe des algorithmes A, A*, A*ε et R* δ. liste des états pendants appelée OUVERT. La stratégie consiste alors à développer en premier les états dont le coût f (u) est le plus faible. Lorsque tous les successeurs d’un état u ont été engendrés, u a donc été complètement développé ; il est alors placé dans la liste FERMÉ. La liste FERMÉ est nécessaire car dans le cas des graphes (par opposition aux arbres), il se peut qu’un chemin croise un nœud déjà présent dans OUVERT ou même dans FERMÉ. Dans les deux cas, le coût g(u) est remis à jour en gardant le plus faible. Dans le deuxième cas, l’état est remis dans OUVERT pour être de nouveau étudié. Bien sûr, la complexité de l’algorithme dépend de la précision de l’estimation et il est souvent difficile de trouver une fonction d’estimation parfaite. Tout au plus, on peut parfois garantir la monotonie de h : h est monotone si et seulement si : ∀ u , ∀ v = Γ (v ) 4.2 Admissibilité et Un algorithme admissible est capable de fournir un optimum global (par exemple, A*) ou le recuit simulé. Tous les deux convergent théoriquement, moyennant une complexité importante. Un algorithme semi-admissible permet de trouver un optimum local proche de l’optimum global. On obtient ainsi bien souvent une solution très convenable du point de vue du coût pour une complexité bien moindre. Par exemple, A*ε et R* δ sont semi-admissibles à écart contrôlé. Pour l’optimisation du placement, l’objectif étant de minimiser la fonction de coût g(u), les algorithmes à recherche informée sont donc incontournables. Dans cette catégorie, nous introduisons l’algorithme admissible A* (§ 4.3) pour définir les algorithmes semiadmissibles A*ε (§ 4.4). L’algorithme R* δ est également d’une grande efficacité ; pour sa présentation, nous invitons le lecteur à se reporter à [3]. Nous terminerons par un algorithme stochastique asymptotiquement admissible : le recuit simulé hybride (§ 4.5). Nota : l’implémentation de ces algorithmes est largement développée dans [1] pour A*, Aε* et le recuit simulé hybride, et dans [4] pour Rδ* et les algorithmes évolutionnistes. 4.3 Algorithme A* 4.3.1 Principe À chaque état, on associe deux informations : — g(u) : le coût du chemin parcouru entre la racine u0 et u. Dans le cas du placement, il s’agit donc de la surface des pertes de matière. Elle est évaluée à chaque placement par la relation g(u) = Lu x Wu – ∑ Sk. Initialement, en u0, Lu est la longueur de la plus longue pièce restant à placer et la perte est maximale. La fonction de coût est ici décroissante en fonction de la profondeur ; — h(u) : une estimation du coût h*(u) du chemin optimal restant à parcourir entre u et le nœud terminal ut. C’est en quelque sorte le remplissage espéré pour l’état du placement courant ; h(u) est donc négatif, signifiant que l’on ajoute une perte négative à la perte existante. f (u) = g(u) + h(u) représente alors une estimation de la surface des chutes au nœud terminal ut accessible par u. Trouver le meilleur nœud terminal u t*, c’est suivre le chemin passant par tous les nœuds u dont le coût estimé f (u) est minimal (figure 8). Pour que l’algorithme A* soit admissible et si h(u) > 0, il suffit que h(u) soit minorante vis-à-vis de l’estimation parfaite : h*(u) ⇔ ∀u, h(u) < h*(u). Une démonstration de cette condition est donnée dans [2] et [5]. Dans notre cas, comme h(u) < 0, on cherchera à majorer |h(u)| en considérant un remplissage espéré optimiste, c’est-à-dire toujours supérieur ou égal à la réalité. Il faut cependant veiller à préserver f (u) > 0 ∀u. La première estimation connue est f (u0) au nœud u0. Après avoir développé u0, on ordonne tous ses successeurs dans la h(u) > 0, h(u) – h(v) < g(u) – g(v) = coût pour passer de u à v. Comme ici h(u) < 0, cela oblige à avoir une estimation du remplissage décroissante en valeur absolue en fonction du rang. Dans ce cas, pour un arbre K-aire dont le rang de la solution optimale est r *, la complexité est de l’ordre de K r*. On peut faire converger plus rapidement l’algorithme avec une estimation du remplissage plus précise. En effet, s’il existe δ ∈ [0, 1] tel que (1 – δ)h* < h < h*, alors A* a une complexité en K δr*. Malgré tout, l’admissibilité est une propriété coûteuse en temps et en espace. En pratique, cela se traduit par la taille élevée de la liste OUVERT. Pour réduire la complexité des problèmes réels, on est souvent contraint de se satisfaire d’une solution approchée à un pourcentage près fixé par l’utilisateur. C’est le principe des algorithmes ε-admissibles. 4.3.2 Implantation À chaque itération, l’algorithme A* réalise les opérations successives suivantes. Algorithme 1 : A* 1. sélectionne dans OUVERT un nœud u ayant la plus faible valeur f (u) ; 2. génère tous les fils de u, calcule leurs valeurs de g (u) et h (u), puis les stocke dans OUVERT ; 3. si un fils v de u est déjà dans OUVERT et si g(u) > g(u) + c(u, v), alors : g (u ) = g (u ) + c ( u , v ) ; 4. si un fils v de u est déjà dans FERMÉ et un meilleur chemin est maintenant trouvé, alors : • g(u) est mis à jour avec ce nouveau meilleur coût et • v est enlevé de FERMÉ et remis dans OUVERT pour être exploité à nouveau. 4.4 Algorithme semi-admissible A ε* 4.4.1 Principe On dit qu’un algorithme est ε-admissible si et seulement si, pour tout ε donné a priori, positif ou nul, il fournit une solution ut acceptable telle que : f (ut) < (1 + ε)f * Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 7 OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES __________________________________________________________________________________ avec f * le coût optimal du nœud terminal, ε l’écart relatif à l’optimum toléré par l’utilisateur. La différence avec A* réside donc dans la façon de sélectionner l’état à développer. Comme f * n’est pas connu a priori, on utilise un estimateur minorant f (u). Donc, au moment du choix d'un nœud v à développer, on cherchera en priorité parmi les successeurs acceptables de u venant d'être engendrés tels que : v ∈ Successeurs_Acceptables ⇔ v = Γ (u) et f (v) < (1 + ε) f (u0) Notons que Successeurs_Acceptables est un sous-ensemble de OUVERT. Le seuil d'acceptabilité est remis à jour chaque fois que l'on trouve un plus grand minorant, c’est-à-dire implicitement f (u0) plus près de f *(u0). Ce plus grand minorant est donné par f (û) où û est la tête de la liste ordonnée OUVERT. Si, au moment de développer un nouveau nœud, l'ensemble Successeurs_Acceptables est vide, on choisira alors un nœud dans OUVERT. Ce cas de figure correspond à un retour en arrière dans le graphe (une remontée vers la racine de l’arbre) pour développer un autre chemin. L'idée consiste alors à choisir le nœud pouvant prétendre rejoindre une solution acceptable avec un nombre limité de développements. Pour cela, on calcule la fonction de choix fc(u) = f (u) + γ *hc(u) pour la sélection dans OUVERT. Le terme hc(u) est une estimation du nombre d'arcs du chemin le plus court entre u et un nœud terminal. Le nœud à développer est celui dont la valeur fc(u) est minimale. Le paramètre γ permet également de régler le compromis admissibilité/complexité dans le choix d'un chemin. Plus γ est grand, plus on favorise le choix des chemins courts mais qui ne sont pas nécessairement de coût moindre. 4.4.2 Implantation Dans l’algorithme 2 suivant, SOLUTIONS contient les nœuds terminaux ut classés par ordre croissant de g(ut). Algorithme 2 : A* ε entrée : ε 1. Initialisation 1.1. OUVERT = (u0), 1.2. g(u0) = Wm x Max Lk ; /*au début, le coût est égal à la k ∈N surface maximale de la bande */, 1.3. f (u0) = g(u0) + h(u0), 1.4. Seuil = (1 + ε) f (u0), 1.5. SOLUTIONS = ∅, 1.6. développer (u0), 1.7. Successeurs_Acceptables = (v ∈ Γ (u)|f (v) < Seuil) ; 2. Tant que OUVERT ≠ ∅ et (∀ut ∈ SOLUTIONS, f (ut) > Seuil) 2.1. si Successeurs_Acceptables ≠ ∅ alors u = Choix_fmin _dans (Successeurs_Acceptables) sinon u = Choix_fc min _dans (Ouvert), 2.2. Successeur = {v | v = Γ (u)} Successeur = {v /v = Γ (u)}, 2.3. Seuil = Max {Seuil, (1 + ε) f (û)} ; /*û tête de la liste OUVERT*/, 2.4. Successeurs_Acceptables = {v ∈ Successeurs |f (v) < Seuil } ; FinTantque. 3. Sortie sortir (ût) ; tête de la liste SOLUTIONS ; 4. Fin. S 7 212 − 8 4.5 Heuristique d’estimation du remplissage h(u) 4.5.1 Principe La définition de h(u) est sans doute l’opération la plus délicate de l’implantation de l’algorithme. L’idée consiste ici à estimer la surface totale des pièces qu’il est possible de placer sur l’espace restant disponible (voir figure 6). Différentes approches sont possibles. En dépit de sa simplicité, la méthode qui consiste à prendre une proportion X % de la surface libre restante donne de très bons résultats. X peut être constant (entre 80 % et 95 %, à fixer selon l’expertise du problème) ou dépendant de l’ensemble des formes restant à placer. Si cet ensemble contient beaucoup de petites pièces – c’est-à-dire si la surface des petites pièces dépasse un tiers de la surface libre –, le remplissage peut alors être bon. Sinon, on se contentera d’une valeur plus faible. Les petites pièces ont une surface inférieure au tiers de la surface de la plus grande forme. La figure 9 montre un exemple de valeur donnée à X en fonction du carnet de commande. Cette fonction a l’avantage de conserver la propriété de monotonie, c’est-à-dire la décroissance de |h(u)| en fonction du rang. 4.5.2 Heuristique hc(u) et fonction de choix fc(u) Cette heuristique, appelée hc(u), estime le nombre d'arcs compris entre le nœud u et le nœud terminal le plus proche. Cette fonction sert ici à calculer fc(u) = f (u) + γ *hc(u). Connaissant le remplissage estimé |h(u)| – c'est-à-dire la surface que l'on va pouvoir couvrir – on peut calculer le nombre minimal de formes qu'il est possible de placer dans cette surface de remplissage. La procédure consiste donc à soustraire du remplissage courant la surface de la plus grande forme restant à placer, si celle-ci est logeable. Sinon, on essaie avec une forme plus petite. La procédure est vivante jusqu'à ce que la variable Remplissage soit négative. L’algorithme 3 présente cette méthode d’estimation. 4.5.3 Implantation Algorithme 3 : calcul de hc(u) 1. Initialisation 1.1. hc= 0 ; 1.2. Remplissage = |h(u)| ; 1.3. Booléen = vrai ; 2. Tantque Booléen 2.1. B = min (Remplissage – Sk) ; k ∈N 2.2. si B > 0 alors Remplissage = B ; hc = hc + 1 ; sinon Booléen = faux ; FinTantque ; 3. Sortir hc(u) 4. Fin Le choix d'un nœud pendant, acceptable ou non, est lié à la minimisation de la fonction fc(u) = f (u) + γ hc(u) en parcourant les nœuds de la liste OUVERT. Au début de la recherche, le nombre de nœuds terminaux est nul, la valeur de γ est élevée afin de favoriser le choix des chemins courts (les nœuds à valeur de hc faible). À mesure de Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle __________________________________________________________________________________ OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES X (%) 100 R (%) 80 95 75 70 90 65 85 60 0 0,5 1 55 Surface des petites formes / WM x Lu 50 0 10 20 30 40 ε Figure 9 – Heuristique d’estimation de remplissage Figure 10 – Évolution du rendement en fonction de ε de quatre différents carnets de commande l'obtention de solutions intermédiaires garantissant l'existence d'un résultat, on diminue lentement la valeur de γ (par une fonction logarithmique), en vue de développer des chemins à coûts estimés plus faibles mais souvent plus longs. Cette tactique consiste en résumé à fouiller plus attentivement l'arbre pour localiser une bonne solution après s’être assuré de l'acquisition de solutions de qualité moyenne. On peut donc considérer que le paramètre γ permet de contrôler l’efficacité de la recherche. Pour adapter la meilleure valeur de γ en fonction de l’avancement de la recherche, la fonction suivante peut être utilisée : Durée (s) 3 000 2 000 1 000 ψ γ = ----------------------------------------------------------------ln ( 2 + card ( Solutions ) ) 0 2 000 0 avec Ψ une constante dépendant de la perte finale moyenne des bandes (typiquement Ψ = 5 à 10 pour une perte surfacique de 30 000 à 40 000 unités au carré de pas d’échantillonnage spatial des peignes). 4 000 6 000 8 000 10 000 Nombre de nœuds visités Nœuds visités Tendance (polynôme 2e ordre) Figure 11 – Évolution de la durée de calcul en fonction du nombre de nœuds visités 4.6 Résultats On présente ici quelques résultats d’optimisation pour quatre ensembles différents de formes permettant de montrer l’évolution des rendements des placements en % (figure 10) et de la complexité en nombre de nœuds visités (figure 11) en fonction du paramètre ε. On suppose ici un rapport constant entre la complexité et le temps calcul, dépendant du type de calculateur et de langage de programmation utilisé. On observe figure 12 la géométrie d’un placement en bandes obtenu pour une distance à l’optimum ε = 10 %. Les rendements des bandes varient de 83,6 % à 19,2 % (bande non complètement remplie) pour une moyenne de 69 %. R = 83,6 % 679 s R = 83,8 % 401 s R = 88,2 % 441 s ε = 10 % WM = 500 R = 78,6 % 539 s 5. Méthode stochastique : recuit simulé Le recuit simulé est un algorithme stochastique : l’exploration est guidée par une sélection dépendant d’un choix aléatoire des états à visiter. Cette méthode, issue de la thermodynamique, s'inspire des méthodes d'amélioration itérative. R = 74,1 % 83 s δ=0% Ltotal = 2712 R = 67,1 % 16 s R = 57,1 % 8s R = 19,2 % 0s Rmoyen = 69 % Temps de calcul = 2167 s Figure 12 – Placement par algorithme A* ε Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 9 OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES __________________________________________________________________________________ 5.1 Amélioration itérative aléatoire Cette méthode, appelée aussi méthode de la descente la plus rapide (dans la courbe de coût), est dérivée de celle du gradient. Elle consiste, à partir d'une solution initiale quelconque, à tester une nouvelle configuration en effectuant aléatoirement une modification simple du placement : un changement de référence, de côté de mise en imbrication ou d’orientation d’une forme. Si cette modification entraîne une diminution de la fonction de coût, on l'adopte et on réitère le processus sur la nouvelle configuration ; sinon, on garde l'ancienne et on essaie une autre modification. On s'arrête à la suite d'un grand nombre d'essais négatifs consécutifs. Dans le cas de notre problème de placement et en reprenant la représentation choisie précédemment, la méthode revient à se diriger d'un nœud à un nœud voisin de coût plus faible. Partant d'un nœud u, ce principe nous amène à choisir systématiquement un des successeurs v de u, puisque la fonction de coût g(u) est décroissante. Si v est un nœud terminal, la procédure s'arrête puisqu'il n'y a plus de voisin moins coûteux (figure 13). La recherche tombe dans une vallée qui n'est pas forcément un minimum global, et dont elle ne peut sortir. La seule issue consiste à redémarrer une nouvelle procédure depuis un nœud initial différent. Bien que l’implantation soit aisée, cette méthode converge difficilement vers l’optimum global en présence de nombreux minima locaux. 5.2 Principe Dans la méthode précédente, on constate que la seule façon d'atteindre un placement de plus faible coût consiste à remonter la vallée, passer un col pour redescendre ensuite dans une vallée plus basse. Cette tactique est possible dans l’algorithme du recuit simulé. Au lieu de rejeter systématiquement une modification entraînant une augmentation de la fonction de coût, on l'accepte avec une certaine probabilité afin de se placer dans une nouvelle configuration peut-être plus prometteuse. L’idée est inspirée du procédé métallurgique du recuit. Il consiste à favoriser une réorganisation moléculaire à partir d’un état physique plus « liquide » (désordonné) pour atteindre un arrangement plus stable après refroidissement. L’état liquide est obtenu en réchauffant le matériau. Dans ce cas, une configuration moléculaire Ci se voit affectée d’une probabilité d’apparition π qui dépend de sa propre énergie interne E(Ci) et de la température T du métal. Cette probabilité, dite de Boltzmann vaut : – E ( C i )- exp --------------- kT π = -------------------------------------------E ( C i )- ∑ exp –---------------kT j∈u g (u ) u0 Col u1 u2 ux g (ur ) Vallée Minimum local Minimum global K est la constante de Boltzmann. Le recuit consiste donc à élever la température pour que toutes les configurations deviennent équiprobables (π → 1 quand T → ∞). En refroidissant lentement la température, on favorise progressivement l’installation de configurations d’énergie E(Ci) plus faibles, celles qui garantissent un état plus stable. Les conditions de convergence dépendent surtout de la façon de « recuire », c’est-à-dire de la température initiale de réchauffement et de la loi de décroissance de celle-ci. Ce mécanisme peut donc être parfaitement simulé numériquement au profit du problème du placement. On contrôle alors un paramètre T analogue à la température de façon à atteindre un état final à coût faible, en permettant l’apparition des différents états avec la même distribution de probabilité que dans le recuit thermique. Cette distribution de probabilité est contrôlée par le critère de Métropolis, dont le principe est le suivant. Supposons que l’on effectue une transformation aléatoire élémentaire passant d’un état u à un état v voisin dans l'espace des configurations. On calcule ∆g = g(u) – g(v), la variation de la fonction du coût g par la transformation. La nouvelle configuration est acceptée : — soit parce que ∆g < 0 (on améliore le coût et les chutes de matière sont plus faibles) ; ∆ g > p si ∆g > 0. p est un — soit parce que p(u,v) = exp – ------ T nombre tiré aléatoirement de façon uniforme sur l’intervalle [0, 1]. Sinon, la configuration est refusée et on effectue une nouvelle transformation élémentaire aléatoire. On constate que la probabilité d'acceptation d’un nouvel état tient compte de l'amplitude de la variation de coût ∆g et du degré d'avancement de la simulation, c'est-à-dire de la valeur de T. Une forte amplitude de ∆g et/ou une température faible rendra toute transformation difficile. L’algorithme 4 caractérise l’implantation classique du recuit simulé [6]. Algorithme 4 : recuit simulé 1. Initialisation 1.1. valeurs initiales des paramètres, 1.2. u = Configurations_de_Départ, 1.3. n = 1 ; 2. Tantque (Refroidi = faux) faire : 2.1. Tantque (Équilibre = faux) faire : v = transformation (u,Tn), ∆g = g(v) – g(u), ∆ g p(u,v) = min 1, exp – ------ Tn si p(u,v) > random [0, 1] alors u = v « critère de Métropolis » FinTantQue, 2.2. Tn + 1 = LoiDécroissante (Tn), 2.3. n = n + 1 ; 3. FinTantQue ; 4. Résultat = u ; 5. Fin. 5.3 Recuit simulé hybride Configurations Figure 13 – Paysage du coût et parcours d’arbre S 7 212 − 10 Il correspond à une adaptation du recuit simulé au parcours de graphe, et en particulier ici au parcours d’arbre. Cette forme non for- Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle __________________________________________________________________________________ OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES tement connexe du graphe fait perdre au recuit sa qualité d’admissibilité. Moyennant quelques adaptations compensant la nonhomogénéité des probabilités de tirage des configurations, l’algorithme reste néanmoins très efficace. 5.3.1 Stratégies de parcours Deux politiques différentes peuvent être appliquées à la recherche en arbre par recuit simulé. Les stratégies déterministes largeur d’abord ou profondeur d’abord peuvent être reprises en les adaptant au recuit. La distinction est faite dans la manière de tirer une nouvelle configuration aléatoire. 5.3.1.1 Largeur d’abord Dans la stratégie largeur d’abord, la descente et la remontée dans l’arbre sont possibles à égale probabilité pour favoriser les déplacements transversaux. Après le tirage du voisin – on enlève une forme et on remonte au père de u, ou on ajoute une forme et l’on crée un fils v = γk,λ,φ,c (u) après tirage d’un quadruplé (k, λ, φ, c ) –, on effectue le test de Métropolis. Comme la fonction g(u) est décroissante quand r croît, la remontée dans l’arbre génère systématiquement un accroissement des chutes et l'acceptation de la remontée dépend toujours du tirage aléatoire de p : le retour arrière est toléré sous les hypothèses probabilistes de Métropolis. À T élevée, la probabilité : ∆ g p(u,v) = exp – ------T est proche de 1. Les remontées ne sont donc pas rares et le rang du nœud visité peut être quelconque. L'état visité peut se situer à tous les niveaux de l'arborescence et sur toute la largeur de l'arbre. Cependant, une préférence est donnée à la descente puisqu’elle est systématiquement acceptée. Lorsque le paramètre de contrôle T diminue, les remontées sont de plus en plus difficiles, et donc le rang moyen des nœuds visités est de plus en plus élevé. On affine la recherche au voisinage des minima locaux. Puis, le système se fige sur un nœud terminal. Comme durant le recuit, les remontées étant en probabilité plus difficiles depuis les bons placements, le système évolue statistiquement vers un état suboptimal. Cette approche a été implémentée dans [1]. 5.3.1.2 Profondeur d’abord La différence réside ici dans le fait que l’on tire systématiquement un successeur aléatoire du nœud courant pour descendre dans l’arbre. S'il n’y a plus de successeur possible, le nœud est terminal et on remonte au niveau supérieur. La descente est donc systématiquement acceptée, mais la remontée dépend du critère de Métropolis. Cette méthode, implémentée dans [4], a l’avantage de converger rapidement vers une bonne solution. Elle oblige cependant à mémoriser les états déjà développés pour éviter de les parcourir plusieurs fois. 5.3.2 Paramètres de contrôle La définition d’un programme de recuit doit préciser la température initiale, la loi de décroissance de T, les conditions de l’équilibre statistique et le critère d’arrêt. ■ Température initiale T0 Pour éviter que le processus d'optimisation ne soit piégé dans un minimum local, T0 doit être suffisamment élevée pour que toutes les configurations soient équiprobables au début de la recherche, y compris les plus coûteuses. Autrement dit, à T0, la probabilité p(u,v) doit tendre vers 1, même si la variation ∆g est élevée. T0 doit être telle que : ∆ g max - →1, exp --------------- T 0 soit encore : g max ∆ ---------------- →0 T 0 Lorsque l'on connaît ∆gmax, les auteurs de [5] préconisent de choisir T0 = µ1 x ∆gmax, avec µ1 >> 1 (typiquement 10). Pour le placement, ∆gmax correspond au retrait de la forme Fk de surface Sk la plus élevée, c'est-à-dire : ∆gmax = max (Sk) k ∈N On pourra retenir que : T0 = µ1 max (Sk) k ∈N La vitesse de convergence dépend donc du coefficient µ1. Une valeur élevée de µ1 va évidemment allonger le processus de « refroidissement », une valeur trop faible « gèle » la construction du placement et piège trop rapidement la recherche dans un minimum local. ■ Loi de décroissance du paramètre de contrôle T On peut montrer que la convergence a lieu lorsque l'on part d'une température suffisamment élevée et que l'on fait décroître celle-ci par palier, de sorte qu'au palier n, Tn = µ2 x Tn–1 avec 0,5 < µ2 < 1. La valeur de µ2 constitue la raison de la suite géométrique des Tn. Si µ2 est faible, les résultats sont analogues à ceux de la trempe thermique (refroidissement rapide), c'est-à-dire ici que le placement se stabilise dans une configuration qui n'est pas forcément la plus satisfaisante. On peut alors observer des désordres locaux, des formes dans une mauvaise position ou pouvant être remplacées par une forme plus adaptée. Si µ2 est trop proche de 1, la décroissance est très lente. En réalité, le taux de décroissance µ2 est très lié au nombre d'essais effectués dans chaque palier pour atteindre l'équilibre statistique. Pour le placement, on peut prendre une valeur de l’ordre de 0,9. Il existe par ailleurs différents modèles de décroissance en température. ■ Équilibre statistique Il détermine le moment où l'on doit changer de température. La théorie montre que, à température constante, l'équilibre est atteint lorsque l'on a stationnarité de la distribution de probabilité de la chaîne de Markov. Celle-ci est constituée de la suite des probabilités associées à chaque configuration visitée. Si la température est constante, cette dernière est alors homogène. Cela signifie que l'on a alors toutes les chances de repérer la meilleure solution si l'on fait tendre le nombre de transitions vers l'infini. La méthode converge alors asymptotiquement vers l'optimum global. En pratique, on essayera un nombre limité de configurations par palier, si l'on se satisfait d'une solution quasi admissible. On introduit alors un paramètre supplémentaire. Soit M la longueur des chaînes de Markov, égale au nombre de configurations pour le palier à la température T. On montre que si le taux de décroissance de T est suffisamment proche de 1, la longueur des chaînes de Markov peut être égale au nombre d'états accessibles depuis la configuration courante. Il vient que : M = card (D(k,λ) x D(k,φ) x D(k,c)) où D(k, •) est le domaine de définition du paramètre • pour la forme Fk. Selon la forme ajoutée ou retirée au nœud courant, M est plus ou moins grande, à cause des possibilités de positionnement de chaque forme. ■ Critère d’arrêt Il caractérise le fait que les transformations ne sont plus acceptées et signale la fin du traitement. On peut ainsi décider de s'arrêter lorsque l’une des conditions se réalise : Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 11 OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES __________________________________________________________________________________ — le rendement R est supérieur ou égal au rendement espéré ρe (R > ρe) et il n’est plus possible de placer une forme (g(u) < SurfaceFormeMin) ; — la température finale est atteinte ; — la contrainte temporelle de production impose la sortie d’une solution. Dans tous les cas, on garde en mémoire la meilleure solution rencontrée lors de la recherche. 5.3.3 Implantation Algorithme 5 : parcours d’arbre et recuit simulé 1. Initialisation 1.1. T0 = µ1 x ∆gmax, avec µ1 >> 1 (typiquement 10), 1.2. u = u0, 1.3. Tn = T0 ; 2. TantQue (critère_d’_arrêt = faux) : 2.1. m = 1, 2.2. TantQue (m < M) faire : tirage_de k M = card (D (k,λ) x D (k,φ) x D (k,c)) config = tirage_de (λ,φ,c) m=m+1 v = largeur_d’_adord(u,config) (ou profondeur_d’_abord (u,config)) ∆ g = g (v ) – g (u ) g p(u,v) = exp – ∆ ------Tn si p(u,v) > random[0,1] alors ListeSucc ← v ; « accepté » si g(v) < g (meilleur) alors meilleur = v ; FinTantQue 2.3. Tn+1 = µ2 x Tn FinTantQue ; 3. Sortie ListeSucc 4. Fin R = 81,1 % 2287 s R = 79,5 % 1994 s R = 76,6 % 1880 s 5.4 Résultats La figure 14 montre un exemple de placement obtenu par la méthode du recuit simulé hybride (algorithme 5). Les rendements atteints ici pour les six bandes de placement sont moins bons que pour les algorithmes A *ε figure 12, mais les temps de recherche peuvent être compétitifs moyennant un réglage adapté des différents paramètres. Ces réglages sont manuels et parfois difficiles à caler pour obtenir une recherche rapide et efficace. Pour un problème de grande taille, l’espace de recherche comporte de nombreux modes, et l’obtention d’un état stationnaire représentant une solution acceptable peut prendre beaucoup de temps. 6. Algorithmes évolutionnistes Introduits dans les années 1960 par J. Holland [7] suivi par d'autres chercheurs [8][9][10][11], les algorithmes génétiques (AG), ou plus généralement les algorithmes évolutionnistes (AE), sont une métaphore du processus d'évolution génétique des espèces naturelles selon Darwin. Les algorithmes évolutionnistes permettent de résoudre de nombreux problèmes combinatoires dont les formulations mathématiques sont difficiles à réaliser. 6.1 Présentation 6.1.1 Principe Dans les algorithmes génétiques, la recherche de solution est basée sur le maintien d'une population de points de recherche, appelée aussi population d'individus représentant les solutions candidates. Ces individus, représentés sous formes de chaînes (chromosomes) de caractères, évoluent à travers des générations selon le cycle sélection-reproduction-renouvellement. R = 77,4 % 1569 s R = 75,3 % 14 s Figure 14 – Placement par recuit simulé hybride S 7 212 − 12 Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle R = 47,9 % 61 s __________________________________________________________________________________ OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES L’algorithme général s’écrit de la façon suivante. Algorithme 6 : algorithme évolutionniste 1. Initialisation t=0 initialiser la population initiale P(t0) ; 2. t = t + 1 2.1. sélectionner les parents pour la reproduction, 2.2. générer la population P(t + 1) par : — croisement, — mutation ; 2.3. si (t > Nombre_maximum_de_génération) ou (solution_ atteinte) alors sortir meilleur individu sinon retourner en 2 ; 3. Fin Pour appliquer cet algorithme, il faut donc : — définir la représentation d’un individu ; — définir les opérateurs génétiques ; — définir la fonction de mesure des individus (fonction de fitness). 6.1.2 Représentation des solutions Une simple représentation d'un chromosome consiste en une chaîne binaire ou de caractères de longueur fixe. Par exemple, pour coder une solution d'un problème de partition dans lequel l’ensemble E doit être divisé en sous-ensembles V comportant des éléments de E dont la somme ne dépasse pas un certain nombre fixé, un chromosome peut être représenté par un vecteur x = {x1, x2, …, xn} avec xi = 1 lorsque le i-ème élément de E est présent dans V, sinon xi = 0. Exemple : un sous-ensemble V = {2, 3, 6, 8} de l’ensemble E = {1, 2, 3, 4, 5, 6, 7, 8, 9} est codé par le vecteur x = 011001010. de reproduction dans lequel auront lieu des opérations de croisement et de mutation. Plusieurs procédures de sélections existent, dont la plus populaire est la sélection proportionnelle : fitness ( x i ) ∀i ∈ N, p ( x i ) = ----------------------------------------------∑ fitness ( xj ) j =1…N avec N taille de la population. Le tirage proportionnel favorise donc les individus ayant le plus grand fitness. 6.1.6 Renouvellement de la population Il existe plusieurs stratégies de renouvellement de la population dont les plus utilisées sont citées ici. La stratégie élitiste favorisant le meilleur individu qui n'est jamais effacé de la population. Cette stratégie peut favoriser une convergence prématurée. La stratégie de renouvellement total remplace la population entière par des individus nouvellement créés. Cette stratégie est facile à implanter mais elle peut faire perdre les traces de la recherche par élimination systématique des individus anciens. La stratégie un-seul-à-la-fois (steady-state) consiste à sélectionner dans la population initiale deux parents, les croiser entre eux pour générer un ou deux enfants. Ensuite, l'individu enfant est muté puis réinséré dans la population, en remplaçant soit le plus mauvais des deux parents, soit le plus mauvais de la population. La stratégie ( m + l ) [12] : les λ individus nouvellement générés viennent s’ajouter aux µ autres individus de la population actuelle et la sélection s'effectue ainsi dans une population à (µ + λ) individus pour choisir µ individus parents. La priorité de sélection se porte d'abord sur les individus nouvellement générés. Les individus de faible fitness sont éliminés pour garder une population constante. Cette méthode permet aux parents et aux enfants de concourir. Nota : cela est vrai aussi dans la nature pour certaines espèces de longévité élevée : parents et enfants se trouvent longtemps dans la même population. 6.1.3 Opérateurs génétiques Les opérateurs les plus utilisés sont le croisement et la mutation. Le croisement consiste à choisir deux individus parents et à échanger des éléments de leurs chromosomes afin de générer deux ou plusieurs individus enfants. La mutation consiste à modifier la structure ou la valeur d'un élément de chromosome pour aboutir à un nouvel individu. 6.2 Programmation génétique et placement Pour résoudre le problème de placement des formes irrégulières, on présente ici une nouvelle approche utilisant une structure en arbre comme en programmation génétique [13]. 6.1.4 Fonction de fitness La fonction de fitness permet d'évaluer la qualité de la solution présentée par chaque individu, permettant aussi de les sélectionner pour le bassin de reproduction. Souvent, c'est la fonction objectif du problème. Si les valeurs de fitness des individus de la population sont trop proches, rendant difficile la nette distinction entre leurs qualités, on utilise une méthode de fitness scaling dont la plus courante consiste à utiliser une fonction linéaire : f’=a+bxf avec a et b constantes calculées selon la fenêtre de zoom, c'est-àdire la région dans laquelle se concentrent les individus de la population. 6.1.5 Sélection Le caractère stochastique de l'algorithme réside dans la probabilité de sélection. Les individus sélectionnés sont destinés au bassin 6.2.1 Codage arborescent La programmation génétique est un paradigme similaire à l'algorithme génétique mais utilisant des chromosomes codés en arbre avec des nœuds représentant des fonctions, des variables ou des constantes. Dans notre code en arbre, les formes sont liées ensemble par un opérateur de placement (adjacence, rotation). Les formes peuvent être vues comme des opérandes. Un chromosome représente un placement possible de toutes les formes. Chaque arbre représente une bande de placement (étant donné que le placement est divisé en plusieurs bandes de placements). Un arbre est lui-même composé de sous-arbres binaires qui sont composés de formes (figure 15). La forme canonique d’un arbre s’écrit de la façon suivante : T = (… ((F1, F2) ∆[θ2, γ2]), …, … ((Fj, Fk) ∆[θk, γk])…)∆[θend, γend]) Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 13 OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES __________________________________________________________________________________ [2,4] F6 F3 [0,2] [2,4] F6 [0,3] Un arbre à une seule forme peut être interprété comme un arbre composé de la forme Fk associée avec la forme contenante qui est la matière. Cela est équivalent à positionner Fk sur la surface matière. La rotation d'une forme Fk est effectuée par rapport à son centre (intersection de diagonales du rectangle circonscrit) dans la référence globale, en respectant évidemment son ensemble d'orientations permises. La forme est ensuite placée avec une adjacence par défaut, sur le côté en haut à l'origine du repère global. F1 F3 [0,2] F4 F5 6.3 Population initiale F2 F5 F1 F4 F2 Le code linéaire associé à cet arbre est : T = ((((((F1, F2) ∆ [0,2]), F3) ∆ [2,4]), ((F4, F5) ∆ [0,3]) ∆ [0,2]), F6) ∆ [2,4] Figure 15 – Arbre et bande de placement correspondante L'opérateur de rotation θk est choisi dans {0, 1, 2, 3} dont la valeur doit être multipliée par π/2, et l'opérateur d'adjacence γk est choisi dans {1, 2, 3, 4}, le numéro de côté dans le repère global. L'opérande de côté gauche est considéré comme fixe. L'opérande de côté droit est la partie mobile sur laquelle seront appliqués les paramètres spécifiés dans l'opérateur. Pour une forme composée, la rotation est choisie dans {0, 2}. [θend, γend] représente le dernier opérateur, sommet de l'arbre. Un arbre binaire est codé de gauche à droite avec toujours deux feuilles (arbre binaire). Par exemple, (F1, F2)∆[θ2, γ2] signifie que F1 est fixe et F2 est tournée de θ2 x π/2 puis placée à côté de F1 sur le côté γ2 (figure 16). Par cette méthode, au lieu de faire le placement en ajoutant une seule forme à la fois à chaque étape, un bloc de formes composées peut s'associer à un autre. Cela permet non seulement de faire progresser le placement plus vite, mais aussi de préserver ou d'échanger les meilleurs blocs de formes composées. 6.2.2 Décodage Le décodage correspond au placement. Le codage n'indique pas explicitement la manière exacte par laquelle les formes doivent être imbriquées. Il nécessite donc un algorithme local de placement qui doit fournir l'imbrication optimale selon les paramètres donnés (figure 16). 0 x F1 L'arbre initial contenant une seule feuille Fk correspond au placement de la première forme dans une bande. Cet arbre peut être interprété comme un arbre composé de la forme Fk associée à la forme contenante qui est la matière. Cela est équivalent à positionner Fk sur la surface matière avec une rotation d'angle θk par rapport à son centre dans le référentiel global, en respectant évidemment son ensemble d'orientations permises. La forme est ensuite placée avec une connexité par défaut (γk = 1), en haut à gauche, qui est l'origine du repère global. Donc, un arbre minimal est un arbre contenant une seule forme mais ayant deux feuilles, la deuxième feuille étant la matière qui constitue la partie fixe. La population est constituée d'arbres à deux feuilles choisies au hasard. L'initialisation consiste à disposer les formes dans autant de bandes que de pièces. Ensuite, on cherche à diminuer le nombre de bandes, et en parallèle, les arbres deviennent de plus en plus importants au fur et à mesure que la recherche progresse, par mutation ou par croisement. 6.4 Opérateurs génétiques 6.4.1 Croisement de sous-arbres Dans un chromosome, chaque forme Fk ne peut apparaître plus de ak fois, il est donc nécessaire de vérifier la redondance des formes à chaque échange de sous-arbres. Pour notre cas, le site de croisement est choisi au hasard, mais le croisement n’est effectué qu’après avoir vérifié la redondance. Ce croisement doit pouvoir transmettre de bons blocs aux générations suivantes. On échange les sous-arbres entre arbres (figure 17). Le croisement est permis si les arbres sont composés de plus de trois formes, sinon ils seront soumis à la mutation. Avant le croisement, la vérification de contraintes telles que le nombre de formes, la surface occupée, etc., doit être effectuée. Les éléments échangés peuvent garder leurs orientations et connexités relatives, sinon, ils peuvent être mutés. La redondance des formes est une contrainte qui restreint la liberté des opérateurs. On pourrait la relaxer en ajoutant un terme de pénalité à la fonction de fitness. F1 6.4.2 Mutation d’arbre F2 θ F2 Rotation de F2 de θ y Recherche de l'imbrication localement sur ce côté T = (F1, F2) ∆ [0,2] Figure 16 – Réalisation d’un placement à partir d’un code arbre S 7 212 − 14 La mutation est un opérateur local générant un seul successeur. Pour chaque sous-arbre du chromosome, on tire un nombre aléatoire entre 0 et 1 et on le compare à la probabilité de mutation. Si le nombre aléatoire est inférieur à cette dernière, le sous-arbre est muté. L’opération de mutation consiste soit à enlever un nœud du sous-arbre et à le réinsérer dans un autre sous-arbre du même individu, soit à modifier seulement l'orientation ou la connexité en prenant soin de respecter les contraintes de dépassement en largeur ou de superposition (figure 18). Si l’une de ces contraintes n’est pas satisfaite, l'individu reste inchangé. Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle __________________________________________________________________________________ OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES [0,2] [2,3] [0,2] F1 F4 [0,1] F3 [0,2] F3 [0,2] [0,2] F5 F1 [0,1] F2 [0,2] F6 F1 Parent 1 F4 F5 [2,2] F1 F6 F6 Échange F3 [2,3] [0,2] F2 F4 F1 Enfant 1 F6 F4 F2 [0,2] F1 [0,1] [0,2] F6 F2 F6 [2,4] F6 [0,2] [0,1] F3 Mutation sur l'adjacence F3 [0,2] F2 F3 F1 [0,1] F2 [0,2] F3 F2 F1 F6 [0,2] F3 Parent 2 F1 [0,2] Mutation sur la rotation F3 F5 F2 F1 F6 F6 F3 site de mutation F5 Enfant 2 Figure 18 – Mutation d’arbre site de croisement Figure 17 – Croisement d’arbres 7. Conclusion 6.5 Résultats Dans cet article, nous avons présenté trois algorithmes pour la résolution du problème de placement de formes irrégulières. Les algorithmes dérivés de A*, A*ε (et R δ* ), sont des stratégies de recherche semi-exhaustives utilisant des fonctions heuristiques pour explorer un grand espace de recherche. Cette propriété permet de confiner la recherche dans une zone limitée de l'espace de recherche. Ces méthodes sont souvent utilisées pour une recherche locale et exhaustive. Le recuit simulé est une recherche aléatoire informée. Mais, si le nombre de minima locaux est élevé, le nombre d'itérations devient prohibitif. Cependant, cet algorithme possède la propriété d'exploration aléatoire locale, au voisinage d'un point donné. Il est utile pour une recherche locale rapide. Les paramètres génétiques utilisés sont : — une population de 10 à 30 individus ; — un taux de croisement de 0,6 ; — un taux de mutation de 0,2 à 0,8. La figure 19 montre l'influence des taux de croisement et de mutation sur la convergence. Le croisement favorise l'exploration et la convergence est moins rapide, tandis que la mutation favorise l'exploitation qui fait converger l'algorithme plus rapidement. La figure 20 montre deux exemples de placements de formes diverses. Les rendements obtenus dépendent du carnet de commande et des formes. R (%) R (%) 100 100 80 80 60 60 40 40 20 0 20 5s 26 s 52 s 82 s 103 s 139 s 183 s 216 s 269 s 317 s 0 20 40 60 80 100 120 140 160 180 0 27 s 42 s 126 s 237 s 348 s 0 20 40 60 80 Nombre de générations a Nombre de générations croisement b meilleur rendement mutation moyenne Taille de la population : 5 Figure 19 – Influence des taux de croisement et de mutation sur la convergence Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 15 OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES __________________________________________________________________________________ R = 80,6 % 936 s R = 80,2 % 685 s Lu = 2023 WM = 500 Population = 10 R = 76,7 % 729 s Rmoy = 76,1 % R = 81,1 % R = 81,4 % Lu = 2862 R = 75,8 % R = 70,5 % WM = 500 Population = 20 Taux de croisement = 0,7 Rmoy = 64,8 % b R = 67,2 % 750 s Taux de mutation = 0,3 formes de pantalons R = 76,1 % Générations = 50 R = 78,9 % 357 s Temps = 3861 s Générations = 250 a R = 72,9 % 404 s R = 71,7 % R = 72,5 % R = 46,7 % R = 55,5 % R = 17,1 % Temps = 12415 s Taux de croisement = 0,7 Taux de mutation = 0,3 formes de chemises Figure 20 – Exemples de placements L'algorithme évolutionniste est une recherche aléatoire distribuée. Il a la propriété de scruter un large espace de solutions mais il a des difficultés à focaliser la recherche sur une région particulière. Il est utile pour détecter les régions potentielles de cet espace de solutions. Après avoir appliqué ces algorithmes à quelques exemples de placement, nous avons observé qu’ils fournissent des performances à peu près équivalentes. L’algorithme évolutionniste apporte en plus la possibilité d’exploitation grâce à l’évolution par population de configurations et à l’opérateur de croisement. La figure 21 montre les rendements et les durées obtenues pour trois carnets de commande différents. En fait, ces méthodes, bien que la terminologie utilisée soit différente, partagent certaines caractéristiques communes. Par exemple, le concept de population correspond à la liste d'expansion dans les algorithmes dérivés de A*, les opérateurs croisement/mutation sont similaires aux opérateurs de transformation d'états des arbres, la sélection correspond à la stratégie d'expansion des nœuds alors qu'il correspond au critère de Métropolis dans le recuit simulé (tableau 1). Le problème de placement se résout par une transformation d'un état de placement en un autre (ou des états en d’autres états pour l'algorithme évolutionniste) en appliquant des opérateurs locaux ou globaux dans un ordre approprié. Un opérateur local provoque des petits changements dans les éléments de l'état courant et se traduit par un faible déplacement dans l'espace d'états. Un opérateur glo- S 7 212 − 16 bal, comme le croisement, affecte plusieurs éléments et le changement à partir de l'état actuel peut être très important. Dans certaines applications, il est montré que les méthodes hybrides fournissent de meilleurs résultats mais sont aussi très coûteuses en temps de calcul. Le choix de la méthode à utiliser dépend donc en partie du temps de traitement disponible pour résoudre un (0) Tableau 1 – Correspondances entre méthodes Algorithme évolutionniste Recuit simulé Individu Configuration Recherche en arbre Nœud Population Liste d’expansion Fitness Niveau d’énergie/coût Coût d’une solution/état Chromosome Configuration Représentation d’un état Gène Sous-solution Croisement/ mutation Opérateurs de transformation Opérateurs de transformation d’états Sélection Critère de Métropolis Choix d’un nœud pour être développé Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle __________________________________________________________________________________ OPTIMISATION DU PLACEMENT DES FORMES IRRÉGULIÈRES R (%) 80 02 h 52 min 48 s 77,9 70,5 68,8 70,4 68,7 77 72,6 76,1 64,8 60 01 h 55 min 12 s 40 57 min 36 s 20 0 carnet 1 a carnet 2 carnet 3 0 carnet 1 rendement b algorithme Aε* recuit simulé carnet 2 carnet 3 durée de recherche algorithme évolutionniste Figure 21 – Comparaison des trois algorithmes problème particulier. Pour résoudre un problème complexe, il serait intéressant de pouvoir varier les stratégies au cours de la recherche. Si on a besoin d'avoir des sous-solutions de façon séquentielle, pour une découpe en continu par exemple, un algorithme séquentiel est préférable, en l'occurrence le recuit simulé ou la recherche en arbre. Les algorithmes évolutionnistes peuvent être utilisés pour une recherche hors ligne, si une solution globale optimale est réellement nécessaire. L'algorithme évolutionniste maintient une population de bandes qu'il fait évoluer en parallèle ; la solution qu'il fournit est une solution globale donnant le placement de l'ensemble des formes du carnet de commande. Selon la taille de la population, il peut exiger un temps plus long avant qu'une solution acceptable soit obtenue. Mais il est capable de trouver une solution globale. Cependant, il ne peut pas fournir de sous-solution en cours de la recherche comme le recuit simulé et les algorithmes de la famille de A*. Références bibliographiques [1] [2] [3] [4] ROUSSEL (G.). – Optimisation du placement de formes irrégulières sur matières planes. Application à l’industrie de la confection. 1994, thèse de doctorat de l’Université des sciences et technologies de Lille. FARRENY (H.) et GHALLAB (M.). – Éléments d’Intelligence Artificielle. 1987, Hermès, Paris. PEARL (J.). – Heuristique, Stratégie de recherche intelligente pour la résolution de problème par ordinateur. Coll. Intelligence Artificielle, 1990, Cepaduès. BOUNSAYTHIP (C.K.). – Algorithmes heuristiques et évolutionnistes : application à la résolution du problème de placement de formes irrégulières. 1998, thèse de l’Université des sciences et technologies de Lille. [5] NILSSON (N.J.). – Principles of Artificial Intelligence, Symbolic Computation. 1982, Springer-Verlag, Berlin, Heidelberg, New York. [6] SIARRY (P.) et DREYFUS (G.). – La méthode du recuit simulé : théorie et applications. 1988, École supérieure de physique et de chimie de la ville de Paris, IDSET, Paris. [7] HOLLAND (J.-H). – Adaptation in Natural and Artificial Systems. 1975, MIT Press. [8] GOLBERG (D.-E.). – Genetic Algorithms in Search, Optimization and Machine Learning. 1989, Addison Wesley. [9] DAVIS (L.). – The Genetic Algorithm HandBook. 1991, Van Nostrand Reinhold, New York. [10] [11] [12] [13] MICHALEWICZ (Z.). – Genetic Algorithms + Data Structures = Evolution Programs. 1992, coll. Artificial Intelligence, Springer-Verlag, Berlin, Heidelberg. ALLIOT (J.-M.) et SCHIEX (T.). – Intelligence Artificielle et Informatique Théorique. 1994, Cepaduès. BÄCK (T.) et SCHWEFEL (H.-P.). – Evolution Strategies I : Variants and their computational implementation, p. 111-126. Evolution Strategies II : Theoretical aspects implementation, p. 127-140. In : G. Winter, J. Périeaux, M. Galá and P. Cuesta, editors : Genetic Algorithms in Engineering and Computer Science. 1995, Wiley, Chichester. KOZA (R.). – Genetic Programming. 1992, MIT Press, Cambridge, MA. Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 212 − 17
© Copyright 2024 Paperzz