You are on page 1of 12

COMPARAISON ENTRE PSO ET AUTRES HEURISTIQUES

D'OPTIMISATION AVEC OPERATEURS IMPLICITES


L.Gacgne * **
* LIP6 - Universit Paris VI 8 rue du Capitaine Scott 75015 Paris
tel : 01 44 27 88 07 mail : Louis.Gacogne@lip6.fr
** Institut d'Informatique d'Entreprise (CNAM) 18 alle J.Rostand 91025 Evry

Mots cls : optimisation - algorithmes volutionnaires - oprateurs gntiques - optimisation par


essaims de particules
Rsum
Nous prsentons une comparaison sur un certain nombre de fonctions tests, entre diffrentes
heuristiques volutionnaires qui ont en commun de ne pas prendre alatoirement des oprateurs
gntiques et de les appliquer au hasard, mais d'appliquer des rgles de transition fixes entre
gnration.
- Le "space partition algorithm" SPA qui ralise une partition de l'espace en raffinant les rgions o
la fonction optimiser est la meilleure et en fusionnant les autres. Les individus de la population
sont alors des blocs de tailles changeantes dont l'valuation est nanmoins moyenne alatoirement
en leur sein.
- Le "macroevolutionary algorithm" MGA inspir par la dynamique des espces, heuristique dont
le principe est de relier les individus par des poids mesurant leurs influences mutuelles. Il y a au
cours des gnrations, extinction ou bien application d'une sorte de crossover continu entre
individus.
- L'"volution diffrentielle" DE o les individus donnent naissance de nouveaux points de
l'espace de recherche grce une sorte de ttra-crossover.
- Le "Self organizing migration algorithm" SOMA dont l'ide principale est de dterminer des
groupes l'intrieur desquels chaque individu ralise des "sauts" vers le meilleur du groupe et en
s'arrtant sur la meilleure position rencontre. Les classes sont modifies chaque gnration.
- Le "particle swarm optimization" dont le principe est que chaque individu soit anim d'une
"vitesse" qui va dterminer sa "position" suivante. Les rgles de transition prennent en compte le
meilleur individu ainsi que le meilleur de chaque groupe d'individus, groupes dtermins par une
distance ou bien arbitrairement au dpart.
Enfin, nous comparons ces heuristiques avec quelques algorithmes volutionnaires classiques,
notamment celui SSGA dont le renouvellement des gnrations est rgulier.
I INTRODUCTION
Si on dsire tenter un classement des mthodes de rsolutions de problmes, on peut former quatre
grandes classes. Un problme n'est pas ncessairement un problme d'optimisation, mais s'y ramne
trs souvent, ainsi dans les jeux ou dans le fameux problme des reines de Gauss, il est toujours
possible de trouver une fonction minimiser. La difficult rsidant le plus souvent dans la
formalisation : dfinition de la fonction, puis dfinition d'un codage des solutions.
1 - mthodes combinatoires, o un nombre fini d'ventuelles solutions peut tre examin.
1

