Title: Heuristiques et Metaheuristiques
1Heuristiques et Metaheuristiques
- Celso C. Ribeiro
- ISIMA
- Clermont-Ferrand, 2002
- http//www.inf.puc-rio.br/celso
-
2Contenu
- Théorie de la complexité
- Solution des problèmes NP-diffíciles
- Méthodes constructives
- Représentation de solutions
- Voisinages
- Algorithmes de recherche locale
- Metaheuristiques
- Algorithmes génétiques
- Application 1 routage dans lInternet
- GRASP
- Application 2 problème de Steiner dans les
graphes et la synthèse des réseaux daccess - Application 3 reroutage dans les réseaux de
communication
3Théorie de la complexité
- Problème de décision existe-t-il une solution
qui satisfait une certaine propriété? Résultat
oui ou non - Problème doptimisation parmi les solutions qui
satisfont une certaine propriété, trouver celle
qui optimise une certaine fonction de coût.
Résultat une solution réalisable optimale - Exemple problème du voyageur de commerce
Entrées n villes et distances cij Problème de
décision étant donné un entier L, existe-t-il
un cycle hamiltonien de longueur inférieure ou
égale à L? Problème doptimisation trouver un
cycle hamiltonien de longueur minimale.
4Théorie de la complexité
- Exemple Problème du sac-à-dos Entrées n
objets, poids maximum b, revenus cj et poids aj
associés à chaque objet j1,,n Problème de
décision étant donné un entier L, existe-t-il
un sous-ensemble S ? 1,,n tel que ?j?S aj ? b
et ?j?S cj ? L? Problème
doptimisation trouver un ensemble S qui
maximise ?j?S cj parmi tous les sous-ensembles
S ? 1,,n tels que ?j?S aj ? b. - Etude de la théorie de la complexité fondé sur
les problèmes de décision. - On dit quun algorithme (déterministe) pour un
certain problème de décision A est polynomial si
sa complexité de pire cas est bornée par un
polynôme p(L(IA)) dans la taille L(IA) de ses
entrées IA
5Théorie de la complexité
- Classe P problèmes de décision pour lesquels on
connait des algorithmes polynomiaux - Exemples de problèmes de la classe P triplus
court chemins dans um graphe arbre de poids
minimum flot maximum
programmation linéaire - Algorithmes non-déterministes utilisent les
commandes primitives
Choice - propose une solution
(oracle) Check - vérifie (en temps
polynomial) si une proposition de solution
(certificat) mène ou non à une réponse oui
Success - lalgorithme répond oui après
lapplication de Check
Fail - lalgorithme ne répond pas
oui
6Théorie de la complexité
- Résultat si Choice propose une solution qui mène
à une réponse oui (et loracle a la capacité de
le faire), alors le temps de calcul de
lalgorithme est polynomial. - Algorithmes non-déterministes on peut aussi dire
quil sagit de ceux qui utilisent une
instruction spéciale de déviation
inconditionnelle double
GO TO Label_A, Label_B
qui fonctionne comme
si elle créait deux copies (threads) du flot
dexecution, comme dans un environement de
parallélisme illimité, chaque copie correspondand
à une proposition (certificat) différente
possible de solution
7Théorie de la complexité
- Exemple problème du sac-à-dosfor j 1 to n
by 1
go to A,B
A xj ? 0
go to C
B xj ? 1
C continue
if a.x ? b and
c.x ? L then yes - Un algorithme non-déterministe est polynomial si
la première branche qui mène à une réponse oui
sarrête en temps polynomial. - Classe NP problèmes de décision pour lesquels on
connait des algorithmes non-déterministes
polynomiaux (problèmes de décision pour lesquels
nimporte quel certificat peut être vérifié en
temps polynomial pour une réponse oui)
8Théorie de la complexité
- Résultat P ? NP
- Ouvert P NP ou P ? NP ?
- Transformation polynomiale un problème de
décision A se transforme polynomialement dans un
autre problème de décision B si, quelle que soit
lentrée IA pour A, on peut toujours construire
une entrée IB pour B en temps polynomial dans la
taille L(IA) de lentrée IA, telle que IA est
une instance oui de A si et seulement si IB est
une instance oui de B. - Problèmes NP-complets un problème de décision A
? NP est NP-complet si tous les autres problèmes
de la classe NP se transforment polynomialmente
dans le problème A
9Théorie de la complexité
- Sil existe un algorithme (déterministe)
polynomial pour la résolution dun problème
NP-complet, alors tous les problèmes de la classe
NP peuvent être résolus en temps polynomial. - Exemples voyageur de commerce, sac-à-dos,
coloration des graphes, programmation en nombres
entiers, problème de Steiner dans les graphes - Il nexiste pas ou nous navons pas encore été
capables de trouver des algorithmes polynomiaux
pour les problèmes NP-complets. - Classe Co-NP problèmes de décison dont le
complément appartient à la classe NP Exemple
étant donné un graphe G, ce graphe ne possède
pas de cycle hamiltonien?
10Théorie de la complexité
- Problèmes NP-difficiles problèmes doptimisation
dont le problème de décision associé est
NP-complet - Classe PSPACE problèmes de décision qui peuvent
être résolus en utilisant une quantité
polynomiale de mémoireP ? PSPACE
NP ? PSPACE
11Théorie de la complexité
- Vision simplifiée du monde des problèmes de
décision
12Solution de problèmes NP-difficiles
- Algorithmes exacts non-polynomiaux programmation
dynamique, branch-and-bound, backtracking - Algorithmes pseudo-polynomiaux polynomiaux dans
la taille de l instance et dans la valeur de la
plus grande entrée Exemple problème du
sac-à-dos - Calcul parallèle accélération en pratique, mais
sans reduction de la complexité - Cas spéciaux polynomiaux coloration de graphes
dintervales - Algorithmes approximatifs solution réalisable
avec une erreur maximale garantieExemple bin
packing
13Solution de problèmes NP-difficiles
- Algorithmes probabilistes
convergence en valeur espérée convergence en
probabilité - Heuristiques toute méthode approchée basée sur
les propriétés structurelles ou sur les
charactéristiques des solutions des problèmes,
avec complexité inférieure à celles des
algorithmes exacts et donnant, en général, des
solutions réalisables de bonne qualité (sans
garantie de qualité)
méthodes constructives
recherche locale
metaheuristiques - Avances dans létude et le développement des
heuristiques
résoudre des problèmes plus grands
résoudre des problèmes plus
rapidement trouver de meilleures
solutions méthodes plus robustes
14Méthodes constructives
- Problème doptimisation combinatoire Etant
donnés un ensemble fini - E 1,2, ,n
- et une fonction de coût
- c 2E ? R,
- trouver
- S ? F tel que c(S) ? c(S) ?S ? F,
- où F ? 2E est lensemble des solutions
réalisables du problème - Ensemble de solutions a un nombre fini délements
- Construction dune solution
sélectionner séquentiellement des élements de E,
éventuellement en préjudice dautres déjà
sélectionnés antérieurement, de façon à ce que à
la fin on obtienne une solution réalisable, i.e.
appartenant à F.
15Méthodes constructives
- Problème du voyageur de commerce
- E ensemble darêtes
- F sous-ensembles de E qui forment un
- cicle hamiltonien (CH)
- c(S) ? e?S ce
- ce coût de larête e
-
16(No Transcript)
17Méthodes constructives
- Algorithme de linsertion la plus distante pour
la construction dune solution pour le problème
du voyageur de commerce - Etape 0
- Initialiser le cycle avec un seul sommet.
- Etape 1
- Trouver le sommet k parmi ceux qui
nappartiennent pas à la solution courante et
dont larête la plus courte qui le connecte à ce
cycle soit la plus longue. - Etape 2
- Trouver la paire darê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
larête (i,j). - Etape 3
- Retourner à létape 1.
18Choix du sommet
k
p
Choix des arêtes
k
i
j
p
19Méthodes constructives
- Problème du sac-à-dos
- E ensemble dobjets
- F sous-ensembles de E qui satisfont la
- contrainte ? e?S ae ? b
- c(S) ? e?S ce
- ce revenu associé à lobjet e
- ae poids de lobjet e
- b capacité du sac-à-dos
205/3
4/5
6/7
3/4
1
2
3
4
ce/ae
i
5/2
8/9
5/5
9/8
5
6
7
8
Capacité du sac-à-dos 15
Objet Poids
Revenu
3 7
6
3, 5 9
11
3, 5, 7 14
16
21Méthodes constructives
- Algorithmes gloutons
Lors de la construction dune solution,
ce type dalgorithme choisi séquentiellement
toujours lélément de E qui minimise
laugmentation du coût de la solution partielle
courante, de façon à ce que à la fin on obtienne
une solution réalisable. - Laugmentation dans le coût de la solution
partielle est la fonction gloutonne.
22Méthodes constructives
- Problème de larbre 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 darêtes
- F sous-ensembles de E qui forment des arbres
générateurs -
23Méthodes constructives
- Algorithme glouton pour la construction dun
arbre de poids minimum (Kruskal) - Etape 0
- Trier les arêtes de E de façon à ce que
c1 ? c2 ?...? cn - T ? ?
- Etape 1
- Pour i de 1 à n faire
- Si T ? ei ? F
- alors T ? T ? ei
- Note
- La solution T est une solution optimale
- Fonction gloulonne ce (poids de larête)
24Méthodes constructives
- Algorithme glouton pour la construction dune
solution réalisable pour le problème du sac-à-dos - Etape 0
- Trier les éléments de E de façon à ce que c1/a1
? c2/a2 ? ... ? cn/an - S ? ?
- Etape 1
- Pour i de 1 à n faire
- Si S ? ei ? F
- alors S ? S ? ei
- Note
- La solution S nest pas forcément une solution
optimale - Fonction gloutonne ce/ae(densité de lélément)
25Méthodes constructives
- Algorithme glouton randomisé (probabiliste)
- Algorithme glouton obtient toujours la même
solution pour un problème donné - Randomisation permet davoir de la diversité dans
les solutions obtenues (Le Petit Robert
randomisation hasardisation)
- Créer une liste de candidats L pour forcer un
choix différent (aspect probabiliste) à chaque
itération - La qualité de la meilleure solution dépend de la
qualité des éléments dans la liste de candidats - La diversité des solutions obtenues dépend de la
cardinalité de la liste L - Cas extrêmes - algorithme glouton pur
- - solution totalement
aléatoire
26Méthodes constructives
- Algorithme glouton randomisé (minimisation)
- Etape 0
- Trier les éléments de E de façon à ce que
c1 ? c2 ?...? cn - S ? ?
- Etape 1
- Pour i de 1 à n faire
- Créér une liste L ? 1,2,,n \ S
telle que S ? e ? F, ?e ? L - Choisir au hasard un élément e ? L
- Si S ? e ? F
- alors S ? S ? e
27Repré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 dune solution indiquer les
éléments de E qui appartiennent à la solution et
ceux qui ny appartiennent pas. - Problème du sac-à-dos n objets, vecteur
0-1 de n éléments, xj 1 si lobjet j
appartient à la solution, xj 0 sinon
28Représentation de solutions
- Problème du voyageur de commerce
- E ensemble darêtes
- F sous-ensembles de E qui forment un
- circuit hamiltonien (CH)
- Une solution est un vecteur de n E éléments
- ve 1, si larête e appartient au CH
- ve 0, sinon.
- Solutions réalisables (parmi 64 possibilités)
- (1,1,1,1,0,0), (1,0,1,0,1,1), (0,1,0,1,1,1)
1
a
b
5
2
4
6
d
c
3
29Représentation de solutions
- Autre représentation pour les solutions du
problème du voyageur de commerce représenter
chaque solution par lordre 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
30Représentation de solutions
- Indicateurs 0-1 dappartenance
- Problème du sac-à-dos
- Problème de Steiner dans les graphes
- Problèmes de recouvrement et de partitionement
- Indicateurs généraux dappartenance
- Partitionement de graphes
- Coloration de graphes
- Clustering
- Permutations
- Problèmes dordonnancement
- Job/Flow/Open Shop Scheduling
- Problème du voyageur de commerce
31Voisinages
- Problème combinatoire
f(s) minimum f(s) s ? S
S est un ensemble fini de solutions - Voisinage élément qui introduit la notion de
proximité entre les solutions de S. - Le voisinage dune solution s ? S est un
sous-ensemble de S - N S ? 2S
- N(s) s1,s2,,sk solutions voisines de s
- Les bons voisinages permettent de représenter de
forme efficace et compacte lensemble des
solutions voisines à toute solution s
32Voisinages
- Voisinages dans lespace des permutations
- Solution ?(?1,,?i -1,?i,?i 1,,?j,,?n)
- N1(?)(?1,,?i1,?i ,,?n) i1,, n-1
- Voisins de (1,2,3,4) (2,1,3,4),(1,3,2,4),
(1,2,4,3) - N2(?)(?1,,?j,...,?i,,?n) i1,,n-1
ji1,,n - Voisins de (1,2,3,4) (2,1,3,4),(1,3,2,4),
(1,2,4,3),(3,2,1,4),(1,4,3,2),(4,2,3,1) - N3(?)(?1,, ?i -1,?i 1,,?j,?i,,?n)
i1,,n-1 ji1,,n
Voisins de (1,2,3,4) (2,1,3,4),(2,3,1,4),
(2,3,4,1),(1,3,2,4),(1,3,4,2),(1,2,4,3)
33Voisinages
34Voisinages
35Voisinages
36Voisinages
37Voisinages
- Espace de recherche défini par lensemble de
solutions S et par un voisinage N - Exemple 1 vecteurs dappartenance 0-1
v(v1,,vi,,vn) - N4(v)(v1,,1-vi,,vn) i1,..,n
- Voisins de (1,0,1,1)
(0,0,1,1),(1,1,1,1),(1,0,0,1),(1,0,1,0)
-
-
38100
101
000
001
010
011
110
111
39Voisinages
- Espace de recherche défini par lensemble de
solutions S et par un voisinage N - Exemple 2
permutations avec le voisinage N1 -
-
401243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
41Voisinages
- Espace de recherche défini par lensemble de
solutions S et par un voisinage N - Exemple 3
Voisinages 2-opt et 3-opt pour le voyageur de
commerce -
-
42Voisinages
- Voisinage 2-opt pour le voyageur de commerce
43Voisinages
- Voisinage 3-opt pour le voyageur de commerce
44Voisinages
- Lespace 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. - Cet espace peut être vu aussi comme une surface
avec des cols et des sommets, définis par la
valeur des solutions et par la proximité (les
relations de voisinage) entre elles. - Un chemin dans lespace de recherche est une
séquence de solutions, deux solutions
consécutives étant toujours voisines.
45Voisinages
- Optimum local une solution aussi bonne que
toutes les voisines - Problème de minimisation
- s est un optimum local
- ??
- f(s) ? f(s), ?s ? N(s)
- Optimum global (solution optimale) s
- f(s) ? f(s), ?s ? S
46Algorithmes de recherche locale
- Les algorithmes de recherche locale sont conçus
comme une stratégie pour explorer lespace de
recherche. - Départ solution initiale obtenue par une méthode
constructive - Itération amélioration de la solution courante
par une recherche dans son voisinage - Arrêt premier optimum local trouvé (il ny a pas
de solution voisine meilleure que la solution
courante) - Heuristique subordonnée utilisée pour obtenir une
solution meilleure dans le voisinage de la
solution courante.
47Algorithmes de recherche locale
- Questions fondamentales
- Définition du voisinage
- Stratégie de recherche dans le voisinage
- Complexité de chaque itération
- Dépend du nombre de solutions dans le voisinage
- Dépend du calcul efficace du coût de chaque
solution voisine
48Algorithmes de recherche locale
- Amélioration itérative à chaque itération,
sélectionner dans le voisinage une solution
meilleure que la solution courante - procedure Amélioration-Itérative(s0)
- s ? s0 amélioration ? .vrai.
- while amélioration do
- amélioration ? .faux.
- for-all s?N(s) e amélioration .faux. do
- if f(s) lt f(s) then
- s ? s amélioration ? .vrai.
- end-if
- end-for-all
- end-while
- return s
- end Amélioration-Itérative
49Algorithmes de recherche locale
- Descente la plus rapide à chaque itération,
sélectionner la meilleure solution du voisinage - 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) lt fmin then
- smin ? s fmin ? f(s)
- end-if
- end-for-all
- if fmin lt f(s) then
- s ? smin amélioration ? .vrai.
- end-if
- end-while
- return s
- end Descente-Rapide
50Algorithmes de recherche locale
- Exemple algorithme de descente la plus rapide
appliqué à un problème dordonnancement - Espace de recherche permutations des n éléments
- Solution ?(?1,,?i -1,?i,?i 1,,?j,,?n)
- Voisinage
N1(?)(?1,,?i1,?i ,,?n) i1,, n-1 - Coût dune permutation
f(?) ?i1,,n i.?i
51Algorithmes de recherche locale
- procedure RL-Perm-N1(?0)
- ? ? ?0 amélioration ? .vrai.
- while amélioration do
- amélioration ? .faux. fmin ? ?
- for i 1 to n-1 do
- ? ? ? ?i ? ?i1 ?i1 ? ?i
- if f(?) lt fmin then
- ?min ? ? fmin ? f(?)
- end-if
- end-for
- if fmin lt f(?) then
- ? ? ?min amélioration ? .vrai.
- end-if
- end-while
- ? ? ?
- return ?
- end RL-Perm-N1
5221
23
20
21
22
25
21
23
23
24
27
26
27
29
29
30
25
28
27
29
26
27
24
23
53Voyageur de commerce symétrique
0
6
5
7
8
1
4
14
9
15
10
11
3
2
13
541243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
5551
50
48
49
49
50
50
52
47
48
48
46
50
51
49
48
50
49
52
50
48
47
46
48
56Voyageur de commerce asymétrique
0
6
65
65
27
24
2
45
82
1
4
0
4
80
79
31
62
96
41
16
96
3
2
7
64
571243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
58161
164
35
113
241
347
179
170
252
271
157
201
305
243
272
328
154
182
272
306
152
236
293
206
59Algorithmes de recherche locale
- Différents aspects de lespace de recherche
peuvent influencer la performance dun algorithme
de recherche locale - Connexité il doit y avoir un chemin entre chaque
paire de solutions de lespace de recherche - Distance entre deux solutions nombre de sommets
visités sur le chemin le plus court entre elles. - Diamètre distance entre les deux solutions les
plus eloignées (diamètres réduits!)
60Algorithmes de recherche locale
- Dificultés
- Arrêt prématuré sur le premier optimum local
- Sensibles à la solution de départ
- Sensibles au voisinage choisi
- Sensible à la stratégie de recherche
- Nombre ditérations
61Algorithmes de recherche locale
- Extensions pour réduire les difficultés des
algorithmes de recherche locale - Réduction des voisinages considérer un
sous-ensemble du voisinage (e.g. par
randomisation) - Accepter parfois des solutions qui naméliorent
pas la solution courante, de façon à pouvoir
sortir dun optimum local. - Multi-départ appliquer lalgorithme de recherche
locale à partir de plusieurs solutions de départ - Multi-voisinages dynamiques changer de
définition de voisinage après avoir obtenu un
optimum local (ex. 2-opt, après 3-opt) - ? Metaheuristiques
-
62Metaheuristiques
- Recuit simulé (simulated annealing)
- Algorithmes génétiques
- Recherche tabou
- GRASP
- VNS (Variable Neighborhood Search)
- Scatter search
- Colonies de fourmies
63Algorithmes génétiques
- Algorithme probabiliste basé sur lanalogie avec
le processus dévolution naturelle. - Les populations évoluent selon les principes de
sélection naturelle et de survivance des
individus les plus adaptés (survival of the
fittest) (évolution des propriétés génétiques de
la population). -
- Les individus les plus adaptés à lenvironement
ont plus de chances de survivre et de se
reproduire. Les gènes des individus les plus
adaptés vont se distribuer sur un plus grand
nombre dindividus des prochaines générations. - Les espèces évoluent en sadaptant de plus en
plus à leur environement.
64Algorithmes génétiques
- Population représentée par ses chromosomes
chromosome ? individu - De nouveaux chromosomes sont généres à partir de
la population courante, tandis que dautres en
sont exclus. La génération des nouveaux
chromosomes est faite par reproduction et par
mutation. - Représentation dun chromosome séquence de 0s
et de 1s (équivalent à un vecteur
dappartenance) - Reproduction sélectioner les parents et
effectuer une opération de crossover, qui est une
combinaison simple des représentations de chaque
chromosome - Mutation modification arbitraire dune petite
partie dun chromosome
65Algorithmes génétiques
- Algorithme de base
- Générer une population initiale
- while critère-darrêt do
- Choisir les chromosomes parents
- Faire le crossover des parents
- Générer les mutations
- Evaluer chaque nouvel individu
- Mise à jour de la population
- end-while
- Paramètres
- taille de la population (nombre dindividus)
- critère de sélection
- critère de survivance
- taux de mutation
- critère darrêt (stabilisation de la population,
pas damélioration de la meilleure solution,
nombre de générations)
66Algorithmes génétiques
- Fonction dadaptation (fitness) utilisée...
- pour évaluer la qualité génétique des
chromosomes, correspondant à la fonction de coût
dans les problèmes d optimisation combinatoire - lors de la sélection des parents
- pour décider si un chromosome généré par une
opération de crossover doit remplacer lun des
parents. -
- Crossover opération randomisée, les individus
les plus adaptés ayant plus de chances dy
participer. - Crossover uniforme chaque gène (bit) dun fils
est une copie du gène correspondant dun de ses
parents choisi au hasard.
67Algorithmes génétiques
- Crossover dun seul point
- parents 2 chromosomes de n bits
- a (a1,,ak,,an) b (b1,,bk,,bn)
- opération k ? 1,,n choisi au hasard
- fils
- (a1,,ak,bk1,,bn) (b1,,bk,ak1,,an)
- Crossover de deux (ou plus) points
- Crossover par fusion comme le premier
(uniforme), mais la probabilité de choix de
chaque parent est proportionelle à la valeur de
sa fonction dadaptation - Utilisation de consensus copier les bits communs
aux deux parents
68Algorithmes génétiques
- Dificulté comment faire pour traiter les
contraintes et les solutions qui ne sont pas
réalisables? - utiliser une représentation qui puisse garantir
automatiquement que toutes les solutions
représentables soient réalisables - utiliser un opérateur heuristique qui puisse
transformer chaque solution non-réalisable en une
autre qui soit réalisable (exemple dans le cas
du problème du sac-à-dos, enlever des objets
sélectionnés) - utiliser une fonction de pénalisation pour
modifier la valeur de la fonction dadaptation de
toute solution non-réalisable - Rien nempêche lemploi de méthodes
doptimisation dans les algorithmes génétiques
(plus dintelligence) - recherche locale après les crossovers et les
mutations - Choix optimal des parents
69Algorithmes génétiques
- Mutation normalement implémentée comme la
complémentation de bits des individus de la
population. - Sélection au hasard des bits à modifier très
faible fraction des individus de la population - Les mutations ne sont pas soumises aux tests
dadaptation la reproduction mène lévolution à
une population homogêne. Les mutations permettent
dintroduire un peu de diversité dans la
population. - Les critères de mise à jour de la population
peuvent aussi permettre que les fils et les
parents restent dans la population, les individus
les moins aptes étant eliminés.
70Algorithmes génétiques
- Exemple problème du sac-à-dos
- Crossover avec k 4
- Parent 1 (0,1,0,1,1,0,1,1)
- Parent 2 (1,0,0,0,0,1,1,0)
-
- Fils 1 (0,1,0,1,0,1,1,0)
- Fils 2 (1,0,0,0,1,0,1,1)
- Mutation du 5ème. bit
- (1,0,0,0,1,0,1,1) ? (1,0,0,0,1,0,1,1)
71Algorithmes génétiques
- Représentations plus efficaces
- représentation de solutions par des vecteurs
dappartenance sur plusieurs problèmes, la
modification des chromosomes (par crossover ou
mutation) mène souvent à des solutions qui ne
sont pas réalisables - traitement des solutions non-réalisables
- utilisation dautres représentations
- Génération de la population initiale
- au départ, individus tirés au hasard
- utilisation de quelques heuristiques, telles que
les algorithmes gloutons randomisés -
72Algorithmes génétiques
- Crossover optimisé utiliser plus
dintelligence dans cette opération, par
exemple, par un algorithme de recherche locale. - Sélection des parents par compatibilité choisir
un parent, puis choisir lautre comme lindividu
le plus compatible - Opérateur damélioration (par exemple, recherche
locale) pour traiter chaque fils - Mutation estatique (probabilité constante de
changer un bit) ou mutation adaptative (appliquer
lopérateur de mutation sur quelques bits
sélectionnés, pour garantir lobtention de
solutions réalisables)
73Problème de Steiner dans les graphes
- Problème de Steiner dans les graphes
- graphe non-orienté G(V,E)
- V sommets
- E arêtes
- T terminaux (obligatoires)
- ce poids de larête e ? E
- Obtenir un arbre couvrant des sommets terminaux
de poids minimum - (cas particulier si T V, problème de larbre
couvrant de poids minimum) - Sommets de Steiner sommets non- obligatoires qui
font partie de la solution optimale - Applications projet des réseaux dordinateurs et
de télécommunications, problème de la phylogénie
en biologie
74Problème de Steiner dans les graphes
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
75Problème de Steiner dans les graphes
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
76Problème de Steiner dans les graphes
- Charactérisation dune solution
- X ? V sous-ensemble des sommets
non-obligatoires - Arbre de Steiner
- ??
- Arbre qui connecte les sommets terminaux
(obligatoires) en utilisant un sous-ensemble X de
sommets non-obligatoires - Chaque arbre de Steiner peut être charactérisé
par le sous-ensemble de somments non-obligatoires
utilisés - Arbre de Steiner optimal
- ??
- Arbre couvrant de poids minimum connectant les
sommets terminaux (obligatoires) en utilisant le
sous-ensemble optimal X de sommets
non-obligatoires
77Problème de Steiner dans les graphes
- V p
- Solution s (s1,s2,,si,,sp) ? X
- Représentation par un indicateur 0-1
dappartenance - si 1, si le i-ème sommet non-obligatoire est
utilisé (i.e., si vi ? X) - si 0, sinon
- Voisinage toutes les solutions qui peuvent être
obtenues par linsertion ou lélimination dun
sommet non-obligatoire de la solution courante - Modifications par insertion
- Modifications par élimination
78Algorithmes génétiques
- Calcul parallèle repartir la population en
plusieurs sous-population qui évoluent en
parallèle, avec des échanges éventuels de
quelques individus - Modèle distribué utilisation du parallélisme au
niveau des populations (island model, puisque
la population est repartie en plusieurs
sous-populations, comme si chacune occupait une
île différente).
79Contenu
- Théorie de la complexité
- Solution des problèmes NP-diffíciles
- Méthodes constructives
- Représentation de solutions
- Voisinages
- Algorithmes de recherche locale
- Metaheuristiques
- Algorithmes génétiques
- Application 1 routage dans lInternet
- GRASP
- Application 2 problème de Steiner dans les
graphes et la synthèse des réseaux daccess - Application 3 reroutage dans les réseaux de
communication
80Greedy Randomized Adaptive Search Procedures
(GRASP)
- Combinaison dune méthode constructive avec une
approche par recherche locale, dans une procédure
itérative (multi-départ) où les itérations sont
totalement indépendantes les unes des autres - (a) construction dune solution
- (b) recherche locale
- Algorithme de base
-
- f(s) ? ?
- for i 1,,N do
- Construire une solution s en utilisant un
algorithme glouton randomisé - Appliquer une procédure de recherche locale à
partir de s, pour obtenir la solution s - if f(s) lt f(s) then s ? s
- end-for
81GRASP
- Phase de construction construire une solution
réalisable, un élément à la fois - Chaque itération
- évaluer le bénéfice de chaque élément en
utilisant une fonction gloutonne - créer une liste restricte de candidats, formée
par les éléments avec les meilleures évaluations - sélectionner de façon probabiliste un élément de
la liste restricte de candidats - adapter la fonction gloutonne après lutilisation
de lélément choisi - Choix de lélément qui sera inclus dans la
solution lors de la prochaine itération de la
méthode constructive les éléments qui ne font
pas encore partie de la solution sont placés dans
une liste et triés par rapport aux valeurs des
évaluations gloutonnes.
82GRASP
- Restriction des éléments dans la lista de
candidats - nombre maximum déléments dans la liste
- qualité des éléments dans la liste (par rapport
au choix exclusivement glouton)cmin bénefice
minimum parmi tous les élémentscmax bénefice
maximum parmi tous les éléments - Paramètre a permet de controler la qualité des
éléments dans la liste de candidats Liste
éléments j cj cmin a . (cmax
- cmin) a 0 choix glouton a 1 choix
probabiliste
83GRASP
- Choix probabiliste entre les meilleurs éléments
de la liste de candidats (pas forcément le
meilleur, comme cest le cas du choix
exclusivement glouton) - la qualité moyenne de la solution dépend de la
qualité des éléments dans la liste - la diversité des solutions construites dépend du
nombre déléments dans la liste - Diversification basée sur la randomisation
controlée différentes solutions construites lors
de différentes iterations GRASP
84GRASP
- Construction gloutonne bonnes solutions (près
des optima locaux), permettant daccélérer la
recherche locale - 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 daccélérer
la recherche locale - Utilisation dun algorithme glouton randomisé
lors de la phase de construction permet
daccélérer la recherche locale
85GRASP
- Technique déchantillonage de lespace de
recherche
86GRASP
- Implémentation simple
algorithme glouton recherche locale - Algorithmes gloutons faciles de construire et
implémenter - Peu de paramètres à régler
- restrictivité de la liste de candidats
- nombre ditérations
- Dépend de bonnes solutions de départ
- Desavantage nutilise pas de mémoire
87GRASP
- 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 quil a trouvée
88Problème de Steiner dans les graphes
- Problème de Steiner dans les graphes
- graphe non-orienté G(V,E)
- V sommets
- E arêtes
- T terminaux (obligatoires)
- ce poids de larête e ? E
- Obtenir un arbre couvrant des sommets terminaux
de poids minimum - (cas particulier si T V, problème de larbre
couvrant de poids minimum) - Sommets de Steiner sommets non- obligatoires qui
font partie de la solution optimale - Applications projet des réseaux dordinateurs et
de télécommunications, problème de la phylogénie
en biologie
89Problème de Steiner dans les graphes
- Charactérisation dune solution
- X ? V sous-ensemble des sommets
non-obligatoires - Arbre de Steiner
- ??
- Arbre qui connecte les sommets terminaux
(obligatoires) en utilisant un sous-ensemble X de
sommets non-obligatoires - Chaque arbre de Steiner peut être charactérisé
par le sous-ensemble de somments non-obligatoires
utilisés - Arbre de Steiner optimal
- ??
- Arbre couvrant de poids minimum connectant les
sommets terminaux (obligatoires) en utilisant le
sous-ensemble optimal X de sommets
non-obligatoires
90Problème de Steiner dans les graphes
- GRASP
- phase de construction
- recherche locale
- Phase de construction
- (a) construire un réseau les sommets sont les
terminaux, il existe une arête entre chaque paire
de terminaux et son poids est égal au plus court
chemin entre ces terminaux dans le graphe
original - (b) obtenir un arbre couvrant de poids minimum de
ce graphe, en utilisant une version randomisée de
lalgorithme glouton de Kruskal - (c) récuperer les arêtes de la solution comme des
chemins dans graphe original pour obtenir un
arbre de Steiner
91Problème de Steiner dans les graphes
a
3
2
b
c
1
2
2
a
3
4
c
b
4
a
3
2
b
c
1
2
2
92Problème de Steiner dans les graphes
- Voisinage pour la phase de recherche locale
toutes les solutions qui peuvent être obtenues
par linsertion ou lélimination dun sommet
non-obligatoire de la solution courante
93Problème de Steiner dans les graphes
Example
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
94Problème de Steiner dans les graphes
Solution optimale
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
95Problème de Steiner dans les graphes
Plus courts chemins
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
96Problème de Steiner dans les graphes
Plus courts chemins
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
97Problème de Steiner dans les graphes
Plus courts chemins
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
98Problème de Steiner dans les graphes
Plus courts chemins
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
99Problème de Steiner dans les graphes
Plus courts chemins
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
100Problème de Steiner dans les graphes
Plus courts chemins
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
101Problème de Steiner dans les graphes
Réseau des terminaux
2
a
b
4
4
4
4
2
d
c
102Problème de Steiner dans les graphes
Itération 1
Eliminer 1?
Non!
Non!
Eliminer 2?
Non!
Eliminer 5?
Non!
Insérer 3?
Insérer 4?
Non!
103Problème de Steiner dans les graphes
Itération 2
Eliminer 1?
Non!
Oui coût6!
Eliminer 2?
Non!
Eliminer 5?
Oui coût8
Eliminer 3?
Insérer 4?
Non!
104Heuristiques et metaheuristiques
- http//www.inf.puc-rio.br/celso/disciplinas/heuri
stiques.ppt