• Aucun résultat trouvé

Problèmes dynamiques Dans les versions précédemment décrites de PSO, on considérait que les fonctions objectif étaient certes très fortement non-linéaires

Algorithm 10 Formules permettant le passage des valeurs génotypiques aux valeurs

2.2.3.3.2/ Problèmes dynamiques Dans les versions précédemment décrites de PSO, on considérait que les fonctions objectif étaient certes très fortement non-linéaires

(ou tout du moins qu’elles correspondaient à la description des problèmes difficiles faite dans la partie 2.1.1.1), mais qu’elles étaient statiques dans le temps. Cependant, de nom-breuses fonctions peuvent être considérées comme dynamiques. Comme décrit dans l’article de Eberhart et al. [100], il existe plusieurs manières dont les fonctions peuvent changer au cours du temps :

• La valeur optimale de la fonction objectif peut se déplacer dans l’espace des solu-tions au cours du temps,

• La position de la valeur optimale dans l’espace des solutions peut rester constante, mais sa valeur peut changer au cours du temps,

• La position dans l’espace des solutions et la valeur du minimum global de la fonc-tion objectif considérée peuvent changer au cours du temps,

• Sur des domaines à plusieurs dimensions, ces changements peuvent avoir lieu sur une seule ou plusieurs dimensions du domaine, de manière séquentielle ou simultanée.

De fait, deux problèmes doivent être pris en compte et résolus par ces méthodes PSO adaptées [166] :

• La mémoire n’est plus d’actualité du fait du dynamisme de l’environnement (notée OM : Outdated memory dans la littérature). En effet, dès qu’un changement a lieu dans l’environnement, la mémoire de la meilleure solution trouvée n’est plus d’actualité, et cette mémoire peut donc guider les particules de l’essaim vers une zone qui n’est plus prometteuse.

• La perte de la diversité de l’essaim (notée DL : diversity loss dans la littérature). Ce problème apparaît lorsque l’essaim a convergé et que l’environnement subit un changement. En effet, dès lors que l’algorithme a convergé, les particules ont des vitesses très basses qui leur permettent de chercher plus précisément l’optimum global (phase d’exploitation d’une zone prometteuse). Ainsi, dès que l’environnement subit un changement, les particules ne sont pas réactives et ne se déplacent pas suffisamment rapidement dans le domaine afin de partir à la recherche du nouvel optimum.

Ainsi, pour résoudre ce type de problèmes dynamiques, de nombreuses améliorations de l’algorithme PSO initial ont été proposées pour être en mesure de traiter ce type de pro-blèmes [125]. Eberhart et al. proposent d’utiliser une inertie elle aussi aléatoire. Ainsi, ne sachant jamais si des changements ont eu lieu sur le domaine, on n’est jamais vraiment en mesure de savoir si l’on doit favoriser la phase d’exploration du domaine ou celle

d’ex-3. Le mot topologie sera entendu ici au sens de la répartition de matière dans le domaine, dans le cas d’une optimisation topologique appliquée à un domaine physique.

ploitation des zones prometteuses [100]. Ainsi, cette inertie aléatoire permet de résoudre ce problème en ne définissant pas clairement si l’on est dans une phase d’exploration ou d’exploitation. Elle est définie à la manière décrite dans l’équation suivante

ω = 0.5 +rand()

2 (2.36)

Le paramètre d’inertie est donc compris entre 0.5 et 1, et la valeur moyenne obtenue est 0.75. Ces résultats sont donc cohérents avec les observations concernant l’inertie optimale qui avaient été faites par Clerc et al. [85].

Bien que cet article propose une solution somme toute cohérente avec le problème de variations aléatoires de la fonction objectif évoqué, il reste assez évasif quant aux résul-tats obtenus. On peut aisément imaginer que les calculs peuvent être excessivement longs, puisque l’on n’adapte pas l’algorithme aux changements du domaine. L’article de Parsopoulos et al. [104] propose justement de tester cette méthode sur des fonctions Benchmark classiques. En est finalement conclu que cette méthode est très efficace sur les fonctions dynamiques. Il semblerait même que les changements de domaines aideraient l’algorithme PSO à tendre vers l’optimum global de la fonction objectif.

Il a été proposé plus tard de traquer les changements dans le domaine, afin d’appliquer des changements dans la population uniquement lorsque le domaine a évolué. Hu et al. [101] ont proposé la méthode Changed-Gbest-value qui réévalue la fitness de la meilleure particule a chaque itération. Si cette valeur de fitness change, on considère que le do-maine a changé et on modifie alors la population. Par suite, Hu et al. [110] proposent une approche diamétralement opposée : Fixed-Gbest-value qui considère plutôt que si la position de la particule Gbest ne change pas pendant un certain nombre d’itérations, c’est que le domaine a évolué. En pratique, on étudie plutôt l’évolution des positions des deux meilleures particules, afin d’éviter les fausses alertes, c’est à dire afin de ne pas effectuer de modifications inutiles de la population alors que le domaine n’a pas changé. Ainsi, le nombre d’itérations au bout duquel on considère que le domaine a changé si la particule Gbest n’a pas changé doit être choisi judicieusement. Dans cet article, une première version d’algorithme intelligent, ou tout du moins adaptatif, est aussi proposée, et constitue la partie vraiment passionnante de cet article. Deux méthodes de détection de changement de domaine sont utilisées, et 9 réponses peuvent être appliquées en fonction des détections précédentes, comme on le voit dans le tableau 2.1.

