• Aucun résultat trouvé

CHAPITRE 2: REVUE DE LITTÉRATURE

2.3 IDENTIFICATION DES PARAMÈTRES MOTEURS

2.3.3 LES ALGORITHMES GÉNÉTIQUES

Les algorithmes génétiques sont des heuristiques (ou métaheuristiques) fortement utilisés dans la résolution des problèmes d’optimisation. Ce sont des méthodes stochastiques qui s’inspirent du processus de l’évolution naturelle biologique décrit par Darwin [90]. Ils ont été développés informatiquement pour la première fois par John Holland en 1973 [91], et popularisés à travers les travaux de David Goldberg en 1989 [92] et grâce à la puissance computationnelle des ordinateurs permettant leurs exploitations. Depuis, un nombre important de travaux ont permis de concevoir des algorithmes génétiques plus évolués et plus efficaces comme le célèbre Non-dominated Sorting Genetic Algorithm II (NSGA II) développé par Deb et al. [22] qui permet de gérer les problèmes multi-objectifs définis par un ensemble de fonctions objectives à optimiser. Ces algorithmes appartiennent à la classe des algorithmes évolutionnaires qui sont utilisés pour trouver des solutions approximées d’optimisation à des problèmes complexes quand la solution exacte ne peut être calculée par les méthodes classiques (ex. : Newton-Raphson, Gradient conjugué) basées sur la détermination de fonction dérivée [93, 94]. De plus, les algorithmes génétiques sont de puissantes méthodes d’optimisation globale, c’est-à-dire que par leur propriété stochastique et leur notion de population, ils évitent de tomber dans un minimum local.

Le processus classique de fonctionnement des algorithmes génétiques repose sur trois principales étapes que sont l’évaluation, la sélection et la reproduction. La Figure 2.37 illustre le processus de fonctionnement d’un algorithme génétique.

83 Figure 2.37 – Processus de fonctionnement d'un algorithme génétique

Afin d’expliquer les différentes étapes, nous allons introduire le vocabulaire essentiel à la compréhension des algorithmes génétiques.

Variable : Le terme variable aussi connu sous le nom de gène (ou de variable objective) est une des valeurs de l’individu quand celui-ci en possède plusieurs. En général, nous les notons et constitue un vecteur tel que [ , , … ]. Elles appartiennent à l’espace de solution de dimension. Dans le cas de valeurs réelles ∈ ⊆ ℝ .

Individu : Un individu appelé également chromosome est une solution de l’espace de recherche constituant la population. Le chromosome est constitué de gènes (ou variables) et peut être noté comme suit [ ] = [ , , … ]. Ainsi, [ ] ∈ ⊆ ℝ .

Population : Le terme population désigne un ensemble constitué de solutions [ ] qui sont générées aléatoirement à partir des différentes contraintes ([ ]) définissant les limites de l’espace de recherche . La population peut être notée mathématiquement par = {[ ], [ ], … , [ ]}. Nous avons une nouvelle population de individus à chaque génération.

84 Génération : Une génération peut être définie comme l’état à un instant (ou itération ) d’une population . De plus, lors du processus d’optimisation, il y a un nombre fixe ou non (selon le critère d’arrêt choisi du mécanisme de maximisation ou de minimisation) de générations. Ainsi, les notations et correspond respectivement à l’état de la population à la génération et à la génération + 1.

Grâce aux différents termes définis ci-dessus, il nous est maintenant possible de décrire le processus de fonctionnement des algorithmes génétiques.

Initialisation

La phase d’initialisation correspond à la création aléatoire de individus [ ] (sous les contraintes ([ ])) qui constituent la population à la génération 0 du mécanisme d’optimisation par algorithme génétique. Cette population est notée .

Évaluation

L’étape de l’évaluation de la population est définie par le calcul du score pour les individus grâce à la fonction objective ([ ]). En d’autres termes, les valeurs avec = 1, 2, … , , et telles que [ ] = [ , , … ], correspondent aux entrées (variables) de la fonction de coût préalablement choisie par l’utilisateur et sa sortie (généralement une valeur) mesure la performance de l’individu [ ] par rapport au problème d’optimisation.

Sélection

La phase de sélection intervient après que les individus (appelés Parents) de la population ont été affectés d’un score à partir de l’évaluation de la fonction