2 - mthodes constructives (exploration d'arborescence avec retour en arrire), la mthode de


l'lastique pourrait tre assimile une mthode constructive.
3 - mthodes locales (les mthodes mathmatiques classiques de descente de gradient, mais aussi
des heuristiques stochastiques comme le recuit simul)
4 - mthodes volutionnaires ce sont des mthodes stochastiques et globales : faisant intervenir
une population de points en s'inspirant de l'volution des espces vivantes. Parmi ces mthodes nous
pouvons distinguer celles qui utilisent des oprateurs explicites (mutation, croisement ...) et celles
ayant implicitement des rgles de transitions.
4.1 Les mthodes volutionnaires oprateurs explicites
La "programmation volutionnaire" [Fogel 66] utilise une population et sa
descendance par mutations o une mthode de slection permet d'tablir des tournois, en vue de ne
retenir que le meilleur dans une sous-population.
Les "algorithmes gntiques" [De Jong 75], [Holland 75], [Goldberg 89] sont
apparus, caractriss par une volont de brouiller les individus par un codage binaire. Une mutation
peut alors donner un individu aussi bien voisin qu'loign. La dmarche la plus courante consiste
croiser un individu, exercer une mutation sur les deux enfants et remplacer les parents par les
enfants.
Les "stratgies d'volution" [Rechenberg 73], [Schwefel 90] s'cartent de
l'volution naturelle en modifiant tous les individus chaque gnration et se distinguent aussi des
AG par leur dsir de conserver un codage lisible.
La "programmation gntique" [Koza 92, 94], [Kinnear 96] constitue un intressant
domaine d'exprimentation o chaque chromosome est un arbre (une fonction structure dans le
langage LISP) dans le but de trouver des expressions de fonctions (les croisements sont des
changes de sous-arbres, les mutations portent uniquement sur des constantes).
Le "steady-state algorithm" SSGA [Whitley, Kauth 88] Nous prsentons plus loin
une version consistant chaque gnration, appliquer tous les oprateurs produisant enfants
pour parents. Un taux, par exemple 25%, est choisi et les 25% meilleurs enfants remplacent les
25% pires parents.
4.2 Les mthodes volutionnaires oprateurs implicites
Nous prsentons sous ce titre quelques algorithmes dont les dtails suivent. Dans toute la suite, la
fonction "fitness" optimiser sera note f, et on prend le problme de la minimisation.
II ALGORITHMES AVEC OPERATEURS IMPLICITES
Le "space partition algorithm" SPA
Cet algorithme ralise une partition de l'espace en raffinant les rgions o il semble qu'il y ait plus
dim, nous
de valeurs optimales dans le but d'optimiser une fonction f [Gautard 99]. Pour [a, b]
dcidons de diviser l'espace en blocs rguliers (ce peut tre par exemple 5 dans [a, b], soit dim
5
blocs). Un individu est alors un bloc et chacun d'eux reoit une valuation. Une gnration consiste
alors diviser les "bons" blocs et fusionner les "mauvais". Pour cela, une premire mthode
d'valuation consiste prendre la moyenne de p = 10 points alatoirement choisis dans chaque bloc
et de dcider d'une combinaison linaire am +
b o m est la moyenne des valeurs de f pour les p
points et leur cart-type. Si l'valuation est meilleure que la moyenne des individus, le bloc est
divis, (raffinement), sinon, si c'est possible, il est fusionn avec un bloc ayant une face commune
avec lui. Une premire ide tait d'utiliser la triangulation de Delaunay. Mais cette option, jointe
la difficult d'valuer les blocs rend l'algorithme trs complexe.
2

Les rsultats plus loin sont donns avec l'option paralllpipdique, o rgulirement, ils sont
diviss en 2dim nouveaux blocs. De plus, chaque bloc-individu est valu par la valeur de f en son
centre. Malheureusement, il est tout fait possible de laisser de "bonnes" zones pour f l'intrieur
de "mauvais" blocs, et comme nous le verrons, cette heuristique n'est pas performante au regard du
critre de comparaison utilis.
L'algorithme macrovolutionnaire MGA (, , )
Cette heuristique [Marin, Sol 99] est inspire de la dynamique des espces et leur diversification.
Les solutions candidates dans l'espace de recherche de la fonction f sont appeles espces et sont
relies dans un rseau de poids.
Les liens entre individus dterminent le nouvel tat de la gnration suivante : vivant ou teint pour
chacun d'entre eux, w
ij mesure l'influence de jx sur xi en temps rel, une influence ngative en
termes de minimisation, signifiera une survivance.
1 Une population de individus est alatoirement choisie.
2 Une matrice de "connectivit" W est mise jour grce wij = (f(xi) - f(xj)) / || xi - xj ||
3 A chaque gnration t, si l'entre j = 1... wij(t) est ngative ou nulle, alors xi(t+1) = xi(t),
(en ce cas, xi est meilleur que les autres en moyenne pondre, xi est dite vivante) sinon, xi
est supprim et remplac avec une probabilit par un nouvel individu alatoire,
(colonisation). Dans l'autre cas, une sorte de crossover continu est appliqu, en choisissant
un individu alatoire xk dans la population comme un point attractif, et xi(t+1) devient
xi(t+1) = xk(t) + (xk(t) - xi(t)) avec un nombre alatoire dans [-1, 1].
4 La "temprature" peut tre fixe ou dcroissante de faon rduire l'exploration en faveur
de l'exploitation.
Comme pour le recuit simul, une faon simple est de suivre (t) = 1 - t/ngmax, ainsi
abaiss chaque gnration.
5 aller en 2
Notons que les dfinitions des poids favorisent l'limination des voisins de solutions et
maintiennent les diffrentes "solutions" des distances importantes. Dans leur travail [Marin, Sol
99] ne trouvent pas une influence significative pour la constante . Celle-ci peut tre fixe 0.5. Ils
observent une amlioration par rapport aux AG, en particulier pour la fonction de Griewank (leurs
meilleurs rsultats tant obtenus avec un linairement dcroissant durant 500 gnrations).
Malheureusement, cette heuristique est trs lente cause d'une complexit en 2 et trs peu
d'individus sont remplacs chaque gnration, mme dans le cas d'une forte probabilit de
migration (0.5 0.8), le nuage des points qui se dessine autour des "leaders" est trop petit pour tre
capable par croisements, de poursuivre l'exploration. Cette remarque sera aussi vrifie pour
SOMA, la meilleure solution est souvent trs proche de la solution optimale, mais le fait de fixer
mutation et croisement avec un voisin, entrane une stagnation. Cependant, comme pour PSO,
diffrents nuages de points sont maintenus durant toute l'volution.
Figure 1 Nuage de points obtenu dans [-100, 100]2
pour minimiser la fonction "tripod" dfinie plus loin,
grce MGA avec p = 0.3 La figure montre
clairement des points aligns sur des lignesjoignant
les trois optimums, lignes dues un croisement
spcial entre bonnes solutions. shows lines due to the
"special" crossover between good solutions. Il s'agit
de la population la 35ime gnration, on observe
une trop grande concentration.

