4
Ecole Nationale Sup´ erieure en G´ enie des Syst` emes Industriels Optimisation et recherche op´ erationnelle Partie 2 : El´ ements de th´ eorie des graphes Didier Maquin Octobre 2009 Probl` emes de cheminement Objectif : impl´ ementer “` a la main”, un algorithme de cheminement (en particulier l’algorithme de Ford) pour la recherche de chemins de longueur minimale ou maximale, ou pour d´ eterminer les niveaux d’un graphe. Algorithme de Ford : on consid` ere un graphe G dont les arcs sont valu´ es positivement par une fonction d . On se fixe un sommet a qui sera le sommet de d´ epart et on cherche, pour tout sommet x , un chemin de longueur minimale joignant a ` a x . Pour eectuer cette recherche, on d´ efinit, sur tous les sommets du graphe, une fonction p (le “potentiel”), telle que p(x ) repr´ esente la longueur du plus court chemin reliant a ` a x . De fa¸con assez intuitive, on peut alors ´ ecrire : 1 p(a)=0 2 pour tout sommet x poss´ edant des ant´ ec´ edents, p(x )= min(p(y )+ d (y , x )) o` u y est un ant´ ec´ edent de x . Probl` emes de cheminement Exemple Consid´ erons le graphe G ecrit par la table de listes d’ant´ ec´ edents ci-dessous. On a ´ egalement fait figurer dans cette table les di´ erentes valeurs de potentiel pour une recherche des chemins minimaux issus de a. a b c d e f a 5 b 4 e 3 a 6 c 4 Γ -1 d 1 b 2 d 4 e 2 P 0 0 +++++P 1 0 5 9 +6 13 P 2 0 5 8 9 6 12 P 3 0 5 8 9 6 12 La suite est stationnaire ` a partir du rang 3 et l’on obtient ainsi les longueurs des chemins minimaux issus du sommet a. Probl` emes de cheminement Exercice n˚1 : Recherche de chemins optimaux Consid´ erons le graphe G ecrit par la table des ant´ ec´ edents de chaque sommet : a b c d e f g h i a 2 b 3 c 2 d 3 f 3 g 3 h 3 Γ -1 f 1 a 6 h 4 i 3 b 1 g 5 Question 1 Donner la longueur des chemins minimaux (de longueur minimale) reliant le sommet a aux autres sommets du graphe ; tous les sommets sont-ils reli´ es au sommet a ? Question 2 eme question si f est le sommet de d´ epart. Question 3 Donner la longueur des chemins maximaux reliant le sommet b aux autres sommets du graphe.

Complements GSI

Embed Size (px)

