• Aucun résultat trouvé

CHAPITRE 1 : ETUDES BIBLIOGRAPHIQUES

1.2 Les Algorithmes Génétiques

1.2.4 Principe

Un algorithme génétique recherche le ou les extrema d'une fonction définie sur un espace de données. Pour l'utiliser, on doit disposer des cinq éléments suivants :

Un principe de codage de l'élément de population. : Cette étape associe à chacun des points de l'espace d'état une structure de données. Elle se place généralement après une phase de modélisation mathématique du problème traité.

La qualité du codage des données conditionne le succès des algorithmes génétiques. Les codages binaires ont été très utilisés à l'origine mais sont de plus en plus remplacés par les codages réels.

Un mécanisme de génération de la population initiale : Ce mécanisme doit être capable de produire une population d'individus non homogène qui servira de base pour les générations futures. Le choix de la population initiale est important car il peut rendre plus ou moins rapide la convergence vers l'optimum global. Dans le cas où l'on ne connaît rien du problème à résoudre, il est essentiel que la population initiale soit répartie sur tout le domaine de recherche.

Une fonction à optimiser : Celle-ci retourne une valeur appelée fitness ou fonction d'évaluation de l'individu.

Des opérateurs permettant de diversifier la population au cours des générations et d'explorer l'espace d'état.L'opérateur de croisement recompose les gènes

d'individus existant dans la population et l'opérateur de mutation a pour but de garantir l'exploration de l'espace d'états.

Des paramètres de dimensionnement : taille de la population, nombre total de générations ou critère d'arrêt, probabilités d'application des opérateurs de croisement et de mutation.

Ces éléments sont organisés dans un algorithme génétiquesous la forme de la, figure (1-8) :

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 28

Figure 1-8 Organigramme général d’un algorithme génétique.

Le critère de convergence peut être de nature diverse, par exemple :

 un taux minimum d'adaptation de la population au problème, qu'on désire atteindre,

 un certain temps de calcul à ne pas dépasser,

 une combinaison de ces deux points.

1.2.4.1 Création de la population initiale

Au démarrage d‟un algorithme génétique, il faut impérativement lui fournir une population (un ensemble de solutions potentielles au problème) à faire évoluer. La manière dont le programmeur va créer chacun des individus de cette population est certes libre mais répond à des règles minimales :

 Chacun des individus créés soient de la forme d'une solution potentielle, et il n'est nullement besoin de songer à créer des bons individus. Ils doivent juste fournir une réponse, même mauvaise, au problème posé. Par exemple, si vous cherchez un

Convergence ? Evaluation de P

DEBUT Populationinitiale P

Sélection

Opérateurs (croisements, mutation)

Oui Résultat Non

FIN

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 29

chemin entre 2 points, les individus créés devront simplement posséder le bon point de départ et le bon point d'arrivée, peu importe par où ils passent. On peut donc retenir que même si les individus créés n'ont aucune chance d'être des solutions acceptables pour le problème posé, mais qu‟ils peuvent en avoir la forme, il n'y a aucune objection à les mettre dans la population initiale.

 Plus les individus de la population de départ seront différents les uns des autres, plus grande est la chance d'y trouver, non pas la solution parfaite, mais de quoi fabriquer les meilleures solutions possibles.

 Pour ce qui est de la taille de la population initiale, il n'est souvent pas nécessaire d'utiliser des populations de tailles démesurées. Une taille de 100 ou 150 individus s'avèrera souvent amplement suffisante, tant pour la qualité des solutions trouvées que pour le temps d'exécution de notre algorithme [14]. Toutefois la taille de la population initiale peut être modifiée en fonction du problème à résoudre si les solutions trouvées ne sont pas satisfaisantes.

1.2.4.2 Evaluation des individus

Une fois que la population initiale a été créée, il faut en sortir les individus les plus prometteurs, ceux qui vont participer à l'amélioration de notre population. Pour ce faire, on attribue une 'note' ou un indice de qualité à chacun de nos individus. Laméthode d'évaluation des individus est laissée au programmeur en fonction du problème qu'il a à optimiser ou à résoudre. Si cette étape très importante paraît simple pour les problèmes d‟optimisation monocritère, elle peut présenter quelques subtilités pour des problèmes multicritères.

