133
M é t a h e u r i s t i q u e s 2 0 0 8 - 0 5 Métaheuristiques Algorithmes itératifs (et stochastiques) d'optimisation globale

Introduction aux métaheuristiques (3h)

Embed Size (px)

DESCRIPTION

3 heures de cours d\'introduction aux métaheuristiques. Le cours couvre de la conception à l\'utilisation de ces algorithmes d\'optimisation globale (généralement stochastiques). Présenté à l\'École Nationale des Ponts et Chaussées en avril 2008.

Citation preview

Page 1: Introduction aux métaheuristiques (3h)

Mét

aheu

ristiq

u es

2008

­05

MétaheuristiquesAlgorithmes itératifs (et stochastiques) d'optimisation globale

Page 2: Introduction aux métaheuristiques (3h)

2

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Auteurs

Johann Dréo THALES Research & 

Technology Laboratoire mathématiques & 

techniques de la décision

Yann Collette Renault

Page 3: Introduction aux métaheuristiques (3h)

3

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Optimisation

Page 4: Introduction aux métaheuristiques (3h)

4

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Optimisation difficile

Page 5: Introduction aux métaheuristiques (3h)

5

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Optimisation difficile

Page 6: Introduction aux métaheuristiques (3h)

6

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Métaheuristique

Page 7: Introduction aux métaheuristiques (3h)

7

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples Caractéristiques

Applications Validation Exemples

Métaheuristiques Exemples Synthèse

Page 8: Introduction aux métaheuristiques (3h)

8

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples

Recherche opérationnelle Ingénierie Intelligence artificielle

Caractéristiques

Applications Validation Exemples

Métaheuristiques Exemples Synthèse

Page 9: Introduction aux métaheuristiques (3h)

9

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recherche opérationnelle

Voyageur de commerce Minimiser la longueur du trajet

Page 10: Introduction aux métaheuristiques (3h)

10

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recherche opérationnelle

Sac à dos Maximiser l'intérêt de la 

sélection d'objets

Dak

e, C

C­BY

­SA

 2.5

, http

://fr.

wik

iped

ia.o

rg/w

iki/I

mag

e:K

naps

ack.

svg

Page 11: Introduction aux métaheuristiques (3h)

11

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recherche opérationnelle

Planification temporelle Déterminer un emploi du temps

Page 12: Introduction aux métaheuristiques (3h)

12

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Ingénierie

Aérodynamique Maximiser la portance

Page 13: Introduction aux métaheuristiques (3h)

13

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Ingénierie

Déplacement de bras robot Minimiser l'énergie dépensée

Adaptive Optimal Control for Redundantly Actuated Arms, Djordje Mitrovic, Stefan Klanke, and Sethu Vijayakumar, 2008

Page 14: Introduction aux métaheuristiques (3h)

14

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Intelligence artificielle

IA jeu vidéo Maximiser le gain

Page 15: Introduction aux métaheuristiques (3h)

15

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Caractéristiques des problèmes

Optimisation continue Variables réelles

Optimisation combinatoire Variables discrètes

Voisinage Implicite

Fonctions

Explicite Permutation

http://commons.wikimedia.org/wiki/Image:Red­black_tree_insert_case_5.png

Page 16: Introduction aux métaheuristiques (3h)

16

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Difficultés avec les problèmes

Trouver le problème

Modélisation Expression mathématique Contraintes Qualification des solutions Objectifs contradictoires

Page 17: Introduction aux métaheuristiques (3h)

17

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Difficultés avec les problèmes

Résolution Taille de l'espace des solutions

NP­... Nombres de variables

Complexité Irrégularités Différentiabilité Continuité

Temps de calcul Fonction objectif par simulation

Conception/Production

Page 18: Introduction aux métaheuristiques (3h)

18

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

NP

NP Algorithme Non déterministe Résolution Polynomiale Oracle Estimation valeur polynomiale

http://comm

ons.wikim

edia.org/wiki/Im

age:P_np_np­complete_np­hard.svg

Page 19: Introduction aux métaheuristiques (3h)

19

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Caractéristiques nécessaires des problèmes

Problème structuré Voisinage Structure générale cohérente

Problème impossible : Fonction aléatoire 

Page 20: Introduction aux métaheuristiques (3h)

