Sie sind auf Seite 1von 105

Métaheuristiques

Algorithmes itératifs (et stochastiques) d'optimisation globale
Métaheuristiques
2008­05
Auteurs

Johann Dréo Yann Collette
 THALES Research &   Renault
Technology
 Laboratoire mathématiques & 
techniques de la décision
Métaheuristiques – 2008 ­05

2 /??
3
Métaheuristiques – 2008 ­05

/??
4
Métaheuristiques – 2008 ­05

/??
Optimisation difficile
5
Métaheuristiques – 2008 ­05

/??
Optimisation difficile
6
Métaheuristiques – 2008 ­05

/??
Métaheuristique
Plan

Problèmes Métaheuristiques
 Exemples  Exemples
 Caractéristiques  Synthèse

Applications
 Validation
 Exemples
Métaheuristiques – 2008 ­05

7 /??
Plan
Problèmes Métaheuristiques
 Exemples  Exemples
 Recherche opérationnelle  Synthèse
 Ingénierie

 Intelligence artificielle

 Caractéristiques

Applications
 Validation
Métaheuristiques – 2008 ­05

 Exemples

8 /??
Recherche opérationnelle

Voyageur de commerce
 Minimiser la longueur du trajet
Métaheuristiques – 2008 ­05

9 /??
10
Métaheuristiques – 2008 ­05 Dake, CC­BY­SA 2.5, http://fr.wikipedia.org/wiki/Image:Knapsack.svg

/??
Sac à dos

sélection d'objets
 Maximiser l'intérêt de la 
Recherche opérationnelle
Recherche opérationnelle

Planification temporelle
 Déterminer un emploi du temps
Métaheuristiques – 2008 ­05

11 /??
Ingénierie

Aérodynamique
 Maximiser la portance
Métaheuristiques – 2008 ­05

12 /??
Ingénierie

Déplacement de bras robot
 Minimiser l'énergie dépensée
Métaheuristiques – 2008 ­05

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

13 /??
Intelligence artificielle

IA jeu vidéo
 Maximiser le gain
Métaheuristiques – 2008 ­05

14 /??
Ingénierie

Problème du pont
 Concours JET
Métaheuristiques – 2008 ­05

15 /??
Caractéristiques des problèmes

Optimisation continue Voisinage
 Variables réelles  Implicite
 Fonctions

Optimisation combinatoire
 Variables discrètes  Explicite
Métaheuristiques – 2008 ­05

 Permutation

16 /?? http://commons.wikimedia.org/wiki/Image:Red­black_tree_insert_case_5.png
Difficultés avec les problèmes

Trouver le problème

Modélisation
 Expression mathématique
 Contraintes
Métaheuristiques – 2008 ­05

 Qualification des solutions
 Objectifs contradictoires

17 /??
Difficultés avec les problèmes

Résolution
 Complexité
 NP­...

 Nombres de variables

 Temps de calcul
 Fonction objectif par simulation

 Conception/Production
Métaheuristiques – 2008 ­05

18 /??
NP
 Algorithme Non déterministe
 Résolution Polynomiale
 Oracle
 Estimation valeur polynomiale

http://commons.wikimedia.org/wiki/Image:P_np_np­complete_np­hard.svg
Métaheuristiques – 2008 ­05

19 /??
Plan
Problèmes Métaheuristiques
 Exemples  Exemples
 Caractéristiques  Recherche tabou

 Algorithmes évolutionnistes

 Recuit simulé
Applications
 Colonies de fourmis
 Validation
 Estimation de distribution
 Exemples
 Synthèse
Métaheuristiques – 2008 ­05

20 /??
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. » 
Métaheuristiques – 2008 ­05

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

Fonction objectif
 Minimisation
 Mono­objectif
Solution
 Représentation
 Valeur
Échantillon Stochastique
 Ensemble de solution  Probabiliste + temps
Métaheuristiques – 2008 ­05

Voisinage Itératif
 Critère d'arrêt

22 /??
Plan
Problèmes Métaheuristiques
 Exemples  Exemples
 Caractéristiques  Recherche tabou

 Algorithmes évolutionnistes

 Recuit simulé