En effet, les différents individus ne sont pas toujours comparables, il n'est pas toujours possible de dire qu'unindividu est meilleur ou moins bon qu'un autre surtout lorsqu'une solution dépend deplusieurs paramètres. On peut toujours dire qu'un nombre est supérieur ou non à un autre, mais on ne peut en faire pareil des vecteurs. La notion de supériorité pour les vecteurs n'existe pas.

A titre illustratif considérons qu‟on veuille diminuer un coût de production et un temps de production ; ces deux facteurs ne vont pasforcément de pair et un individu pourra être très bon sur un critère et très mauvais sur un autre. Le recours à l'optimisationd'un problème multicritères empêche de privilégier un critère par rapport à un autre, sans quoi on pourrait tout de suiteréécrire le problème pour ne chercher à optimiser que le coût de production sans

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 30

tenir compte du temps de production. On seramènerait ainsi à des individus ne dépendant plus que d'un seul critère, ils seraient donc tous comparables. Que faire donc pour comparer deux individus en contexte multicritère ?

Il en existe une foultitude de méthodes ; on en présentera deux ici. Toutes ces deux méthodes sont axées sur la notion de dominance d'individu. Aussi il convient de retenir qu‟un individu en domine un autre s'il est meilleur dans chacun des critères, pris séparément.

Méthode 1 : le rang d'un individu est le nombre d'individus qui le dominent + 1. Les meilleurs individus au sens de cettepremière méthode sont ceux de rang le plus faible.

Inconvénient: plusieurs individus peuvent avoir le même rang, tout en étanttrès différents.

Méthode 2 : le rang d'un individu est l'indice de la population dans laquelle il a été remarqué comme n'étant dominé par aucunautre individu. Ici de l‟ensemble d'individus, on ressort ceux qui ne sont dominés par aucun autre individu, et on leur attribue le rang 1. Sur les individus qui ne sont pas sortis du lot, on réitère l'opération, en cherchant ceuxqui ne sont dominés par aucun des individus restants et on leur attribue le rang 2 et ainsi de suite jusqu'à épuisement de lapopulation. Les individus jugés les meilleurs sont ceux de rang le plus faible.

L'étape d'évaluation des individus peut être effectuée avant et/ou après les étapes de croisement et de mutation expliquéesplus loin.

1.2.4.3 La sélection

Cet opérateur est chargé de définir quels seront les individus de la population actuelle P qui vont être dupliqués dans la nouvelle population P‟et vont servir de parents (application de l'opérateur de croisement).

Soit n le nombre d'individus de P, on doit en sélectionner n/2 (l'opérateur de croisement nous permet de repasser à n individus). En règle générale, la probabilité de survie d‟un individu sera directement reliée à son efficacité relative au sein de la population.

On trouve essentiellement quatre différents types de méthodes de sélection : la méthode de la

"loterie biaisée" (roulette wheel) de GoldBerg, la méthode "élitiste" ou élitisme, la sélection par tournoi et la sélection par rang. La sélection par rang n‟étant qu‟une variante de la roulette, nous présenterons ici les trois premières méthodes de sélection.

La méthode de la roulette

Cette méthode est la plus connue et la plus utilisée. Avec cette méthode, chaque individu a une chance d'être sélectionné proportionnellement à sa performance. Elle s'inspire des roues

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 31

de loterie. Ainsi, chaque individu se voit attribué un secteur dont l'angle est proportionnel à son adaptation, sa "fitness". On fait tourner la roue et quand elle cesse de tourner on sélectionne l'individu correspondant au secteur désigné par une sorte de "curseur", lequel curseur pointe sur un secteur particulier de la roue après qu'elle se soit arrêté de tourner.

Figure 1-9 la méthode de sélection de la roulette Wheel.

Cette méthode, bien que largement répandue, présente quelquesinconvénients [13]

