• Aucun résultat trouvé

1.5 M´ etaheuristiques pour l’optimisation difficile

1.5.3 M´ etaheuristiques ` a population de solutions

1.5.3.2 Algorithmes ´ evolutionnaires

Les algorithmes ´evolutionnaires sont des algorithmes bas´es sur la th´eorie de l’´evolution et

la s´election naturelle, ils ont ´et´e propos´es `a l’origine par Darwin en 1985 pour r´esoudre

plu-sieurs probl`emes d’optimisation [Fogel et al., 1966 ; Fraser, 1960]. Le principe fondamental

des algorithmes ´evolutionnaires est d’adapter les individus `a leur lieu ou environnement

pour survivre et se reproduire en transmettant leurs g`enes aux descendants. En effet, ils

permettent de faire ´evoluer une population pour la recherche des solutions dans un

envi-ronnement. Toutes les solutions trouv´ees, appel´ees aussi individus, sont repr´esent´ees par

leur g´enotype, exprim´e sous la forme d’un ph´enotype.

Plusieurs m´etaheuristiques sont inspir´ees du terme Evolutionary Computation, telles que

les strat´egies d’´evolution [Rechenberg, 1965 ; Beyer, 2001], la programmation ´evolutive

[Fogel et al., 1966 ; Fogel, 1962], les algorithmes g´en´etiques [Holland, 1975], l’´evolution

diff´erentielle [Storn & Price, 1997 ; Price et al., 2005] et la programmation g´en´etique

[Koza, 1992]. La figure 1.16 illustre le principe des algorithmes ´evolutionnaires bas´es

essentiellement sur les op´erateurs de s´election, de croisement et de mutation.

Figure 1.16 – Principe d’un algorithme ´evolutionnaire standard [Coello.Coello et al.,

2007].

Comme les algorithmes ´evolutionnaires sont it´eratifs, chaque it´eration correspond `a une

g´en´eration. La population est l’ensemble d’individus qui repr´esentent les solutions prˆetes

pour le croisement et capables de se reproduire. La phase d’´evaluation consiste `a calculer

la fitness pour chaque individu par rapport `a son ph´enotype. La phase de reproduction

englobe deux enchaˆınements ; on croise les individus de la population (g´enotypes) selon un

op´erateur de croisement. On obtient donc des nouveaux individus, appel´es aussi

descen-dants ou enfants. Ensuite, certains descendescen-dants vont muter, ce qui signifie la modification

al´eatoire d’une partie de leur g´enotype. La derni`ere ´etape consiste `a s´electionner une partie

des descendants pour former une nouvelle population de la mˆeme taille que la population

initiale. L’op´erateur de s´election ne prendra par exemple que les meilleurs individus en

fonction de leur fitness.

1.5. M´etaheuristiques pour l’optimisation difficile 33

Vu que les algorithmes ´evolutionnaires permettent la mise en place de strat´egies

d’op-timisation efficaces, on r´eserve la suite du chapitre `a l’´etude d´etaill´ee de l’algorithme

g´en´etique et de l’algorithme d’´evolution diff´erentielle, surtout dans un formalisme

d’opti-misation multiobjectif, axe central de ces travaux de recherche.

a. Algorithmes g´en´etiques

L’algorithme g´en´etique GA a ´et´e d´evelopp´e en 1975 par J. Holland [Holland, 1975 ; Borne

& Benrejeb, 2010 ; Dr´eo et al., 2003 ; Goldberg, 1994]. Cet algorithme est le plus populaire

et le plus largement utilis´e des algorithmes ´evolutionnaires. Il est inspir´e de l’´evolution

biologique des esp`eces vivantes, mettant en oeuvre les ph´enom`enes de s´election naturelle

et de reproduction issus de la th´eorie de Charles Darwin.

L’ensemble des individus forment la population des parents, qui va ´evoluer au cours des

it´erations, dites ”g´en´erations”, jusqu’`a ce qu’un crit`ere d’arrˆet soit v´erifi´e. Cet algorithme

est bas´e sur les op´erateurs g´en´etiques de s´election, de croisement et de mutation, d´ecrits

dans ce qui suit :

– S´election : pour passer d’une g´en´eration `a une autre, nous soumettrons la population `a

des op´erateurs de s´election. Les op´erateurs de variation, eux, permettront de

transfor-mer la population de fa¸con `a favoriser l’´emergence de meilleurs individus. L’algorithme

