Académique Documents
Professionnel Documents
Culture Documents
locale
1
Méthodes de recherche locale
• Les méthodes de recherche locale sont des algorithmes itératifs qui explorent
l’espace X en se déplaçant pas à pas d’une solution à une autre.
• Une méthode de ce type débute à partir d’une solution s0 ∈ X choisie
arbitrairement ou alors obtenue par le biais d’une méthode constructive.
• Le passage d’une solution admissible à une autre se fait sur la base d’un
ensemble de modifications élémentaires qu’il s’agit de définir de cas en cas.
• Une solution s' obtenue à partir de s en appliquant une modification
élémentaire.
• Un tel processus d’exploration est interrompu lorsqu’un ou plusieurs critères
d’arrêt sont satisfaits.
• Les passages successifs d’une solution à une solution voisine définissent un
chemin au travers de l’espace des solutions admissibles.
3
Solution de départ : Heuristiques constrictuves
Heuristiques constrictuves
Principe :
construction progressive d’une solution s = ( x1 , x 2 ,..., x n )
à partir d’une solution initiale vide s
en insérant à chaque étape k (k=1 à n) 0
une composante dans la solution partielle courante avec:
xo ( k ) s k −1
o(k ) ∈ {1,2,...n}{o(1), o(2),...., o(k − 1)}
décision prise à une étape donnée = indice de la composante à insérer
+ valeur de la composante
E: ensemble d’arêtes
F: sous-ensembles de E qui forment un cycle hamiltonien (CH)
c( S ) = ∑c e ce: coût de l’arête e
e∈S
Étape 0:
Initialiser le cycle avec un seul sommet.
Etape 1:
Trouver le sommet k parmi ceux qui n’appartiennent pas à la solution courante et
dont l’arête qui le connecte à ce cycle soit la plus courte.
Etape 2:
Trouver la paire d’arêtes (i,k) et (k,j) qui connectent le sommet k au cycle en
minimisant
cik + ckj - cij
Insérer les arêtes (i,k) et (k,j) et éliminer l’arête (i,j).
Etape 3:
Retourner à l’étape 1.
k Choix du sommet
i j
8
Heuristiques constrictuves : exemples
Arbre couvrant de poids minimum :
Etant donné un graphe connexe G=(V,E) et des poids ce associés aux arêtes e ∈
E, déterminer un arbre générateur T ⊆ E dont le poids c(T) = Σ e∈T ce soit
minimum.
E: ensemble d’arêtes
F: sous-ensembles de E qui forment des arbres générateurs
Étape 0:
Trier les arêtes de E de façon à ce que c1 ≤ c2 ≤...≤ cn
T←∅
Étape 1:
Pour i de 1 à n faire
Si T ∪ {ei} ∈ F
alors T ← T ∪ {ei}
Note:
La solution T est une solution optimale
10
Représentation de solutions
• Les méthodes de recherche locale sont des algorithmes itératifs qui
explorent l’espace X en se déplaçant pas à pas d’une solution à une
autre.
• Une méthode de ce type débute à partir d’une solution s0 ∈ X choisie
arbitrairement ou alors obtenue par le biais d’une méthode constructive.
• Le passage d’une solution admissible à une autre se fait sur la base d’un
ensemble de modifications élémentaires qu’il s’agit de définir de cas en
cas.
• Une solution s' obtenue à partir de s en appliquant une modification
élémentaire.
• Un tel processus d’exploration est interrompu lorsqu’un ou plusieurs
critères d’arrêt sont satisfaits.
11
Représentation de solutions
• Ensemble F de solutions (réalisables) est un sous-ensemble de E (ensemble
de support ou de base) des éléments qui satisfont certaines conditions
(contraintes).
• Représentation d’une solution: indiquer les éléments de E qui appartiennent
à la solution et ceux qui n’y appartiennent pas.
Problème du sac-à-dos:
Entrées: n objets, poids maximum b, revenus cj et poids aj associés à chaque
objet j=1,…,n
Problème d’optimisation: “trouver un ensemble S* qui maximise ∑j∈S cj
parmi tous les sous-ensembles S ⊆ {1,…,n} tels que ∑j∈S aj ≤ b.”
12
Représentation de solutions
• Problème du voyageur de commerce
E: ensemble d’arêtes
F: sous-ensembles de E qui forment un
circuit hamiltonien (CH)
a 1 b
5
Solutions réalisables (parmi 64 possibilités): 4 2
(1,1,1,1,0,0), (1,0,1,0,1,1), (0,1,0,1,1,1) 6
d c
3
13
Représentation de solutions
• Autre représentation pour les solutions du problème du voyageur
de commerce: représenter chaque solution par l’ordre dans
laquelle les sommets sont visités, c.à.d., comme une permutation
circulaire des n sommets (puisque le premier sommet peut être
choisi arbitrairement)
(a)bcd
(a)bdc
(a)cbd
(a)cdb
(a)dbc
(a)dcb
14
Représentation de solutions
• Indicateurs 0-1 d’appartenance:
– Problème du sac-à-dos
– Problèmes de recouvrement et de partitionement
• Permutations:
– Problèmes d’ordonnancement
• Job/Flow/Open Shop Scheduling
– Problème du voyageur de commerce
15
Voisinages
• Problème combinatoire : f(s*) = minimum {f(s): s ∈ S}
S est un ensemble fini de solutions
16
Voisinages
• Voisinages dans l’espace des permutations:
• Solution π=(π1,…,πi -1,πi,πi +1,…,πj,…,πn)
Voisinages
18
Voisinages
19
Voisinages
20
Voisinages
21
Exemple: problème du sac-à-dos
• Entrées :
Ensemble {1,2,…,n} d’objets
Poids maximum b
Revenu cj associé à chaque objet j=1,…,n
Poids aj associé à chaque objet j=1,…,n
• Problème d’optimisation :
Trouver un ensemble S* d’objets qui maximise le revenu total et
dont la somme des poids soit inférieure à b
• Applications :
– Choix d’investissements
– Optimisation d’un portfolio d’actions
22
Exemple: problème du sac-à-dos
• Algorithme glouton approché pour construire une solution
réalisable:
23
n = 8 objets
poids maximum b = 15
revenus des objets: 5, 4, 6, 3, 5, 8, 5, 9
poids des objets: 3, 5, 7, 4, 2, 9, 5, 8
24
• Critère qui donne les meilleurs résultats: trier les objets par
densités (revenu/poids) décroissantes
25
Exemple: problème du sac-à-dos
• Exemple numérique:
n = 8 objets
poids maximum b = 15
revenus des objets: 5, 4, 6, 3, 5, 8, 5, 9
poids des objets: 3, 5, 7, 4, 2, 9, 5, 8
26
Voisinages
• Espace de recherche : défini par l’ensemble des solutions S et par
un voisinage N
27
100 101
000 001
010 011
110 111
28
Voisinages
• Espace de recherche: défini par l’ensemble de solutions S et par
un voisinage N
29
1243 1342
1234 1324
2314 3214
2341 3241
2431 3421
4231 4321
1423 1432
30
Voisinages
• Espace de recherche: défini par l’ensemble de solutions S et par
un voisinage N
• Exemple 3:
Voisinages 2-opt et 3-opt pour le voyageur de commerce
31
Voisinages
• Voisinage 2-opt pour le voyageur de commerce:
32
Voisinages
• Voisinage 3-opt pour le voyageur de commerce :
33
Voisinages
• L’espace de recherche peut être vu comme un graphe où les
sommets représentent les solutions et les arêtes connectent les
paires de solutions voisines.
34
Voisinages
• Optimum local: une solution aussi bonne que toutes les voisines
• Problème de minimisation :
35
⇓
36
Algorithmes de recherche locale
• Les algorithmes de recherche locale sont conçus comme une
stratégie pour explorer l’espace de recherche.
37
38
procedure Amélioration-Itérative(s0)
s ← s0; amélioration ← .vrai.
while amélioration do
amélioration ← .faux.
for-all s’∈N(s) et amélioration =.faux. do
if f(s’) < f(s) then
s ← s’; amélioration ← .vrai.
end-if
end-for-all
end-while
return s
end Amélioration-Itérative
39
procedure Descente-Rapide(s0)
s ← s0; amélioration ← .vrai.
while amélioration do
amélioration ← .faux.; fmin ← +∞
for-all s’ ∈ N(s) do
if f(s’) < fmin then
smin ← s’; fmin ← f(s’)
end-if
end-for-all
if fmin < f(s) then
s ← smin ; amélioration ← .vrai.
end-if
end-while
return s
end Descente-Rapide 40
41
1243 1342
1234 1324
2314 3214
2341 3241
2431 3421
4231 4321
1423 1432
43
21 23
20 21
22 21 23 25
23 24
26 27
27 29
29 30
25 27 29 28
26 27
23 24
44
Voyageur de commerce symétrique
6 5
7
1 8 4
14
15 9
10
11
2 3
13
45
1243 1342
1234 1324
2314 3214
2341 3241
2431 3421
4231 4321
1423 1432
46
51 50
48 49
49 50 52 50
47 48
46 48
50 51
49 48
50 52 50 49
48 47
48 46
47
Voyageur de commerce asymétrique
0
6 65
65 27
24 2
1 82 45 4
0
4 80 79
62 31
96 41 96 16
2 3
7 64
48
1243 1342
1234 1324
2314 3214
2341 3241
2431 3421
4231 4321
1423 1432
49
161 164
35 113
252 271
157 201
305 243
272 328
152 236
206 293
50
Algorithmes de recherche locale
• Différents aspects de l’espace de recherche peuvent influencer la
performance d’un algorithme de recherche locale
52
Metaheuristiques
• GRASP
• Algorithmes génétiques
• Recuit simulé (simulated annealing)
• Recherche tabou
• VNS (Variable Neighborhood Search)
• Scatter search
• Colonies de fourmies
53
54
GRASP
• Recherche locale: amélioration des solutions construites lors de la
première phase
– choix du voisinage
– structures de données efficaces pour accélérer la recherche locale
– bonnes solutions de départ permettent d’accélérer la recherche locale
55
GRASP
• Technique d’échantillonage de l’espace de recherche
56
GRASP
• Implémentation simple : algorithme glouton + recherche locale
57
GRASP
• Parallélisation: simple et directe
• N itérations, p processeurs: chaque processeur fait N/p itérations
de la méthode
• A la fin, chaque processeur informe au maître la meilleure
solution qu’il a trouvée
58