Vous êtes sur la page 1sur 46

LES ALGORITHMES GNTIQUES

G. BENCHEIKH

SOMMAIRE
Introduction aux mtaheuristiques Algorithme Gntique Principe de lalgorithme Les tapes de lalgorithme

Codage Gnration de la population initiale valuation Slection Croisement Mutation Test darrt
2

Application

INTRODUCTION AUX MTAHEURISTIQUES

Les mtaheuristiques sont des mthodes rapproches de recherche dune solution de bonne qualit dun problme donne Des mthodes stochastiques, do leur robustesse face aux problmes de grande taille, Ne ncessitent pas de conditions sur la fonction objectif optimiser, Elles sont inspires de la vie relle : biologie (Algorithme gntique, Colonie de fourmis) physique (Recuit simul),

INTRODUCTION AUX MTAHEURISTIQUES

Classes en deux catgories :

Mtaheuristiques de recherche globale

voluer tout un ensemble de solutions au cours des itrations


(Algorithmes Gntiques, Algorithme de Colonie de Fourmis, )

Mtaheuristiques de recherche locale

voluer une seule solution en se dplaant de cette solution vers une autre voisine au cours des itrations (Recherche Taboue, Recuit Simul)
4

ALGORITHME GNTIQUE
LAlgorithme Gntique est une Mtaheuristique de population, D John Holland de lUniversit de Michigan en 1975 Inspir du principe de lvolution naturelle base sur le principe de slection naturelle de DARWIN

Les individus les plus aptes survivre (les meilleurs ) se reproduiront plus souvent et auront plus de descendants. Ainsi, ladaptation de lensemble des individus de la population sera augmente, les gnes plus efficaces deviendront plus frquents et la population samliore.

ALGORITHME GNTIQUE
Simulation du principe de lvolution naturelle Dfinir un ensemble dindividus appel Population o chaque individu reprsente une solution du problme trait. Appliquer un ensemble doprateurs de reproduction Mettre jour la population Rpter ces tapes jusqu vrifier un certain test darrt.

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution Non

Stop?

Remplacement

Oui
Meilleur individu 7

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution Non

Stop?

Remplacement

Oui
Meilleur individu 8

ALGORITHME GNTIQUE

Codage

Le codage permet de dfinir une reprsentation adquate dune solution. On dsigne par individu une solution du problme. Il est sous forme dune chane ou de plusieurs chanes appel (s) chromosome(s). Chaque chromosome est rang sous forme dune chane dont les composants sont appels gnes. Un ensemble dindividus constitue une population, elle peut tre vue, donc, comme un sous ensemble de lespace de recherche du problme tudi.

ALGORITHME GNTIQUE

Exemple de Codage

Problme de Sac dos (Knapsack Problem)


Position du problme : Transporter le maximum dobjets en maximisant la valeur totale du sac sans dpasser sa capacit.

Lobjet est dans le sac

Lobjet nest pas dans le sac

10

ALGORITHME GNTIQUE

Exemple de Codage

Problme de Voyageur de commerce (TSP)


Position du problme : tant donn un ensemble de villes, le problme consiste dterminer le plus court chemin passant par toutes les villes.
T

R M C

A
11

ALGORITHME GNTIQUE

Exemple de Codage

Problme dordonnancement sur une machine


Position du problme :
Travail 1

Travail 3

Le problme consiste trouver un ordre de passage dun ensemble de travaux sur une machine unique

Temps
Travail 2

6
12

ALGORITHME GNTIQUE

Exemple de Codage

Problme daffectation
Position du problme : Affecter un ensemble de personnes un ensemble de poste dans le but de maximiser la satisfaction des employs.
A B C D 1 2 3 4

2
A

1
D

4
C

5
B

3
F

6
E
13

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution Non

Stop?

Remplacement

Oui
Meilleur individu 14

ALGORITHME GNTIQUE

La population initiale

x x x x x x x x x x x x x x x x x x x x x xx x x x x x x xx x x x x x x x x x x x x x x x x x x x x x x x xx 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 5 Individu 2

Individu 3

Individu 4 Individu N

Espace de recherche

Population
15

ALGORITHME GNTIQUE

gnration de la population initiale

La

population

initiale
mais

est

souvent
le

gnre

alatoirement,

lorsque

problme

rsoudre est soumis plusieurs contraintes, il