o elle a une forte variance. Il n'est pas impossible que sur n sélections successivesdestinées à désigner les parents de la nouvelle génération P', la quasi-totalité, voire pire latotalité des n individus sélectionnés soient des individus ayant une fitness vraimentmauvaise et donc que pratiquement aucun individu a forte fitness nefasse partie des parents de la nouvelle génération. Ce phénomène est bien sûr trèsdommageable car cela va complètement à l'encontre du principe des algorithmesgénétiques qui veut que les meilleurs individus soient sélectionnés de manière à convergervers une solution la plus optimale possible.

o A l'inverse, on peut arriver à une domination écrasante d'un individu

« localement supérieur». Ceci entrainant une grave perte de diversité.

Imaginons par exemple qu'on ait un individuayant une fitness très élevée par rapport au reste de la population, disons dix fois supérieure,il n'est pas impossible qu'après quelques générations successives on se retrouve avec unepopulation ne contenant que des copies de cet individu. Le problème est que cet individuavait une fitness très élevée, mais que cette fitness était toute relative, elle était très élevée mais seulement en comparaison des autres individus. On se retrouve donc face au problèmeconnu sous le nom de

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 32

"convergence prématurée; l'évolution se met donc à stagner et onatteindra alors jamais l'optimum, on restera bloqué sur un optimum local.

Pour toutes les raisons susmentionnées, il est conseillé d'opter plutôt pour une autre méthode de sélection. convergence prématurée encore plus rapidement et surtout de manière encore plus sûre que la roulette ; en effet, la pression de la sélection est trop forte, la variance nulle et la diversité inexistante, du moins le peu de diversité qu'il pourrait y avoir ne résultera pas de la sélection mais plutôt du croisement et des mutations. Là aussi il faut opter pour une autre méthode de sélection.

o La sélection par tournoi

Le principe de cette méthode est le suivant : on effectue un tirage avec remise de deux individus de P, et on les fait "combattre". Celui qui a la fitness la plus élevée l'emporte avec une probabilité p comprise entre 0.5 et 1. On répète ce processus n fois de manière à obtenir les n individus de P' qui serviront de parents.

La variance de cette méthode est élevée et le fait d'augmenter ou de diminuer la valeur de p permet respectivement de diminuer ou d'augmenter la pression de la sélection.

Cette méthode est celle avec laquelle on obtient les résultats les plus satisfaisants [11].

1.2.4.4 L'opérateur de croisement ou cross over

L‟opérateur de croisement assure donc le brassage du matériel génétique et l‟accumulation des mutations favorables. En termes plus concrets, cet opérateur permet de créer de nouvelles combinaisons des paramètres des composants. On distingue plusieurs types de croisements :

o Croisement en un point

On choisit au hasard un point de croisement pour chaque couple. Notons que le croisement s‟effectue directement au niveau binaire et non pas au niveau des gènes. Un chromosome peut donc être coupé au milieu d‟un gène.

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 33

2 parents 2 enfants

Figure 1-10 Représentation schématique du croisement en un point.

o Croisement en deux points

On choisit au hasard deux points de croisement. Cet opérateur est considéré comme plus efficace que le précédent.

2 parents 2 enfants

Figure 1-11 Représentation schématique du croisement en deux points.

Notons que d‟autres formes de croisement multipoints existent, du croisement en k points jusqu‟au cas limite du croisement uniforme.

o Croisement réel

Le croisement réelne se différencie du croisement binaire que par la nature des éléments qu‟il altère : ce ne sont plus des bits qui sont échangés à droite du point de croisements mais des variables réelles.

1.2.4.5 L’opérateur de mutation

Cet opérateur consiste à changer la valeur allélique d'un gène avec une probabilité pm très faible,généralement comprise entre 0.01 et 0.001.

Une mutation

Figure 1-12 Représentation schématique de la mutation.

1 0 0 1 0 0 1 1 1 0 1 0 0 1

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 34

