Académique Documents
Professionnel Documents
Culture Documents
l’optimisation
combinatoire
S. Ben Ismail
Majeure Informatique – INF413 – C5
2e semestre 2012
Objectifs pédagogiques
1 Introduction
2 Méthodes d'optimisation
3 Construction
4 Recherche locale
5 Évolution
6 Hybridation
7 Conclusion
1 Introduction
2 Méthodes d'optimisation
3 Construction
4 Recherche locale
5 Évolution
6 Hybridation
7 Conclusion
Langue française
optimiser (v.) : permettre d'obtenir le meilleur résultat possible par
une action adaptée
synonymes : améliorer, maximiser, mettre au point, optimaliser
Ω = Rn , fonction de Ackley
f (x ) =
−0.2 1 2 1
q
cos(2πxi )
Pn
−20e −en + 20 − e
Pn
i =0 i =1
Ω=R n
x
i
n = 2, x ∗ = (0, 0)
optimum global : x tq ∀x ∈ Ω, f (x ≤ f (x )
∗ ∗)
Optimisation combinatoire
minimisation d'une fonction sur un ensemble ni (mais potentiellement
très grand)
6 / 68 S. Ben Ismail Introduction à l'optimisation combinatoire
Énumération exhaustive
5 12 12 microsecondes
10 181 440 0,18 seconde
15 43 milliards 12 heures
20 6 E+16 19 siècles
25 3 E+23 9,8 milliards d'années
30 4 E+30 1,4 millions de millards de siècles
n² N 2 10 N 2 31.6 N 2
n³ N 3 4.64 N 3 10 N 3
2 n N 4 N + 6.64
4 N + 9.97 4
1 Introduction
2 Méthodes d'optimisation
3 Construction
4 Recherche locale
5 Évolution
6 Hybridation
7 Conclusion
1 Introduction
2 Méthodes d'optimisation
3 Construction
4 Recherche locale
5 Évolution
6 Hybridation
7 Conclusion
Retourner s;
Fin
Dénition
Un algorithme glouton (greedy ) est un algorithme qui, à
chaque étape de la résolution d'un problème, fait un
choix optimal dans l'espoir que le résultat nal soit
optimal.
Heuristique constructive gloutonne : à chaque étape, ajouter le
meilleur élément de solution e
Exemple : rendu de monnaie
comment rendre 8¿ avec des pièces de 6¿, 4¿ et 1¿ ?
8 = 6 + 1 + 1 (or 8 = 4 + 4)
les valeurs des pièces de monnaie du système monétaire sont
choisies pour qu'un algorithme glouton soit optimal
données : sac à dos vide, objets ayant chacun un poids et une valeur
objectif : maximiser la valeur totale des objets dans le sac
contrainte : poids maximal autorisé dans le sac
$4
12
kg
? $2
2k
g
15 kg
$2 g
1k
$1 1 k g
$10 g
4k
http ://fr.wikipedia.org/wiki/Problème_du_sac_à_dos
Poitiers
Annecy
Lyon
Nice
Toulouse
23 / 68 S. Ben Ismail Introduction à l'optimisation combinatoire
PPV : illustration
v 10
v
8 v 9
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
idée de construction :
1. initialisation : choisir aléatoirement une première ville
2. à chaque étape, un cycle de villes a été constuit
y insérer LA ville qui minimise un critère donné
insertion du plus proche voisin (nearest insertion) : insérer la ville la
plus proche des villes déjà visitées
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
v
v6
7
v
5
v
4
v3
v
v
2
1 Introduction
2 Méthodes d'optimisation
3 Construction
4 Recherche locale
5 Évolution
6 Hybridation
7 Conclusion
résultat : il est arrivé à un point très bas, qu'il n'a pas quitté, et les
équipes de secours l'ont trouvé ,
Moralité
des dégradations occasionnelles de la fonction objectif peuvent nous
faire échapper d'un optimum local
Idée
on s'attend à ce que les bonnes solutions partagent des structures
similaires donc, les meilleures solutions devraient pouvoir être
obtenues après des petites modications de bonnes solutions, etc ...
Principe
solution initiale
transformations successives
Voisinage
fonction Ω → 2Ω : x 7→ ϑ(x ) ⊂ Ω
traduit la notion de solutions proches, semblables, voisines
suite de solutions : une trajectoire dans l'espace de recherche
solution
s ∗ ← s ; z ← f (s ∗) ;
0
Retourner s∗ ;
Fin
u=7
v = 10
v 10
v
8 v
9
v10
v 8 v
9
v6
v 7
v 6
v 7
v
5
v
4
v 5
v
4
v
3 v
3
v v
v 1
2
v 1
2
u=7
v = 10
v 10
v
8 v
9
v10
v 8 v
9
v6
v 7
v 6
v 7
v
5
v
4
v 5
v
4
v
3 v
3
v v
v 1
2
v 1
2
u = 7, x = 3
v = 10
v 10
v
8 v
9
v10
v 8 v
9
v6
v 7
v 6
v 7
v
5
v
4
v 5
v
4
v
3 v
3
v v
v1
2
v 1
2
u = 7, x = 3
v = 10
v 10
v
8 v
9
v10
v 8 v
9
v6
v 7
v 6
v 7
v
5
v
4
v 5
v
4
v
3 v
3
v v
v1
2
v 1
2
u=7
v = 10
v10
v
8 v
9
v10
v 8 v
9
v6
v 7
v 6
v 7
v
5
v
4
v 5
v
4
v
3 v
3
v v
v 1
2
v 1
2
u=7
v = 10
v10
v
8 v
9
v10
v 8 v
9
v6
v 7
v 6
v 7
v
5
v
4
v 5
v
4
v
3 v
3
v v
v 1
2
v 1
2
u = 7, x = 3
v = 10 y = 8
v 10
v
8 v
9
v10
v 8 v
9
v6
v 7
v 6
v 7
v
5
v
4
v 5
v
4
v
3 v
3
v v
v1
2
v 1
2
u = 7, x = 3
v = 10 y = 8
v 10
v
8 v
9
v10
v 8 v
9
v6
v 7
v 6
v 7
v
5
v
4
v 5
v
4
v
3 v
3
v v
v1
2
v 1
2
Introduction à l'optimisation
40 / 68 S. Ben Ismail Introduction à l'optimisation combinatoire
Descente du gradient
solution
s ∗ ← s ; z ← f (s ∗) ;
0
Retourner s∗ ;
Fin
solution
s ∗ ← s ; z ← f (s ∗) ;
0
s∗ ← s0 ;
z ← f (s ∗) ;
Fait
Retourner s∗ ;
Fin
solution
T : //temperature
reel
s∗ ← s ; T ← T ;
(T > )
0 0
s ∗ ← s 0 ; //accepter s 0
Sinon
s ∗ ← s 0 ; avec la probabilite e − Tf 4
Fin Si
45 / 68
Retourner
S. Ben Ismail
s∗ ; Introduction à l'optimisation combinatoire
Fin
Remarque
méthode stochastique
probabilité d'acceptation p(4f , T ) = e − T
4f
paramètres :
nombre maximal d'itérations
fonctionnement de la liste tabou : le
taille de la liste tabou : statique ou dynamique
Recherche tabou :
s 0 est l'une des meilleures solutions voisines de s , n'apparteneant
1 Introduction
2 Méthodes d'optimisation
3 Construction
4 Recherche locale
5 Évolution
6 Hybridation
7 Conclusion
Idée générale :
inspiration naturelle
recherche dans l'espace de congurations : faire évoluer (recombiner
et modier) un ensemble de solutions du problème, et en
sélectionner la meilleure à la n
Terminologie :
une solution constitue un individu ayant une évaluation (ou fonction
de performance) (tness )
un ensemble de solutions constitue une population
une combinaison de deux solutions est un croisement (parents,
enfants )
une modication d'une solution est une mutation
Fonctionnement
1. évaluation des individus
2. sélection des meilleurs parmi eux
3. croisements
4. mutations
convergence : apparition des individus
les plus performants
les bons parents donnent lieu à
de bons enfants par héritage
les mutation permettent de
diversier la population (explorer
ailleurs)
53 / 68 S. Ben Ismail Introduction à l'optimisation combinatoire
Ingrédients principaux
1 Introduction
2 Méthodes d'optimisation
3 Construction
4 Recherche locale
5 Évolution
6 Hybridation
7 Conclusion
1 Introduction
2 Méthodes d'optimisation
3 Construction
4 Recherche locale
5 Évolution
6 Hybridation
7 Conclusion
choses à mesurer :
résultat moyen pour un temps donné
temps moyen pour atteindre un résultat
proportion des exécutions à % de l'optimum
meilleures solutions obtenues