Mod - PowerPoint PPT Presentation

1 / 115
About This Presentation
Title:

Mod

Description:

Affectation des tripulations aux vols dans les transports a riens. Affectation des avions ... Affectation des vols aux portes d'embarquement dans les a roports ... – PowerPoint PPT presentation

Number of Views:246
Avg rating:3.0/5.0
Slides: 116
Provided by: labora70
Category:
Tags: affectation | mod

less

Transcript and Presenter's Notes

Title: Mod


1
Modélisation et optimisation en logistique et
transports modèles, algorithmes approchés et
applications
  • Celso C. Ribeiro
  • DESS
  • E-Logistique
  • http//www.inf.puc-rio.br/celso

2
Contenu
  • Modèles et applications graphes et tournées
  • Complexité et heuristiques pour les problèmes
    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 daccès
  • Application 3 reroutage dans les réseaux de
    communication

3
Applications graphes et tournées
  • Problème du plus court cheminDonnées graphe
    orienté, sommets s et t, longueur dij associée à
    chaque arc (i,j) Problème trouver le plus court
    chemin de s a t.
  • Problème de larbre couvrant minimumDonnées
    graphe non-orienté, longueur dij associée à
    chaque arc (i,j) Problème déterminer un arbre
    de poids minimum pour connecter tous les sommets
    du graphe
  • Problème dordonnancement (PERT)Données
    ensemble de tâches, durées et précédencesProblème
    déterminer linstant où chaque tâche doit
    démarrer et le temps minimum dexécution de
    lensemble des tâches

4
Applications graphes et tournées
  • Problème du flot maximumDonnées graphe orienté,
    sommets s et t, capacité cij associée à chaque
    arc (i,j)Problème trouver le flot maximum qui
    peut être envoyé de s à t en respectant les
    contraintes de capacité sur les arcs
  • Problème de transportDonnées ensemble dusines,
    ensemble de clients, production maximale ai de
    chaque usine, demande bj de chaque client, coût
    unitaire cij denvoi dune unité de flot de
    lusine i au client j (représentation par un
    graphe biparti)Problème déterminer les
    quantités optimales à envoyer de chaque usine à
    chaque client

5
Applications graphes et tournées
  • Problème daffectationDonnées ensemble de
    tâches, ensemble de machines, gain (rendement)
    cij dassociation de la tâche i à la machine j
    (représentation par un graphe biparti)Problème
    déterminer la machine qui doit être affectée à
    chaque tâche, de façon à optimiser les gains
  • Problème de transbordement Données ensemble
    dusines, ensemble de clients, ensemble
    dentrepots, production maximale ai de chaque
    usine, demande bj de chaque client, coût unitaire
    cij denvoi dune unité de flot du sommet i au
    sommet j (représentation par un graphe
    non-biparti)Problème déterminer les quantités
    optimales à produire dans chaque usine et à
    envoyer sur chaque arcExtensions capacités sur
    les arcs, capacités sur les sommets, stockage

6
Applications graphes et tournées
  • Problème du flot à coût minimumDonnées ensemble
    dusines, ensemble de clients, ensemble
    dentrepots, production maximale ai de chaque
    usine, demande bj de chaque client, coût unitaire
    cij denvoi dune unité de flot du sommet i au
    sommet j, capacités minimales et maximales du
    flot sur chaque arc (représentation par un graphe
    non-biparti) Problème déterminer les quantités
    optimales à produire dans chaque usine et à
    envoyer sur chaque arc
  • Tous ces problèmes sont faciles, dans le sens
    où il existent des algorithmes efficaces pour les
    résoudre de façon exacte, basés sur la
    programmation linéaire.

7
Applications graphes et tournées
  • Problème du voyageur de commerceDonnées graphe
    orienté, longueur dij associée à chaque arc (i,j)
    Problème trouver un circuit Hamiltonien (tous
    les sommets du graphe sont visités exactement une
    seule fois) de longueur totale minimale.
  • Problème du postier chinoisDonnées graphe
    orienté, longueur dij associée à chaque arc (i,j)
    Problème trouver un circuit Eulérien (tous les
    arcs du graphe doivent être visités exactement
    une seule fois) de longueur totale
    minimale.(distribution de journaux, distribution
    du courrier, collecte des ordures)