20

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples Caractéristiques

Applications Validation Exemples

Métaheuristiques Exemples

Recherche tabou Algorithmes évolutionnistes Recuit simulé Colonies de fourmis Estimation de distribution

Synthèse

Page 21: Introduction aux métaheuristiques (3h)

21

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Métaheuristiques : un peu d'histoire

1954 : Barricelli, simulation évolution, optimisation

1965 : Rechenberg, stratégies d'évolution 1986 :  terme méta­heuristique, Fred Glover :

« La recherche avec tabou peut être vue comme une "méta­heuristique", superposée à une autre heuristique. L'approche vise à éviter les optimums locaux par une stratégie d'interdiction (ou, plus généralement, de pénalisation) de certains mouvements. » 

1988 : conférence, algorithmes génétiques 1989 : premier logiciel A.G. Commercial 1996 : algorithmes à estimation de distribution

Page 22: Introduction aux métaheuristiques (3h)

22

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Terminologie

Fonction objectif Minimisation Mono­objectif

Solution Représentation Valeur

Échantillon Ensemble de solution

Voisinage

Stochastique Probabiliste + temps

Itératif Critère d'arrêt

Page 23: Introduction aux métaheuristiques (3h)

23

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples Caractéristiques

Applications Validation Exemples

Métaheuristiques Exemples

Recherche tabou Algorithmes évolutionnistes Recuit simulé Colonies de fourmis Estimation de distribution

Synthèse

Page 24: Introduction aux métaheuristiques (3h)

24

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recherche tabou

Page 25: Introduction aux métaheuristiques (3h)

25

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recherche tabou

Recherche « tabou » ou « avec tabous »

Liste « tabou » de mouvements interdits Minimums locaux

Voisinage Initialisation Modification de solution existante

Page 26: Introduction aux métaheuristiques (3h)

26

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recherche tabou

Stopinitialisation

Modificationvoisinage

Sélection dumeilleur voisin

Heuristiquespécialisée

MàJ mémoire

MàJ meilleuresolution

Itérer ?Oui

Non

Page 27: Introduction aux métaheuristiques (3h)

27

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recherche tabou

Liste tabou

Voisinage

Page 28: Introduction aux métaheuristiques (3h)

28

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recherche tabou

Liste tabou

Voisinage

!

Page 29: Introduction aux métaheuristiques (3h)

29

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples Caractéristiques

Applications Validation Exemples

Métaheuristiques Exemples

Recherche tabou Algorithmes évolutionnistes Recuit simulé Colonies de fourmis Estimation de distribution

Synthèse

Page 30: Introduction aux métaheuristiques (3h)

30

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithmes évolutionnistes

http://en.wikipedia.org/wiki/Image:Ape_skeletons.png

Page 31: Introduction aux métaheuristiques (3h)

31

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithmes évolutionnistes

1965 : stratégies d’évolution1966 : programmation évolutionnaire1975 : algorithmes génétiques1980 : programmation génétique1986 : systèmes immunitaire artificiels

Page 32: Introduction aux métaheuristiques (3h)

32

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithmes évolutionnistes

Métaheuristiques les plus connusDifférences historiques entre algorithmesConcepts équivalents Algorithmes génétiques Algorithmes évolutionnaires Algorithmes évolutionnistes

Algorithmes stochastiquesEnchaînement d'opérateurs

Page 33: Introduction aux métaheuristiques (3h)

33

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Terminologie

Solution = individuÉchantillon = populationValeur = fitnessReprésentation = codage

http://ww

w.flickr.com

/photos/wishym

om/566394520/

Page 34: Introduction aux métaheuristiques (3h)

34

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Opérateurs

« Opérateurs »

Sélection

Croisement

Mutation

Évaluation

Remplacement

0101100000

01000

00110

11011

11111 10101

10010 00001

One Max ∑i=0

4

x i

Page 35: Introduction aux métaheuristiques (3h)

35

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Opérateurs

« Opérateurs »

Sélection

Croisement

Mutation

Évaluation

Remplacement

0101100000

01000

00110

11011

11111 10101

10010 00001

Page 36: Introduction aux métaheuristiques (3h)

36

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Opérateurs

« Opérateurs »

Sélection

Croisement

Mutation

Évaluation

