algorithmes genetiques
Post on 26-Oct-2015
149 Views
Preview:
TRANSCRIPT
LES ALGORITHMES GÉNÉTIQUES
G. BENCHEIKH
SOMMAIRE
Introduction aux métaheuristiques
Algorithme Génétique
Principe de l’algorithme
Les étapes de l’algorithme
Codage
Génération de la population initiale
Évaluation
Sélection
Croisement
Mutation
Test d’arrêt
Application 2
INTRODUCTION AUX MÉTAHEURISTIQUES
Les métaheuristiques sont des méthodes rapprochées de recherche d’une solution « de bonne qualité » d’un problème donnée
Des méthodes stochastiques, d’où leur robustesse face aux problèmes de grande taille,
Ne nécessitent pas de conditions sur la fonction objectif à optimiser,
Elles sont inspirées de la vie réelle : biologie (Algorithme génétique, Colonie de fourmis) physique (Recuit simulé), …
3
INTRODUCTION AUX MÉTAHEURISTIQUES
Classées en deux catégories :
Métaheuristiques de recherche globale
Métaheuristiques de recherche locale
4
Évoluer tout un ensemble de solutions au cours des itérations
(Algorithmes Génétiques, Algorithme de Colonie de Fourmis, …)
Évoluer une seule solution en se déplaçant de cette solution
vers une autre voisine au cours des itérations
(Recherche Taboue, Recuit Simulé)
ALGORITHME GÉNÉTIQUE
L’Algorithme Génétique est une Métaheuristique
de population,
Dû à John Holland de l’Université de Michigan en
1975
Inspiré du principe de l’évolution naturelle basée
sur le principe de sélection naturelle de DARWIN
Les individus les plus aptes à survivre (les
« meilleurs ») se reproduiront plus souvent et
auront plus de descendants. Ainsi, l’adaptation de
l’ensemble des individus de la population sera
augmentée, les gènes plus efficaces deviendront
plus fréquents et la population s’améliore.
5
ALGORITHME GÉNÉTIQUE
Simulation du principe de l’évolution naturelle
Définir un ensemble d’individus appelé
« Population » où chaque individu représente une
solution du problème traité.
Appliquer un ensemble d’opérateurs de
reproduction
Mettre à jour la population
Répéter ces étapes jusqu’à vérifier un certain test
d’arrêt.
6
7
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
8
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
9
ALGORITHME GÉNÉTIQUE Codage
Le codage permet de définir une représentation adéquate d’une solution.
On désigne par individu une solution du problème. Il est sous forme d’une chaîne ou de plusieurs chaînes appelé (s) chromosome(s).
Chaque chromosome est rangé sous forme d’une chaîne dont les composants sont appelés gènes.
Un ensemble d’individus constitue une population, elle peut être vue, donc, comme un sous ensemble de l’espace de recherche du problème étudié.
10
ALGORITHME GÉNÉTIQUE Exemple de Codage
Problème de Sac à dos (Knapsack Problem)
1 1 0 1 0 0
Position du problème :
Transporter le maximum
d’objets en maximisant la
valeur totale du sac sans
dépasser sa capacité.
L’objet est dans le sac L’objet n’est pas dans le sac
11
ALGORITHME GÉNÉTIQUE Exemple de Codage
Problème de Voyageur de commerce (TSP)
Position du problème :
Étant donné un ensemble de
villes, le problème consiste à
déterminer le plus court
chemin passant par toutes les
villes.
R C F M T A
T
R
C
F
M
12
ALGORITHME GÉNÉTIQUE Exemple de Codage
Problème d’ordonnancement sur une machine
Position du problème :
Le problème consiste à trouver un
ordre de passage d’un ensemble de
travaux sur une machine unique
Temps
Travail 1
Travail 2
Travail 3
2 1 4 5 3 6
13
ALGORITHME GÉNÉTIQUE Exemple de Codage
Problème d’affectation
Position du problème :
Affecter un ensemble de personnes
à un ensemble de poste dans le but
de maximiser la satisfaction des
employés.
A
2 1 4 5 3 6
A D C B F E
B
C
D
1
2
3
4
14
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
15
ALGORITHME GÉNÉTIQUE La population initiale
x x
x x
x
x x
x
x x
x x
x
x
x x
x x
x
x
x x
x x
x
x
x x
x
x
x
x
x
x
x
x x
x
x
x x x x x
x
x x
x
x
x x
x
x
x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x
x x
Individu 1
Individu 2
Individu 3
Individu 4
Individu 5
Individu N
Espace de recherche
x x
x
x
x
x
x
x
x
Population
16
ALGORITHME GÉNÉTIQUE génération de la
population initiale
La population initiale est souvent générée
aléatoirement, mais lorsque le problème à
résoudre est soumis à plusieurs contraintes, il
devient difficile de trouver une solution réalisable
aléatoirement, il est donc préférable, dans ce cas,
d’utiliser d’autres heuristiques pour générer cette
population.
17
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
18
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
Évaluation
des
individus
19
ALGORITHME GÉNÉTIQUE Evaluation des
individus
Associer, à chaque individu de la population, une valeur numérique, appelée Force ou Fitness,
La fitness permet de déterminer la qualité de la solution représentée par cet individu
si cette dernière prend une grande valeur alors, l’individu correspondant est dit plus adapté au problème et il a plus de chance d’être sélectionné pour les étapes de reproduction.
La Fitness de l’individu dépend fortement de l’objectif à atteindre en ce point.
20
ALGORITHME GÉNÉTIQUE
Problème de Sac à dos
Fitness ( individus i) = Valeur totale du sac
Problème de Voyageur de commerce (TSP)
Fitness (individu i ) = 1 / Distance total parcourue
Fitness (individu i ) = M – Distance total parcourue
Problème d’ordonnancement sur une machine
Fitness (individu i ) = M – Cmax
Exemple de fonction
Fitness
21
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
22
ALGORITHME GÉNÉTIQUE
Choisir, parmi les individus de la population, un
ensemble de géniteurs (individus) qui seront
susceptibles de donner de meilleurs individus.
Le nombre de géniteurs est déterminé par la
probabilité de croisement (ou de mutation) qui est
l’une des données d’un algorithme génétique.
La sélection peut être déterministe, par tournois
ou proportionnelle.
Sélection
23
ALGORITHME GÉNÉTIQUE
Sélection déterministe : consiste à choisir un sous ensemble composé des meilleurs individus parmi la population
La sélection par tournois est une méthode de sélection qui, ne demande pas une grande quantité de calcul. Elle consiste à choisir aléatoirement un nombre k d’individus dans la population et de sélectionner l’individu qui est de meilleure qualité. Ce processus est répété jusqu’à atteindre le nombre nécessaire d’individus à reproduire.
Sélection proportionnelle : Les individus sont sélectionnés selon leurs fitness. Les deux méthodes les plus connues sont la sélection par roulette (Roulette Wheel Selection RWS) et la sélection d’échantillonnage stochastique universel (Stochastic Universal Selection SUS).
Sélection
24
ALGORITHME GÉNÉTIQUE
Consiste à associer à chaque individu un segment de
longueur relative à sa performance.
Sélection
proportionnelle
I1 I2 I3 I4 I5 I6
0 1
Pi
Pi = et fi désigne la fitness de l’individu i.
n
i
i
i
f
f
1
25
ALGORITHME GÉNÉTIQUE
Sélection par roulette : La sélection d’un individu revient à
choisir aléatoirement un point k du segment [0 , 1] :
L’individu sur lequel est « tombé » le point k est alors
sélectionné.
Sélection d’échantillonnage stochastique universel : les
individus sont choisis par un ensemble de points
équidistants.
Sélection
proportionnelle
I1 I2 I3 I4 I5 I6
0 1 k
I1 I2 I3 I4 I5 I6
0 1
26
ALGORITHME GÉNÉTIQUE Probabilité de
croisement / mutation
Elle représente le pourcentage des individus à
sélectionner par rapport à la taille de la population.
Si par exemple, Pc = 0.8, dans certains cas, il suffit de
sélectionner 80% des individus de la population, dans
d’autre cas, les individus sont sélectionnés tant que la
somme de leur probabilité Pi est inférieure à 0.8.
Avec
Même principe pour Pm la probabilité de mutation
n
i
i
ii
f
fP
1
27
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
28
ALGORITHME GÉNÉTIQUE
L’étape de reproduction est réalisée grâce
aux deux opérateurs :
Le croisement
La mutation
Ils ont le rôle d’explorer l’espace de
recherche en visitant de nouveaux
individus à partir de ceux qui ont été
sélectionnés
Reproduction
29
ALGORITHME GÉNÉTIQUE
Opérateur permettant de visiter à partir de deux
individus deux nouveaux individus
On distingue :
Croisement 1-point
Croisement 2-point
Croisement k-point
Croisement uniforme
Croisement
30
ALGORITHME GÉNÉTIQUE
Croisement 1-point :
Croisement
Parent 1
Parent 2
Enfant 1
Enfant 2
Après Croisement :
Point de croisement choisi
aléatoirement
31
ALGORITHME GÉNÉTIQUE
Croisement 2-point :
Croisement
Parent 1
Parent 2
Enfant 1
Enfant 2
Après Croisement :
2 points de croisement
choisis aléatoirement
32
ALGORITHME GÉNÉTIQUE
Croisement k-point :
Croisement
Parent 1
Parent 2
Enfant 1
Enfant 2
Après Croisement :
33
ALGORITHME GÉNÉTIQUE
Croisement uniforme :
Croisement
Parent 1
Parent 2
Enfant 1
Enfant 2
Masque de saisie 1 0 1 0 0 0 1
34
ALGORITHME GÉNÉTIQUE
Cas où le croisement produit un individu qui représente une solution non réalisable (exemple de voyageur de commerce)
Croisement
Parent 1
Parent 2
Enfant 1
Enfant 2
Après le croisement
T R M F A C O
A T R C M F O
T R M F M F O
A T R C A C O
Les deux enfants ne sont pas réalisables : la ville A par exemple
figure deux fois dans la tournée et la ville M n’y figure pas.
35
ALGORITHME GÉNÉTIQUE
On applique le croisement avec une correction
Croisement
Parent 1
Parent 2
Enfant 1
T R M F A C O
A T R C M F O
A T R C
Le 1er enfant est construit de la façon suivante :
On copie la première partie du premier parent
on complète par les villes qui manquent mais dans l’ordre du 2ème parent
36
ALGORITHME GÉNÉTIQUE
On applique le croisement avec une correction
Croisement
Parent 1
Parent 2
Enfant 1
T R M F A C O
A T R C M F O
A T R C M
Le 1er enfant est construit de la façon suivante :
On copie la première partie du premier parent
on complète par les villes qui manquent mais dans l’ordre du 2ème parent
37
ALGORITHME GÉNÉTIQUE
On applique le croisement avec une correction
Croisement
Parent 1
Parent 2
Enfant 1
T R M F A C O
A T R C M F O
A T R C M F
Le 1er enfant est construit de la façon suivante :
On copie la première partie du premier parent
on complète par les villes qui manquent mais dans l’ordre du 2ème parent
38
ALGORITHME GÉNÉTIQUE
On applique le croisement avec une correction
Croisement
Parent 1
Parent 2
Enfant 1
T R M F A C O
A T R C M F O
A T R C M F O
Le 1er enfant est construit de la façon suivante :
On copie la première partie du premier parent
on complète par les villes qui manquent mais dans l’ordre du 2ème parent
39
ALGORITHME GÉNÉTIQUE
Une reproduction utilisant uniquement
l’opérateur de croisement peut être piégée
dans des optimums locaux.
Les gènes des enfants sont limités par les
gènes des parents, et si un gène n’est pas
présent dans la population initiale (ou s’il
disparaît à cause des reproductions), il ne
pourra jamais se développer chez les
descendants.
Mutation
40
ALGORITHME GÉNÉTIQUE
L’opérateur de mutation a pour rôle
d’assurer la diversité des solutions pour
sortir des minima locaux. Elle consiste à
modifier un ou plusieurs gènes d’un
individus sélectionné par l’étape de
sélection.
Il existe plusieurs types de mutation :
Mutation
41
ALGORITHME GÉNÉTIQUE
Modification de la valeur d’un ou de plusieurs gènes de l’individu:
Mutation
1 0 1 0 0 0 1
0 0 1 0 1 0 1
Mutation
Permutation de deux gènes adjacents
42
ALGORITHME GÉNÉTIQUE Mutation
Permutation de deux gènes quelconques
43
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
44
ALGORITHME GÉNÉTIQUE Remplacement
Après l’étape de reproduction, de nouveaux individus sont créés.
Pour que la population garde le même nombre d’individus. Il faut choisir les individus à garder de ceux qui seront rejetés de la population, c’est le rôle de l’étape de remplacement.
Nous avons le choix entre remplacer les parents par les enfants ou de garder les meilleurs parmi les parents et les enfants.
45
Sélection
Remplacement
Non
Oui
Meilleur individu
Codage
Génération de
la population
initiale Reproduction
Evolution
Stop?
ALGORITHME GÉNÉTIQUE Schéma général
46
ALGORITHME GÉNÉTIQUE Critère d’arrêt
Il peut être soit :
Atteindre un nombre maximal d’itérations,
Atteindre un nombre maximal d’itérations
sans amélioration,
Obtenir une solution satisfaisante soit
obtenue.
top related