algorithmes genetiques

46
LES ALGORITHMES GÉNÉTIQUES G. BENCHEIKH

Upload: hamza-saffaj

Post on 26-Oct-2015

149 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: algorithmes genetiques

LES ALGORITHMES GÉNÉTIQUES

G. BENCHEIKH

Page 2: algorithmes genetiques

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

32

ALGORITHME GÉNÉTIQUE

Croisement k-point :

Croisement

Parent 1

Parent 2

Enfant 1

Enfant 2

Après Croisement :

Page 33: algorithmes genetiques

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

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

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

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

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

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

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

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

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

42

ALGORITHME GÉNÉTIQUE Mutation

Permutation de deux gènes quelconques

Page 43: algorithmes genetiques

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

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

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

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.