Remplacement

00001

1010110100

Page 37: Introduction aux métaheuristiques (3h)

37

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Opérateurs

« Opérateurs »

Sélection

Croisement

Mutation

Évaluation

Remplacement

1010110100

Page 38: Introduction aux métaheuristiques (3h)

38

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Opérateurs

« Opérateurs »

Sélection

Croisement

Mutation

Évaluation

Remplacement

1010110101

Page 39: Introduction aux métaheuristiques (3h)

39

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Opérateurs

« Opérateurs »

Sélection

Croisement

Mutation

Évaluation

Remplacement

0101100000

01000

00110

11011

11111 10101

10010 00001

11001

11101

11100

Page 40: Introduction aux métaheuristiques (3h)

40

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithmes évolutionnistes

Page 41: Introduction aux métaheuristiques (3h)

41

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemples d'opérateurs

Sélection par « roulette proportionnelle » surface proportionnelle à sa valeur

Problème Biais selon échelle de la fonction objectif

x1x2x3x4

45%

20%20%

15%

Page 42: Introduction aux métaheuristiques (3h)

42

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple d'opérateurs

Sélection par « tournoi stochastique » k individus Le meilleur est sélectionné n fois

01011 00000

0100000110

11011

11111 10101

10010

00001

00110 11011<

11011

0100010010 >

10010

Page 43: Introduction aux métaheuristiques (3h)

43

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple d'opérateur

Mutation gaussienne Pour tout x :

xi + N im,s

Page 44: Introduction aux métaheuristiques (3h)

44

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple d'opérateur

Simulated Binary Crossover

ui ∈ U0,1

bi = (2.ui)(1/(1+η)) si ui≤0.5    = (1/(1­ui))(1/(1+η)) sinon

2.xi1(t+1) = (1­bi).xi

1(t) + (1+bi).xi2(t)

2.xi2(t+1) = (1+bi).xi

1(t) + (1­bi).xi2(t)

Page 45: Introduction aux métaheuristiques (3h)

45

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple d'opérateur

Croisement multipoint Croisement uniforme

11 | 0010 | 1001 | 0111 | 00

1100101001011100

01 | 0010 | 0011 | 0111 | 10

110010100101110001110100 Masque

1100101001011100

1101111001001000

Page 46: Introduction aux métaheuristiques (3h)

46

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples Caractéristiques

Applications Validation Exemples

Métaheuristiques Exemples

Recherche tabou Algorithmes évolutionnistes Recuit simulé Colonies de fourmis Estimation de distribution

Synthèse

Page 47: Introduction aux métaheuristiques (3h)

47

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recuit simulé

http://commons.wikimedia.org/wiki/Image:Hot_metalwork.jpg

Page 48: Introduction aux métaheuristiques (3h)

48

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Historique

Historique 1970 : Hastings propose l’algorithme de Metropolis­Hastings, 1983 : Kirkpatrick, Gelatt et Vecchi concoivent le recuit simulé 1985 : indépendamment de ceux­ci, Černý propose le même algorithme

Page 49: Introduction aux métaheuristiques (3h)

49

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recuit simulé

Coté physique

Coté optimisation

Page 50: Introduction aux métaheuristiques (3h)

50

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Description classique

Méthode de descente Si voisin meilleur, gardé Sinon, accepte aléatoirement un voisin moins bon Probabilité commandé par un paramètre T (« température ») T décroît avec le temps

Page 51: Introduction aux métaheuristiques (3h)

51

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithme

Xcourant: point de départ

T = T0

Xsuivant = voisin(Xcourant)

Si f(Xsuivant)<= f(Xcourant)

Ou si exp((f(Xcourant)­f(Xsuivant))/T) > rand(0,1)               et f(Xsuivant)>f(Xcourant)

Alors Xcourant = Xsuivant

T = g(T)

Fin

Loi de décroissancede la température

Contrôle de la probad’accepter une mauvaise

solution

Page 52: Introduction aux métaheuristiques (3h)

52

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithme

Xcourant: point de départ

T = T0

Xsuivant = voisin(Xcourant)

Si f(Xsuivant)<= f(Xcourant)

Ou si exp((f(Xcourant)­f(Xsuivant))/T) > rand(0,1)               et f(Xsuivant)>f(Xcourant)