Applications
 Colonies de fourmis
 Validation
 Estimation de distribution
 Exemples
 Synthèse
Métaheuristiques – 2008 ­05

23 /??
24
Métaheuristiques – 2008 ­05

/??
Recherche tabou
Recherche tabou

Recherche « tabou » ou « avec tabous »

Liste « tabou » de mouvements interdits
 Minimums locaux
Voisinage
 Initialisation
Métaheuristiques – 2008 ­05

 Modification de solution existante

25 /??
Recherche tabou

initialisation Stop

Non
Oui
Modification
Itérer ?
voisinage

Sélection du
MàJ mémoire
meilleur voisin

Heuristique MàJ meilleure
spécialisée solution
Métaheuristiques – 2008 ­05

26 /??
Recherche tabou

Voisinage

Liste tabou
Métaheuristiques – 2008 ­05

27 /??
Recherche tabou

Voisinage

Liste tabou
Métaheuristiques – 2008 ­05

28 /??
Plan
Problèmes Métaheuristiques
 Exemples  Exemples
 Caractéristiques  Recherche tabou

 Algorithmes évolutionnistes

 Recuit simulé
Applications
 Colonies de fourmis
 Validation
 Estimation de distribution
 Exemples
 Synthèse
Métaheuristiques – 2008 ­05

29 /??
Algorithmes évolutionnistes
Métaheuristiques – 2008 ­05

30 /?? http://en.wikipedia.org/wiki/Image:Ape_skeletons.png
Algorithmes évolutionnistes

1965 : stratégies d’évolution
1966 : programmation évolutionnaire
1975 : algorithmes génétiques
Métaheuristiques – 2008 ­05

1980 : programmation génétique
1986 : systèmes immunitaire artificiels

31 /??
Algorithmes évolutionnistes

Métaheuristiques les plus connus
Différences historiques entre algorithmes
Concepts équivalents
 Algorithmes génétiques
 Algorithmes évolutionnaires
 Algorithmes évolutionnistes
Algorithmes stochastiques
Métaheuristiques – 2008 ­05

Enchaînement d'opérateurs

32 /??
Terminologie

Solution = individu
Échantillon = population
Valeur = fitness
Représentation = codage

http://www.flickr.com/photos/wishymom/566394520/
Métaheuristiques – 2008 ­05

33 /??
Opérateurs

« Opérateurs »
4

 Sélection
One Max ∑ xi
i=0

 Croisement 01011 00110 00000


11111 10101
 Mutation 01000
11011 10010 00001
 Évaluation
Métaheuristiques – 2008 ­05

 Remplacement

34 /??
Opérateurs

« Opérateurs »
01011 00110 00000
 Sélection 11111 10101
01000
11011 10010 00001
 Croisement

 Mutation
Métaheuristiques – 2008 ­05

 Évaluation

 Remplacement
35 /??
Opérateurs

« Opérateurs »

 Sélection
10100
 Croisement 10101
00001
 Mutation
Métaheuristiques – 2008 ­05

 Évaluation

 Remplacement
36 /??
Opérateurs

« Opérateurs »

 Sélection

 Croisement

 Mutation 10100 10101


Métaheuristiques – 2008 ­05

 Évaluation

 Remplacement
37 /??
Opérateurs

« Opérateurs »

 Sélection

 Croisement

 Mutation
Métaheuristiques – 2008 ­05

 Évaluation 10101 10101

 Remplacement
38 /??
Opérateurs

« Opérateurs »
11100
 Sélection 11001
11101
 Croisement

 Mutation
01011 00110 00000
11111 10101
 Évaluation 01000
Métaheuristiques – 2008 ­05

11011 10010 00001


 Remplacement

39 /??
Algorithmes évolutionnistes
Métaheuristiques – 2008 ­05

40 /??
Exemples d'opérateurs

Sélection par « roulette proportionnelle »
45%
 surface proportionnelle à sa valeur
x1
15% x2
x3
20% x4
20%