On peut aussi prendre où lg est la longueur de la chaîne de bits codant notrechromosome.Une mutation consiste simplement en l'inversion d'un bit (ou de plusieurs bits, mais vu laprobabilité de mutation c'est extrêmement rare) se trouvant en un locus bien particulier et lui aussidéterminé de manière aléatoire;

On peut donc résumer la mutation de la façon suivante :

On utilise une fonction censée nous retourner true avec une probabilité pm.

POUR chaque locus FAIRE Faire appel à la fonction

SI cette fonction nous renvoie true ALORS on inverse le bit se trouvant à ce locus FINSI

FINPOUR

La mutation dispose de quatre avantages :

o Il garantit la diversité de la population, ce qui est primordial pour les algorithmes génétiques.

o Il permet d'éviter un phénomène connu sous le nom de dérive génétique. On parle de dérivegénétique quand certains gènes favorisés par le hasard se répandent au détriment des autres etsont ainsi présents au même endroit sur tous les chromosomes.

Le fait que l'opérateur demutation puisse entraîner de manière aléatoire des changements au niveau de n'importe quellocus, permet d'éviter l'installation de cette situation défavorable.

o Il permet de limiter les risques d'une convergence prématurée causée par exemple par uneméthode de sélection élitiste imposant à la population une pression sélective trop forte. En effet,dans le cas d'une convergence prématurée, on se retrouve avec une population dont tous lesindividus sont identiques mais ne sont que des optimums locaux. Tous les individus étantidentiques, le croisement ne changera rien à la situation. En effet, l'échange d'informations parcrossover entre des individus strictement identiques est bien sûr totalement sans conséquences;on aura beau choisir la méthode de croisement qu'on veut, on se retrouvera toujours à échangerdes portions de chromosomes identiques et la population n'évoluera pas. L'évolution

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 35

seretrouvant bloquée on n'attendra jamais l'optimum global.La mutation entrainant des inversions de bits de manière aléatoire, permet de réintroduire desdifférences entre les individus et donc de nous extirper de cette situation.Il est quand même utile de garder à l'esprit que ceci n'est pas une solution "miracle" et qu'il estbien entendu plus intelligent de ne pas utiliser de méthodes de sélection connues pour entrainerce type de problème.

o La mutation permet d'atteindre la propriété d‟ergodicité.L'ergodicité est une propriété garantissant que chaque point de l'espace de recherche puisse êtreatteint.En effet, une mutation pouvant intervenir de manière aléatoire au niveau de n'importe quellocus, on a la certitude mathématique que n'importe quel permutation de notre chaîne de bitspeut apparaître au sein de la population et donc que tout point de l'espace de recherche peut êtreatteint.Grâce à cette propriété on est donc sûr de pouvoir atteindre l'optimum global.

1.2.4.6 L’insertion de nouveaux individus

Après la création de nouveaux individus que ce soit par croisement ou par mutation, il faut sélectionner ceux qui vont continuer à participer à l'amélioration de la population. A cet effet, il est possible de refaire une étape d'évaluation des individus nouvellement créés. De même qu'il est possible de conserver tous les nouveaux individus en plus de notre population.

Il n'est toutefois pas recommandé de ne conserver que les nouveaux individus et d'oublier la population de travail. En effet, rien ne dit que les nouveaux individus sont meilleurs que les individus de départ.

Une méthode relativement efficace consiste à insérer les nouveaux individus dans la population, à trier cette population selon l'évaluation de ses membres, et à ne conserver que les n meilleurs individus.

En effet, le nombre d'individus n à conserver est à choisir avec soin. En prenant un n trop faible, la prochaine itération de l'algorithme se fera avec une population plus petite et elle deviendra de plus en plus petite au fil des générations - elle pourrait même disparaître. En prenant un n de plus en plus grand, on prend le risque de voir exploser le temps de traitement puisque la population de chaque génération sera plus grande.

Une méthode efficace est de toujours garder la même taille de population d'une génération à l'autre, ainsi il est possible de dérouler l'algorithme sur un grand nombre de générations.

Rapport de stage /Diplôme d‟études approfondies/EPAC/UAC/BENIN

Présenté et soutenu par TOSSA K. Alain. Page 36

Une fois la nouvelle population obtenue, on recommence le processus d'amélioration des individus pour obtenir une nouvelle population et ainsi de suite jusqu‟à convergence.

CHAPITRE 2 : MODELISATION EXERGO- ECONOMIQUE