You are on page 1of 17

Recherche Oprationnelle

EMSI CENTRE 4IIR

La recherche de chemin de valeur maximale/minimale


1- Position du problme :
On a un graphe (G) value (o chaque arc possde une valeur). Le problme rside dans la dtermination dun ou plusieurs chemins de valeur : Minimal ou maximal entre 2 sommet Xi et Xj. Rcapitulons : On a un graphe (G) valu. On choisit 2 sommets Xi et Xj. On doit trouver le chemin de valeurs maximale ou minimale. (la somme des valeurs de ses arcs doit tre Max ou Min) Problme de maximisation : - Si on doit trouver un chemin entre 2 sommets Xi et Xj de valeur maximale, le graphe (G doit tre un Graphe sans circuit. Problme de Minimisation : - Si on doit trouver un chemin entre 2 sommets Xi et Xj de valeur minimale, le graphe (G) pourra avoir un circuit -

2- Mthode de rsolution :
Pour rsoudre un tel problme, on a le choix entre 3 mthodes : La mthode des MARQUES La mthode FORD-BELLMAN La mthode DIJIKSTRA

Champs dapplication des mthodes : Le cas dun Graphe sans circuit (GSC) : La mthode des Marques La mthode Ford-Bellman

Le cas dun graphe avec circuit (GAC): La mthode Dijikstra

Respectez Les droits Dauteur

Recherche Oprationnelle 1.2 Zoom sur la mthode des Marques : Exemple :

EMSI CENTRE 4IIR

37 2 15 1 25 3 17 27 20 30 5

4 27 15 19

13 6 10 8 18 50 7 40 20 9

Figure 1 schma dun graphe (G) valu et ordonn par niveau

Exemple de question : Dterminer le chemin de valeur MAX partant de 3 et arrivant 7.

Respectez Les droits Dauteur

Recherche Oprationnelle

EMSI CENTRE 4IIR

Solution : Rgle de gestion de la mthode des Marques : Phase 1 : 1.1 On supprime les niveaux infrieurs ou gale au sommet reprsentant le dbut du chemin. 1.2 On supprime les niveaux suprieur ou gale au sommet reprsentant la fin du chemin. 1.3 On limine les arcs des sommets quon vient de supprimer. Phase 2 : 2.1 Pour chaque sommet i, on calcule une valeur quon appellera fonction marque, et on note M(i) : M(i) = 0 si i est le sommet reprsentant le dbut du chemin

OU
M(i) = Max [ M(j) + V(j, i) ] si (j,i ) est un arc et V(j,i) est la valeur de larc (j,i) J est le prcdent de i

Phase 3 : Aprs avoir attribu chaque sommet composant le chemin la valeur de sa fonction marque, on soustrait cette valeur la valeur de larc qui la prcde, et on la compare avec la fonction marque du sommet prcdent : si le calcul est juste on marque cette liaison pour tracer le chemin.

Appliquons maintenant les instructions de la mthode des marques pour rsoudre la question :

Q : Dterminer le chemin de valeur MAX partant de 3 et arrivant 7 ?

Respectez Les droits Dauteur

Recherche Oprationnelle 37 2 15 1 25 3 17 20 30 5 27 15 19 7 18 50 27 4

EMSI CENTRE 4IIR

13 6 10 8 40 20 9

Jlimine les sommets du mme niveau ou infrieur au sommet reprsentant le dbut du chemin ; alors jlimine le sommet 1 (infrieur 3) et 2 (du mme niveau que 3) Ainsi jaurais mon graphe comme a :

37 15 17 25 3 20 30 5 27

4 27 15 19

13 6 10 8 18 50 7 40 20 9

Et ensuite, jlimine les arcs qui appartiennent aux sommets que jai supprims ; ainsi mon graphe apparaitra de cette faon : 4 27 27 20 3 30 5 15 19 7

13 6 10 8 18 50 40 20 9

Respectez Les droits Dauteur

Recherche Oprationnelle

EMSI CENTRE 4IIR

Je continue alors jlimine les sommets qui sont suprieurs ou gale au sommet reprsentant la fin du chemin ; dans ce cas jlimine le sommet 6 (mme niveau que 7) ainsi que 8 et 9 (niveau suprieur celui de 7) ainsi :

4 27 27 20 3 30 5 15 19

13 20 10 40 18 50 7

A la fin, je supprime les arcs qui y sont attachs et qui ne servent plus rien :

20

27

27

30

19

La 1ere phase est acheve, je passe la phase 2 : le calcul de la fonction marque pour chaque sommet du chemin :

Respectez Les droits Dauteur

Recherche Oprationnelle Je dresse une liste de mes sommets qui restent : Sommet 3 / Sommet 4 / Sommet 5 / Sommet 7

EMSI CENTRE 4IIR

Sommet 3 : Le sommet 3 est le dbut de mon chemin, donc si japplique la fonction marque jaurais comme rsultat : M(3) = 0 Sommet 4 : Le sommet 4 2 prcdents : le 3 et le 5. Je ne peux pas appliquer la rgle que si je calcule la fonction marque de 5, calculons la alors : M(5) = MAX [M(3) + V(3,5)] M(5) = [0 + 30] M(5) = 30 // (3,5) est un arc // v(3,5) est la valeur de larc (3,5)

Revenons la fonction marque du sommet 4 ; puisquil a deux prcdents, on doit choisir la valeur maximale : M(4) = MAX M(4) = MAX M(4) = MAX M(4) = 57 [ [ [ M(3) + V(3,4) 0 +20 20 ; ; ; M(3) + V(5,4) ]

30+27 ] 57 ]

/ puisque 57 > 20

Sommet 7 : Pour le dernier sommet 7 on applique la mme logique que celle de 5 : M(7) = MAX M(7) = MAX M(7) = MAX M(7) = 84 [ [ [ M(5) + V(5,7) 30+19 ; 49 ; ; M(4) + V(4,7) ]

57+27 ] 84 ]

/ puisque 84 > 49

Respectez Les droits Dauteur

Recherche Oprationnelle

EMSI CENTRE 4IIR

Aprs avoir calcul la fonction marque pour chaque sommet, on passe la troisime phase : M(4) = 57 4

20 M(3) = 0 3

27

27 M(7)=84

30

19

M(5) = 30 On commence partir du sommet de la fin du chemin (en loccurrence le sommet 7) et on teste les combinaisons suivantes :

Numro de test 1 2

Combinaison tester M (7) V (4, 7) = M (4) M(7) V (5, 7) = M (5)

Application Numrique 84 27 = 57 84 19 = 30

VRAI ?

La combinaison numro 1 est vraie, alors je marque les sommets qui y participent ; alors jaurais : 74 Je teste par la suite la 2me combinaison, en commenant par le sommet 4 : Numro de test 1 2 Combinaison tester M (4) V (5, 4) = M (5) M(4) V (3, 4) = M (3) Application Numrique 57 27 = 30 57 20 = 0 VRAI ?

Alors je complte mon chemin: 74 5 Enfin, je commence du sommet 5 (qui a comme rsultat vrai daprs le tableau ci-dessus), et je teste la dernire combinaison : Numro de test 1 Combinaison tester M (5) V (3, 5) = M (3) Application Numrique 30 -30 = 0 VRAI ?

Respectez Les droits Dauteur

Recherche Oprationnelle A la fin je note mon chemin qui est : 7453

EMSI CENTRE 4IIR

IMPORTANT : Le nombre de combinaisons tester par rapport un sommet dpend du nombre de ses prcdents.

Q : Dterminer le chemin de valeur MAX partant de 3 et arrivant 7 ? R : alors la rponse la question de lexercice est : le chemin de valeur maximal menant de 3 vers 7 est : 7 4 5 3

REMARQUE :

Pour calculer le chemin de valeur Minimale en utilisant la mthode des Marques, la seule chose qui change cest la phase 2 : on applique la rgle suivante : M(i) = MIN [ M(j) + V(j, i) ] si (j,i ) est un arc et V(j,i) est la valeur de larc (j,i) J est le prcdent de i

Respectez Les droits Dauteur

Recherche Oprationnelle 1.3 Zoom sur la mthode FORD-BELLMAN : Exemple :

EMSI CENTRE 4IIR

10 2 7 1 9 3 9 12 5 8 11

4 14

15 6 7 8 13 19 7 12 8 12 6 9

13

Q : Trouver le chemin de valeur minimal entre 1 et 9 ?

Rpondons cette question en appliquant la mthode Ford-Bellman : 1- Rgles de gestion : La mthode Ford-Bellman comme la mthode des Marques couvre 2 types de problmes : Les problmes de maximisation (le chemin de valeur maximale) et ceux de la minimisation (le chemin de valeur minimal).

Respectez Les droits Dauteur

Recherche Oprationnelle Phase 1 :

EMSI CENTRE 4IIR

On applique la mme phase 1 de la mthode des marques (voir la mthode des marques ci-dessus) Phase 2 : Initialisation des valeurs des sommets : Minimisation On associe chaque sommet du graphe une valeur initiale Val, o : SI Maximisation On associe chaque sommet du graphe une valeur initiale Val, o :

SI

i = dbut du chemin Alors Val (i) = +

i = dbut du chemin Alors Val (i) = 0

ET La Val des autres sommets est gale : + Val(1) = Val(2) = Val(3) = Val (n) = +

ET La Val des autres sommets est gale : 0 Val(1) = Val(2) = Val(3) = Val (n) = 0

Phase 3 : La phase 3 consiste tester la justesse de plusieurs combinaisons : *Pour chaque sommet J, on vrifie si : Minimisation Val (j) Val (i) > V (i, j) Maximisation Val (j) Val (I) < V (i, j)

SI Val (j) = ValOK + V (i, j) (i)

Val (j) = NOK(j) Val

SI Val (j) = Val (i) + V (i, j) OK

Val (j) = Val (j) NOK

(i, j) : est un arc ; i est le prcdent de j. V (i, j): est la valeur de larc (i, j). Val (j) : est la valeur du sommet j.

(i, j) : est un arc ; i est le prcdent de j. V (i, j): est la valeur de larc (i, j). Val (j) : est la valeur du sommet j.

Et on boucle autant de fois que ncessaire tant que le test est vrai. Phase 4 : Durant cette phase, on applique la phase 3 de la mthode des marques.

Respectez Les droits Dauteur

10

Recherche Oprationnelle

EMSI CENTRE 4IIR

On applique les rgles de gestion de la mthode Ford-Bellman sur le graphe, et on aura comme rsultat :

10 2 7 1 9 3 9 12 5 8 11

4 14

15 6 7 8 13 19 7 12 8 12 6 9

13

Phase 1 : On na pas de sommet infrieur ou gal au dbut du chemin, donc on ne supprime rien. Idem pour le sommet de fin de graphe, il na pas de sommet suprieur ou gal ; donc on continue avec la 2me phase directement. Phase 2 : Jutiliserai un tableau pour initialiser les valeurs des sommets de mon chemin 19 : Puisque je cherche minimiser (trouver le chemin de valeur minimal) Sommet 1 (dbut) 2 3 4 5 6 7 8 9 Val (sommet) 0 + + + + + + + +

La phase 2 tant termine, passons la phase 3 :

Respectez Les droits Dauteur

11

Recherche Oprationnelle Phase 3 : Appliquons les instructions de cette phase : + 0 2 7 1 9 3 9 12 5 8 11 13 19 7 8 13 12 14 10 4 + + 15 6 7 8 6

EMSI CENTRE 4IIR

+ 9

12

Pour le sommet 2 : Numro de test 1 Combinaison tester Val (2) Val (1) > V (1,2) Application Numrique + 0 > 7 VRAI ? X Rsultat Val (2) = Val (1) + V (1, 2) = 0+7 = 7

7
0 2 7 1 9 3 9 12 12 5 8 11 13 10 4

+ + 15 6 14 8 13 19 7 12 + 7 8 12 6 9 +

Figure : La valeur du sommet 2 a chang aprs lapplication de la mthode FB

Respectez Les droits Dauteur

12

Recherche Oprationnelle IMPORTANT :

EMSI CENTRE 4IIR

Le nombre de combinaisons tester par rapport un sommet dpend du nombre de ses prcdents.

Aprs avoir termin, on se retrouve avec les valeurs ci-dessous :

7
0 2 7 1 9 3 9 12 12 5 8 11 10

17 28 4 14 8 13 7 12 35 15 6 7 8 12 6 9 34

13 19

15

26

Phase 4 : Pareille que la phase 3 de la mthode des marques, on commence partir du sommet reprsentant la fin du chemin, et on teste les combinaisons possibles (selon le nombre de prcdents) et puis on marque les arcs pour tracer le rsultat : On commence du sommet 9 (9 a 3 prcdents, a lors je dois effectuer 3 test) : Combinaison tester M (9) V (6, 9) = M (6) M (9) V (8, 9) = M (8) M (9) V (7, 9) = M (7) Application Numrique 34 6 = 28 34 12 = 22 34 12 = 22 VRAI ?

Numro de test 1 2 3

La combinaison numro 1 est vraie, alors je marque les sommets qui y participent ; alors jaurais : 9 6

Respectez Les droits Dauteur

13

Recherche Oprationnelle Je teste par la suite le sommet 6 (3 prcdents, alors 3 test effectuer) : Numro de test 1 2 3 Combinaison tester M (6) V (4, 6) = M (4) M (6) V (5, 6) = M (5) M (6) V (7, 6) = M (7) Application Numrique 28 6 = 22 28 13 = 15 28 8 = 20

EMSI CENTRE 4IIR

VRAI ?

Alors je complte mon chemin: 965 A partir de 5 (2 prcdents alors 2 test effectuer) Numro de test 1 2 Combinaison tester M (5) V (2, 5) = M (2) M (5) V (3, 5) = M (3) Application Numrique 15 8 = 7 15 12 = 3 VRAI ?

Alors : 9652 A partir de 2 : Numro de test 1 Combinaison tester M (2) V (1, 2) = M (1) Application Numrique 7 7=0 VRAI ?

A la fin je note mon chemin qui est : 96521

Q : Trouver le chemin de valeur minimal entre 1 et 9 ? La rponse alors est : Le chemin de valeur min entre 1 et 9 est le suivant : 96521

7
28 0 2 7 1 8 9 13 5 Respectez Les droits Dauteur 15 14 6 6 34

Recherche Oprationnelle 1.4 Zoom sur la mthode DIJIKSTRA :

EMSI CENTRE 4IIR

Elle gnralement utilis lorsquon est face un graphe contenant des circuits, et la problmatique repose sur la recherche dun chemin de valeur minimale. Elle sexcute en 2 tapes :

Etape1 : INITIALISATION 1.1 cration des sous ensemble : On spare tous les sommets composant le graphe en 2 sous ensembles : S et

S={i}

// i est le sommet reprsentant le dbut du chemin

= { j, k, l, x }

// j, k, l . x reprsentent les autres sommets composant le chemin.

1.2 calcul de la fonction pour chaque sommet : Aprs avoir spar mes sommets en 2 sous ensembles, je commence calculer une valeur pour chaque sommet ; pour ce, on appliquer la rgle dcrite ci-dessous :

0 = + V (I, j)

Si Si Si

i =1 est le dbut du chemin (1, i ) nest pas un Arc (1, i ) est un Arc

Etape 2 : Itration : Lalgorithme appliquer par la suite est simple : Tant Que

<>

Faire

// tant que nest pas vide

Choisir i dans

tel que

est minimum

Ajouter i S et lenlever de

Pour chaque successeur j de i dans faire

= min [ ; + (, ) ] //

Fin Respectez Les droits Dauteur 15

Recherche Oprationnelle Application :

EMSI CENTRE 4IIR

6 2 5

9 8 5 13 4 12 9

10

Figure Graphe avec circuit ex : 1 4 3 1) On essayera de trouver le chemin de valeur minimale qui connecte tous les sommets du graphe : Etape 1 : initialisation On spare les sommets en 2 sous ensembles : Ensemble Sommet 1 2, 3, 4, 5