Finalement, l’idée d’un algorithme adaptatif est très intéressante, et permet de faire évo-luer la population lorsque le domaine change. Par contre, l’idée de redéfinir aléatoirement une partie de la population choisie de manière arbitraire me paraît difficile à appliquer. La redéfinition des particules devrait, selon moi, n’être faite qu’après un classement de la population, ce qui permettrait de garder les particules les plus performantes, et de redéfinir de manière aléatoire celles qui sont manifestement très loin d’un potentiel minimum global.

Basée sur la méthode de classement pyramidal des particules proposées par Janson et al. [122], et sur la méthode de partition de la population proposée par Rhomdane et al. [233], Janson et al. ont proposé une méthode appelée Partitionned-Hierarchical Particle Swarm Optimizer (PH-PSO) permettant de traiter les problèmes d’optimisation définis sur des environnements dynamiques. Pour détecter les changements dans l’environnement,

Méthode de détection A "Changed-Gbest-value" B "Fixed-Gbest-value"

Méthode de réponse

0 Ne rien faire

1 Redéfinir aléatoirement 10 des particules et effacer la mémoire des autres particules

2 Redéfinir aléatoirement 10 des particules.

3 Redéfinir aléatoirement la particule Gbest et effacer la mémoire des autres particules.

4 Redéfinir aléatoirement la particule Gbest. 5 Effacer la mémoire de toutes les particules.

6 Redéfinir de manière aléatoire 50 des particules et effacer la mémoire des autres particules.

7 Redéfinir aléatoirement 50 des particules. 8 Redéfinir aléatoirement toutes les particules

Tableau 2.1 – Détection de changements dans le domaine et réponses associées

la méthode Changed-Gbest-value précédemment décrite est utilisée. La population est organisée en une hiérarchie pyramidale identique à celle décrite dans [122]. Dès qu’un changement est détecté dans l’environnement, la hiérarchie est divisée en plusieurs sous-essaims en séparant la hiérarchie à un level Hdiv précédemment défini, comme on le voit sur la figure 2.21. Les particules situées juste au dessous de la coupure, c’est à dire les particules situées au niveau Hdiv + 1 sont complètement réinitialisées (vitesse et position) de manière aléatoire. Les particules situées au niveau Hdiv + 2 voient leur mémoire effacée. Ainsi, ces différents sous-essaims évoluent séparément pendant un certain nombre d’itérations (qui peut être variable) avant de se rejoindre en un unique essaim. Cela permet de chercher des potentielles zones prometteuses dans différentes régions de l’espace, lorsque le domaine a été modifié au cours du temps. Dans une deuxième version de cet algorithme, appelée PH-PSO adaptative (PH-PSO-a), le nombre d’itérations au bout duquel l’essaim est regroupé est une variable. On considère alors que dès qu’un des sous-essaims contient la meilleure particule Gbest pendant 5 itérations (pas nécessairement consécutives), une zone prometteuse a été trouvée, et les essaims sont regroupés. Après le regroupement, les particules sont influencées par la totalité de l’essaim et convergent donc vers ladite zone prometteuse. Testées sur de nombreuses fonctions dynamiques, ces nouvelles méthodes s’avèrent être assez efficaces sur les domaines dynamiques, sauf lorsque l’on impose un nombre maximum d’itérations assez petit (dans les faits, moins de 30 itérations est un nombre assez petit. Cette valeur a été déterminée de manière empirique dans la littérature). En effet, dans ce cas, et sur certaines fonctions, le domaine ne subit aucune modifications, et la méthode PSO classique est plus efficace que la méthode partitionnée et hiérarchisée, qui est plus compliquée et donc plus lourde en terme de temps de calcul.

Basé sur les observations faites concernant le déplacement des fourmis que l’on a vu dans la partie 2.2.2.1, un mécanisme d’évaporation a été ajouté à PSO afin de trai-ter les cas où l’environnement est dynamique. En effet, dans les articles [188, 197] de Fernandez-Marquez et al., une critique est faite concernant les précédentes améliora-tions faites pour adapter PSO aux environnements dynamiques, et notamment

concer-Level Hdiv Redéfinition aléatoire Effacement de la mémoire personnelle

FIGURE2.21 – Représentation géométrique de la topologie partitionnée et hiérarchisée

nant le fait que l’environnement est constamment réévalué pour vérifier si une modifica-tion a eu lieu. De fait, lorsque l’environnement est dynamique, et que la foncmodifica-tion objectif est bruitée, l’évaluation de la fonction objectif donnera nécessairement des valeurs dif-férentes à chacune des évaluations, quand bien même aucune modification n’aurait eu lieu dans le domaine. Ainsi, ces variations de la fonction objectif dûes au bruit, et non pas à une véritable modification du domaine, sont mal interprétées par l’algorithme, et les mémoires des particules sont constamment réinitialisées.

Il est donc considéré ici que la confiance allouée à chacune des particules par l’essaim décroît au cours du temps. Un mécanisme d’évaporation pénalisera les points optimaux visités au cours du temps. Ainsi, un nouveau point optimal aura donc plus d’influence qu’un point optimal découvert de nombreuses itérations auparavant.

Documents relatifs