loptimisation
combinatoire
S. Ben Ismail
Majeure Informatique INF413 C5
2e semestre 2012
Objectifs pdagogiques
1 / 68
S. Ben Ismail
Plan du cours
1
Introduction
Mthodes d'optimisation
Construction
Recherche locale
volution
Hybridation
Conclusion
2 / 68
S. Ben Ismail
Sommaire
1
Introduction
Mthodes d'optimisation
Construction
Recherche locale
volution
Hybridation
Conclusion
3 / 68
S. Ben Ismail
Optimisation : ksako ?
Langue franaise
optimiser (v.) : permettre d'obtenir le meilleur rsultat possible par
une action adapte
synonymes : amliorer, maximiser, mettre au point, optimaliser
S. Ben Ismail
=R
0.2
fonction de Ackley
Pn
i =0
x
i
f (x ) =
1
en
Pn
i =1
cos(2xi )
+ 20 e
n = 2, x = (0, 0)
optimum global : x tq x , f (x f (x )
optimum local : x tq x , f (x ) f (x )
5 / 68
S. Ben Ismail
Optimisation combinatoire
minimisation d'une fonction sur un ensemble ni (mais potentiellement
trs grand)
6 / 68
S. Ben Ismail
numration exhaustive
5
10
15
20
25
30
Temps de calcul
12
12 microsecondes
181 440
0,18 seconde
43 milliards
12 heures
6 E+16
19 sicles
3 E+23
9,8 milliards d'annes
4 E+30 1,4 millions de millards de sicles
||
S. Ben Ismail
2
3
4
S. Ben Ismail
Et part le TSP ?
S. Ben Ismail
Sommaire
1
Introduction
Mthodes d'optimisation
Construction
Recherche locale
volution
Hybridation
Conclusion
10 / 68
S. Ben Ismail
1.
2.
3.
4.
11 / 68
S. Ben Ismail
Terminologie
12 / 68
S. Ben Ismail
S. Ben Ismail
Heuristique
S. Ben Ismail
S. Ben Ismail
S. Ben Ismail
Sommaire
1
Introduction
Mthodes d'optimisation
Construction
Recherche locale
volution
Hybridation
Conclusion
17 / 68
S. Ben Ismail
HeuristiqueConstructive() : solution s
: solution,
;
Fonction
s
s
Tant que
Fait
Retourner
s;
Fin
18 / 68
S. Ben Ismail
Dnition
Un algorithme glouton (greedy ) est un algorithme qui,
chaque tape de la rsolution d'un problme, fait un
choix optimal dans l'espoir que le rsultat nal soit
optimal.
Heuristique constructive gloutonne : chaque tape, ajouter le
meilleur lment de solution e
Exemple : rendu de monnaie
comment rendre 8 avec des pices de 6, 4 et 1 ?
8 = 6 + 1 + 1 (or 8 = 4 + 4)
les valeurs des pices de monnaie du systme montaire sont
choisies pour qu'un algorithme glouton soit optimal
19 / 68
S. Ben Ismail
Problem
(KP))
donnes : 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
15 kg
$2
$2
g
2k
g
1k
$1 1 k g
$10
g
4k
http ://fr.wikipedia.org/wiki/Problme_du_sac__dos
20 / 68
S. Ben Ismail
7
12
0.58
3
7
0.43
10
9
1.11
1
2
0.5
2
5
0.4
valeur=0, poids=0
stratgie
21 / 68
S. Ben Ismail
7
12
0.58
3
7
0.43
10
9
1.11
1
2
0.5
2
5
0.4
valeur=10, poids=9
stratgie
21 / 68
S. Ben Ismail
7
12
0.58
3
7
0.43
10
9
1.11
1
2
0.5
2
5
0.4
valeur=10+7=17, poids=9+12=21
stratgie
21 / 68
S. Ben Ismail
7
12
0.58
3
7
0.43
10
9
1.11
1
2
0.5
2
5
0.4
valeur=10+1=11, poids=9+2=11
stratgie
21 / 68
S. Ben Ismail
7
12
0.58
3
7
0.43
10
9
1.11
1
2
0.5
2
5
0.4
valeur=11+3=14, poids=11+7=18
stratgie
21 / 68
S. Ben Ismail
7
12
0.58
3
7
0.43
10
9
1.11
1
2
0.5
2
5
0.4
valeur=11+2=13, poids=11+5=16
stratgie
21 / 68
S. Ben Ismail
7
12
0.58
3
7
0.43
10
9
1.11
1
2
0.5
2
5
0.4
- - - - valeur=11 , poids=11 kg
stratgie
21 / 68
S. Ben Ismail
7
12
0.58
3
7
0.43
10
9
1.11
1
2
0.5
2
5
0.4
- - - - valeur=11 , poids=11 kg
or - - - - valeur=10+2=12 , poids=9+5=14 kg
stratgie
21 / 68
S. Ben Ismail
22 / 68
S. Ben Ismail
PPV : illustration
Rouen
Rennes
Reims
Metz
Chartres
Poitiers
Lyon
Toulouse
23 / 68
S. Ben Ismail
Annecy
Nice
Introduction l'optimisation combinatoire
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
PPV : illustration
10
23 / 68
S. Ben Ismail
ide de construction :
1. initialisation : choisir alatoirement une premire ville
2. chaque tape, un cycle de villes a t constuit
y insrer LA ville qui minimise un critre donn
illustration : OptimGUI.jar
(http ://mr-nutz.no-ip.org/Valentin/projets.php ?page=0)
24 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
10
25 / 68
S. Ben Ismail
Rcapitulatif
26 / 68
S. Ben Ismail
Sommaire
1
Introduction
Mthodes d'optimisation
Construction
Recherche locale
volution
Hybridation
Conclusion
27 / 68
S. Ben Ismail
S. Ben Ismail
Randonneur 1
Moralit
la recherche exhaustive numrative ne fut pas un choix judicieux !
29 / 68
S. Ben Ismail
Randonneur 2
30 / 68
S. Ben Ismail
Randonneur 3
Moralit
des dgradations occasionnelles de la fonction objectif peuvent nous
faire chapper d'un optimum local
31 / 68
S. Ben Ismail
Randonneur 4
S. Ben Ismail
Ide
on s'attend ce que les bonnes solutions partagent des structures
similaires donc, les meilleures solutions devraient pouvoir tre
obtenues aprs 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
33 / 68
S. Ben Ismail
Fonction
s :
solution
s s ; z f (s ) ;
0
( s 0 dans (s )
s s0 ;
z f (s ) ;
Tant que
Fait
Retourner
ET
acceptable(s 0 )) faire
s ;
Fin
34 / 68
S. Ben Ismail
35 / 68
S. Ben Ismail
Insertion : illustration 1
u=7
v = 10
10
10
36 / 68
S. Ben Ismail
Insertion : illustration 1
u=7
v = 10
10
10
36 / 68
S. Ben Ismail
Insertion : illustration 2
u = 7, x = 3
v = 10
v
10
10
37 / 68
S. Ben Ismail
Insertion : illustration 2
u = 7, x = 3
v = 10
v
10
10
37 / 68
S. Ben Ismail
change : illustration
u=7
v = 10
10
10
38 / 68
S. Ben Ismail
change : illustration
u=7
v = 10
10
10
38 / 68
S. Ben Ismail
2-opt : illustration
u = 7, x = 3
v = 10 y = 8
v
10
10
39 / 68
S. Ben Ismail
2-opt : illustration
u = 7, x = 3
v = 10 y = 8
v
10
10
39 / 68
S. Ben Ismail
40 / 68
S. Ben Ismail
Descente du gradient
Fonction
s :
solution
s s ; z f (s ) ;
0
( s 0 dans (s )
s s0 ;
z f (s ) ;
Tant que
Fait
Retourner
ET
f (s 0) < z )
faire
s ;
Fin
41 / 68
S. Ben Ismail
Fonction
s :
solution
s s ; z f (s ) ;
0
Tant que
s 0 dans (s )
f (s )
s s0 ;
z f (s ) ;
00 ) faire
Fait
Retourner
ET
s 00
s s fs
( )\{ 0 }, ( 0 ) <
s ;
Fin
42 / 68
S. Ben Ismail
43 / 68
S. Ben Ismail
Recuit simul
(Simulated Annealing ),
1983
mtallurgie
nergie
tat amorphe
tat cristallin
temprature
recuit
44 / 68
S. Ben Ismail
optimisation
minimum local
minimum global
paramtre de contrle
recuit simul : dplacement
dans
(recherche locale)
Introduction l'optimisation combinatoire
Principe du RS
RecuitSimule(f , , s , T , , k ) :
s :
T : //temperature
s s ; T T ;
(T > )
choisir s 0 aleatoirement dans (s ), 4f
(4f 0)
s s 0 ; //accepter s 0
Fonction
meilleure solution
solution
reel
Tant que
faire
Si
fs
fs
( 0) ( )
Alors
Sinon
s s 0 ; avec la probabilite e Tf
4
Fin Si
Fin
Retourner
s ;
S. Ben Ismail
Remarque
mthode stochastique
4f
probabilit d'acceptation p(4f , T ) = e T
E 0 E
probabilit de Mtropolis en thermodynamique : e T
4f : si dgradation norme probabilit plus petite
T : plus la temprature descent, plus la probabilit d'acceptation
devient petite
on autorise plus de dgradation au dbut qu' la n : convergence
vers un tat d'nergie minimale
46 / 68
S. Ben Ismail
Recherche tabou
(Tabu Search),
1989 (Glover)
paramtres :
nombre maximal d'itrations
fonctionnement de la liste tabou : le
taille de la liste tabou : statique ou dynamique
47 / 68
S. Ben Ismail
Recuit simul :
s 0 est choisie au hasard
Recherche tabou :
s 0 est l'une des meilleures solutions voisines de s ,
n'apparteneant
48 / 68
S. Ben Ismail
Comparaison
Descente (2me randonneur) : mthode rapide, mais se termine au
premier optimum local rencontr
Recuit & Tabou (3me et 4me randonneurs) : ne s'arrtent pas au
premier optimum local rencontr (grce aux dgradations de f )
49 / 68
S. Ben Ismail
50 / 68
S. Ben Ismail
Sommaire
1
Introduction
Mthodes d'optimisation
Construction
Recherche locale
volution
Hybridation
Conclusion
51 / 68
S. Ben Ismail
Ide gnrale :
inspiration naturelle
recherche dans l'espace de congurations : faire voluer (recombiner
et modier) un ensemble de solutions du problme, et en
slectionner 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
52 / 68
S. Ben Ismail
Principe
Fonctionnement
1. valuation des individus
2. slection des meilleurs parmi eux
3. croisements
4. mutations
convergence : apparition des individus
les plus performants
les bons parents donnent lieu
de bons enfants par hritage
les mutation permettent de
diversier la population (explorer
ailleurs)
53 / 68
S. Ben Ismail
Ingrdients principaux
54 / 68
S. Ben Ismail
Oprateurs gntiques
55 / 68
S. Ben Ismail
squence
01110010
11011110
00011010
01101100
56 / 68
S. Ben Ismail
valeur
0.7266255
0.8671875
0.1015625
0.4218750
f (x )
0.794678
0.460693
0.364990
0.975586
Application au TSP
57 / 68
S. Ben Ismail
S. Ben Ismail
Sommaire
1
Introduction
Mthodes d'optimisation
Construction
Recherche locale
volution
Hybridation
Conclusion
59 / 68
S. Ben Ismail
Hybridation
60 / 68
S. Ben Ismail
Sommaire
1
Introduction
Mthodes d'optimisation
Construction
Recherche locale
volution
Hybridation
Conclusion
61 / 68
S. Ben Ismail
Adquation mthode/problme
S. Ben Ismail
Do it simple !
63 / 68
S. Ben Ismail
Quelques recettes
64 / 68
S. Ben Ismail
Pour terminer
65 / 68
S. Ben Ismail
Lectures complmentaires
3. http ://cs.gmu.edu/
66 / 68
S. Ben Ismail
sean/book/metaheuristics/
Introduction l'optimisation combinatoire
La suite en PC
67 / 68
S. Ben Ismail
Rfrences Bibliographiques I
68 / 68
S. Ben Ismail