ELEC 2311 - Projet 27-11-08 v.1 Tutoriel Algorithme Génétique - 2 Dest.: Etudiants Auteur : JD Version 2 de l’algorithme : La version 2 de l’algorithme fournit avec le package travaille différemment avec les populations enfants. Lors des différentes optimisations à fortes contraintes, il s’avère que les populations de la version 1 ne sortaient pas des contraintes. Pourquoi ? Sur une population de 50 individus, avec de fortes contraintes, il se peut qu’il n’y ait qu’un ou deux individus correctes pour la première génération. L’opération de croisement s’occupant de créer une nouvelle population d’enfant va choisir aléatoirement des individus et croiser leurs gènes. Cependant, avec seulement un ou deux bons individus et le reste avec leur chromosome dégénéré, il y a très peu de chance d’obtenir le croisement de deux bons individus pour créer un enfant sans chromosome dégénéré. Les résultats du croisement n’apporteront pas beaucoup de bons résultats et ne permettront pas de sortir des contraintes. Afin de donner la possibilité à l’algorithme de sortir de cette impasse, une deuxième version de l’algorithme est proposée. Principe de la V2: Dans cette version 2 de l’algorithme, non seulement on crée une population d’enfant de manière traditionnelle, c'està-dire, à partir de croisement avec une mutation sur les gènes, mais en plus une population d’enfant « mutés » provenant de la population de parents avec un taux de mutation de 100% se rajoute à l’ensemble. La justification de cette deuxième population d’enfant se base sur les problèmes à fortes contraintes. En reprenant le problème cité dans le paragraphe précédent, les deux ou trois bons individus se verront clonés avec une légère modification. Au moment de la sélection, leurs enfants mutés auront une très grande chance de respecter les contraintes et seront sélectionner directement pour doubler la population respectant les contraintes. En effectuant cette opération, à chaque génération, la sous-population de bons individus croît de plus en plus permettant à l’opération de croisement d’être de plus en plus efficace puisque la probabilité de choisir deux bons individus augmente avec le nombre de bons individus dans la population. Il faut savoir qu’en donnant de nouveaux outils à l’algorithme d’optimisation, les chances d’obtenir les résultats souhaités augmentent, mais le processus restera toujours dans le domaine heuristique. Fonctionnement de la V2 : Afin de ne pas compliquer l’algorithme, il repose entièrement sur la version 1, c'est-à-dire la version avec population d’enfants traditionnelles. Seuls quelques fichiers ont été modifiés et dont le nom a eu un ajout de « _V2 »: − − − − GA_V2.m selectionElite_V2.m main_GA_V2.m mutation_V2.m 1 Le fonctionnement du programme reste identique sur l’ensemble. En fait, l’ajout d’enfants mutés est invisible à l’utilisateur. La seule grande différence est le temps de fonctionnement du programme puisqu’il nécessite d’évaluer à la fois les enfants traditionnelles et à la fois les enfants mutés. On passa à ce moment à un temps de calcul de l’ordre O(2n). 2