Vous êtes sur la page 1sur 20

Chap 4 :Flot maximum et flot cot minimum

La notion de flot est utilise dans des contextes varis: - Trafic dans un rseau routier - Electricit dans un rseau de distribution dnergie - Transport de marchandise dans un rseau routier, arien, maritime. - Transport dinformations et des donnes dans un rseau informatique -etc. Le rseau se modlise par un graphe valu par c(x,y) : capacit de larc (x,y) Un arc reprsente: - un tronon de route - une liaison entre deux entrepts, deux ports, deux aroports etc. - une connexion entre deux ordinateurs - une connexion lectrique entre deux villes - etc.

ENSI

Flot valeur max et cot min

I. Flot sur un graphe: Formulation


Nous souhaitons trouver: - le trafic maximum entre 2 villes s et t sur un rseau de trafic routier. - Transporter le maximum de marchandises entre 2 villes. - etc. Un flot est une fonction f : U IR vrifiant la loi de conservation
( x , y ) f ( x , y )

V ( f ) f ( x , y ) f ( y , x ) = 0 xP ( y ) xS ( y ) V ( f )
avec

si y = s si y s , t si y = t

f ( x , y ) est le flot de l' arc (x,y) V(f) est la valeur du flot total Sous la contrainte : u = (x,y) U, a(u) f(u) b(u)
ENSI Flot valeur max et cot min 2

I.1 Formulation
Flot compatible: Un flot compatible est un flot vrifiant:
u = (x,y) U, a(u) f(u) b(u)

A X , s A et t A
V( f ) =
+ uA

f ( u ) f ( u ) b( u ) a( u )
uA + uA uA

+ A = {u = ( x , y ) U / x A et y A } A = {u = ( y , x ) U / x A et y A }

Flot complet: un flot complet est un flot compatible pour


lequel tout chemin allant de s t possde au moins un arc satur [c--d f(u)=b(u)]
ENSI Flot valeur max et cot min 3

I.1 Formulation
Position du problme:

Le problme du flot valeur maximum est de trouver les valeurs f(x,y) qui maximise V(f). Le problme peut tre formul de la manire suivante:

Maximiser V(f) Sous contrainte s si y = s V ( f ) f ( x , y ) f ( y , x ) = 0 si y s , t xS ( y ) V ( f ) xP ( y ) si y = t ( x , y ) U a ( x , y ) f ( x , y ) b ( x , y )


ENSI Flot valeur max et cot min 4

I.1 Formulation
Remarque Le problme du flot valeur maximum peut tre rsolu par la programmation linaire.

Maximiser V(f) Sous contraintes 1 0 Ax + M V ( f ) = 0 0 1 B x B sup inf


ENSI

x = vecteur des f(x,y) avec (x,y) U Les inconnues sont V(f ) et x


A = matrice d' incidence sommets - arcs du graphe

Bsup = vecteur des bornes suprieures


Binf = vecteur des bornes infrieure s
Flot valeur max et cot min 5

I.2 Coupe dun graphe


Une coupe est une partition des sommets not ( N , N ) telle que:

NN = N N = X s N & t N
On dira que ( N,N ) une coupe sparant s et t

La capacit dune coupe:

C (N , N ) =

xN yN

b( x , y ) a ( y , x )
xN yN

ENSI

Flot valeur max et cot min

I.2 Coupe dun graphe


Exemple
[a(u),f(u),b(u)]=[borne inf, flot sur u, borne sup] (0,2,2) a (0,4,10) (0,1,3)
V(f)=7

(0,3,6) t
V(f)=7

s (0,3,3) b

(0,2,4) d (0,5,5) (0,4,4)

Question:
Vrifier que quelque soit la coupe, la capacit dune coupe est suprieure ou gale la valeur du flot.
ENSI Flot valeur max et cot min 7

I.3 Thorme de Ford & Fulkerson


Thorme: Pour tout flot

on a
Preuve:

( f(x,y) )( x , y )U et pour toute V ( f ) C ( N, N ).

coupe ( N, N )

Pour une coupe donne ( N,N ), on note par f ( N,N ) =


0 Comme f ( x , y ) f ( y , x ) = xP ( y ) xS ( y ) V ( f )

xN y N

f ( x, y )

si y s , t si y = t

L' addition des deux quations donne f ( N, N ) f ( N , N ) = V ( f )

Comme (x,y), f(x ,y) c(x,y)