Alors Xcourant = Xsuivant

T = g(T)

Fin

Méthode deMetropolis

Page 53: Introduction aux métaheuristiques (3h)

53

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Metropolis­Hastings

Échantillonnage de distribution de probabilité Non intégrable, sans expression analytique, non normalisée Fonction objectif   distribution de probabilité→

Via distribution de Boltzman

Recuit simulé   échantillonner une distribution paramétrique (T)→

Algorithme de Metropolis­Hastings n'importe quelle distribution 

p x= exp − f x /T

∑y

exp − f y/T

Page 54: Introduction aux métaheuristiques (3h)

54

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Échantillonnage de distribution paramétrique

Page 55: Introduction aux métaheuristiques (3h)

55

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Convergence

Garantie d'atteindre l'optimum en un temps fini.

En pratique : lim

t→∞

pt x =1

Page 56: Introduction aux métaheuristiques (3h)

56

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Quelques problèmes

Ergodicité N'importe quelle solution atteignable Quasi­ergodicité : nombre fini de changements Voisinage

Convergence Quasi­ergodicité Décroissance par palier Décroissance graduelle

Tt ne décroit pas plus vite que : C/log(t)

C, constante liée à échelle fonction objectif

ergodique

non ergodique

t

T

Page 57: Introduction aux métaheuristiques (3h)

57

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple variables continues

http://en.wikipedia.org/wiki/Image:Metropolis_hastings_algorithm.pnghttp://en.wikipedia.org/wiki/Image:3dRosenbrock.png

Page 58: Introduction aux métaheuristiques (3h)

58

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Décroissance température

La loi classique:Tk = α.Tk­1

Les lois adaptatives:

Van Laarhoven:

Huang:

Triki:

Tk=T

k−1

1

1 ln 1

3 T k−1T

k−1

T k=T k−1 exp −T k−1

T k−1

T k=T k−1 1−T k−1

2T k−1

Page 59: Introduction aux métaheuristiques (3h)

59

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Décroissance température

λ.σ(Tk)

ln(1+δ)/Cmax. σ2(Tk)

ln(1+δ)/3.σ(Tk)

Δ(Tk)

Huang

Otten

Van Laarhoven

Loi de originale

Page 60: Introduction aux métaheuristiques (3h)

60

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Revenu simulé

x

f(x)

p(x)

T1

T2<T1

x

Page 61: Introduction aux métaheuristiques (3h)

61

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Parallel Rejectionless Annealing

xcourant

x1

x2

x3x4

x5

min(1,exp(­(f(x1)­f(xcourant))/T))

min(1,exp(­(f(x2)­f(xcourant))/T))

min(1,exp(­(f(x3)­f(xcourant))/T))

min(1,exp(­(f(x4)­f(xcourant))/T))

min(1,exp(­(f(x5)­f(xcourant))/T))

Page 62: Introduction aux métaheuristiques (3h)

62

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples

Recherche opérationnelle Ingénierie Intelligence artificielle

Caractéristiques

Applications Validation

Performances ? Paramétrage Validation

Exemples

Métaheuristiques Exemples

Recherche tabou Algorithmes évolutionnistes Recuit simulé Colonies de fourmis Estimation de distribution

Synthèse

Page 63: Introduction aux métaheuristiques (3h)

63

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithmes de colonies de fourmis

Page 64: Introduction aux métaheuristiques (3h)

64

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Historique

1959, Pierre­Paul Grassé : stigmergie. 1983, Deneubourg, comportement collectif 1988, Moyson et Manderick, auto­organisation 1989, travaux de Goss, Aron, Deneubourg et Pasteels 1989, modèle de comportement de recherche de nourriture 1991, M. Dorigo propose le Ant System 1997, première application aux réseaux de télécommunications 2000, première preuve de convergence 2004, preuve d'équivalence avec d'autres métaheuristiques

Page 65: Introduction aux métaheuristiques (3h)

65

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Origine de l'idée

Page 66: Introduction aux métaheuristiques (3h)

66

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithme de base : Ant System

InitialisationJusqu'à critère d'arrêt Pour chaque fourmis

Parcours d'un trajet Laisser piste (quantité fixe, étalée sur chaque arrête)

Évaporation

Fin