Le calcul de la fonction : Sommet 1 2 3 4 5 0 6 + 8 +

explication 1 est le dbut du chemin (1,2) est un Arc, alors 2 = (1, 2) (1, 3) nest pas un Arc, alors 3 = + (1,4) est un arc, alors 4 = (1, 4) (1,5) nest pas un arc, alors 5 = +

Passons prsent ltape 2.

Respectez Les droits Dauteur

16

Recherche Oprationnelle Etape 2 : Itration On applique la lettre les instructions de lalgorithme dcrit auparavant : Itration 0 :

EMSI CENTRE 4IIR

S = {1}

= {2, 3, 4, 5}

(0 , 6 , + , 8 , +) Itration 1 : On choisit i=2 puisque 2 min = 6 On lajoute S et on lenlve de

S = {1,2}

= {3,4,5}

Les suivants de 2 dans , sont 3 et 4 ; alors pour chacun de ses sommets je recalcule leur valeur (i) : Sommet () 3 Min ( 3 ; 2 + (2, 3) ) 4 Min ( 4 ; 2 + (2, 4) ) On a alors : 6, 16 , 8 , + Itration 2 : On choisit i=4 puisque 4 min = 8 On lajoute S et on lenlve de Application numrique Min (+ ; 6 + 10) Min ( 8 ; 6 + 9) Rsultat 16 8

S = {1, 2,4}

= {3,5}

Les suivants de 4 dans , sont 3 et 5 ; alors pour chacun de ses sommets je recalcule leur valeur (i) : Sommet () 3 Min ( 3 ; 4 + (4, 3) ) 5 Min ( 5 ; 4 + (4, 5) ) On a alors : 16 , 8 , 21 Itration 3 : On choisit i=3 puisque 3 min = 16 On lajoute S et on lenlve de Application numrique Min (16 ; 6 + 12) Min (+ ; 6 + 13) Rsultat 16 21

S = {1, 2, 4, 3}

= {5}

Les suivants de 3 dans nexistent pas ; alors on ne fait pas de calcule de fonctions () On ajoute le dernier lment de

S = {1, 2, 4, 3,5}

tant donn que = {} alors on arrte de boucler. Dans le Chapitre suivant : Les Flots Dans les graphes Respectez Les droits Dauteur 17

You might also like