Citation preview

  • Ecole Nationale Superieure en Genie des Syste`mes Industriels

    Optimisation et recherche operationnellePartie 2 : Elements de theorie des graphes

    Didier Maquin

    Octobre 2009

    Proble`mes de cheminement

    Objectif : implementer a` la main, un algorithme de cheminement (enparticulier lalgorithme de Ford) pour la recherche de chemins delongueur minimale ou maximale, ou pour determiner les niveaux dungraphe.

    Algorithme de Ford : on conside`re un graphe G dont les arcs sont valuespositivement par une fonction d .

    On se fixe un sommet a qui sera le sommet de depart et on cherche,pour tout sommet x , un chemin de longueur minimale joignant a a` x .

    Pour effectuer cette recherche, on definit, sur tous les sommets dugraphe, une fonction p (le potentiel), telle que p(x) represente lalongueur du plus court chemin reliant a a` x .

    De facon assez intuitive, on peut alors ecrire :1 p(a) = 02 pour tout sommet x possedant des antecedents,

    p(x) = min(p(y) + d(y , x)) ou` y est un antecedent de x .

    Proble`mes de cheminement

    Exemple

    Considerons le graphe G decrit par la table de listes dantecedentsci-dessous. On a egalement fait figurer dans cette table les differentes valeursde potentiel pour une recherche des chemins minimaux issus de a.

    a b c d e fa 5 b 4 e 3 a 6 c 4

    1 d 1 b 2 d 4e 2

    P0 0 + + + + +P1 0 5 9 + 6 13P2 0 5 8 9 6 12P3 0 5 8 9 6 12

    La suite est stationnaire a` partir du rang 3 et lon obtient ainsi les longueursdes chemins minimaux issus du sommet a.

    Proble`mes de cheminement

    Exercice n 1 : Recherche de chemins optimaux

    Considerons le graphe G decrit par la table des antecedents de chaquesommet :

    a b c d e f g h ia 2 b 3 c 2 d 3 f 3 g 3 h 3

    1 f 1 a 6 h 4 i 3 b 1 g 5

    Question 1Donner la longueur des chemins minimaux (de longueur minimale) reliant lesommet a aux autres sommets du graphe ; tous les sommets sont-ils relies ausommet a ?

    Question 2Meme question si f est le sommet de depart.

    Question 3Donner la longueur des chemins maximaux reliant le sommet b aux autressommets du graphe.

  • Proble`mes de cheminement

    Exercice n 1 : Recherche de chemins optimaux

    Considerons le graphe G decrit par la table des antecedents de chaquesommet :

    a b c d e f g h ia 2 b 3 c 2 d 3 f 3 g 3 h 3

    1 f 1 a 6 h 4 i 3 b 1 g 5

    Dessin du graphe

    a 2

    6 3

    2

    1

    3

    4 3

    1

    3

    3

    3 5

    b

    c d

    e

    f

    gh

    i

    Proble`mes de cheminement

    Exercice n 1 : Recherche de chemins optimaux

    Question 1

    Longueur des chemins minimaux reliant le sommet a aux autres sommets dugraphe.

    a b c d e f g h ia 2 b 3 c 2 d 3 f 3 g 3 h 3

    1 f 1 a 6 h 4 i 3 b 1 g 5P0 0 P1 0 2 5 7 10 3 6P2 0 2 5 7 9 3 6P3 0 2 5 7 9 3 6

    Les sommets f et g ne sont pas relies a` a.

    Proble`mes de cheminement

    Exercice n 1 : Recherche de chemins optimaux

    Question 2

    Longueur des chemins minimaux reliant le sommet f aux autres sommets dugraphe.

    a b c d e f g h ia 2 b 3 c 2 d 3 f 3 g 3 h 3

    1 f 1 a 6 h 4 i 3 b 1 g 5P0 0 P1 1 4 6 9 0 3 2 5P2 1 4 6 8 0 3 2 5P3 1 4 6 8 0 3 2 5

    Seul le sommet a nest pas relie a` f .

    Proble`mes de cheminement

    Exercice n 1 : Recherche de chemins optimaux

    Question 3

    Longueur des chemins maximaux reliant le sommet b aux autres sommets dugraphe.

    a b c d e f g h ia 2 b 3 c 2 d 3 f 3 g 3 h 3

    1 f 1 a 6 h 4 i 3 b 1 g 5P0 0 P1 0 3 5 8 1 4P2 0 3 5 8 1 4

  • Proble`mes de cheminement

    Exercice n 2 : Determination des niveaux dun graphe

    Considerons le graphe G decrit par la table des antecedents suivante :

    a b c d e f g h ic 2 e 3 e 2 g 5 h 4 i 1 i 2

    1 d 4 h 5 f 1 h 3 g 3 a 1f 5

    Question 1Donner la longueur des chemins minimaux reliant le sommet a aux autressommets du graphe.Question 2Determiner les niveaux de ce graphe. On rappelle que les sommets sanspredecesseurs sont situes au niveau 0 (racines) et que le niveau des autressommets est defini par la longueur du chemin maximum, compte en nombredarcs, entre une racine et ces sommets. On proposera une initialisationpermettant de repondre a` la question posee.Question 3Reprendre la question n 1 en examinant maintenant les sommets non paspar ordre alphabetique, mais selon lordre defini par leur niveau. Queconstate-t-on ?

    Proble`mes de cheminement

    Exercice n 2 : Determination des niveaux dun graphe

    Question 1Longueur des chemins minimaux reliant le sommet a aux autres sommets dugraphe.

    a b c d e f g h ic 2 e 3 e 2 g 5 h 4 i 1 i 2

    1 d 4 h 5 f 1 h 3 g 3 a 1f 5

    P0 0 P1 0 1 P2 0 6 4 5 1 P3 0 8 6 6 4 5 1 P4 0 8 6 6 4 5 1

    Proble`mes de cheminement

    Exercice n 2 : Determination des niveaux dun graphe

    Question 2Pour determiner les niveaux du graphe, on calcule les chemins maximauxavec toutes les longueurs fixees a` 1 et en posant P0(a) = P0(i) = 0(sommets sans predecesseurs).

    a b c d e f g h ic 1 e 1 e 1 g 1 h 1 i 1 i 1

    1 d 1 h 1 f 1 h 1 g 1 a 1f 1

    P0 0 0P1 0 1 1 0P2 0 2 2 2 1 1 0P3 0 3 3 3 2 2 1 1 0P4 0 4 3 3 2 2 1 1 0P5 0 4 3 3 2 2 1 1 0

    Proble`mes de cheminement

    Exercice n 2 : Determination des niveaux dun graphe

    Question 3

    a i g h e f c d bi 1 i 2 g 5 h 4 e 3 e 2 c 2

    1 a 1 h 3 g 3 h 5 f 1 d 4f 5

    P0 0 P1 0 1 4 5 6 6 8P2 0 1 4 5 6 6 8

  • Proble`mes de cheminement

    Exercice n 2 : Determination des niveaux dun graphe

    Dessin du graphe

    a

    1

    3

    5

    c

    h e

    g

    b

    i

    d

    f

    2

    1 3

    1

    2

    4

    2

    5

    5 3

    4

    Visualisation des niveaux

    a 13

    5

    ch

    e

    g bi

    d

    f

    2

    1 31

    24

    2

    5

    5

    Niveau 0 1 2 3 4

    34