Optimisation par hybridation d`un CSP avec un algorithme génétique

Optimisation par hybridation d’un CSP avec un
algorithme g´en´etique
Nicolas Barnier & Pascal Brisset
´
Ecole Nationale de l’Aviation Civile
7, avenue ´
Edouard Belin
B.P. 4005
F–31055 Toulouse Cedex 4, France
E-mail :barnier,[email protected]
Dans le cadrede la programmation logique avec contraintes, et plus g´en´erale-
ment des CSP (Constraint Satisfaction Problem) sur des domaines finis, nous proposons une
nouvelle m´ethode d’optimisation reposant sur un algorithme g´en´etique. L’id´ee de base est de
faire manipuler par l’algorithme g´en´etique des sous-domaines des variablesdu CSP, cet ensem-
ble de sous-domaines constituant un chromosome, i.e. un individu de l’algorithme g´en´etique.
L’´evaluation d’un chromosome, c.-`a-d. la fonction optimis´ee par l’algorithme g´en´etique, est
alors calcul´ee par r´esolution du CSP sur le sous-espace correspondant. Dans ce cadre nous
pr´esentons plusieurs op´erateurs de mutation et croisement,triviaux, puis adapt´es au probl`eme.
Le r´esultat de cet ´etude est r´esum´e en un nouveau pr´edicat d’optimisation pouvant remplacer
le minimize de CHIP. Cette m´ethode d’optimisation hybride est destin´ee aux probl`emes dont
l’espace de rechercheest trop vaste pour ˆetre explor´e par un CSP simple et trop complexe pour
qu’un algorithme g´en´etique d´ecouvredes solutions admissibles. Les premierstests de la m´eth-
ode sur une formulation CSP na¨ıve de VRP (Vehicle Routing Problem) sont encourageants.
Optimisation, algorithme g´en´etique, CLP, m´ethode mixte.
1 Introduction
La r´esolution d’un probl`eme d’optimisation consiste `a explorer un espace de re-
cherche afin de maximiser (ou minimiser) une fonction donn´ee. Les complexit´es (en
taille ou en structure) relatives de l’espace de recherche et de la fonction `a maximiser
conduisent `a utiliser des m´ethodes de r´esolutions radicalement diff´erentes. En pre-
mi`ere approximation, on peut dire qu’une m´ethode d´eterministe est adapt´ee `a un
espace de recherche petit et complexe et qu’un espace de recherche grand n´eces-
site plutˆot une m´ethode de recherche stochastique (recuit simul´e, algorithme g´en´e-
tique, ...).
Dans la plupart des cas, un probl`eme d’optimisation se divise naturellement en
deux phases : recherche des solutionsadmissibles puis recherche de la solution `a coˆut
minimal parmi ces derni`eres. Suivant la m´ethode employ´ee, ce d´ecoupage est plus ou
moins apparent dans la r´esolution.
L’usage d’un algorithme g´en´etique [GOL 89] est adapt´e `a une exploration rapide
et globale d’un espace de recherche de taille importante et est capable de fournir
plusieurs solutions. Dans le cas o`u l’ensemble des solutions admissibles est com-
plexe (i.e. il est difficile d’isoler une solution admissible), l’admissibilit´e peut-ˆetre
intrins`eque `a la repr´esentation choisie ou int´egr´ee `a la g´en´eration des chromosomes
(mutation, croisement) ou `a la fonction `a optimiser (on attribue une mauvaise adapta-
tion `a une solution non admissible).
L’utilisation d’une technique de satisfaction de contraintes (CSP) est adapt´ee aux
probl`emes tr`es contraints o`u une exploration exhaustive de l’espace de recherche
est envisageable. La m´ethode fournit naturellement des solutions admissibles. En
ajoutant une contrainte (dynamique) portant sur le coˆut d’une solution, la r´esolution
peut produire une solutionoptimale (c’est le pr´edicat minimize de CHIP [DIN 88]).
Cette m´ethode garantit l’optimalit´e (´eventuellement `a un pourcentage pr`es) de la so-
lution.
Mais il n’existe ´evidemment pas de dichotomie simple au sein de l’ensemble des
probl`emes d’optimisation : de nombreux probl`emes sont fortement contraints et pos-
s`edent un vaste espace de recherche. Ces deux caract´eristiques excluent l’usage direct
(na¨ıf) d’un algorithme g´en´etique ou d’un CSP.
Nous proposons de profiter des avantages des deux approches en les hybridant :
utilisation d’un CSP pour calculer des solutions admissibles sur un sous-espace
de l’espace de recherche ;
utilisation d’un algorithme g´en´etique pour explorer cet espace.
L’id´ee est illustr´ee par la figure 1 (dans le cas d’un probl`eme `a deux variables contin-
ues) : les zones gris´ees sont les individus de l’algorithmeg´en´etique qui correspondent
chacun `a un sous-espace ; pour chaque sous-espace est calcul´ee une solution `a l’aide
du CSP. `
A un individu ne correspond pas n´ecessairement une solution et deux indi-
vidus distincts peuvent correspondre `a une mˆeme solution. La rapport de la taille
d’un sous-espace `a la taille totale de l’espace de recherche (not´e par la suite) est
le param`etre essentiel de l’hybridation : on peut passer continˆument d’une r´esolution
purement CSP ( ) `a une r´esolutionpurement stochastique ( ,un sous-espace
est r´eduit `a une valeur).
1. C’est par exemple possible pour le TSP.
X1
Sous-espace/individu
Sous-domaine X1
X2
Sous-domaine X2
Solutions
Figure 1 : Un espace de recherche `a deux dimensions
Nous d´ecrivons dans cet article une m´ethode g´en´erique pour r´ealiser cette hybri-
dation pour un CSP quelconque. Dans un premier temps, nous rappelons bri`evement
ce que sont CSP et algorithme g´en´etique. Dans la seconde partie, nous d´ecrivons
l’algorithme g´en´etique : fabrication des sous-espaces, op´erations (mutation et croise-
ment) sur ces derniers et ´evaluation. Nous terminons par un exemple prometteur et
comparons notre m´ethode avec les approches similaires.
2 Contexte
Nous pr´esentons ici les deux techniques d’optimisationdont nous proposons l’hy-
bridation dans la section suivante.
Nous consid´erons ici un CSP d´efini par un triplet o`u est un en-
semble de variables ( , , ...) , leurs domaines finis respectifs ( ,
, ...) et un ensemble de relations entre ces variables. Pour un probl`eme
d’optimisation, on consid`ere en outre une fonction de coˆut et une contrainte sur
ce coˆut o`u est une constante que la strat´egie d’optimisation fait
´evoluer.
Nous exprimons notre CSP en programmation logique avec contraintes (CLP)
[VAN 89] et utilisons le syst`eme ECL PS [ECL 92] qui impl´emente toutes les con-
traintes classiques, lin´eaires (#=,#>, ...) et autres (alldistinct,element, ...),
et permet ´egalement d’en d´efinir simplement de nouvelles (op´erations directes sur les
domaines, contrˆole pr´ecis du coroutining, ...). Le pr´edicat min_max (minimize,
maximize, ...) permet d’optimiser une expression lin´eaire en int´egrant le but de r´e-
solution du probl`eme (en g´en´eral l’instantiation des variables, labeling) au sein d’un
branch & bound.
Les algorithmes g´en´etiques tentent de simuler le processus d’´evolution naturelle
suivant le mod`ele darwinien dans un environnementdonn´e. Ils utilisentun vocabulaire
similaire `a celui de la g´en´etique naturelle. Cependant, les processus naturels auxquels
ils font r´ef´erence sont beaucoup plus complexes. On parlera ainsi d’individudans une
population. L’individu est compos´e d’un chromosome lui-mˆeme constitu´e de g`enes
qui contiennent les caract`eres h´er´editaires de l’individu. Les principes de s´election, de
croisement, de mutation s’inspirent des processus naturels de mˆeme nom.
Pour un probl`emed’optimisationdonn´e, un individurepr´esente un pointde l’espace
d’´etats. On lui associe la valeur du crit`ere `a optimiser, son adaptation. On g´en`ere
ensuite de fa¸con it´erative (figure 2) des populations d’individus sur lesquelles on ap-
plique des processus de s´election, de croisement et de mutation. La s´election a pour
but de favoriser les meilleurs ´el´ements de la population, le croisement et la mutation
assurent une exploration efficace de l’espace d’´etats.
On commence par g´en´erer une population d’individus. Pour passer d’une g´en´era-
tion `a la g´en´eration , les trois op´erations suivantes sont r´ep´et´ees pour tous les
´el´ements de la population . Des couples de parents et sont s´electionn´es en
fonction de leurs adaptations. L’op´erateur de croisement leur est appliqu´e avec une
probabilit´e (g´en´eralement autour de ) et g´en`ere des couples d’enfants et .
D’autres ´el´ements sont s´electionn´es en fonction de leur adaptation. L’op´erateur de
mutation leur est appliqu´e avec la probabilit´e ( est g´en´eralement inf´erieure `a
P’
REPRODUCTION
CROISEMENT
EVALUATION
Génération k
POPULATION
Génération k+1
POPULATION
P1 P2
C1 C2
MUTATION
PPROBABILITE Pm PROBABILITE Pc
Figure 2 : Principe g´en´eral des algorithmes g´en´etiques
) et g´en`ere des individus mut´es . L’adaptation des enfants ( , ) et des indi-
vidus mut´es est ensuite ´evalu´ee avant insertion dans la nouvelle population.
Plusieurs crit`eres d’arrˆet de l’algorithme sont possibles : le nombre de g´en´era-
tions peut ˆetre fix´e
a priori
(temps constant) ou l’algorithme peut ˆetre arrˆet´e lorsque la
population n’´evolue plus suffisamment rapidement.
Pour utiliserun algorithme g´en´etique sur un probl`eme d’optimisationon doit donc
disposer d’un principe de codage des individus, d’un m´ecanisme de g´en´eration de la
population initiale et d’op´erateurs permettant de diversifier la population au cours des
g´en´erations et d’explorer l’espace de recherche.
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !