• Aucun résultat trouvé

Chapitre III Hybridation De Méthodes

III. Hybridation basée EA

Les algorithmes évolutionnaires sont devenus très utilisés pour résoudre les problèmes complexes. Plusieurs techniques sont regroupées dans cette catégorie : Les algorithmes génétiques, la programmation génétique et les stratégies évolutionnaires, etc. Elles sont basées tous sur le même concept en simulant l’évolution d’un individu par sélection, mutation et reproduction. Les avantages des algorithmes évolutionnaires sont multiples, à savoir la simplicité de l’approche, sa robustesse face aux changements de

82

l’environnement et enfin sa flexibilité. Les algorithmes évolutionnaires sont faciles à implémenter par rapport à d’autres métaheuristiques. Par contre, pour plusieurs problèmes complexes, les algorithmes évolutionnaires ne réussissent pas à trouver la solution optimale, d’où la nécessité de les hybrider avec d’autres méthodes bio-inspirées, techniques d’apprentissage, heuristiques, etc.

L'idée essentielle d’hybridation des algorithmes évolutionnaires consiste essentiellement à exploiter pleinement la puissance de recherche de méthodes de voisinage et de recombinaison des algorithmes évolutifs sur une population de solutions. Un tel algorithme utilise une ou plusieurs méthodes de voisinage sur les individus de la population pendant un certain nombre d'itérations ou jusqu'à la découverte d'un ensemble d'optimums locaux et invoque ensuite un mécanisme de recombinaison pour créer de nouveaux individus. La recombinaison doit impérativement être adaptée au problème traité. En effet, cette approche a permis de produire d'excellents voire les meilleurs résultats sur des benchmarks réputés de problèmes de référence. C'est le cas par exemple du problème du voyageur de commerce, de la coloration des graphes, de la clique maximale et de l'affectation quadratique. Malgré la puissance de l’approche hybride, le temps de calcul nécessaire peut devenir prohibitif à cause du nombre d'individus manipulés dans la population. Une voie pour résoudre ce problème est la parallélisation de ces algorithmes sur des machines parallèles ou sur des systèmes distribués. Nous venons d'évoquer l'hybridation d'un algorithme évolutionniste avec des méthodes de voisinage. Il est également possible d'hybrider d'autres types d'approches, par exemple une heuristique gloutonne et une méthode de voisinage ou un algorithme évolutif.

Un exemple typique est la méthode GRASP Cette hybridation consiste à combiner une méthode de recherche locale (méthode de voisinage) avec une méthode évolutive [48]. Les raisons de cette hybridation sont :

- améliorer les performances d’un algorithme évolutionnaire (vitesse de convergence) ;

- améliorer la qualité de la solution obtenue ;

- élargir le domaine d’application des algorithmes évolutionnaires. Ci-dessous un exemple d’un algorithme génétique hybride :

83

Algorithme génétique hybride Étape 1 (initialisation)

a) Générer une population de configurations P

b) Appliquer une recherche locale à chacune des configurations de P Étape 2 (évolution et terminaison)

a) Choisir p1 et p2 dans P

b) Générer une configuration e par une recombinaison de p1 et p2 c) Améliorer e par l'application de la recherche locale

d) Insérer la nouvelle configuration e dans la population

e) Terminer et retourner la meilleure solution trouvée si la condition d'arrêt vérifiée Étape 3 (mise à jour)

