• Aucun résultat trouvé

Présentation de l’algorithme hybride génétique-polytope (CHGA) 1 Principe

avec i variant de 1 au nombre (NPointeur-1) d’individus à générer [RAC99].

III.8. Présentation de l’algorithme hybride génétique-polytope (CHGA) 1 Principe

Dans cet algorithme, deux concepts largement utilisés dans la recherche tabou ont été introduits : la diversification et l’intensification. La phase de diversification consiste à un démarrage avec une large population, bien répartie sur tout l’espace de solutions et une forte probabilité de mutation ; une zone prometteuse susceptible de contenir un optimum global est détecté. L’intensification consiste à explorer cette zone prometteuse, après génération d’une nouvelle population de taille réduite. La réduction de l’espace de recherche, ainsi que de la taille de la population, s’accompagne d’une réduction du voisinage des individus et de la probabilité de mutation.

Comme l’algorithme CPTS, l’algorithme CPGA est efficace pour explorer un large domaine de recherche, et détecter une "vallée" prometteuse, mais il est trop gourmand pour intensifier la recherche dans cette vallée. Pour améliorer la vitesse de convergence de l’algorithme CPGA, un algorithme hybride combinant un algorithme génétique et la méthode du polytope de Nelder-Mead

SS a été développé. Ce nouvel algorithme appelé CHGA "Continuous Hybrid Genetic Algorithm" utilise la phase de diversification de CPGA pour localiser

une zone prometteuse, et intensifie la recherche dans cette zone en utilisant la recherche locale SS.

La transformation de l’algorithme CPGA en CHGA nécessite les modifications suivantes [RAC99]:

la suppression des paramètres de gestion de la population (IPopSize,

FPopSize et PopSize) et leur remplacement par une taille de population unique et constante PopSize, égale à IPopSize ;

• l’introduction d’un nouveau critère de détection de la zone prometteuse ;

• l’introduction des coefficients (α,β,γ) qui déterminent les pas de mouvement dans la méthode de Nelder-Mead ;

• l’introduction d’un nouveau critère d’arrêt lié à la méthode du polytope ;

• l’introduction d’une nouvelle loi de variation de la probabilité de mutation, qui dépend du nombre de générations NbGen, au lieu du nombre de réductions de domaine de recherche. En effet, dans ce nouvel algorithme, une seule réduction de domaine apparaît lors du passage de la phase de diversification à la recherche par le polytope de Nelder- Mead. La nouvelle loi de variation de la probabilité, représentée sur la

Figure 3.22.

Figure 3.22 : variation de la probabilité de mutation en fonction du nombre de

générations.

      − = µ k exp . IPmut ) k ( Pmut et

(

IPmut/0.001

)

Log NbGen = µ

où IPmut et Pmut(k) représentent respectivement la probabilité de mutation initiale et la probabilité de mutation à une génération donnée k.

III.8.2. Description de l’algorithme

Sur la Figure 3.23 donnant le pseudocode de l’algorithme CHGA, nous retrouvons la phase de diversification implémentée dans CPGA, et une nouvelle forme d’intensification utilisant SS [RAC99].

POP, POP' et QUALITE : tableaux de taille N POP = génération de la population initiale

( fmin,xmin) = meilleur point dans la population parent

DIVERSIFICATION

REPETER

QUALITE = (évaluer la population POP)

REPETER

sélection recombinaison mutation

JUSQU'A POP' remplie

POP = sélectionner nouvelle population, issue de (POP,POP')

JUSQU'A détection de la zone prometteuse

INTENSIFICATION

réduction du domaine de recherche construction du polytope initial

REPETER

Mouvements géométriques

JUSQU'A condition d’arrêt satisfaite

Figure 3.23 : pseudocode de l’algorithme CHGA. III.8.3. Diversification

La phase de diversification de CHGA repose sur le même principe que celle de CPGA. On part d’une large population, dispersée uniformément sur tout l’espace des solutions ; une nouvelle population est produite à partir de la population précédente. Des individus enfants sont produits par sélection, recombinaison, et mutation des individus parents, appartenant à la génération précédente, les valeurs des fonctions objectifs de ces individus enfants sont calculées, une stratégie de remplacement de la population parent par la population enfant est opérée. Une nouvelle population est ainsi produite, et le processus est réitéré. L’exploration s’arrête lorsqu’une des conditions suivantes est vérifiée :

un nombre donné de générations successives MaxGen sans détection d’une zone prometteuse ;

• une précision donnée relative aux individus générés est obtenue : la plus grande distance entre le meilleur point trouvé BestPoint et les individus générés Indi est plus petite qu’un rayon de voisinage donné σabs :

= ≤ − PopSize i abs i BestPoint// Ind // PopSize 1 1 σ

(le symbole //...// utilisé représente la distance euclidienne).

La valeur de σabs est typiquement égale au dixième de la distance δ (le plus petit domaine de variation des variables du problème). Les deux paramètres σabs et MaxGen sont les principaux paramètres influençant la convergence de l’algorithme [RAC99].

III.8.4. Intensification à l’intérieur d’une zone prometteuse

On prend le meilleur point trouvé dans la phase précédente, et l’on construit un nouveau domaine de recherche centré autour de ce point. Chaque côté du domaine initial est réduit d’un facteur donné, soit ρred La méthode de Nelder-Mead permet de construire le polytope de départ. Ce polytope est obtenu en tenant compte du meilleur point trouvé précédemment, désigné par

x1, et les autres points xi sont choisis dans le nouvel espace des solutions, de telle manière qu’ils forment une base engendrant l’espace de variation des paramètres du problème.

La procédure SS démarre ensuite la recherche [RAC99].

III.8.5. Critères d’arrêt

L’algorithme accomplit la tâche d’exploitation à l’intérieur de la zone prometteuse jusqu’à ce que les conditions d’arrêt soient atteintes. Dans CHGA, on a deux critères d’arrêt :

• le premier est relatif au nombre maximal d’itérations (boucle de la procédure SS) MaxIter ;

le second critère est une mesure de déplacement du polytope s d’une itération k à l’itération suivante (k+1) :

ε < −

= + 2 1 1 1 n i k i k i s s n

sik+1 est le sommet i du polytope s remplaçant le sommet sik à l’itération (k+1), et ε est un nombre réel positif donné.

Le meilleur point du polytope final, après arrêt de la procédure de SS, tient lieu de résultat final de l’algorithme [RAC99].

Documents relatifs