devient difficile de trouver une solution ralisable


alatoirement, il est donc prfrable, dans ce cas, dutiliser dautres heuristiques pour gnrer cette

population.
16

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution Non

Stop?

Remplacement

Oui
Meilleur individu 17

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution

valuation des individus

Non

Stop?

Remplacement

Oui
Meilleur individu 18

ALGORITHME GNTIQUE

Evaluation des individus

Associer, chaque individu de la population, une valeur numrique, appele Force ou Fitness, La fitness permet de dterminer la qualit de la solution reprsente par cet individu si cette dernire prend une grande valeur alors, lindividu correspondant est dit plus adapt au problme et il a plus de chance dtre slectionn pour les tapes de reproduction. La Fitness de lindividu dpend fortement de lobjectif atteindre en ce point.
19

ALGORITHME GNTIQUE

Exemple de fonction Fitness

Problme de Sac dos


Fitness ( individus i) = Valeur totale du sac

Problme de Voyageur de commerce (TSP)


Fitness (individu i ) = 1 / Distance total parcourue Fitness (individu i ) = M Distance total parcourue

Problme dordonnancement sur une machine


Fitness (individu i ) = M Cmax
20

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution Non

Stop?

Remplacement

Oui
Meilleur individu 21

ALGORITHME GNTIQUE

Slection

Choisir, parmi les individus de la population, un ensemble de gniteurs (individus) qui seront susceptibles de donner de meilleurs individus. Le nombre de gniteurs est dtermin par la probabilit de croisement (ou de mutation) qui est lune des donnes dun algorithme gntique. La slection peut tre dterministe, par tournois ou proportionnelle.
22

ALGORITHME GNTIQUE

Slection

Slection dterministe : consiste choisir un sous ensemble compos des meilleurs individus parmi la population La slection par tournois est une mthode de slection qui, ne demande pas une grande quantit de calcul. Elle consiste choisir alatoirement un nombre k dindividus dans la population et de slectionner lindividu qui est de meilleure qualit. Ce processus est rpt jusqu atteindre le nombre ncessaire dindividus reproduire. Slection proportionnelle : Les individus sont slectionns selon leurs fitness. Les deux mthodes les plus connues sont la slection par roulette (Roulette Wheel Selection RWS) et la slection dchantillonnage stochastique universel (Stochastic Universal Selection SUS).

23

ALGORITHME GNTIQUE

Slection proportionnelle

Consiste associer chaque individu un segment de longueur relative sa performance.


Pi I1 I2 I3 I4 I5 I6

Pi =

fi

i 1

et fi dsigne la fitness de lindividu i.

fi
24

ALGORITHME GNTIQUE

Slection proportionnelle

Slection par roulette : La slection dun individu revient choisir alatoirement un point k du segment [0 , 1] : Lindividu sur lequel est tomb le point k est alors slectionn.
I1 0 I2 I3 k I4 I5 I6 1

Slection dchantillonnage stochastique universel : les individus sont choisis par un ensemble de points quidistants.
I1 0 I2 I3 I4 I5 I6
25

ALGORITHME GNTIQUE

Probabilit de croisement / mutation

Elle reprsente le pourcentage des individus slectionner par rapport la taille de la population. Si par exemple, Pc = 0.8, dans certains cas, il suffit de slectionner 80% des individus de la population, dans dautre cas, les individus sont slectionns tant que la somme de leur probabilit Pi est infrieure 0.8. Avec fi P i n fi
i 1

Mme principe pour Pm la probabilit de mutation

26

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution Non

Stop?

Remplacement

Oui
Meilleur individu 27

ALGORITHME GNTIQUE
Ltape

Reproduction

de reproduction est ralise grce aux deux oprateurs :


Le croisement La mutation

Ils

ont le rle dexplorer lespace de recherche en visitant de nouveaux individus partir de ceux qui ont t slectionns
28

ALGORITHME GNTIQUE
Oprateur

Croisement

permettant de visiter partir de deux individus deux nouveaux individus

On

distingue : Croisement 1-point Croisement 2-point Croisement k-point Croisement uniforme


29

ALGORITHME GNTIQUE
Croisement

Croisement

1-point :

Point de croisement choisi alatoirement

Parent 1 Parent 2 Aprs Croisement : Enfant 1

Enfant 2
30

