Heuristiques et Metaheuristiques - PowerPoint PPT Presentation

About This Presentation
Title:

Heuristiques et Metaheuristiques

Description:

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. ... – PowerPoint PPT presentation

Number of Views:1572
Avg rating:3.0/5.0
Slides: 105
Provided by: laboratrio3
Category:

less

Transcript and Presenter's Notes

Title: Heuristiques et Metaheuristiques


1
Heuristiques et Metaheuristiques
  • Celso C. Ribeiro
  • ISIMA
  • Clermont-Ferrand, 2002
  • http//www.inf.puc-rio.br/celso

2
Contenu
  • 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

3
Thé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.

4
Thé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

5
Thé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

6
Thé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

7
Thé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)

8
Thé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

9
Thé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?

10
Thé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

11
Théorie de la complexité
  • Vision simplifiée du monde des problèmes de
    décision

12
Solution 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

13
Solution 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

14
Mé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.

15
Mé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)
17
Mé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.

18
Choix du sommet
k
p
Choix des arêtes
k
i
j
p
19
Mé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

20
5/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
21
Mé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.

22
Mé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

23
Mé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)

24
Mé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)

25
Mé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

26
Mé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

27
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 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

28
Repré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
29
Repré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

30
Repré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

31
Voisinages
  • 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

32
Voisinages
  • 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)

33
Voisinages
34
Voisinages
35
Voisinages
36
Voisinages
37
Voisinages
  • 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)

38
100
101
000
001
010
011
110
111
39
Voisinages
  • Espace de recherche défini par lensemble de
    solutions S et par un voisinage N
  • Exemple 2
    permutations avec le voisinage N1

40
1243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
41
Voisinages
  • 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

42
Voisinages
  • Voisinage 2-opt pour le voyageur de commerce

43
Voisinages
  • Voisinage 3-opt pour le voyageur de commerce

44
Voisinages
  • 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.

45
Voisinages
  • 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

46
Algorithmes 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.

47
Algorithmes 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

48
Algorithmes 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

49
Algorithmes 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

50
Algorithmes 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

51
Algorithmes 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

52
21
23
20
21
22
25
21
23
23
24
27
26
27
29
29
30
25
28
27
29
26
27
24
23
53
Voyageur de commerce symétrique
0
6
5
7
8
1
4
14
9
15
10
11
3
2
13
54
1243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
55
51
50
48
49
49
50
50
52
47
48
48
46
50
51
49
48
50
49
52
50
48
47
46
48
56
Voyageur 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
57
1243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
58
161
164
35
113
241
347
179
170
252
271
157
201
305
243
272
328
154
182
272
306
152
236
293
206
59
Algorithmes 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!)

60
Algorithmes 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

61
Algorithmes 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

62
Metaheuristiques
  • Recuit simulé (simulated annealing)
  • Algorithmes génétiques
  • Recherche tabou
  • GRASP
  • VNS (Variable Neighborhood Search)
  • Scatter search
  • Colonies de fourmies

63
Algorithmes 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.

64
Algorithmes 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

65
Algorithmes 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)

66
Algorithmes 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.

67
Algorithmes 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

68
Algorithmes 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

69
Algorithmes 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.

70
Algorithmes 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)

71
Algorithmes 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

72
Algorithmes 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)

73
Problè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

74
Problè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
75
Problè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
76
Problè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

77
Problè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

78
Algorithmes 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).

79
Contenu
  • 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

80
Greedy 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

81
GRASP
  • 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.

82
GRASP
  • 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

83
GRASP
  • 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

84
GRASP
  • 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

85
GRASP
  • Technique déchantillonage de lespace de
    recherche

86
GRASP
  • 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

87
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 quil a trouvée

88
Problè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

89
Problè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

90
Problè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

91
Problè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
92
Problè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

93
Problè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
94
Problè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
95
Problè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
96
Problè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
97
Problè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
98
Problè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
99
Problè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
100
Problè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
101
Problème de Steiner dans les graphes
Réseau des terminaux
2
a
b
4
4
4
4
2
d
c
102
Problè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!
103
Problè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!
104
Heuristiques et metaheuristiques
  • http//www.inf.puc-rio.br/celso/disciplinas/heuri
    stiques.ppt
Write a Comment
User Comments (0)
About PowerShow.com