Cours Contrˆole Avanc´e
Partie Algorithmes G´en´etiques
Ecole Centrale Paris
S´eance 1 : Pure random search et (1+1)-EA sur Ω = {0,1}n
http://www.lri.fr/˜auger/
Recherche al´eatoire simple (PRS, en anglais Pure Random Search)
Le premier algorithme d’optimisation stochastique introduit avant que les algorithmes g´en´etiques (GA),
strat´egies d’´evolutions (ES) soient introduits est une recherche al´eatoire simple qui consiste `a tirer des
points au hasard, uniform´ement dans l’espace de recherche et sauvegarder la meilleure solution obtenue.
Les papiers historiques proposant l’utilsation de Pure RS comme m´ethode d’optimisation:
?S.H. Brooks , Discussion of random methods for locating surface maxima. Opera-
tions Research 6 (1958), pp. 244–251.
?Rastrigin, L.A. The convergence of the random search method in the extremal
control of a many-parameter system, Automation and Remote Control 24 (1963),
pp. 1337-1342.
Nous allons implanter un algorithme PRS dans le cadre de la maximisation de la fonction Onemax, fonction
d´efinie sur un espace de chaˆınes de bits, Ω = {0,1}n.
Exemple 1 Pour x∈ {0,1}n, la fonction Onemax est d´efinie par
fOnemax(x) =
n
X
i=1
xi
1. Quelle est l’optimum de la fonction (on maximise)? Que vaut la valeur de fOnemax `a l’optimum?
2. Ecrire une fonction Matlab onemax.m qui prend en argument une chaˆıne de bit xet retourne la
valeur fOnemax(x). (Fonction matlab utile sum).
3. Ecrire une fonction Matlab pureRS.m qui prend en argument la taille de l’espace de recherche net
retourne le nombre d’´evaluations n´ecessaires pour atteindre l’optimum, ainsi qu’un vecteur fitness
de taille nombre total d’´evaluations et dont la coordonn´ee “i” repr´esente la meilleur valeur trouv´ee
jusqu’`a l’it´eration i(pour ´echantillonner uniform´ement on pourra utiliser les instructions rand et
round).
4 Tracer l’´evolution de la fitness en fonction du nombre d’´evaluations pour deux runs ind´ependants
de l’algorithme. Que constatez vous? (instructions matlab utiles: plot,hold on)