g´en´etique repose sur une boucle qui enchaˆıne des ´etapes de s´election et des ´etapes de

croisement. Dans un premier temps, `a partir d’une population d’individus, on d´esigne

ceux autoris´es `a se reproduire. Les techniques de s´election les plus largement utilis´ees

sont la s´election par tirage `a la roulette (roulette-wheel selection), la s´election par

rang (ranking selection) et la s´election par tournoi (tournament selection) [Goldberg

& Deb, 1991 ; Blickle & Thiele, 1995].

– Croisement : on croise ensuite ces individus de fa¸con `a obtenir une population

d’en-fants. Comme l’´etape de s´election, on distingue plusieurs techniques de croisement,

on peut citer le croisement uniforme et le croisement en un point.

– Mutation : on peut faire muter al´eatoirement certains g`enes. La performance des

enfants est ´evalu´ee grˆace `a la fonction fitness. La proc´edure est r´ep´et´ee, et l’on

recom-mence une phase de s´election pour la reproduction et une phase de mutation, et ainsi

de suite [Goldberg, 1994].

Comme pour les m´etaheuristiques vues pr´ec´edemment, un crit`ere d’arrˆet permet de sortir

de la boucle. Ceci peut se traduire par un certain nombre d’it´erations sans am´elioration

notable de la performance des individus. Les algorithmes g´en´etiques sont coˆuteux en

temps de calcul car ils manipulent plusieurs solutions simultan´ement. Parmi les avantages

des algorithmes g´en´etiques, on cite leur capacit´e `a trouver de bonnes solutions pour des

probl`emes d’optimisation tr`es complexes.

b. ´Evolution diff´erentielle

L’algorithme `a ´evolution diff´erentielle DE a ´et´e propos´e par R. Storn et K. Price en

1997 pour r´esoudre le probl`eme des polynˆomes de Tchebychev. Cette m´ethode est

clas-sifi´ee parmi les m´etaheuristiques stochastiques d’optimisation [Lampinen & Zelinka, 1999].

Les concepts de base de l’´evolution diff´erentielle sont inspir´es de la combinaison des

algo-rithmes g´en´etiques et des strat´egies ´evolutionnaires, ainsi que de la technique g´eom´etrique

de recherche. Contrairement aux algorithmes g´en´etiques, qui modifient la structure des

in-dividus par les phases de mutation et croisement, l’algorithme `a ´evolution diff´erentielle est

bas´e sur une auto-adaptation par une manipulation g´eom´etrique des individus. Price et al.

[Price et al., 2005] ont d´efini les variantes de l’algorithme en question parDE/x/y/zdont

xest le mode de s´election des individus cibles ou de r´ef´erence, nomm´es respectivement par

bestet rand pour la phase de la mutation,y pr´esente le nombre de diff´erenciations et z

correspond aux sch´emas de mutation, qui peuvent ˆetre exponentiel ou binomial. Au cours

des it´erations et en se basant sur les strat´egies de mutation, chaque individu est g´en´er´e

en ajoutant `a ses composants la diff´erence pond´er´ee d’autres individus de la population.

Puis, un vecteur d’essai est g´en´er´e suite `a la phase de croisement entre l’individu initial et

son vecteur dit mutant. La phase de s´election consiste `a comparer les valeurs de la fonction

objectif de deux vecteurs p`ere et descendant, pour garder le vecteur ayant la plus petite

valeur de fonction objectif, en cas de minimisation. Ce processus conduit `a la cr´eation

d’une nouvelle population. Il sera r´ep´et´e jusqu’`a atteindre le nombre maximald´efini de

g´en´erations [Storn & Price, 1997 ; Price et al., 2005 ; Xiaobing et al., 2015 ; Zhaoa et al.,

2016].