Page 67: Introduction aux métaheuristiques (3h)

67

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Voyageur de commerce

Page 68: Introduction aux métaheuristiques (3h)

68

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Ant System, détails

t itérations, k fourmis, n villes, Ji

k villes à visiter

Choix d'une ville : visibilité ηij = 1/dij

Choix ville

pijk t ={

ij tij

∑l∈J

ik

il t ij

si j∈J

ik

0 si j∉J ik }

Quantité de phéromone

Évaporation

ijkt ={

QLk t

si i , j ∈T kt

0 sinon }

ij t1=1−ij t ij t

Page 69: Introduction aux métaheuristiques (3h)

69

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Hyper Cube & MinMax Ant Systems

MMAS τ

min< τ

ij< τ

max

Ergodicité

HCAS Problème codage binaire Normalisation « fonction de qualité »

i=1−i

∑s∈S

t

Q f s si

∑s∈St

Q f s

Qf s∣S1, , S

t=01− f s −LB

f −LB

Page 70: Introduction aux métaheuristiques (3h)

70

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

AntNet

Page 71: Introduction aux métaheuristiques (3h)

71

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples

Recherche opérationnelle Ingénierie Intelligence artificielle

Caractéristiques

Applications Validation

Performances ? Paramétrage Validation

Exemples

Métaheuristiques Exemples

Recherche tabou Algorithmes évolutionnistes Recuit simulé Colonies de fourmis Estimation de distribution

Synthèse

Page 72: Introduction aux métaheuristiques (3h)

72

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Estimation de distribution

Page 73: Introduction aux métaheuristiques (3h)

73

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Historique

1994 : apprentissage incrémental à population (PBIL) 1996 : algorithmes à estimation de distribution 1999 : compact genetic algorithm 2004 : équivalence avec d'autres métaheuristiques

Page 74: Introduction aux métaheuristiques (3h)

74

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Origines

Idée originale Simplifier les algorithmes génétiques Un seul opérateur

Population Base Incremental LearningCompact Genetic Algorithm

Page 75: Introduction aux métaheuristiques (3h)

75

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithme

Idées de base Distribution de probabilité choisie a priori Échantillonnage Opérateurs de réduction de variance (  sélection)→

Page 76: Introduction aux métaheuristiques (3h)

76

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Algorithme

InitialisationJusqu'à critère d'arrêt Estimation des paramètres Tirage échantillon selon distribution Sélection

Fin

Page 77: Introduction aux métaheuristiques (3h)

77

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple continu

Distributions : Uniforme Gaussienne univariante

Page 78: Introduction aux métaheuristiques (3h)

78

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple continu

Modèles classiques Gaussienne univariante Mélange de gaussiennes univariantes Gaussienne multivariante Mélange de gaussiennes multivariantes

Page 79: Introduction aux métaheuristiques (3h)

79

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple discret : OneMax

Page 80: Introduction aux métaheuristiques (3h)

80

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple discret : OneMax

Page 81: Introduction aux métaheuristiques (3h)

81

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Exemple discret : OneMax

Page 82: Introduction aux métaheuristiques (3h)

82

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Métaheuristiques : synthèseht

tp://

flick

r.com

/pho

tos/m

pdeh

aan/

3177

3103

/

Page 83: Introduction aux métaheuristiques (3h)

83

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Caractéristiques de base

Global Généraliste Stochastiques Facile à implémenter

Page 84: Introduction aux métaheuristiques (3h)

84

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Parcours / population

Page 85: Introduction aux métaheuristiques (3h)

85

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Intensification / diversification

Diversification = explorationIntensification = exploitation

Page 86: Introduction aux métaheuristiques (3h)

86

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Explicite, Implicite, Direct

Page 87: Introduction aux métaheuristiques (3h)

87

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Classification

Page 88: Introduction aux métaheuristiques (3h)

88

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Plan

Problèmes Exemples Caractéristiques

Applications Validation

Performances ? Paramétrage Validation

Exemples

Métaheuristiques Exemples Synthèse

Page 89: Introduction aux métaheuristiques (3h)

89

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Validation

http

://fli

ckr.c

om/p

hoto

s/ing

leite

s/953

8104

4/

Page 90: Introduction aux métaheuristiques (3h)

90

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