8
Applications graphes et tournées
  • Problèmes de tournées de véhiculesDonnées
    ensemble de depôts, ensemble de véhicules, coûts
    dachat, coûts dutilisation, ensemble de
    clients, demande de chaque client, capacité de
    chaque véhicule, contraintes dhorairesProblème
    déterminer les trajets qui doivent être faits par
    chaque véhicule, de façon à minimiser les
    coûtsCaractéristiques des depôts quantité,
    localisation, horaires douverture clients
    délivrer/collecter, collecter et délivrer, durée
    du service, fenêtres de temps, contraintes
    daccès, véhicule unique, répartition de la
    demande véhicules types, capacités, coûts,
    quantités, disponibilité dans chaque depôt
    routes distances entre les clients, durée
    maximale, contraintes de précédence, périodicité
    et fréquence (déterminer les tournées pour une
    période de T jours, chaque client devant être
    visité N fois dans cette période)

9
Applications graphes et tournées
  • Problème de tournée de véhicules (cas le plus
    simple, sans contraintes) couvrir un ensemble de
    clients par un ensemble de tournées (chaque
    tournée correspond à un véhicule, sil existe un
    seul véhicule il sagit du problème du voyageur
    de commerce)

Depôt
10
Applications graphes et tournées
  • Problème daffectation (scheduling) de
    véhiculesDonnées ensemble de voyages, horaires,
    coûtsProblème affecter les véhicules aux
    voyages
  • Problème de SteinerDonnées graphe non-orienté,
    longueur dij associée à chaque arc (i,j),
    ensemble de sommets terminaux Problème
    déterminer un arbre de poids minimum pour
    connecter tous les sommets terminaux

11
Applications graphes et tournées
  • Quelques applications
  • Confection des horaires des chauffeurs dautobus
  • Transport scolaire
  • Transport de handicapés
  • Transport de marchandises
  • Affectation des tripulations aux vols dans les
    transports aériens
  • Affectation des avions aux vols
  • Affectation des vols aux portes dembarquement
    dans les aéroports
  • et beaucoup dautres
  • Tous ces problèmes sont difficiles, dans le
    sens où nous ne connaissons pas dalgorithme
    efficace pour les résoudre de façon exacte il
    faut donc faire appel aux méthodes approchées (ou
    heuristiques)

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

13
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 temps de calcul borné par un
    polynôme dans le nombre de données

14
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

15
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

16
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)

17
Théorie de la complexité
  • Classe NP problèmes de décision pour lesquels on
    connait des algorithmes déterministes polynomiaux
    pour vérifier si une solution mène à une réponse
    oui (on ne sait pas forcément calculer une
    solution, mais on sait la vérifier)

18
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

19
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 ces
    problèmes sont donc les plus difficiles de la
    classe NP.
  • 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?

20
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

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

22
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

23
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

24
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.

25
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
  • ALGORITHME DU PLUS PROCHE VOISIN (1-13)

26
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.

27
Choix du sommet
k
p
Choix des arêtes
k
i
j
p
28
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

29
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
30
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.
  • Lalgorithme glouton nobtient pas forcément une
    solution optimale

31
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

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

33
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)

34
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
  • Créer une liste de candidats L pour forcer un
    choix différent (aspect probabiliste) à chaque
    itération
  • Utiliser lalgorithme à plusieurs reprises, en
    obtenant des solutions différentes à 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

35
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
  • ALGORITHMES GLOUTONS RANDOMISÉS (14-26)

36
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

37
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
38
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

39
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

40
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

41
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)

42
Voisinages
43
Voisinages
44
Voisinages
45
Voisinages
46
Example problème du sac-à-dos
  • Entrées Ensemble 1,2,,n dobjetsPoids
    maximum bRevenu cj associé à chaque objet
    j1,,n Poids aj associé à chaque objet
    j1,,n
  • Problème doptimisation Trouver un ensemble S
    dobjets qui maximise le revenu total et dont la
    somme des poids soit inférieure a b
  • Applications
  • Choix dinvestissements
  • Optimisation dun portfolio dactions