L'volution diffrentielle DE (, pc, )


Dans cette heuristique [Storn, Pice 95], [Storn 96], chaque individu peut tre chang grce une
sorte de "tetra-crossover" qui apporte une large perturbation. P est alatoirement initialise, et
chaque gnration, pour un individu qui est un vecteur x, dont les composantes sont x1, ..., xdim, un
numro de composante k et trois autres individus x, y et z sont alatoirement choisis tels que x, y, z,
t soient distincts, alors, la mise jour de x est x', vecteur dont les composantes sont :
x'
j = tj + (yj - zj) pour j = k, mais aussi pour j # k avec une probabilit pc, sinon x'
j = xj.
La mise jour des gnrations est litiste en remplaant x par x' chaque fois que ce dernier est
meilleur, c'est--dire f(x') < f(x). Dans l'autre cas, c'est x qui est conserv. Cet algorithme,
initialement prvu pour oprer sur des variables continues a t tendu des variables discrtes ou
continues [Lampinen, Zelinka 99].
Les rsultats ci-dessous sont assez bons (de plus, aucun tri de la population n'est ncessaire). Il est
possible d'observer que la population se groupe de faon rectiligne autour des optimums (si cp est
bas) et se groupe trs rapidement vers l'optimum global.
Des changements de pc montrent que les meilleurs rsultats sont obtenus avec 0.5, sans diffrence
pertinente entre 0.4 et 0.6.
Le paramtre recommand est 1. Notons que pourrait tre plus grand que 1 ce qui pourrait faire
sortir les individus de l'espace de recherche et d'autre part, les rsultats que nous avons trouv sont
moins bons avec de plus petites valeurs pour ce paramtre.
Nos expriences montrent des rsultats similaires en variant pc, aussi, celui-ci a t fix 0.5. De
plus, nous obtenons de meilleurs rsultats avec une modification appele "DE homogne",
procdure identique mis part que chaque composante est modifie grce la probabilit pc, le
choix de k devenant inutile.
Le "self organizing migration algorithm" SOMA(, r, step, mass, ml, )
L'ide principale de cette heuristique est de dfinir des classes ou groupes o chaque solution
appele "particule" fait des sauts vers le leader de son groupe [Zelinka, Lampinen 2000]. Une
marche alatoire (x1, ...xml) est cre depuis chaque individu x0 vers son "leader" m, de telle sorte
que xixi+1 soit colinaire x0m. Un petit saut est appel "migration loop" et est quivalent une
mutation d'un algorithme d'volution classique.
1) P0 est un ensemble de points alatoires dans le domaine de la fonction f minimiser
(habituellement [a, b]dim), le pire cas tant = 2 et l'initialisation des groupes est :
2) Le meilleur individu m est choisi comme centre du premier groupe et les adhrents ce
groupe sont simplement les individus proches {x / d(x, m) < r} dfinis grce un rayon r
qui dtermine un domaine d'attraction du leader. Du reste des individus, est de nouveau
choisi le meilleur et un autre groupe est form en fonction du mme rayon r. Ceci est rpt
de telle sorte que le nombre de groupes est variable mais infrieur . Il est possible
d'viter qu'un individu cre seul son propre groupe par des considrations sur , r et le
domaine [a, b]dim.
3) Chaque particule x commence des sauts vers son leader avec une distance fixe "step" (il y a
donc plusieurs positions o la fonction f est chaque fois value). Le paramtre "mass"
signifie que si par exemple mass = 1, le "voyage" ou "migration loop" s'arrte sur la
premire position derrire le leader, si mass = 2 la seconde etc. Le nombre de sauts est
born par le paramtre ml et la position suivante qui sera retenue pour la particule est la
meilleure de la succession.
4) si non(condition d'arrt) aller en 2 (les groupes sont donc redfinis)
5) fin
4

