• Aucun résultat trouvé

On l'appelle tout simplement « opération de remplacement », et elle choisit les individus les plus faibles pour être remplacés par les nouveaux.

On trouve plusieurs techniques de sélection:

- Sélection par rang : Choisir toujours les individus possédant les meilleurs scores.

- Sélection par tournoi : Utiliser la probabilité de sélection proportionnelle à l'adaptation sur des paires d'individus, puis choisir parmi ces paires celles qui a le meilleur score d'adaptation.

‎Chapitre III : Métaheuristiques et recherche d’informations

Figure 14 : Evolution d’une population dans un algorithme génétique

III.1.3.2. Le croisement

Le phénomène de croisement est une propriété naturelle de l’ADN. C’est par analogie qu’ont été conçus les opérateurs de croisement dans les AG. Cette famille d’opérateurs a pour but de répartir aléatoirement les individus sélectionnés en couples afin d’engendrer une nouvelle génération. Cette génération est obtenue en copiant et recombinant les deux chromosomes parents de manière à générer deux chromosomes enfants possédant des caractéristiques issues des deux parents.

L’opérateur de croisement favorise l’exploitation de l’espace de recherche en examinant de nouvelles solutions à partir de deux solutions actuelles, en assurant le brassage du matériel génétique de la population et l’accumulation des gènes favorables en les multipliant.

Population P E Mutation Reproduction E Evaluation Population P’ P1 Croisement P1’ P2 P2’

‎Chapitre III : Métaheuristiques et recherche d’informations

Figure 15 : les croisements dans un algorithme génétique

Le taux de croisement détermine la proportion des individus qui sont croisés parmi ceux qui remplaceront l'ancienne génération.

III.1.3.3. La mutation

L’opérateur de mutation consiste à modifier un gène sélectionné dans un chromosome et à le remplacer par une valeur aléatoire. La probabilité de mutation d’un gène est généralement très faible dans un environnement stable afin de favoriser la capitalisation des gènes favorables tout en permettant d’élargir l’espace des solutions évaluées.

Cependant, dans un environnement dynamique subissant une évolution rapide, il peut être judicieux d’employer un taux de mutation relativement élevé permettant une adaptation rapide de la population. Le taux de mutation est ainsi à adapter en fonction de l’application et du type de mutation employé.

L’opérateur de mutation apporte aux AG la propriété d’ergodicité de parcours de l’espace. Cette propriété indique que l’AG est capable d’atteindre tous les points de l’espace des solutions, sans pour autant avoir la nécessité d’énumérer l’ensemble de points de l’espace. D’un point de vue théorique, les propriétés de convergence des AG sont fortement dépendantes de cet opérateur. Il garantit ainsi que l’optimum global peut être atteint (PICAROUGNE, 2004).

La Figure 16 présente un exemple de mutation de chromosome, tel que le gène g est retiré aléatoirement et est remplacé par le gène g’.

Figure 16 : la mutation du gène « g » en « g’ » dans un algorithme génétique

Mutation g  g’ g g' Croisement avec 1 coupe Croisement avec 2 Coupes

‎Chapitre III : Métaheuristiques et recherche d’informations

La mutation est un phénomène rare mais qui permet d'explorer de nouvelles zones dans l'espace de recherche et aide l'algorithme génétique à possiblement aller vers une solution optimale globale, sans rester bloqué dans une solution optimale locale.

III.1.4 Parallélisation des algorithmes génétiques

Plusieurs auteurs ont exploré les mécanismes de parallélisation des algorithmes génétiques. L’idée motrice est évidemment le gain de temps de calcul, mais pas seulement. La diversité des environnements peut, sous certaines conditions, faire évoluer les individus en exploitant des ressources nouvelles pour produire des solutions originales.

On recense principalement deux grandes méthodes de parallélisation :

III.1.4.1. Parallélisation de l’évolution des individus

L’idée principale de cette méthode est de conserver la totalité de la population générée par les algorithmes génétiques sur une seule machine appelée « maître » qui est chargée d’effectuer toutes les opérations génétiques sur la population : sélection, croisement et mutation.

Les opérations de calcul, qui sont potentiellement plus lourdes, sont effectuées par des machines ou des processeurs dits « esclaves ».

La machine « maitre » attend que toutes les machines « esclaves » aient terminé l’évaluation de toute la population pour construire la nouvelle génération.

La première implémentation de cette méthode a été effectuée par Forgatti et Huang (1991) et (PICAROUGNE, 2004). Ils ont noté que le trop grand nombre de communications entre la machine « maître » et les machines « esclaves » influe sur la qualité du système.

Anbramson & Abela (1991) et (PICAROUGNE, 2004) ont implémenté le même algorithme sur une machine à mémoire partagée. Ils ont observé une progression linéaire des performances, mais une augmentation importante des ressources mises en œuvre.

Cette stratégie de parallélisation n’est intéressante que si le temps nécessaire à l’évaluation des individus est important, d’où l’intérêt de considérer plusieurs populations d’individus gérées d’une manière plus ou moins asynchrone.

III.1.4.2. Parallélisation par sous-populations d’individus.

Contrairement à l’approche précédente, celle-ci fait fonctionner plusieurs algorithmes génétiques en parallèle sur différentes populations d’individus. Chaque machine exécutant un algorithme génétique fait évoluer sa population indépendamment des autres.

Suivant certains critères, une machine peut décider de partager les gènes de ses meilleurs individus avec une ou plusieurs machines. La machine réceptrice décide d’intégrer ou non les

‎Chapitre III : Métaheuristiques et recherche d’informations

nouveaux individus dans sa population. De cette manière, chaque algorithme a la possibilité de converger vers des optima différents de ceux calculés sur d’autres machines. Ainsi, il devient possible de traiter de grandes populations et restituer des résultats dans un temps raisonnable.

Ce procédé de parallélisation a été très largement traité. Nous pouvons néanmoins regrouper tous les travaux sous deux grandes familles :