47
Example problème du sac-à-dos
  • Algorithme glouton approché pour construire une
    solution réalisable
  • Trier les objets par revenus décroissants
  • Evaluer le premier objet de la liste.
  • Si son poids est inférieur ou égal au poids
    disponible, choisir cet objet.Sinon, éliminer
    cet objet et passer au suivant en retournant à
    létape 1.

48
Example problème du sac-à-dos
  • Example 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
  • objets triés par revenus 8, 6, 3, 7, 5, 1, 2, 4

solution 8, 3 revenu 15
49
Example problème du sac-à-dos
  • Algorithme glouton approché pour construire une
    solution réalisable
  • Trier les objets par revenus décroissants
  • Evaluer le premier objet de la liste.
  • Si son poids est inférieur ou égal au poids
    disponible, choisir cet objet.Sinon, éliminer
    cet objet et passer au suivant en retournant à
    létape 1.
  • Critère qui donne les meilleurs résultats trier
    les objets par densités (revenu/poids)
    décroissantes

50
Example problème du sac-à-dos
  • Example 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
  • objets triés par revenus 8, 6, 3, 7, 5, 1, 2, 4

solution 8, 3 revenu 15
densités des objets 1.67, 0.8, 0.86, 0.75,
2.5, 0.88, 1, 1.125
objets triés par densités 5, 1, 8, 7, 6, 3, 2, 4
solution 5, 1, 8 revenu 19
51
Voisinages
  • Espace de recherche défini par lensemble de
    solutions S et par un voisinage N
  • Exemple 1 problème du sac-à-dos vecteurs
    dappartenance 0-1 v(v1,,vi,,vn)vi 1, si
    lobjet i est choisivi 0, sinon
  • Solution voisine vi ? 1-vi
  • 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)

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

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

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

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

58
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.
  • Un chemin dans lespace de recherche est une
    séquence de solutions, deux solutions
    consécutives étant toujours voisines.

59
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

60
(No Transcript)
61
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.

62
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

63
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

64
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

65
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

66
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

67
1243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
68
21
23
20
21
22
25
21
23
23
24
27
26
27
29
29
30
25
28
27
29
26
27
24
23
69
Voyageur de commerce symétrique
0
6
5
7
8
1
4
14
9
15
10
11
3
2
13
70
1243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
71
51
50
48
49
49
50
50
52
47
48
48
46
50
51
49
48
50
49
52
50
48
47
46
48
72
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
73
1243
1342
1234
1324
2143
3142
2134
3124
2314
3214
3241
2341
2431
3421
4231
4321
2413
3412
4213
4312
4123
4132
1432
1423
74
161
164
35
113
241
347
179
170
252
271
157
201
305
243
272
328
154
182
272
306
152
236
293
206
75
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
  • Nombre de solutions voisines temps de calcul
    pour évaluer chaque voisin.
  • 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!)

76
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
  • ALGORITHME DE RECHERCHE LOCALE 2-OPT (27-30)
  • Extensions pour réduire ces difficultés et
    améliorer les algorithmes
    ? Metaheuristiques

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

78
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

79
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.

80
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

81
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

82
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

83
GRASP
  • Technique déchantillonage de lespace de
    recherche

84
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

85
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

86
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

87
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

88
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

89
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

90
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

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
Example
1
1
1
a
b
2
2
1
2
2
2
4
3
2
1
2
5
d
c
1
1
93
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
94
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
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
Réseau des terminaux
2
a
b
4
4
4
4
2
d
c
101
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!
102
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!
103
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.

104
Algorithmes génétiques
  • Population représentée par ses chromosomes
    chromosome ? individu
  • Des 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

105
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)

106
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.

107
Algorithmes génétiques
  • Crossover dun seul point
  • parents deux 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

108
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

109
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.

110
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)

111
Algorithmes génétiques
  • 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
  • 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

112
Algorithmes génétiques
  • Opérateur damélioration (par exemple, recherche
    locale) pour traiter chaque fils
  • Amélioration de la solution (fils)
  • Rendre la solution (fils) réalisable
  • 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)

113
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).

114
Heuristiques et metaheuristiques
  • http//www.inf.puc-rio.br/celso/disciplinas/heuri
    stiques.ppt

115
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
Write a Comment
User Comments (0)
About PowerShow.com