Au point 3, il est possible de dispenser le leader du groupe de sauts, mais on observe alors une
stagnation de ces leaders et il est beaucoup plus intressant qu'ils en fassent eux-mmes
alatoirement. Nous avons test diffrentes valeurs de "mass" avant de le fixer 5. Le problme
gnral est celui de fixer empiriquement les paramtres de l'algorithme.
L'exprimentation montre que les groupes ne doivent pas tre trop petits, par exemple, une classe
avec un unique lment pourrait tre stationnaire et une classe avec seulement deux lments
restreindrait l'exploration un segment trop petit de la droite qu'ils dfinissent.
Si nous souhaitons avoir une connaissance empirique des paramtres, nous pouvons supposer,
dim et considrer
comme pour SPA, que individus sont rpartis uniformment dans l'espace [a, b]
qu'en moyenne 5 individus par classe font / 5 classes par exemple. Ainsi si est l'effectif moyen
des classes, et relativement la distance de Hamming, si nous considrons que les / classes de
diamtre 2r doivent recouvrir l'espace, nous avons une estimation de r partir de /
= (b - a)dim.
En fait, dans les expriences = 100 et une valeur raisonnable serait au moins 5, r doit tre au
moins 1 pour [-5, 5]2, et au moins 7.5 dans [-10, 10]10.
Exprimentalement, nous observons la formation de nuages pour le paramtre "step" aux alentours
de r / 10. Pour tre plus prcis, dans une application pratique, si r = 2 dans [-5, 5]2, alors nous
choisissons step = 0.1. Mais pour viter la stagnation "step" peut tre aussi dcroissant, et nous
avons test avec succs suivant une "temprature" comme step(t) = step0.e-0.05t, afin de l'abaisser
chaque gnration.
Un autre point de discussion est la perturbation apporte par la possibilit de changer "step" ou de
choisir quelques nouveaux individus alatoires avec une probabilit durant la "migration loop".
L'essai montre qu'une assez forte perturbation grce= 0.5 donne de meilleurs rsultats que sans
perturbation.
L'optimisation par essaim de particules PSO (, , , )
A travers la coopration et la comptition parmi les solutions potentielles, l'heuristique "particle
swarm optimization" [Eberhart, Kennedy 95] est motive par la simulation du comportement social.
Dans cette technique, pour la gnration t = 0, un ensemble P0 de solutions xi(0) est alatoirement
choisi dans le domaine de la fonction f minimiser, et chacun (chaque particule) aura une position
xi(t) et une vitesse vi(t).
A chaque gnration t, la "fitness" f de chaque position xi(t) est calcule, et si g dsigne la
position du meilleur, pour chaque particule i, on regarde dans son voisinage pour chercher le
meilleur n "leader du groupe", de telle sorte que les rgles de mise jour soient :
vi(t+1) = vi(t) + (n - xi(t)) + (g - xi(t)) sera la nouvelle vitesse :
xi(t+1) = xi(t) + vi(t+1) sera la nouvelle position.
Il est possible de rduire le problme du choix des paramtres en prenant :
vi(t+1) = [vi(t) + 1(n - xi(t)) + 2(g - xi(t))] o (coefficient de constriction dans
]0,1], plus grand sera , plus lente sera la convergence) et des coefficients positifs 1, 2
alatoirement choisis chaque fois infrieurs 4 [Angeline 98].
Plusieurs faons peuvent tre implmentes pour dterminer le groupe de chaque particule, l'une des
plus simples (gomtrique) est de regarder les (par exemple nn = 5) plus proches voisins dans une
population de = 100 particules. Une autre manire (sociale) est de dfinir les nn "voisins" comme
arbitrairement choisis ds le dpart, ce peut tre ceux dont l'indice (dfini circulairement modulo )
est proche. Le paramtre de dfinition des voisinages nn est ncessairement fonction de la taille de
la population, si nn est trop grand, la dispersion demeure et s'il est trop petit, il y aura trop
d'essaims.