ALGORITHME GNTIQUE
Croisement

Croisement

2-point :
2 points de croisement choisis alatoirement

Parent 1 Parent 2 Aprs Croisement :

Enfant 1
Enfant 2
31

ALGORITHME GNTIQUE
Croisement

Croisement

k-point :
Parent 1 Parent 2

Aprs Croisement :

Enfant 1

Enfant 2
32

ALGORITHME GNTIQUE
Croisement

Croisement

uniforme :
Parent 1 Parent 2

Masque de saisie

Enfant 1

Enfant 2
33

ALGORITHME GNTIQUE

Croisement

Cas o le croisement produit un individu qui reprsente une solution non ralisable (exemple de voyageur de commerce)
A T T R R M C F M A F C O O
Parent 1 Parent 2

Aprs le croisement

A T

T R

R M

C F

A M

C F

O O

Enfant 1

Enfant 2

Les deux enfants ne sont pas ralisables : la ville A par exemple figure deux fois dans la tourne et la ville M ny figure pas.

34

ALGORITHME GNTIQUE
On

Croisement

applique le croisement avec une correction


A T T R R M C F M A F C O O
Parent 1 Parent 2

Le

1er enfant est construit de la faon suivante :

On copie la premire partie du premier parent on complte par les villes qui manquent mais dans lordre du 2me parent
A T R C
Enfant 1
35

ALGORITHME GNTIQUE
On

Croisement

applique le croisement avec une correction


A T T R R M C F M A F C O O
Parent 1 Parent 2

Le

1er enfant est construit de la faon suivante :

On copie la premire partie du premier parent on complte par les villes qui manquent mais dans lordre du 2me parent
A T R C M
Enfant 1
36

ALGORITHME GNTIQUE
On

Croisement

applique le croisement avec une correction


A T T R R M C F M A F C O O
Parent 1 Parent 2

Le

1er enfant est construit de la faon suivante :

On copie la premire partie du premier parent on complte par les villes qui manquent mais dans lordre du 2me parent
A T R C M F
Enfant 1
37

ALGORITHME GNTIQUE
On

Croisement

applique le croisement avec une correction


A T T R R M C F M A F C O O
Parent 1 Parent 2

Le

1er enfant est construit de la faon suivante :

On copie la premire partie du premier parent on complte par les villes qui manquent mais dans lordre du 2me parent
A T R C M F O
Enfant 1
38

ALGORITHME GNTIQUE
Une

Mutation

reproduction utilisant uniquement loprateur de croisement peut tre pige dans des optimums locaux. gnes des enfants sont limits par les gnes des parents, et si un gne nest pas prsent dans la population initiale (ou sil disparat cause des reproductions), il ne pourra jamais se dvelopper chez les descendants.

Les

39

ALGORITHME GNTIQUE
Loprateur

Mutation

de mutation a pour rle dassurer la diversit des solutions pour sortir des minima locaux. Elle consiste modifier un ou plusieurs gnes dun individus slectionn par ltape de slection. existe plusieurs types de mutation :
40

Il

ALGORITHME GNTIQUE
Modification
1 Mutation 0 0 1 0 1 0 1

Mutation

de la valeur dun ou de plusieurs gnes de lindividu:


0 1 0 0 0 1

Permutation

de deux gnes adjacents

41

ALGORITHME GNTIQUE
Permutation

Mutation

de deux gnes quelconques

42

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution Non

Stop?

Remplacement

Oui
Meilleur individu 43

ALGORITHME GNTIQUE
Aprs

Remplacement

ltape de reproduction, de nouveaux individus sont crs. que la population garde le mme nombre dindividus. Il faut choisir les individus garder de ceux qui seront rejets de la population, cest le rle de ltape de remplacement. avons le choix entre remplacer les parents par les enfants ou de garder les meilleurs parmi les parents et les enfants.

Pour

Nous

44

ALGORITHME GNTIQUE

Schma gnral

Codage

Gnration de la population initiale

Slection

Reproduction

Evolution Non

Stop?

Remplacement

Oui
Meilleur individu 45

ALGORITHME GNTIQUE
Il peut tre soit :
Atteindre
Atteindre

Critre darrt

un nombre maximal ditrations,

un nombre maximal ditrations sans amlioration, une solution satisfaisante soit


46

Obtenir

obtenue.