Documente Academic
Documente Profesional
Documente Cultură
Algorithmes itératifs (et stochastiques) d'optimisation globale
Métaheuristiques
200805
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, CCBYSA 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:Redblack_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_npcomplete_nphard.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étaheuristique, Fred Glover :
« La recherche avec tabou peut être vue comme
une "métaheuristique", 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
Monoobjectif
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
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
Évaluation
Remplacement
37 /??
Opérateurs
« Opérateurs »
Sélection
Croisement
Mutation
Métaheuristiques – 2008 05
Remplacement
38 /??
Opérateurs
« Opérateurs »
11100
Sélection 11001
11101
Croisement
Mutation
01011 00110 00000
11111 10101
Évaluation 01000
Métaheuristiques – 2008 05
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
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/(1ui))(1/(1+η)) sinon
2.xi1(t+1) = (1bi).xi1(t) + (1+bi).xi2(t)
2.xi2(t+1) = (1+bi).xi1(t) + (1bi).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 MetropolisHastings,
1983 : Kirkpatrick, Gelatt et Vecchi concoivent le recuit simulé
1985 : indépendamment de ceuxci, Č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 /??
MetropolisHastings
É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 MetropolisHastings
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
Quasiergodicité : nombre fini de changements
non ergodique
Voisinage
Convergence
Quasiergodicité
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 = α.Tk1
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, PierrePaul Grassé : stigmergie.
1983, Deneubourg, comportement collectif
1988, Moyson et Manderick, autoorganisation
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
sii , 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 t1=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 WilcoxonMannWhitney
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 /??