Problème
 Biais selon échelle de la fonction objectif
Métaheuristiques – 2008 ­05

41 /??
Exemple d'opérateurs

Sélection par « tournoi stochastique »
 k individus
01011 00001 00000
 Le meilleur est sélectionné
11111 10101
 n fois 00110 01000

11011 10010

00110 < 11011 10010 > 01000


Métaheuristiques – 2008 ­05

11011 10010
42 /??
Exemple d'opérateur

Mutation gaussienne
 Pour tout x :
 x  + N i
i m,s
Métaheuristiques – 2008 ­05

43 /??
Exemple d'opérateur

Simulated Binary Crossover

ui ∈ U0,1

bi = (2.ui)(1/(1+η)) si ui≤0.5
Métaheuristiques – 2008 ­05

    = (1/(1­ui))(1/(1+η)) sinon
2.xi1(t+1) = (1­bi).xi1(t) + (1+bi).xi2(t)
2.xi2(t+1) = (1+bi).xi1(t) + (1­bi).xi2(t)
44 /??
Exemple d'opérateur

Croisement multipoint Croisement uniforme

11001010 11001010
01011100 01011100
01110100 Masque
11 | 0010 | 10
01 | 0111 | 00 11001010
01011100
01 | 0010 | 00
11 | 0111 | 10 11011110
Métaheuristiques – 2008 ­05

01001000

45 /??
Plan
Problèmes Métaheuristiques
 Exemples  Exemples
 Caractéristiques  Recherche tabou

 Algorithmes évolutionnistes

 Recuit simulé
Applications
 Colonies de fourmis
 Validation
 Estimation de distribution
 Exemples
 Synthèse
Métaheuristiques – 2008 ­05

46 /??
Recuit simulé
Métaheuristiques – 2008 ­05

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

47 /??
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
Métaheuristiques – 2008 ­05

48 /??
Recuit simulé

Coté physique

Coté optimisation
Métaheuristiques – 2008 ­05

49 /??
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
Métaheuristiques – 2008 ­05

50 /??
Algorithme

Xcourant: point de départ

T = T0

Xsuivant = voisin(Xcourant)

Si f(X )<= f(Xcourant)
Contrôle de la proba
suivant

d’accepter une mauvaise Ou si exp((f(Xcourant)­f(Xsuivant))/T) > rand(0,1)
solution                et f(Xsuivant)>f(Xcourant)

Alors Xcourant = Xsuivant
Métaheuristiques – 2008 ­05

Loi de décroissance
T = g(T)
de la température

Fin
51 /??
Algorithme

Xcourant: point de départ

T = T0

Méthode de Xsuivant = voisin(Xcourant)

Metropolis
Si f(X suivant )<= f(Xcourant)

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

Alors Xcourant = Xsuivant
Métaheuristiques – 2008 ­05

T = g(T)

Fin
52 /??
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

exp − f  x / T 
 p x=
∑ exp − f  y/ T 
y

 Recuit simulé → échantillonner une distribution paramétrique (T)
Métaheuristiques – 2008 ­05

Algorithme de Metropolis­Hastings
 n'importe quelle distribution 
53 /??
Échantillonnage de distribution paramétrique
Métaheuristiques – 2008 ­05

54 /??
Convergence

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

En pratique :
 lim pt  x =1
t→ ∞
Métaheuristiques – 2008 ­05

55 /??
Quelques problèmes
ergodique
Ergodicité
 N'importe quelle solution atteignable
 Quasi­ergodicité : nombre fini de changements
non ergodique
 Voisinage

Convergence
 Quasi­ergodicité
T
 Décroissance par palier
Métaheuristiques – 2008 ­05

 Décroissance graduelle
 T  ne décroit pas plus vite que : C/log(t)
t

 C, constante liée à échelle fonction objectif
t
56 /??
Exemple variables continues
Métaheuristiques – 2008 ­05

57 /?? http://en.wikipedia.org/wiki/Image:3dRosenbrock.png
http://en.wikipedia.org/wiki/Image:Metropolis_hastings_algorithm.png
Décroissance température