V ( f ) = f ( N, N ) f ( N , N ) c ( N , N )
ENSI Flot valeur max et cot min 8

II. Algorithme de Ford & Fulkerson: Principe


Etape N1: Rendre le flot complet A partir dun flot f donn sur les arcs, existe-t-il un chemin de s t le long duquel aucun arc nest satur. nous pouvons augmenter le flot par une valeur : = min (c( x , y ) f ( x , y ))
( x , y )

( x,y ) , f(x,y) f(x,y) +

et V ( f ) V ( f ) +

Etape N2: Chercher une chane joignant s et t telle que nous pouvons augmenter le flot par une valeur : Choisir = min( 1 , 2 ) 2 = min ( f ( y , x )) = min (c( x , y ) f ( x , y ))
1
( x , y ) ( x , y )U ( x , y ) ( y , x )U

( x,y ) et ( x , y ) U , f(x,y) f(x,y) + ( x,y ) et ( y , x ) U , f(y,x) f(y,x)

et V ( f ) V ( f ) +
ENSI Flot valeur max et cot min 9

II.2 Exemple
Partant dun flot nul sur le rseau.

Etape N 1 : Flot complet

s a b t ; = 1
V (f )= 0 +1 = 1
s b t ; = 2
40 31

10

20

30

a (0,0,1)

(0,0,5)
t

s (0,0,4)

(0,0,2) (0,0,3)

V (f )= 1+ 2 = 3
Etape N 2 : Chanes

s b a t ; = 1
ENSI

42

50

V(f) = 3 + 1 = 4
10

Flot valeur max et cot min

II.3 CNS doptimalit Dfinition: Une chane = (s , i 1 ,i 2 , ... ,i p ,i p + 1 , ... ,i n , t )


augmentant le flot, pour un flot donn, est une chane entre s et t telle que:
f(i p ,i P + 1 ) < c(i p ,i P + 1 ) f(i p ,i P + 1 ) > 0 si (i p ,i P + 1 ) U si

(i

p +1

,i P ) U

CNS pour quun flot soit maximum: Il nexiste plus de chanes augmentant le flot entre s et t. Thorme du flot maximum et de la coupe minimum: La valeur maximum dun flot de s t dans un rseau R(X,U,C) est gale la capacit minimum dune coupe sparant s et t.
ENSI Flot valeur max et cot min 11

II.4 Algorithme de Ford & Fulkerson(1956)


1- Soit un flot initial ralisable (en gnral, on prend le flot nul) 2- Rendre le flot complet (saturer tous les chemins possibles) (i) marquer le sommet s par (+) (ii) partir dun sommet x marqu, marquer par (+) tout sommet y tel que: f(x,y)< c(x,y)

Le chemin tro uv augmentera le flot par =

(x, y)

min (c(x, y ) f ( x , y ))

(iii) recommencer (ii) jusqu ce quon ne puisse plus marquer t partir de s. 3- Chanes augmentant le flot (i) marquer le sommet s par (+) f(x,y) < c(x,y) (ii) partir dun sommet x marqu, marquer par (+) tout sommet y tel que: ou f ( y , x ) > 0 1 = min (c( x , y ) f ( x , y )) 2 = min ( f ( y , x ))

La chane trouve augmentera le flot par = min( 1 , 2 )


(iii) recommencer (ii) jusqu ce quon ne puisse plus marquer t partir de s.
ENSI Flot valeur max et cot min 12

II.5 Application
On dispose de 3 entrepts A, B et C disposant respectivement de 20, 10 et 35 tonnes de marchandises. On a 3 destinations X,Y et Z o faire parvenir les quantits maximales de 25, 20 et 20 tonnes. Il existe des disponibilits de transport sur certains camions qui vont faire route entre les entrepts et les destinations. Ces disponibilits sont donnes dans le tableau suivant:
Question 1- Etablir le graphe de ce problme. 2- Donner le plan de transport le meilleur.

X A 15 B 5 C 10

Y 10 0 5

Z 0 10 5
13

ENSI

Flot valeur max et cot min

Exercice 1
On considre le rseau de transport G(X,U,f) o les arcs sont munis de capacits et pour lequel un flot initial est donn. Sur chaque arc i le premier nombre est le flot initial fi le second nombre est la capacit ci. Le flot fi de larc i doit vrifier la relation suivante : 0 f c
i i
1 (15,25) (0,10) e (5,25) 2 (5,15) (0,25) 3 (0,5) 8 (0,5) 5 (5,10) (10,15) (15,25) 4 (5,10) 7 (0,10) (5,40) (0,15) (10,40) s (5,30) 6 (5,20)

