Download - algorithmes genetiques
![Page 1: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/1.jpg)
LES ALGORITHMES GÉNÉTIQUES
G. BENCHEIKH
![Page 2: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/2.jpg)
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
![Page 3: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/3.jpg)
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
![Page 4: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/4.jpg)
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é)
![Page 5: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/5.jpg)
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
![Page 6: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/6.jpg)
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
![Page 7: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/7.jpg)
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
![Page 8: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/8.jpg)
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
![Page 9: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/9.jpg)
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é.
![Page 10: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/10.jpg)
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
![Page 11: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/11.jpg)
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
![Page 12: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/12.jpg)
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
![Page 13: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/13.jpg)
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
![Page 14: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/14.jpg)
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
![Page 15: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/15.jpg)
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
![Page 16: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/16.jpg)
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.
![Page 17: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/17.jpg)
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
![Page 18: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/18.jpg)
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
![Page 19: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/19.jpg)
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.
![Page 20: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/20.jpg)
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
![Page 21: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/21.jpg)
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
![Page 22: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/22.jpg)
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
![Page 23: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/23.jpg)
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
![Page 24: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/24.jpg)
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
![Page 25: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/25.jpg)
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
![Page 26: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/26.jpg)
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
![Page 27: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/27.jpg)
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
![Page 28: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/28.jpg)
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
![Page 29: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/29.jpg)
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
![Page 30: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/30.jpg)
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
![Page 31: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/31.jpg)
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
![Page 32: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/32.jpg)
32
ALGORITHME GÉNÉTIQUE
Croisement k-point :
Croisement
Parent 1
Parent 2
Enfant 1
Enfant 2
Après Croisement :
![Page 33: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/33.jpg)
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
![Page 34: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/34.jpg)
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.
![Page 35: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/35.jpg)
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
![Page 36: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/36.jpg)
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
![Page 37: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/37.jpg)
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
![Page 38: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/38.jpg)
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
![Page 39: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/39.jpg)
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
![Page 40: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/40.jpg)
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
![Page 41: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/41.jpg)
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
![Page 42: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/42.jpg)
42
ALGORITHME GÉNÉTIQUE Mutation
Permutation de deux gènes quelconques
![Page 43: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/43.jpg)
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
![Page 44: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/44.jpg)
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.
![Page 45: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/45.jpg)
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
![Page 46: algorithmes genetiques](https://reader030.vdocuments.pub/reader030/viewer/2022033019/55cf9b9b550346d033a6b5dd/html5/thumbnails/46.jpg)
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.