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.