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.