• Aucun résultat trouvé

Structure g´ en´ erale d’un algorithme d’´ evolution

B.6 Commentaires

5.3 Structure g´ en´ erale d’un algorithme d’´ evolution

(1) G´en´erer al´eatoirement une population de solutions candidates P et les ´evaluer

(2) tantque La condition d’arrˆet n’est pas v´erifi´ee faire

(3) Produire une population de nouvelles solutions candidates P en effec-tuant des modifications al´eatoires sur des ´el´ements s´electionn´es dans P (4) Evaluer les solutions de P

(5) Remplacer certains ´el´ements de P par des ´el´ements de P (6) fintantque

(7) retourner la meilleure solution de P

Une solution peut alors s’appeler un individu et l’ensemble des solutions s’appelle la population par analogie avec le monde du vivant.

Le premier avantage que l’on peut donner `a cet algorithme est sa simplicit´e de formulation. Le second avantage est qu’`a ce niveau de pr´ecision, la m´ethode reste tr`es g´en´erale et peut donc ˆetre appliqu´ee `a un grand nombre de probl`emes2.

2Gardons `a l’esprit que pour ˆetre comp´etitif, un algorithme d’´evolution ne gardera pas longtemps

Nous donnons quelques caract´eristiques des principaux algorithmes d’´evolution :

Les algorithmes g´en´etiques (AG). Bien que les AG (Genetic Algorithm : GA) n’aient pas ´et´e con¸cus initialement comme des algorithmes d’optimisation mais plutˆot comme des proc´edures d’apprentissage pour des syst`emes adaptatifs, ils peuvent trai-ter des probl`emes d’optimisation vari´es. Dans sa formulation initiale (ou canonique (Goldberg, 1989)), l’AG manipule une population de chaˆınes binaires. L’´etape 3 de l’algorithme 5.3 se d´ecompose en trois phases (nous ne donnons que les grandes lignes) : – s´election :|P | individus sont s´electionn´es dans la population P = {s1, . . . , s|P |}

o`u chaque individu sk a une probabilit´e Ps(sk) = |P |f (sk)

i=1f (si) d’ˆetre s´electionn´e, la population P1 est ainsi constitu´ee ;

– croisement : la liste des individus est parcourue et chaque individu a une pro-babilit´e Pc d’ˆetre choisi pour un croisement, quand on dispose de deux individus on tire al´eatoirement un point de coupure et les chaˆınes binaires sont ´echang´ees par rapport `a ce point, finalement on obtient la population P2;

– mutation : les bits des individus de P2 sont invers´es avec une probabilit´e Pm, on obtient alors la population P.

L’AG canonique a beaucoup ´evolu´e du point de vue de la repr´esentation des solu-tions (codage r´eel, entier, ou mixte), ou de la s´election (par exemple par tournoi : on s´electionne le meilleur individu d’une sous-population extraite al´eatoirement de P ).

Les strat´egies d’´evolution (SE). Les premi`eres apparitions des strat´egies d’´ evo-lution (Evoevo-lution Strategies : ES) ´etaient destin´ees `a optimiser la forme d’objets en soufflerie. La population ´etait alors r´eduite `a un seul individu, ses caract´eristiques ´

etaient r´eelles et seule une mutation bas´ee sur la loi normale le faisait ´evoluer. Depuis, de nombreuses variantes sont apparues (voir par exemple (B¨ack et al., 1991; Schwefel, 1995)). L’apport principal des SE est de consid´erer un individu comme un couple de vecteurs (s, σ) o`u s est une solution du probl`eme et σ les ´ecarts type utilis´es par la mutation normale. Ces ´ecarts type sont modifi´es `a chaque it´eration en fonction de la qualit´e de l’individu qu’ils ont contribu´e `a g´en´erer. Des ´evolutions plus r´ecentes des SE manipulent une population : λ descendants sont cr´e´es `a partir de µ parents (λ > µ). Deux strat´egies de s´election sont souvent utilis´ees : la population suivante est choisie parmi les λ descendants (not´ee (µ, λ)-ES) ou alors parmi les λ + µ descendants et parents (not´ee (µ + λ)-ES).