Une troisime solution non teste ici, consiste dfinir les voisinages selon un rayon comme |b a]/5 par exemple si f : [a, b]dim -> R est la "fitness".
On peut voir que la rgle de mise jour de chaque particule est une sorte de "tri-crossover". Cette
ide est aussi prsente dans la stratgie de "coralfish" des AG o le crossover n'est ralis qu'entre
un individu et un des 10% meilleurs d'entre eux.
Ici, on s'attend obtenir des nuages autour des minimums locaux.
Comme dans toutes les heuristiques inspires de la nature, le rglage des paramtres est une relle
difficult. Pour les vitesses initiales par exemple, nous avons choisi de petites vitesses prenant
environ 10% de la longueur de l'intervalle [a, b] comme maximum. Afin de prendre en compte cette
difficult concernant les vitesses, nous avons considr, en dimension 2, une grille torodale dans
2. Ce paramtre de longueur maximale n'est pas trs pertinent car il
l'intention de rester dans [a, b]
peut tre modifi le long de l'volution, mais concernant les coefficients, , , nous voudrions
favoriser un comportement de groupe en prenant plus grand que les autres.
Les conclusions exprimentales pourraient tre trs grossirement : plus , est grand, plus la
dispersion serait grande et plus le mouvement se fait dans l'espace de recherche. Mais la
convergence vers un minimum local n'est pas atteinte avec un faible et la formation de nuages
locaux autour des minima n'est pas non plus favorise par un grand. L'volution montre que si les
nuages sont petits, ils peuvent rester stationnaires dans des rgions de l'espace de recherche qui sont
malheureusement loignes de l'optimum de f. Les rsultats sont nanmoins assez bons relativement
DE.
Notons que dans l'exemple de la fonction "tripod" dfinie plus loin, comme ayant trois bassins
2, le premier "run" parvient l'optimum, alors que le second fait
d'attractions sur [-100, 100]
converger vers un minimum local.

Figure 2 PSO avec nn = 5 voisins arbitrairement dfinis, pour les gnrations 3, 6, 11, 16, 35

Figure 3 PSO avec nn = 5 voisins gomtriquement dfinis, pour les gnrations 1, 4, 15, 30, 40.

III ALGORITHMES AVEC UNE FAMILLE D'OPERATEURS


Pour rappel, nous donnons brivement les principaux algorithmes volutionnaires classiques.
Standard Genetic Algorithm GA(, pc, pm)
Codage binaire, grande population, Slection, Croisement, Mutation
1) P0 ensemble de chromosomes au hasard
6

2) Evaluation de f sur chaque x de Pt et Pt tri


3)
Slection de chromosomes suivant leur fitness
Crossover avec probabilit pc
Mutation sur les enfants avec probabilit pm
Remplacement des parents par les enfants
4) Si non (condition d'arrt) alors incrmenter t, aller en 3
5) Fin
Evolution Strategy ES( + ) et ES(, )
Codage rel, petite population, pas de slection
1) P0 ensemble de chromosomes au hasard
2) Evaluation de f sur chaque x de Pt et Pt tri
3)
Chaque individu x produit / enfants par des oprateurs gntiques
Pt+1 form des meilleurs parmi les enfants pour ES(, )
Pt+1 form des meilleurs parmi la runion parents + enfants pour ES( + )
Steady State Genetic Algorithm SSGA(, )
Codage rel, petite population, pas de slection
1) P0 ensemble de chromosomes au hasard
2) Evaluation de f sur chaque x de Pt et Pt tri
3)
Renouvellement meilleurs enfants - meilleurs parents
Pour ce dernier algorithme, un taux d'limination peut tre fix de manire remplacer tous les
voisins (relativement ce taux) au profit du meilleur. Cette technique donne d'excellents rsultats,
ainsi sur la mme fonction ayant trois minimums locaux :

Figure 4 SSGA pour la mme fonction "tripod" = 100 = 33% sans limination pour les gnrations 0, 1, 4, 30

Figure 5 SSGA = 100 = 33% avec limination pour les gnrations 1, 4, 9, 30. On remarque dans la dernire
population qu'un petit groupe autour de l'optimum n'empche pas une poursuite de l'exploration favorise par
l'limination.

IV FONCTIONS TESTS UTILISEES


Critre de comparaison
Une discussion peut tre faite sur le critre de comparaison dfinir propos de diverses stratgies
volutionnaires. En effet, si dans le cas prsent, le minimum est connu, il est possible de rapporter
7

le nombre d'valuations au nombre de convergences un seuil donn, il est galement possible de


compter simplement le nombre d'valuations ou encore de fixer celui-ci et de discuter sur la
meilleure valeur obtenue pour la fonction. Cette dernire faon de voir est bien sr mieux adapte
aux problmes rels o l'optimum n'est pas connu a priori. En dfinitive, nous avons choisi, le
nombre d'valuations moyen sur 20 essais, pour atteindre le minimum au seuil fix avec une
restriction : pour comparer le nombre d'valuations, un maximum max de ce nombre est fix
20000 (50000 en dimension 10 et 100000 pour Griewank) constituant une borne.
Pour certaines stratgies non litistes comme ES(, ), les rsultats tant trs disperss, la moyenne
est assez peu significative, c'est pourquoi elle a pu tre porte sur 50 ou 100 expriences.
Il est important de tester des fonctions numriques en dimensions varies 3, 5 ou 10 et au del, par
contre les bornes fixes pour ces fonctions ne sont pas trs pertinentes dans la mesure o les
fonctions sont fortement multimodales exceptes les deux premires fonctions qui sont convexes.
Parabolode Si x = (x1, x2, ..., xn) [-a, a]n, f(x) = (xi - 1)2 (atteindre 10-6)
Fonction de De Jong FJ(x) = |round(xi)| pour x [-a, a]n
Fonctions de Griewank et de Rastrigin FR(x) = 1 i n xi2 + 10 - 10 cos(2xi)

