S7212

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