1- les fi figurant sur les arcs forment-elles un flot ? quelle est sa valeur ? ce flot est-il compatible ? 2- Ce flot est-il complet ? sinon le modifier pour le rendre complet. 3- Ce flot est-il maximal ? Sinon, dterminer un flot de e s de valeur maximale 4- Donner la coupe minimale du graphe. Calculer la capacit de cette coupe.
ENSI Flot valeur max et cot min 14

Exercice 2
Une socit dimport-export dispose, dans les ports de Veracruz, SoPaulo, Conakry et Abidjan, de stocks de caf pour lesquels elle a reu des commandes dimportateurs de Dunkerque, Bordeaux, Saint-Nazaire et Le Havre. Les stocks disponibles sont les suivants : Port dorigine Stocks (en tonne) Veracruz 130 So-Paulo Conakry Abidjan 110 110 110

Les commandes sont livrables comme suit : Port de destination Commande (en tonne) Dunkerque Bordeaux Saint-Nazaire Le Havre 110 90 100 160

ENSI

Flot valeur max et cot min

15

Exercice 2
Divers bateaux se rendent des ports trangers considrs vers les ports Franais de destination. Le tonnage dont ils disposent (c--d la quantit quils peuvent transporter) est donn par le tableau suivant :
Destination Origine

Dunkerque X

Bordeaux Y 40 50 30 30

SaintNazaire Z 30 20 50 50

Le Havre T 0 0 90 90

Veracruz So-Paulo Conakry Abidjan

A B C D

80 60 0 0

ENSI

Flot valeur max et cot min

16

Exercice 2
Le problme est le suivant : Abstraction faite des cots de transport, la socit veut dterminer les diverses cargaisons de manire satisfaire les demandes au maximum. Donner la construction complte du graphe. Il faudra introduire deux sommets s et t. Sachant que les commandes destines Bordeaux et au Havre sont prioritaires, trouver le plan de transport optimal par lalgorithme de Ford et Fulkerson. Donner la coupe minimale du graphe. Calculer la capacit de cette coupe. Est-ce que toutes les commandes sont satisfaites ? sinon donner les villes non compltement servies et expliquer do provient cette dfection.
Flot valeur max et cot min 17

ENSI

Exercice 3
Deux usines gaz U et V alimentent quatre villes A, B, C et D en utilisant le rseau figur ci-dessous. Les sommets , , et reprsentent des stations de pompage. Les nombres encadrs reprsentent les donnes suivantes: les nombres droite en gras reprsentent les capacits des canalisations. les nombres gauche non en gras reprsentent les dbits initiaux. On sait, de plus, que les capacits de production des usines U et V sont respectivement de 80 et 60. On veut dautre part satisfaire autant que possible les demandes des villes A, B, C et D qui taient respectivement de 20, 30, 30 et 40 et qui deviennent 20, 30, 50 et 40 par suite dune extension de la ville C.
ENSI Flot valeur max et cot min 18

Exercice 3
A B 20 ; 20 10 ; 20 20 ; 20 C 10 ; 20 U 40 ; 40 10 ; 20 20 ; 20 V 40 ; 40 D 10 ; 20

30 ; 40

20 ; 30

20 ; 30

30 ; 30

ENSI

Flot valeur max et cot min

19

Exercice 3
Prsenter le graphe par lequel on se ramne un problme de flot maximum. On chercher satisfaire au mieux les nouvelles demandes des villes. En utilisant lalgorithme de Ford et Fulkerson: Donner un chemin augmentant le flot et qui rend ce flot complet. Donner une chane augmentant le flot. Donner la valeur finale du flot maximum. En fait, le rseau prcdent ne tient pas compte des capacits de pompage des stations , , et qui sont respectivement de 40, 60, 40 et 60. Tracer un nouveau graphe capable de tenir compte des capacits des stations de pompage. Quel est maintenant le flot maximum? Quelle est la coupe minimale? Quelle recommandation peut-on faire aux responsables de la distribution pour satisfaire les nouvelles demandes des villes?

ENSI

Flot valeur max et cot min

20

Vous aimerez peut-être aussi