No free lunch

Instance de méthode Algorithme Paramétrage

Instance de problème Modèle Caractéristiques

Page 91: Introduction aux métaheuristiques (3h)

91

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Paramétrage

Instance métaheuristique 1 paramétrage optimal pour 1 instance de problème

Initialisation Critère d'arrêt Valeurs des paramètres

Quel paramétrage ? Critères de performance

Vitesse ou précision ? Production ou conception ?

Page 92: Introduction aux métaheuristiques (3h)

92

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Performances

Vitesse(x)OUPrécision

Page 93: Introduction aux métaheuristiques (3h)

93

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Vitesse et précision

Page 94: Introduction aux métaheuristiques (3h)

94

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Vitesse et précision

+ Stochastique

Page 95: Introduction aux métaheuristiques (3h)

95

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Conception / production

Conception Vitesse négligeable Précision cruciale Répétitions possibles

Recherche Diversification 

Production Vitesse cruciale Précision négligeable 1 seul essai

Robustesse Intensification

f(x)

F

f(x)

F

Page 96: Introduction aux métaheuristiques (3h)

96

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Validation

Probabiliste   STATISTIQUE→

Plan d'expérience Paramétrage Répétitions Tests statistiques Analyse de données

Page 97: Introduction aux métaheuristiques (3h)

97

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Paramétrage

Simple Combinaisons de paramètres Répétitions Paramétrage optimal

Moins simple Problème d'optimisation  Problème d'estimation d'erreur

Page 98: Introduction aux métaheuristiques (3h)

98

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Sequential Parameter Optimization

(I) analyse expérimentale De plusieurs jeux de paramètres

(II) estimation des performance Modèle de processus 

stochastique

(III) détermination de jeux supplémentaires à tester

Page 99: Introduction aux métaheuristiques (3h)

99

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Sequential Parameter Optimization

Évaluation expérimentale Plusieurs évaluations par jeu Meilleur jeu précédent re­évalué Nouveaux jeux évalués autant

Modélisation Corrélation gaussienne Régression polynomiale ordre 2 Estimation des performances pour jeux non testés

Nouveaux jeux à tester Échantillonnage « Latin » de l'hypercube

Un seul essai par ligne/colonne

Page 100: Introduction aux métaheuristiques (3h)

100

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Présentation

Bien Pas bieni

f(x)

Page 101: Introduction aux métaheuristiques (3h)

101

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Boite à moustache

http

://en

.wik

iped

ia.o

rg/w

iki/I

mag

e:Bo

xplo

t_vs

_PD

F.pn

g

Page 102: Introduction aux métaheuristiques (3h)

102

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Trouver le meilleur des deux

Test statistique Déterminer si deux échantillons proviennent de la même distribution Déterminer si deux méthodes se comportent différemment

Et donc, si l'un est meilleur que l'autre Hypothèse « nulle » : les deux sont identiques

Acceptée : on ne sait pas faire la différence Rejetée : ils sont différents Avec une certaine probabilité de se tromper

Page 103: Introduction aux métaheuristiques (3h)

103

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Test « U » de Wilcoxon­Mann­Whitney

Caractéristiques Distributions non normales, mais similaires Échantillons indépendants Nombre de points faible Variables continues

Procédure Calcul du test Hypothèse nulle rejetée avec p > Pseuil   différents→

Au mieux, Pseuil = 0.95

Page 104: Introduction aux métaheuristiques (3h)

104

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Applications

http://commons.wikimedia.org/wiki/Image:Industry_Torrance.jpg

Page 105: Introduction aux métaheuristiques (3h)

105

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Un peu d'origamihttp://www.flickr.com/photos/wetsun/211468558/

Page 106: Introduction aux métaheuristiques (3h)

106

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Papier vole

Trouver la forme d'un morceau de papierqui met le plus de temps possible à tomber. Peter Bentley ­ http://www.cs.ucl.ac.uk/staff/P.Bentley/

Page 107: Introduction aux métaheuristiques (3h)

107

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Fonction objectif

Matériel : Ramette A4 Ciseaux Bac à sable A4 ~ 10 caillous numérotés Chronomètre Une fléchette

Page 108: Introduction aux métaheuristiques (3h)

108

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Initialisation

Algorithme Initialisation