La programmation ´evolutive (PE). A son origine, la PE (Evolutionary Program-`

ming : EP) manipule des individus repr´esentant des machines `a ´etats finis (Fogel et al., 1966). D’une g´en´eration `a l’autre, chaque descendant est cr´e´e `a partir d’un unique pa-rent par mutation. Les meilleurs individus sont alors retenus pour former la g´en´eration suivante. De nombreuses ´evolutions de la PE sont apparues pour traiter notamment des probl`emes d’optimisation num´erique.

La programmation g´en´etique(PG). Les individus manipul´es par la PG (Genetic

per-94 5.5 Objectifs

mettant de le r´esoudre (Koza, 1994). Ces programmes sont repr´esent´es par des arbres dont les op´erateurs g´en´etiques modifient les branches et les feuilles repr´esentant des instructions indivisibles. L’´evaluation d’un individu d´epend de sa capacit´e `a r´esoudre le probl`eme.

Il existe de nombreuses m´ethodes d’optimisation bas´ees sur une population et plus ou moins proche des algorithmes d’´evolution. On peut par exemple citer l’optimisation par essaim particulaires (Particle Swarm Optimization : PSO) (Kennedy and Eberhart, 1999), ou encore l’´evolution diff´erentielle (Price, 1999).

5.5 Objectifs

Il n’y a pas r´eellement de conclusion `a apporter `a ce chapitre, il avait pour prin-cipal objectif de fixer un certain nombre de notions qui seront utilis´ees par la suite. Dans le chapitre suivant, nous nous int´eressons `a une classe particuli`ere d’algorithmes d’´evolution : ces algorithmes ne manipulent pas vraiment une population d’individus (au sens ou nous l’avons pr´esent´e pour l’AG) mais un ´echantillonnage de la popu-lation. Ils manipulent des fr´equences d’apparition des g`enes (i.e. des valeurs de bit). Ces m´ethodes nous int´eressent car on peut leur trouver un certain nombre de points commums avec une adaptation que nous proposons de l’heuristique ACO. Dans le cha-pitre 7, les algorithmes d’´evolution nous permettront de donner quelques similitudes ou diff´erences avec la mod´elisation des fourmis Pachycondyla apicalis que nous avons developp´ee pour r´esoudre des probl`emes d’optimisation.

L’optimisation `a base de

populations

Ce chapitre pr´esente une comparaison de plusieurs mod`eles proba-bilistes destin´es `a l’optimisation num´erique. L’objectif est de mon-trer que de nombreux travaux issus des algorithmes g´en´etiques ou des algorithmes `a base de colonies de fourmis utilisent des principes tr`es proches. Nous allons nous int´eresser aux algorithmes BSC, PBIL et ACO car ces trois m´ethodes utilisent un vecteur de probabilit´es comme ´echantillon de l’espace de recherche. Les chaˆınes binaires qui repr´esentent les solutions du probl`eme sont g´en´er´ees selon ce vec-teur que chaque m´ethode tente d’apprendre. Apr´es avoir pr´esent´e les points communs et les diff´erences entre ces trois algorithmes, nous pr´esentons une ´etude exp´erimentale sur des fonctions binaires classiques.

6.1 Introduction

Les Algorithmes G´en´etiques (AG) et plus g´en´eralement les Algorithmes ´ Evolution-naires (AE) sont de plus en plus utilis´es pour r´esoudre des probl`emes d’optimisa-tion difficiles. Dans ce type d’heuristiques, une populad’optimisa-tion de solud’optimisa-tions est g´en´er´ee al´eatoirement et diff´erents op´erateurs, tels que la s´election, le croisement et la mu-tation, sont appliqu´es sur cette population pour en cr´eer une nouvelle qui sera plus adapt´ee au probl`eme. Les solutions peuvent ˆetre cod´ees sous forme binaire, comme dans les AG, ou sous forme r´eelle comme dans les stat´egies d’´evolution (SE).

Dans le but de rapprocher ces algorithmes des algorithmes `a base de popula-tion de fourmis, nous nous sommes int´eress´es `a un type particulier d’algorithmes ´evolutionaires : les algorithmes bas´es sur la fr´equence des g`enes ; au lieu de simuler une population enti`ere de n individus qui seront s´electionn´es, crois´es puis mut´es, une

distribution de probabilit´e d’apparition des g`enes est utilis´ee pour g´en´erer la population. Cette distribution est ensuite modifi´ee selon l’adaptation des individus de la popula-tion. Cette approche n’est pas encore tr`es r´epandue compar´ee aux techniques

96 6.2 Notations et d´efinitions

misation g´en´etiques standards mais nous sommes confiants dans le d´eveloppement de cette famille d’algorithmes ´evolutionnaires1. De plus, les domaines d’application ne se limitent pas aux seuls domaines binaires. On peut en trouver un exemple dans (Ramat et al., 1997) o`u ce type de m´ethode est mis en œuvre sur des probl`emes de planifi-cation avec contraintes de ressources multiples. Dans cette appliplanifi-cation, un algorithme g´en´etique bas´e sur la fr´equence des g`enes est utilis´e pour choisir les r`egles d’affectation et d’ordonnancement utilis´ees pour planifier un ensemble d’activit´es. Dans (Sebag and Ducoulombier, 1998) on peut trouver une application `a des domaines continus. Nous avons aussi propos´e d’utiliser une approche ´evolutionnaire se basant sur les fr´equence de g`ene pour la g´en´eration interactive de feuilles de style pour site web (Monmarch´e et al., 1999). Nous pr´esentons ici deux de ces approches : BSC (Bit-Simulated

Cros-sover ) (Syswerda, 1993) et PBIL (Population Based Incremental Learning ) (Baluja,

1994; Baluja and Caruana, 1995; Baluja, 1995).

En ce qui concerne les fourmis artificielles, nous nous int´eressons aux techniques d’optimisation de type ACO (Ant Colonies Optimization) (Colorni et al., 1991; Dorigo et al., 1996; Dorigo and Gambardella, 1997b; Dorigo and Di Caro, 1999b) pr´esent´ees en d´etail dans le chapitre 2. ACO manipule aussi une population d’individus mais de fa¸con assez diff´erente des AGs. La technique g´en´erale d’ACO est d’utiliser des traces de ph´eromones pour guider la recherche d’optimum par les fourmis qui mettent `a jour ces traces selon les solutions g´en´er´ees. Ces traces prennent la forme d’une distribu-tion de probabilit´e sur un espace de recherche discret. Cette id´ee, qui a ´et´e d´evelopp´ee ind´ependament de BSC et PBIL, est cependant bas´ee sur les mˆemes principes : l’uti-lisation d’une distribution de probabilit´es pour r´esoudre un probl`eme d’optimisation. Nous pr´esentons dans ce chapitre deux adaptations des principes d’ACO au probl`eme de l’optimisation de fonctions binaires.

Voici les objectifs de ce chapitre : dans un premier temps nous allons d´ecrire les algorithmes BSC, PBIL et ACO afin d’en exhiber les similitudes et diff´erences. Puis nous comparerons les r´esultats que l’on peut obtenir sur un ensemble de fonctions de complexit´es diverses. Enfin, nous pr´esenterons les enseignements que l’on peut tirer de cette ´etude et les ´evolutions envisageables.

6.2 Notations et d´efinitions

Afin de faciliter la description de ces trois algorithmes nous allons utiliser une structure commune pour s’assurer d’une comparaison ´equitable. Nous consid´erons le probl`eme d’optimisation binaire standard qui consiste `a trouver dans un espace de recherche S = {0, 1}l le minimum d’une fonction d’´evaluation f , f : S → R+. Nous notons par s un minimum global de f (s n’est pas obligatoirement unique). La valeur du bit i de la chaˆıne s sera not´e s(i).

Les notations communes aux trois algorithmes utilis´es pour r´esoudre ce probl`eme standard sont les suivantes :

1Voir le workshop(( Optimization by Building and Using Probabilistic Models )) (OBUPM’2000)

de la conf´erence GECCO2000 qui est l’un des premiers dans ce domaine (voir (Pelikan et al., 1999) pour un ´etat de l’art).

– V = (p1, . . . , pl), avec pi ∈ [0, 1], qui repr´esente le vecteur de probabilit´e qui

sera utilis´e pour g´en´erer des points de S. Nous d´ecidons que pi repr´esente la probabilit´e de g´en´erer un (( 1 )) ;

– P = (s1, . . . , sn), avec si ∈ S, qui repr´esente les n chaˆınes binaires qui seront

g´en´er´ees `a chaque cycle. P peut ˆetre consid´er´ee comme la population dans les algorithmes ´evolutionnaires.

L’algorithme g´en´eral (not´e BPA `a partir des initiales de BSC, PBIL et ACO) est donn´e par l’algorithme 6.1