Figure 6 Fonction de Griewank FG(x) = x2/d - cosx + 1 en dimension 1 pour d = 400

Figure 7 Fonction de Griewank FG(x) = (x2 + y2) / d - cos2x.cos2y + 1 en dimension 2 pour d = 2. D'apparence
analogue la fonction de Rastrigin, la fonction de Griewank est en fait bien plus difficile optimiser.

Une fonction trois bassins d'attraction

Figure 8 Fonction Tripod avec 3 minimums attractifs pour x, y [-100, 100]


f(x, y) =
if y < 0 then |x| + |y + 50|
else if x < 0 then 1 + |x + 50| + |y - 50|
else 2 + |x - 50| + |y - 50|

Fonction de Rosenbrock

Figure 9 Fonction de Rosenbrock FR (x, y) = 100(x2 - y)2 + (1 - x)2 minimum 0 en (1, 1), la valle dont les bords sont
trs abrupts ds que |x| > 2, est courbe et le minimum se trouve en un endroit extrmement plat. L'orientation choisie
ici, est destine montrer les deux branches non symtriques de cette valle, ces deux branches montent doucement
pour y > 2, au point que cela n'est pas encore perceptible sur la figure pour y = 4.

Comparaison entre SPA, SSGA avec nichage et SSGA


Adaptation du nichage SSGA
Afin de garder le plus longtemps possible tous les minima trouv de f, et en vue d'viter une trop
grande homognit, la population est divise en "niches" [Horn 93]
L'ide du nichage rside dans une modification de la fonction f minimiser, selon la densit de la
population autour de chaque individu [Goldberg 87]. La distance peut tre dfinie sur les gnotypes
dim.
ou bien sur les phnotypes, nous prenons la premire dans l'espace [a, b]
Soit un rayon et ni = card{j P / d(i, j) < }, une mesure de la densit autour de i. Pour
minimiser f, on substitue f(i) par f'(i) = inf(i), ce qui est un avantage pour les individus isols quand
la population est trie et tronque.
Ainsi, si n1 < n2 et f1 = f2 alors f'
1 < f'
2 de plus, si f1 < f2 alors la diffrence dcrot. D'autre part,
si f1 < f2 avec n1 > n2, une inversion dans le classement peut arriver, par exemple f1 = 2, f2 = 3 n1
= 3 n2 = 1 alors f'
1 > f'
2.
Ceci est tendu des voisinages flous, si sh est une fonction "de partage" sur [0, 1], vue comme une
accentuation de la ngation avec sh(x) = 1 - x o < 1 pour obtenir sh(x) < x ou > 1 pour le
cas oppos sh(x) > x, et sh(x) = 0 pour x > 1.
Si est la taille de la population et que dterminine les niches
dans l'espace, alors f est remplace par f' pour la gnration
suivante avec :
f'
(ci) = f (ci) .1 k n sh [d(ci, ck) / ] o les individus sont c1,
c2, ... , c. En vue de minimiser f, (division en cas de
maximisation) plus la population est faible autour d'un individu,
meilleure sera sa "fitness" f, et une pnalit dans la configuration
contraire favorise l'exploration.

Figure 10 Fonction
d'appartenance de support dfini
par le rayon .

[Goldberg, Richardson 87] ont montr qu'une stabilisation a lieu quand les valeurs des optima f(i)
sont en proportion avec les effectifs flous ni = 1 k n sh [d(ci, ck) / ] des niches.
Nous avons adapt ceci au SSGA au lieu d'une habituelle limination "clearing" mais les rsultats
sont pires.
Rsultats avec une population d'effectif constant 100.
SPA
p = 10
730
Parabola dim 1
61074
... ... .... dim 3
Rastrigin dim 1 2356
... ... dim 3 52656

SPA
SPA
SSGA SSGA SSGA SSGA SSGA SSGA
p = 50 p =100 =0.5 =0.5 =0.5 =1.5 =1.5 =1.5 SSGA
=0.1 =1
=10 =0.1 =1
=10
760
731
1340
1420
1302
1277
1183
1067
812
61745 61880
2702
2289
2240
2718
1879
1931
1953
2663
2823
4266
4081
2948
3012
2760
2612
2150
52309 51885
6867 12662 14269
4685 12050
1929
1172

