Académique Documents
Professionnel Documents
Culture Documents
METHODES GLOBALES
1. Introduction
Les méthodes globales s’appuient sur des mécanismes de transition aléatoire. Elles ne
nécessitent aucune connaissance sur la continuité ou la dérivabilité de la fonction
objectif. Cependant, elles sont dédiées aux problèmes de grande taille. Ces méthodes
globales sont réparties en deux classes :
Recuit simulé
Recherche Tabou
Essaims particulaires
Colonies de fourmis
2.1 Introduction
1
2.2 Description d’un AG
Un AG est un algorithme itératif, de recherche globale dont le but est d’optimiser une
fonction définie par l’utilisateur (fonction coût, fitness,….).
Pour atteindre cet objectif, l’algorithme travaille en parallèle sur une population
aléatoire d’individus (chromosomes) représentant des solutions possibles distribuées
dans tout l’espace de recherche. Chaque individu est caractérisé par son chromosome.
Chaque chromosome est constitué d’un ensemble de gènes (trait/caractéristique). Un
chromosome peut être codé de différentes manières.
A chaque itération (génération), une nouvelle population est créée avec le même
nombre d’individus (les enfants descendants).
Cette nouvelle génération constituée généralement d’individus mieux adaptés à
l’environnement tel qu’il est représenté par la fonction fitness. Au fur et à mesure que
les générations évoluent, les individus vont tendre en général vers l’optimum de la
fonction fitness.
La génération de la nouvelle population à partir de la précédente s’effectue par les
étapes suivantes :
• Evaluation : l’AG évalue la fonction fitness de chaque individu de l’ancienne
population
• Sélection : il sélectionne les individus sur la base de leur fitness
• Croisement : recombinaison de deux parents avec une probabilité Pc pour
donner naissance à deux enfants
• Mutation : modification aléatoire d’un ou plusieurs gêne(s) d’un chromosome
avec une probabilité Pm
2.3 Développement d’un AG
Le développement d’un AG passe par les étapes suivantes :
• Choix du codage
• Choix du vecteur contrôle / taille de la population, Pc, Pm, max génération,
précision
• Génération d’une population initiale aléatoire de taille N
• Définir la fonction objectif (fitness)
• Choix des opérateurs génétiques (sélection, croisement et mutation)
• Sélectionner le critère d’arrêt
2
Les différentes étapes de l’AG sont répétées jusqu’à satisfaction du critère de
convergence.
A. Codage du chromosome
Les AGs utilisent un codage des éléments de l’espace de recherche et non pas les
éléments eux-mêmes. Par analogie avec la biologie, chaque individu de la population
est représenté par un chromosome qui est un ensemble de gènes. Chaque gène est
associé à une variable du problème d’optimisation. Un gène peut être codé de
différentes manières : binaire, gray, réel, arbres, tableaux, listes ou tous autres objets.
Les codages binaire et réel sont les plus répandus.
A.1 Codage binaire
Le codage binaire attribue une chaîne de bits de valeurs 0 ou 1 au chromosome. Ce
codage était à l’origine des premiers AGs. Il présente l’avantage d’être facile et
permet de coder toutes sortes d’objets : des réels, des entiers, des chaînes de
caractères.
C’est la représentation la plus fréquente, soit f une fonction à optimiser de
paramètres x . La variable x représente un individu de la population, il est codé sous
forme d’une chaîne de n bits. Soit x ∈ [x min , x max ] avec x ∈ ℜ et x a un nombre de
décimale noté d .
Dans une représentation binaire, la taille de l’individu n vérifie l’inéquation suivante:
3
Dans ce type de codage pour chaque variable réel x de précision d correspond un
entier long g tel que g max = 2 n − 1 où n est la taille de la chaîne de bits (taille de
code de l’individu).
g est codé sur n bits suivant la représentation suivante :
bn −1 bn − 2 bn − 3 ……….. b2 b1 b0
b0 est le bit de plus faible poids et bn −1 de plus fort poids. Alors l’entier long g , tel
n −1
que 0 ≤ g ≤ g max , est calculé par la relation suivante : ∑ b j .2 j (3)
j =0
Enfin, il est facile de trouver la correspondance entre la variable réel x et l’entier long
g , les relations (3) et (4) permettent le passage entre les deux représentations.
• Réel – Entier long
x − x min
g= * g max (4)
x max − x min
4
A.3 Codage réel
La représentation la plus efficace est celle qui s’appuie sur des nombres réels. Le
codage réel est plus précis et moins encombrant du point de vue mémoire que le
binaire. Cependant, le choix du codage des données dépend de la spécificité du
problème à traiter. Il influe sur les performances de l’AG.
B. Population initiale
Le choix de la population initiale se fait dans le domaine de recherche dont la
délimitation est primordiale, car il doit nécessairement contenir la solution. Ainsi, Si
l’ordre de grandeur de la solution est inconnu, il est naturel de générer aléatoirement
des individus en faisant des tirages uniformes dans des domaines susceptibles de
contenir la solution. Si l’ordre de grandeur de la solution est connu, il est plus
judicieux de générer les individus dans un domaine contenant la solution.
Par ailleurs, cette étape présente un problème principal qui est celui de choix de la
taille de la population. En effet une taille de population trop grande augmente le
temps de calcul et nécessite un espace mémoire considérable, alors qu’une taille de
population trop petite limite l’exploration de l’espace de recherche et conduit à un
optimum local.
C. Evaluation
La fonction objectif ou d’adaptation, ou fitness, associe une valeur pour chaque individu.
Cette valeur a pour but d’évaluer si un individu est mieux adapté qu’un autre à son
environnement. Ce qui signifie qu’elle quantifie la réponse fournit au problème pour une
solution potentielle donnée. Ainsi les individus peuvent être comparés entre eux.
D. L’opérateur de sélection
La sélection permet de choisir les individus aptes à être croisés dans la population.
Cette opération est fondée sur la performance des individus, estimée à l’aide de la
fonction objectif. Différentes sélections sont proposées dans la littérature dont on
évoquera les plus connues :
• Sélection proportionnelle
• Sélection linéaire par rapport rang
• Sélection uniforme par rapport au rang
• Sélection par tournoi
• Sélection de Boltzmann
5
D.1 Sélection proportionnelle
La sélection proportionnelle consiste à sélectionner chaque individu dépendant de la
valeur de sa fonction objectif réelle. Ceci peut être effectué en procédant à des tirages
aléatoires consécutifs. Dans un problème de minimisation, la probabilité de sélection
d’un individu est donnée par :
fit ( i )
1− N
∑ fit ( j )
j =1
p (i ) = (6)
( N − 1)
Dans un problème de maximisation, la probabilité de sélection d’un individu est
donnée par :
fit ( i )
p (i ) = N (7)
∑ fit ( j )
j =1
6
préserver la diversité des individus, il est recommandé de réaliser un réajustement de
la fonction fitness avant la sélection.
Comme l’opérateur de sélection est appliqué N fois, l’espérance mathématique du
nombre d’enfant de l’individu i sera
N . fit (i )
ps = N
(8)
∑ fit (i)
i =1
7
Figure 3 : Croisement en deux sites
F. Mutation
La mutation réalise un changement mineur dans le code génétique appliqué à un
individu pour introduire de la diversité et éviter de tomber dans un optimum local.
Différentes manières de mutation d’un chromosome sont aussi définies dans la
littérature.
F.1 Mutation en codage binaire
La mutation en codage binaire est la modification aléatoire occasionnelle (de faible
probabilité) de la valeur d’un caractère de la chaîne.
8
segment formé par les deux positions sélectionnées. L'inversion est effectuée à l'étape
(b) afin de produire l'individu i'.
i (a)
1 2 3 4 5 6 7 8 9
i’ (b)
1 2 3 7 6 5 4 8 9
Figure 5 : Mutation par inversion
• Mutation par insertion
Deux positions sont sélectionnées au hasard et le gène appartenant à l'une est inséré
dans l'autre position. Dans la Figure 6 partie (a), les gènes "3" et "6" de l'individu i
sont sélectionnés. La deuxième étape, illustrée par la partie (b), montre l'insertion de
"6" avant "3" et le décalage de tous les autres gènes.
i (a)
1 2 3 4 5 6 7 8 9
i’ (b)
1 2 6 3 4 5 7 8 9
9
i (a)
1 2 3 4 5 6 7 8 9
i’ (b)
1 2 6 4 5 3 7 8 9
G. Remplacement
Après l’étape de mutation, faut-il garder les enfants ou les parents ou bien un certain
pourcentage des deux en respectant la taille de la population (N) qui reste constante. Il
s’agit de concevoir une stratégie d’évolution de la population.
L’élitisme consiste à remplacer quelques meilleurs individus dans la nouvelle
population. Il accroît l’efficacité de l’algorithme génétique basé sur la méthode de
remplacement générationnelle. L’objectif est d’éviter que les meilleurs individus
soient perdus après les opérations de croisement et de mutation.
• L’AG remplaçant la population entière, est appelé AG générationnel
• L’AG remplaçant seulement une petite portion d’individus dans le temps est
appelé AG stationnaire. Les meilleurs individus remplacent les plus mauvais.
L’AG stationnaire diffère de l’AG générationnel par la stratégie d’élitisme
(préservation des meilleurs individus)
10
utilisées (définies dans la littérature) et peuvent être de bons points de départ pour
démarrer une recherche de solutions à l’aide d’un AG.
• La probabilité de croisement est choisie dans l’intervalle [0.5, 0.9] ;
• La probabilité de mutation est choisie dans l’intervalle [0.05, 0.1].
11