Lancer les cailloux dans le bac Reporter leur position sur la feuille

Problèmes de représentation (complexité, causalité, etc.)

Page 109: Introduction aux métaheuristiques (3h)

109

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Évaluation

Évaluation Découper Chronométrer 5 lancés

http://www.flickr.com/photos/shereen84/2320321157/

Page 110: Introduction aux métaheuristiques (3h)

110

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Croisement

Croisement Intervertir des points

Page 111: Introduction aux métaheuristiques (3h)

111

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Mutation Lancé de fléchette sur chaque point Déplacer le point

Moins d'un centimètre   suppression→

Raté   ajout→

Page 112: Introduction aux métaheuristiques (3h)

112

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Sélection/Remplacement

Remplacement Déchirer les formes les plus rapides

http://www.flickr.com/photos/vorty/1409444890/

Page 113: Introduction aux métaheuristiques (3h)

113

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Résultats

Optimum 5 formes 10 générations

Page 114: Introduction aux métaheuristiques (3h)

114

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Fond de l'oeilhttp://www.flickr.com/photos/raylopez/867883420/

Page 115: Introduction aux métaheuristiques (3h)

115

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recalage d'image

Angiographie du fond de l'oeil

Page 116: Introduction aux métaheuristiques (3h)

116

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Angiographie

Page 117: Introduction aux métaheuristiques (3h)

117

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Recalage

Variables : vertical horizontal Rotation zoom

Objectif : Minimiser différence

Difficulté : Information pertinente Résolution

∑ i , j =1,1

l , h

∣I 1i , j−I 2i , j ∣

l⋅h

Page 118: Introduction aux métaheuristiques (3h)

118

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Prétraitement

Page 119: Introduction aux métaheuristiques (3h)

119

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Similarité

Page 120: Introduction aux métaheuristiques (3h)

120

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Résolution

Page 121: Introduction aux métaheuristiques (3h)

121

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Similarité

Page 122: Introduction aux métaheuristiques (3h)

122

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Métaheuristiques

Colonies de fourmis Type multi­agents Hybridation Nelder­Mead

Modélisation simplifiée Paramétrage difficile

Estimation de distribution Gaussienne multi­variante Initialisation ad­hoc

Choix distribution délicat Paramétrage intuitif

Page 123: Introduction aux métaheuristiques (3h)

123

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Temps de calcul

Page 124: Introduction aux métaheuristiques (3h)

124

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Filtrage

Page 125: Introduction aux métaheuristiques (3h)

125

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Résolution

Page 126: Introduction aux métaheuristiques (3h)

126

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Résultats

Page 127: Introduction aux métaheuristiques (3h)

127

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Distribution

Page 128: Introduction aux métaheuristiques (3h)

128

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Conclusion

Page 129: Introduction aux métaheuristiques (3h)

129

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Conclusion : optimisation « difficile »

Page 130: Introduction aux métaheuristiques (3h)

130

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Conclusion : Métaheuristiques

Global Généraliste Stochastiques Facile à implémenter

Page 131: Introduction aux métaheuristiques (3h)

131

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Conclusion : choix

Page 132: Introduction aux métaheuristiques (3h)

132

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Conclusion : applications

Page 133: Introduction aux métaheuristiques (3h)

133

Mét

ahe u

ristiq

ues 

– 20

08 ­0

5

125

Bibliographie

• (fr) Teghem & Pilrot, Optimisation approchée en recherche opérationnelle, Hermes, 2002. ISBN 2746204622

• (fr) Dréo, Petrowski, Taillard & Siarry, Métaheuristiques pour l’optimisation difficile, Eyrolles, 2003, ISBN 2­212­11368­4.

• (en) Blum & Roli, Metaheuristics in combinatorial optimization: Overview and conceptual comparison, ACM Computing Surveys, volume 35, numéro 3, septembre 2003, pages 268­308. DOI:10.1145/937503.937505

• (en) Collet & Rennard, Introduction to Stochastic Optimization Algorithms, IDEA Group Inc, 2006, ISBN 1591409845.

• (en) Bartz­Beielstein, Experimental Research in Evolutionary Computation: The New Experimentalism, Springer, 2006, ISBN: 978­3­540­32026­5.

http://www.flickr.com/photos/gadl/108218374/