La loi classique:
Tk = α.Tk­1
Les lois adaptatives:

Van Laarhoven:
1
T k =T k−1
ln 1
1 T k−1
3 T k −1
Huang:
− T k −1
 
Métaheuristiques – 2008 ­05

T k =T k −1 exp
 T k −1 

Triki:

58 /??

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

 T k−1  
Décroissance température

Loi de originale Δ(Tk)
Van Laarhoven ln(1+δ)/3.σ(Tk)
Otten ln(1+δ)/Cmax. σ2(Tk)
Huang λ.σ(Tk)
Métaheuristiques – 2008 ­05

59 /??
Revenu simulé

f(x)

p(x)

T1
Métaheuristiques – 2008 ­05

T2<T1

60 /??
Parallel Rejectionless Annealing

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

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

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

x4
x3
min(1,exp(­(f(x3)­f(xcourant))/T))
Métaheuristiques – 2008 ­05

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

61 /??
Plan
Problèmes Métaheuristiques
 Exemples  Exemples
 Recherche opérationnelle  Recherche tabou

 Ingénierie  Algorithmes évolutionnistes

 Intelligence artificielle  Recuit simulé

 Caractéristiques  Colonies de fourmis

 Estimation de distribution

 Synthèse
Applications
 Validation
Métaheuristiques – 2008 ­05

 Performances ?

 Paramétrage

 Validation

62 /??
 Exemples
Algorithmes de colonies de fourmis
Métaheuristiques – 2008 ­05

63 /??
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
Métaheuristiques – 2008 ­05

 2004, preuve d'équivalence avec d'autres métaheuristiques

64 /??
65
Métaheuristiques – 2008 ­05

/??
Origine de l'idée
Algorithme de base : Ant System

Initialisation
Jusqu'à critère d'arrêt
 Pour chaque fourmis
 Parcours d'un trajet

 Laisser piste (quantité fixe, étalée sur chaque arrête)

 Évaporation
Fin
Métaheuristiques – 2008 ­05

66 /??
67
Métaheuristiques – 2008 ­05

/??
Voyageur de commerce
Ant System, détails

 t itérations, k fourmis, n villes, 
Jik villes à visiter

Choix d'une ville : visibilité Quantité de phéromone
 ηij = 1/dij Q
sii , j∈T k t
k

{
   t= L k  t
ij

0 sinon
}
Choix ville
ij  t ij 
  Évaporation
Métaheuristiques – 2008 ­05

k
si j∈ J i
 p
k

ij
t= ∑
{ il
t 
l ∈ Ji

0

k
 ij


si j∉J ik
}  ij  t1=1− ij t   ij t

68 /??
Hyper Cube & MinMax Ant Systems

MMAS HCAS
 τmin< τij< τmax  Problème codage binaire
 Ergodicité  Normalisation « fonction de qualité »
∑ Q f s  si
s∈ St
 i =1− i
∑ Q f s 
s∈ St

f s −LB
 
Q f  s∣S 1,  , S t = 0 1−
f −LB 
Métaheuristiques – 2008 ­05

69 /??
70
Métaheuristiques – 2008 ­05

/??
AntNet
Plan
Problèmes Métaheuristiques
 Exemples  Exemples
 Recherche opérationnelle  Recherche tabou

 Ingénierie  Algorithmes évolutionnistes

 Intelligence artificielle  Recuit simulé

 Caractéristiques  Colonies de fourmis

 Estimation de distribution

 Synthèse
Applications
 Validation
Métaheuristiques – 2008 ­05

 Performances ?

 Paramétrage

 Validation

71 /??
 Exemples
Estimation de distribution
Métaheuristiques – 2008 ­05

72 /??
Historique

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

73 /??
Origines

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

Population Base Incremental Learning
Compact Genetic Algorithm
Métaheuristiques – 2008 ­05

74 /??
Algorithme

Idées de base
 Distribution de probabilité choisie a priori
 Échantillonnage
 Opérateurs de réduction de variance (→ sélection)
Métaheuristiques – 2008 ­05

75 /??
Algorithme

