La méthode Kangourou Définition

advertisement
1- La méthode Kangourou
Définition
La méthode Kangourou est une technique d’approximation fondée sur la descente stochastique qui consiste à
faire une descente aléatoire à partir l’espace de recherche. Elle a été proposée par Gérard Fleury en 1993.
Inspiré par la méthode du recuit simulé, mais avec une stratégie très différente de recherche.
Principe
La méthode est un algorithme itératif qui explore l'espace des solutions en choisissant à chaque fois la
meilleure solution voisine de la solution courante.
Soit u0 une solution admissible du problème d'optimisation. Par des déplacements successifs l'algorithme de
Kangourou cherche une solution qui minimise la fonction f dans un voisinage de la solution courante. Si la
solution ui est meilleure que la solution précédente, elle est mémorisée et une nouvelle solution est cherchée
dans le même voisinage. Si la solution ui n'est pas meilleure que la solution précédente, l'algorithme trouve
un autre voisinage par un saut. Après un nombre d'itérations un minimum local
u* est trouvé. Ce minimum est plus ou moins proche du minimum global.
Dans le cas idéal le minimum local u* est le même avec le minimum global ug.
Algorithme
On a les paramètres suivants :
 x : état courant.
 x* : meilleur état rencontré à l'itération courante.
 C : compteur d'itérations entre deux améliorations de la solution.
 A : le nombre maximal d'itérations sans l'amélioration de la solution courante
 f : la fonction objectif.
Procédure de descente
Répéter ns fois :
1 : Appliquer la mutation ɳ2 à la solution courante :
x1 ← ɳ2(x) ;
2 : Si f (x1)= f (x) alors
aller en 5 ;
3 : Si f (x1) < f (x*) alors
Mettre à jour la meilleure solution rencontrée : x*← x1 ;
4 : Réinitialiser le compteur de stationnement C ← 0 ;
5 : Mettre à jour la solution courante : x ← x1 ;
6 : Incrémenter le compteur de stationnement : C ← C+1
Procédure de saut
1 : Appliquer la mutation ɳ1 à la solution courante : x1← ɳ1(x) ;
2 : Si f (x1) > f(x) alors
Aller en 5 ;
3 : Si f (x1) <f(x) alors
C← 0 ;
4 : x ← x1 ;
5 : C ← C+1 ;
• ɳ1: mutation uniforme locale. ɳ1 (xi)= xi +(2 ɣ -1)p, où p est obtenu à partir d’une distribution
uniforme sur [0,1] et p est un nombre réel (0 < p<1), souvent appelé taille maximum du pas. Cette
mutation peut s’interpréter comme un déplacement vers un point choisi dans un N-cube centré en x
et de côté 2p .
• ɳ2: mutation uniforme globale. ɳ2(xi)= ɣ, où ɣ est obtenu à partir d’une distribution uniforme sur
[0,1]. La mutation ɳ2 s’interprète comme un déplacement aléatoire dans le N-cube [0,1]N. La
mutation ɳ2 vérifie bien la propriété d’accessibilité, puisqu’à partir d’un point quelconque de
l’espace de recherche [0,1]N, il est possible d’atteindre tout autre point de cet espace.
L’algorithme Kangourou est défini comme suit :
• 1 : Initialiser la solution courante : x ← x0 ;
• 2 : Initialiser la meilleure solution rencontrée : x*←x0 ;
• 3 : Initialiser le compteur de stationnement : C← 1 ;
• 4 : Si C < A alors
• exécuter la procédure de descente : x ← descente (x, C) ;
Sinon
exécuter la procédure de saut : x ← saut (x) ;
• 5 : Si x est meilleure que x* alors
x* ← x ;
• 6 : Si le critère d’arrêt est atteint alors
aller en 4 ;
Sinon
• fin de l’algorithme.
Avantages et inconvénients:




Elle présente l’avantage de ne pas perdre l’information relative aux optimaux locaux rencontrés.
Les résultats obtenus par la méthode du kangourou sont de bonnes qualités avec un temps de calcul
modéré.
il permet la recherche globale ainsi que le réglage de paramètres du recuit simulé.
Il présente plusieurs inconvénients comme le nombre de stationnements et de sauts nécessaire pour la
recherche global.
Téléchargement