f) Re-organisation de la population (ex, élimination des configurations non performantes de la population

Étape 4

Aller à (étape 2) jusqu’à critère d’arrêt satisfait.

Il existe plusieurs manières pour hybrider les algorithmes évolutionnaires, qu’on peut les résumer comme suit :

- La population initiale peut être créée avec une heuristique spécifique au problème ;

- Quelques solutions obtenues par un algorithme évolutionnaire peuvent être améliorés par une recherche locale (algorithme mimétique) ;

- Des opérateurs de croisement et de mutation peuvent exploiter les connaissances préalables du problème ;

Une heuristique est utilisée pour le décodage des solutions en exploitant des connaissances propres du problème (voir figure 30).

Plusieurs hybridations sont proposées dans la littérature [49] hybridant un algorithme évolutionnaire avec :

1- Un autre algorithme évolutionnaire ; 2- Un réseau de neurones ;

3- La logique floue ;

84

Figure 30: hybridation des algorithmes évolutionnaires [49].

1. Hybridation d’un algorithme évolutionnaire avec un autre AE

Dans Tan et al [50], une technique de classification évolutionnaire hybride à deux phases a été proposée afin d’extraire les règles de classification à utiliser dans le domaine de la prévention médicale. Dans la première phase, un algorithme évolutionnaire est utilisé pour limiter l'espace de recherche en évoluant une population de règles candidates utiles.

La programmation génétique est appliquée pour évoluer les attributs nominaux pour la structuration des règles et l'algorithme génétique est utilisé afin d’optimiser les attributs numériques, ce qui permet une classification concise des règles. Les règles candidates sont ensuite utilisées dans la deuxième phase afin d'optimiser l'ordre et le nombre de règles dans le but de former un ensemble de règles cohérentes, précises et compréhensibles. [50]

2. Hybridation d’un réseau de neurones avec AE

Wang a proposé une approche hybride pour améliorer les performances des algorithmes évolutionnaires pour un problème d'optimisation par simulation [51].

L’optimisation par simulation vise à déterminer les meilleures valeurs des paramètres d'entrée, lorsque la fonction objectif et les contraintes ne sont pas explicitement connues. Un algorithme évolutionnaire est utilisé pour explorer les bonnes solutions dans l'espace de recherche. Le réseau de neurone est utilisé pour déterminer la valeur de la fonction fitness.

85

D’autre part, l’évaluation de la fonction objective dans les algorithmes évolutionnaire est souvent coûteuse, pour résoudre ce problème une approche hybride a été proposée [52]. Elle est basée sur une combinaison des réseaux de neurones et les algorithmes génétiques, l'intégration du réseau de neurones a permet d’accélérer significativement la convergence de l'algorithme génétique et par conséquent améliorer la qualité de solution obtenue.

3. Hybridation logique floue avec AE

Dans Lee & Takagi, [53], les auteurs ont proposé un algorithme génétique à paramétrage dynamique (DPGA) qui utilise un contrôleur flou (Fuzzy logic controller FLC) pour contrôler les paramètres généraux de l’algorithme, tels que le taux de mutation (Pm), le taux de croisement (Pc), et la taille de la population (N), vu leurs importance pour réaliser un compromis entre l'exploitation et l’exploration de l’espace de recherche. Les entrées du FLC sont représentées par une combinaison de mesures de performance, et les sorties peuvent être n’importe quel paramètre de contrôle de l'algorithme génétique.

Par exemple, le taux de mutation (Pm) peut être adapté pour empêcher une convergence prématurée et accélérer l'optimisation. Les règles correspondantes permettant d’ajuster le taux de mutation peuvent être formulées comme suit :

- si convergence alors Pm = 0,6

- si pas de convergence alors Pm= 0,05

4. Hybridation d’algorithme d’optimisation par essaim de particules

avec AE

Une approche hybride nommée AE-PSO, combinant les algorithmes évolutionnaires et l’algorithme d’optimisation par essaim de particules a été proposée par Shi et al [54]. Son principe consiste à exécuter les deux techniques simultanément. Après n itérations, sélectionner P individus de chaque technique pour les échanger. L'individu ayant une meilleure fitness a effectivement plus de chances d'être sélectionné. Les principales étapes de l'approche proposée sont représentées ci-dessous:

1. Initialiser EA et PSO.

2. Exécuter EA et PSO simultanément.

3. Mémoriser la meilleure solution en tant que solution finale et s'arrêter si le critère d’arrêt est satisfait dans l’un des deux systèmes.

86

4. Effectuer le procédé hybride après n itérations en sélectionnant les P individus en fonction de leur fitness des deux systèmes puis les échanger. Passez à l'étape 3.

Une autre technique hybride combinant GA et PSO appelé GSO (Genetic Swarm

Optimization) a été proposé par Grimaldi et al [55] pour résoudre un problème d'optimisation

en électromagnétique. Cette technique est basée sur une forte coopération entre GA et PSO, car elle maintient l'intégration de ces deux techniques tout au long de son exécution. À chaque itération, la population est divisée en deux parties, chacune est évaluée respectivement par une technique. Les solutions seront ensuite recombinées lors de la mise à jour de la population, qui est de nouveau divisée en deux parties de façon aléatoire dans l'itération suivante.

Documents relatifs