Initialisation
Jusqu'à critère d'arrêt
 Estimation des paramètres
 Tirage échantillon selon distribution
 Sélection
Fin
Métaheuristiques – 2008 ­05

76 /??
Exemple continu

Distributions :
 Uniforme
 Gaussienne univariante
Métaheuristiques – 2008 ­05

77 /??
Exemple continu

Modèles classiques
 Gaussienne univariante
 Mélange de gaussiennes univariantes
 Gaussienne multivariante
 Mélange de gaussiennes multivariantes
Métaheuristiques – 2008 ­05

78 /??
Exemple discret : OneMax
Métaheuristiques – 2008 ­05

79 /??
Exemple discret : OneMax
Métaheuristiques – 2008 ­05

80 /??
Exemple discret : OneMax
Métaheuristiques – 2008 ­05

81 /??
82
Métaheuristiques – 2008 ­05 http://flickr.com/photos/mpdehaan/31773103/

/??
Métaheuristiques : synthèse
Caractéristiques de base

 Global
 Généraliste
 Stochastiques
 Facile à implémenter
Métaheuristiques – 2008 ­05

83 /??
84
Métaheuristiques – 2008 ­05

/??
Parcours / population
Intensification / diversification
Métaheuristiques – 2008 ­05

Diversification = exploration
Intensification = exploitation
85 /??
Explicite, Implicite, Direct
Métaheuristiques – 2008 ­05

86 /??
87
Métaheuristiques – 2008 ­05

/??
Classification
Plan
Problèmes Métaheuristiques
 Exemples  Exemples
 Caractéristiques  Synthèse

Applications
 Validation
 Performances ?

 Paramétrage

 Validation
Métaheuristiques – 2008 ­05

 Exemples

88 /??
89
Métaheuristiques – 2008 ­05

/??
Validation

http://flickr.com/photos/ingleites/95381044/
No free lunch

Instance de méthode
 Algorithme
 Paramétrage
Instance de problème
Métaheuristiques – 2008 ­05

 Modèle
 Caractéristiques

90 /??
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
Métaheuristiques – 2008 ­05

 Vitesse ou précision ?

 Production ou conception ?

91 /??
Performances

Vitesse
(x)OU
Précision
Métaheuristiques – 2008 ­05

92 /??
93
Métaheuristiques – 2008 ­05

/??
Vitesse et précision
Vitesse et précision

+ Stochastique
Métaheuristiques – 2008 ­05

94 /??
Conception / production

Conception Production
 Vitesse négligeable  Vitesse cruciale
 Précision cruciale  Précision négligeable
 Répétitions possibles  1 seul essai
 Recherche  Robustesse

 Diversification   Intensification

F F
Métaheuristiques – 2008 ­05

f(x) f(x)
95 /??
Validation

Probabiliste → STATISTIQUE

Plan d'expérience
 Paramétrage
 Répétitions
 Tests statistiques
Métaheuristiques – 2008 ­05

 Analyse de données

96 /??
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
Métaheuristiques – 2008 ­05

97 /??
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
Métaheuristiques – 2008 ­05

98 /??
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
Métaheuristiques – 2008 ­05

Nouveaux jeux à tester
 Échantillonnage « Latin » de l'hypercube
 Un seul essai par ligne/colonne

99 /??
Présentation

f(x)

i
Métaheuristiques – 2008 ­05

Bien Pas bien

100 /??
Métaheuristiques – 2008 ­05

101 /??
Boite à moustache

http://en.wikipedia.org/wiki/Image:Boxplot_vs_PDF.png
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
Métaheuristiques – 2008 ­05

 Avec une certaine probabilité de se tromper

102 /??
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
Métaheuristiques – 2008 ­05

 Hypothèse nulle rejetée avec p > Pseuil → différents
 Au mieux, Pseuil = 0.95

103 /??
Applications
Métaheuristiques – 2008 ­05

104 /??
http://commons.wikimedia.org/wiki/Image:Industry_Torrance.jpg
Métaheuristiques – 2008 ­05

105 /??

Das könnte Ihnen auch gefallen