85 objective ([ ]). Cette étape est nécessaire pour la phase suivante de reproduction (composée des sous-phases de croisement et de mutation) d’individus (appelés Enfants) à partir des Parents qui ont été sélectionnés. Le processus de sélection désigné également par l’expression sélection d’accouplement repose sur le mécanisme de sélection naturelle et le principe par Darwin « survie du plus fort ». En d’autres termes, seuls les individus les plus forts ont une chance de survivre. À partir de cette notion, il a été développé plusieurs stratégies de sélection comme la méthode de la roulette (Roulette Wheel Selection – RWS ou Proportionnal Selection ), la sélection par rang (rank selection) qui procède de la même manière qu’un changement d’échelle afin de redistribuer les proportionnalités des individus, la sélection par tournoi (tournament selection), l’élitisme (elitism) [95] et d’autres encore un peu moins connues [96]. Ces méthodes de sélection permettent de remplir la population d’individus sélectionnés (mating pool) que nous notons par un nombre d’individus préalablement fixé par l’utilisateur. L’ensemble de ces méthodes de sélection permet de modifier l’exploration des solutions pour les étapes suivantes en augmentant ou en diminuant la pression de sélection des individus les plus forts.

Reproduction

Le processus de reproduction est destiné à choisir aléatoirement, parmi la population d’individus sélectionnés , deux individus (possibilité de reproduction avec plus de deux Parents) pour lui faire subir une recombinaison (crossover) et une mutation selon une probabilité de recombinaison et une probabilité de mutation. Il en résulte généralement deux nouveaux individus que nous appelons Enfants (Offsprings). Cette opération est réitérée jusqu’à ce qu’une nouvelle population de individus

86 soit générée. La nouvelle population résultante est associée à la génération 1 que nous notons . Les mécanismes de recombinaison et de mutation ont également été très étudiés, et plusieurs stratégies d’opération ont été mises en place.

Recombinaison

Le processus de recombinaison, également appelé « crossover », repose sur le mécanisme de reproduction naturelle entre deux Parents. En effet, selon le processus naturel de reproduction, certains gènes du parent 1 et du parent 2 se retrouvent dans le chromosome de l’enfant. Les opérations de recombinaison existantes dans les algorithmes génétiques imitent ce mécanisme. Les différentes approches de « crossover » que nous retrouvons dans le large spectre de la littérature à ce sujet peuvent être séparées en deux catégories distinctes. La première catégorie regroupe les opérations de recombinaison utilisées généralement pour les données codées en binaire comme « single-point crossover », « two-point crossover » ou encore « uniform crossover » [96]. La seconde rassemble les mécanismes de recombinaison pour les données réelles. Nous retrouvons les méthodes de l’« arithmetic crossover » [97], du « blend- crossover » [98], ou encore du « Simulated Binary crossover (SBX) » [99]. Dans la majorité des opérations de recombinaison, il est sélectionné deux Parents afin de créer deux Enfants. Certaines opérations comme le « simplex crossover » [100] permettent de sélectionner plus de deux Parents.

Mutation

Le mécanisme de mutation est généralement composé d’une probabilité très faible de l’ordre de 0.01. En effet, les mutations naturelles d’un individu se réalisent au

87 travers de plusieurs générations afin de s’adapter à son environnement de vie. Les opérations qui essaient d’imiter ce processus particulier sont la mutation uniforme (« uniform mutation »), la mutation de frontière (« boundary mutation ») [96], ou encore la mutation polynomiale (« polynomiale mutation ») [101].

Puis, la nouvelle population constituée de individus Enfants est à son tour évaluée et deviennent les Parents pendant l’étape de sélection, et une nouvelle population d’individus Enfants est générée grâce à l’étape de reproduction. Le processus de l’algorithme génétique réitère les étapes d’évaluation, de sélection et de reproduction jusqu’à ce qu’un critère d’arrêt soit rencontré. L’utilisateur peut définir plusieurs critères d’arrêts comme le nombre de générations maximal ou une valeur de la fonction objective à atteindre que nous rencontrons couramment dans la littérature. D’autres critères moins courants existent comme la valeur en pourcentage de la diversité des individus de la population.

L’ensemble des brèves explications données constitue le fonctionnement classique d’un algorithme génétique mono-objectif. Cependant, dans la vie courante, les chercheurs travaillent très rarement sur des problèmes où une seule fonction objective doit être optimisée. Dans la généralité des cas, les problèmes sont multi- objectifs, et nous allons présenter dans la sous-section suivante les algorithmes génétiques multi-objectifs pour la résolution des problèmes à plusieurs fonctions à optimiser.

88

Documents relatifs