1. Les algorithmes génétiques, AG

 

Les algorithmes génétiques s’inspirent de la théorie de l’évolution et des règles de la génétique qui expliquent la capacité des espèces vivantes à s’adapter à leur environnement par la combinaison des mécanismes suivants :

  • la sélection naturelle fait que les individus les mieux adaptés à l’environnement tendent à survivre plus longtemps et ont donc une plus grande probabilité de se reproduire ;
  • la reproduction par croisement fait qu’un individu hérite ses caractéristiques de ses parents, de sorte que le croisement de deux individus bien adaptés à leur environnement aura tendance à créer un nouvel individu bien adapté à l’environnement ;
  • la mutation fait que certaines caractéristiques peuvent apparaître ou disparaître de façon aléatoire, permettant ainsi d’introduire de nouvelles capacités d’adaptation à l’environnement, capacités qui pourront se propager grâce aux mécanismes de sélection et de croisement.



Figure 2. Schéma récapitulatif

Les algorithmes génétiques reprennent ces mécanismes pour définir une méta-heuristique. L’idée est de faire évoluer une population de combinaisons, par sélection, croisement et mutation, la capacité d’adaptation d’une combinaison étant ici évaluée par la fonction objectif à optimiser. L’algorithme 1 décrit ce principe général, dont les principales étapes sont détaillées ci-après.

Initialisation de la population : en général, la population initiale est générée de façon aléatoire, selon une distribution uniforme assurant une bonne diversité des combinaisons.

Sélection : cette étape consiste à choisir les combinaisons de la population qui seront ensuite candidates pour la recombinaison et la mutation. Il s’agit là de favoriser la sélection des meilleures combinaisons, tout en laissant une petite chance aux moins bonnes combinaisons. Il existe de nombreuses façons de procéder à cette étape de sélection. Par exemple, la sélection par tournoi consiste à choisir aléatoirement deux combinaisons et à sélectionner la meilleure des deux (ou bien à sélectionner une des deux selon une probabilité dépendant de la fonction objectif). La sélection peut également être réalisée selon d’autres critères comme la diversité. Dans ce cas de figure, seuls les individus “distancés" sont autorisés à survivre et à se reproduire.

Recombinaison (croisement) : cette étape vise à créer de nouveaux individus par un mélange de combinaisons sélectionnées. L’objectif est de conduire la recherche dans une nouvelle zone de l’espace où de meilleures combinaisons peuvent être trouvées. A cette fin, la recombinaison doit être bien adaptée à la fonction à optimiser et capable de transmettre de bonnes propriétés des parents vers la combinaison créée. De plus, l’opérateur de recombinaison devrait idéalement permettre de créer des descendants diversifiés. Du point de vue de l’exploration et l’exploitation, la recombinaison est destinée à jouer un rôle de diversification stratégique avec un objectif à long terme de renforcement de l’intensification.

Mutation : cette opération consiste à modifier de façon aléatoire certains composants des combinaisons obtenues par croisement.

Les stratégies d'évolution forment une famille de métaheuristiques d'optimisation. Elles sont inspirées de la théorie de l'évolution, et appartiennent à ce titre à la classe des algorithmes évolutionnaires.

La méthode fut initialement proposée par Ingo Rencherberg, en 1965, à l'université technique de Berlin, en Allemagne. Elle est, à ce titre, la première véritable métaheuristique et le premier algorithme évolutionnaire, bien avant le recuit simulé ou les algorithmes génétiques. La méthode fut ensuite développée durant la fin des années 1960, principalement par les travaux de IngoRechenberg, P. Bienert et Hans-Paul Schwefel sur la conception de profils aérodynamiques.

Par la suite, les stratégies d'évolutions furent utilisées sur des problèmes d'optimisation continus, discrets, contraints, multi-objectifs, etc.

Dans sa version de base, l'algorithme manipule itérativement un ensemble de vecteurs de variables réelles, à l'aide d'opérateurs de mutation et de sélection. L'étape de mutation est classiquement effectuée par l'ajout d'une valeur aléatoire, tirée au sein d'une distribution normale. La sélection s'effectue par un choix déterministe des meilleurs individus, selon l'échelle de valeur de la fonction objectif.

Espace de recherche : ensemble de toutes les solutions faisable, X Rn

Fonction objectif: critère de cout f : Rn → R

But : trouver la meilleure solution selon le critère x*= argmin f

Mais, parfois, l'ensemble des meilleures solutions, bonne approximation de la meilleure solution, une bonne «robuste» solution ...

S ensemble de solutions (espace de recherche)

f: S → R fonction objectif

V (s) ensemble des solutions voisines de s

 


Figure 3.Algorithmes stochastiques avec solution unique

 

S ensemble des solutions (espace de recherche),

f : S → IR fonction objectif à maximiser (ou cout a minimiser)

V(s) ensemble des solutions voisines de s

 


Heuristique d’exploitation maximale. Hill Climber (meilleure amélioration).

Algorithme de comparaison

Operateur local de base de métaheuristique



Optimum local:
Etant donné (S, f , V), f à minimiser.
x* est un optimum local ssi pour tout x
V(x*), f (x*) ≤ f (x)

Optimum local strict:
Etant donné (S, f , V), f à minimiser
x* est un optimum local ssi pour tout x
V(x*), f (x*) < f (x)

Hill-climber de première amélioration (minimizer)



 


σIR (step size) et la matrice C IRn× n (covariance matrix) sont des paramètres de l’algorithme.