Figure 11 Nombre d'valuations de la fitness (moyenne sur 20 runs) pour atteindre le minimum 0 sous un seuil donn.
Il s'agit de quelques rsultats pour SPA avec p points pris au hasard dans chacun des 6 sous-ensembles initiaux en
dimension 1 et 63 = 216 sous-ensembles en dimension 3. Rsultats pour un taux de 33% avec la mthode SSGA avec
nichage et comparaison avec SSGA.

Comme il a t dit ci-dessus, SPA n'est pas performant et il fut impossible d'atteindre des rsultats
avec des fonctions plus labores. La dernire colonne montre qu'il n'y a aucun avantage adapter
le nichage l'algorithme SSGA. La dernire colonne montre que nous n'avons pas avantage mixer
10

nichage et SSGA pour aucune taille de blocs ( plus grand ne donne pas d'amlioration) ni pour
d'autre forme.
Tests entre algorithmes avec oprateurs implicites et SSGA
Nous montrons prsent quelques rsultats sur une population de = 100 individus. PSO
fonctionne avec = 0.3; = 0.6; = 0.6 et nn = 5 dans la dfinition gomtrique (premire
colonne), dfinition sociale dans la seconde colonne. DE fonctionne avec pc = 0.5 et = 1, la
premire colonne est donne avec une procdure homogne pour toutes les composantes et la
seconde avec l'algorithme dcrit (une composante est toujours perturbe) ce qui semble adapt aux
fonctions "difficiles".
= 100
De Jong dim 3
Parabola dim 3
... ... .... dim 10
Tripod dim 2
Rosenbrock dim 2
Rastrigin dim 2
... ... dim 10
Griewank dim 2
... ... ... dim 10

MGA

PSO
geom

4880
5261
max
max
22658
23550
max
47856
max

3030
6545
max
14210
3855
12705
max
95295
max

PSO
social
2060
8790
25741
12685
4575
13225
max
85725
max

SOMA
r=(b-a)/5

SOMA
(b-a)/10

2854
6081
max
28405
32558
16552
max
96522
max

3251
5304
max
max
46059
15245
max
18470
max

DE
hom
2775
7630
46265
16120
20240
10815
max
9710
max

DE
comp
2450
6775
49265
11525
10185
8395
max
7110
max

SSGA
33%
765
1310
12880
9800
20645
1525
3320
5475
13826

SSGA
33%
elim
853
2183
11204
11697
15939
2546
2465
3070
11914

-4.
Figure 12 Nombre d'valuations de la fitness (moyenne sur 20 runs) pour atteindre un seuil donn 10

Conclusion
En examinant quelques heuristiques inspires de la nature et en les comparant sur un mme codage,
on doit noter, en point commun, la grande difficult rgler les paramtres de ces heuristiques. En
dehors des paramtres numriques, il y a le choix des rgles de mise jour de la population lors du
passage des gnrations. Il est plus facile lorsque les oprateurs sont explicites, car ils peuvent tre
mis dans une famille d'oprateurs non fige (mutations diverses, croisements divers ...) et se pose
alors le problme de leur mode d'application (en suivant leur ordre, au hasard, en tentant de noter
leur score...). Le renouvellement des gnrations est aussi une question (litisme ou non,
renouvellement rgulier...). En fait, l'observation pas pas sur des fonctions diverses, mais aussi sur
des problmes classiques (route royale, reines de Gauss, reconnaissance d'une figure...) montre trs
souvent que l'homognit de la population doit tre tout prix vite, et que peu d'individus
peuvent suffire alors que plusieurs oprateurs, vus comme des moyens d'exploration de l'espace de
recherche, sont une bonne chose. Des tests antrieurs sur ces heuristiques ont montr l'efficacit de
l'algorithme SSGA, particulirement sur de faibles populations. C'est pourquoi nous l'avons retenu
comme rfrence pour les autres mthodes tudies. Il s'avre que beaucoup de ces mthodes
aboutissent trop tt une convergence, c'est--dire un nuage de points non ncessairement autour de
l'optimum global. Nanmoins, nous avons observ des rsultats ingaux suivant la difficult des
fonctions et DE, et plus encore PSO russissent bien sur les fonctions unimodales.
Rfrences

Angeline P. Evolutionary optimization versus particle swarm optimization : philosophy and performance differences,
Proc. of the 7-th annual conf. on Evolutionary Programming, p601-611, 1998
Angeline P. Using selection to improve particle swarm optimization, Proc. of the IEEE Int. conf. on Evolutionary
Computation, 1998 (see also http://ics.yediteps.edu.tr/~eozcam/pso/)
Bck T. Fogel D.B. Schwefel H.P. Handbook of evolutionary computation, Oxford University Press, 1997
Bck T. Evolutionary Algorithms in theory and practice, Oxford University Press, 1995
De Jong K. Sarma J., Generation Gaps Revisited, in Foundations of G.A. Morgan Kaufmann, p5-17, 1993
De Jong K.A. Analysis of behaviour of a class of genetic adaptative systems, Michigan University thesis, 1975
11

Eberhart R.C. Kennedy J. A new optimizer using particles swarm theory, Proc. 6-th symposium on micro-machine and
human science, IEEE 1995 (http://ics.yeditepe.edu.tr/eozcan/pso/Fogel L.J. Owens A.J. Walsh M.J. Artificial
intelligence through simulated evolution, Wiley 1966
Fogel D.B. Evolutionary computation toward a new philosophy of machine intelligence, IEEE Press, 1992
Gacgne L. Benefit of a steady state genetic algorithm with adaptative operators, Mendel 2000 p236-242, Brno 2000
Gautard-Yzquierdo V. Optimisation automatique de formes en arodynamique, application la conception d'aronefs,
Thse Universit Paris nord, Onera 1999
Goldberg D.E. Genetic algorithms in search, optimization and machine learning, Addison Wesley, 1989
Goldberg D.E. Richardson J. Genetic algorithms with sharing for multimodal function optimization, GA and their
applications p.41-49 Hillsdale New Jersey, Lawrence Erlbaum ass., 1987
Herdy M. Application of the evolution strategies to discrete optimization problems, Proc. of PPSN 1, 1990
Herrera F. Lozano M. Gradual Distributed Real coded genetic Algorithms, IEEE transactions on evol. computation vol
4 n1 p43-63 2000
Holland J.H Adaptation in natural and artificial system. Ann Arbor University of Michigan Press, 1975
Horn J. Finite Markov chain analysis of genetic algorithms with niching, Proceedings of the 5th Int. Conf. on G.A.
p110-117, 1993
Horn J. Nafploitis N. Goldberg D.E. Niched Pareto GA for multiobjective optimization, Proceedings of the Conf. on
Evolutionary computation IEEE vol 1 p82-87, 1994
Koza Genetic programming II, MIT Press, 1994
Lampinen J. Differential evolution - New naturally parallel approach for engineering design optimization, in
Developments in computational mechanics with high performance computing. Civil Computing Press
Edimburgh p217-228, 1999 (www.lut.fi/~lampinen/debiblio.hrm)
Lampinen J. Zelinka I. Mixed integer-continuous optimization by differential evolution, Mendel proc. p77-81, 1999
Marn J. Sol R.V. Macroevolutionary algorithms : a new optimization method on fitness landscapes, IEEE
Transactions on Evolutionary Computation, vol 3, n4, p272-286, 1999
Michalewicz Z. Genetic algorithms + data structures= evolution programs, Springer Verlag 1992
Mitchell M. Forrest S. Holland J.H. The royal road for genetic algorithm : fitness landscapes and GA performances,
Varela F.J. Bourgine P. Ed. 1992
Price K. Storn R. Differential evolution, Dr Dobb's Journal 1997
Rechenberg I. Evolutionsstrategie : Optimierung technischer Systeme nach Prinzipien der biologischen Evolution,
Schwefel H.P. Systems analysis, systems design and evolutionary strategies, System analysis, Modeling and Simulation
vol.7 p.853-864, 1990
Schwefel H.P. Evolution and optimum seeking. Sixth generation computer technology series. Wiley, 1995
SolisF. Wetts J. Minimization by random search techniques, Math. of Operational Research vol 6, 1981
Storn P. Price K. Differential evolution a simple and efficient adaptative scheme for global optimization over
continuous spaces, Global Optimization vol 11 p341-359, 1997 (www.icsi.berkeley.edu/~storn)
Storn R. On the usage of differential evolution for function optimization, NAFIPS p519-523, 1996
Syswerda G. A study of reproduction in generational and steady state genetic algorithm, Rawlins eds Foundations of
GA p94-101 Morgan Kaufmann 1991Whitley D. Kauth J. Genitor : a different genetic algorithm, Proc. of Rocky
Mountain Conf. on A.I. p118, 1988
Wolpert D. McReady W. No free lunch theorem for search, Research report, Santa Fe Institute (32 pages http:
//www.santafe.edu), 1995
Zelinka I. Lampinen J. SOMA : self organizing migration algorithm, Mendel Proc. p177-187, 2000

12

You might also like