Algorithme génétique

Algorithme génétique

Un algorithme génétique est une méthode de résolution de problèmes d’optimisation, avec ou sans contraintes, basée sur un processus de sélection naturelle (processus analogue à celui de l’évolution biologique). Dans un tel algorithme, une population de solutions est modifiée à plusieurs reprises. À chaque fois, l’algorithme sélectionne au hasard des individus dans la population et les utilise comme parents pour produire les enfants de la génération suivante. Au fil des générations successives, la population « évolue » vers une solution optimale.

Vous pouvez utiliser un algorithme génétique afin de résoudre des problèmes pour lesquels les algorithmes d’optimisation standard ne sont pas vraiment adaptés. Il peut s’agir par exemple de problèmes avec une fonction-objectif discontinue, non dérivable, stochastique ou particulièrement non linéaire.

Il existe deux grandes différences entre les algorithmes génétiques et les algorithmes d’optimisation classiques basés sur la dérivation, comme expliqué dans le tableau ci-dessous :

Algorithme classique Algorithme génétique
Génère un seul point à chaque itération. La séquence de points permet d’approcher une solution optimale. Génère une population de points à chaque itération. Le meilleur point de la population permet d’approcher une solution optimale.
Sélectionne le point suivant dans la séquence à l’aide d’un calcul déterministe. Sélectionne la population suivante à l’aide d’un calcul basé sur la génération de nombres aléatoires.

Pour plus d’informations sur l’application des algorithmes génétiques, consultez la section dédiée à la Global Optimization Toolbox.

Voir aussi: Global Optimization Toolbox, Optimization Toolbox, simulated annealing, linear programming, quadratic programming, integer programming, nonlinear programming, multiobjective optimization, genetic algorithm videos, reinforcement learning, surrogate optimization, design optimization