Théorie des graphes et algorithmes

Modélisation des problèmes de flots maximaux

Mise en forme du graphe correspondant au problème de flot maximal

On considère un graphe Go=(Xo,Eo) qui représente le réseau et les arcs orientés sur lesquels de la matière peut être acheminée. L'arc (x,y) et l'arc (y,x) existent tous les deux lorsque la matière peut circuler indifféremment dans un sens ou dans l'autre.

Selon les exemples, on a vu qu'il pouvait exister une ou plusieurs sources par lesquelles la matière peut arriver et un ou plusieurs puits par lesquels la matière peut sortir.

Pour résoudre ce problème, on préfère n'avoir qu'une seule source et qu'un seul puits.

Aussi on ajoute une source unique que l'on désigne par la lettre s et un puits unique que l'on désigne par la lettre t.

On ajoute également des arcs orientés allant de l'unique source s vers l'ensemble des sources et des arcs orientés allant des différents puits vers le puits unique t.

On obtient alors le graphe G=(X,E).

Prise en compte des capacités

En général, la matière que l'on peut faire circuler sur un arc est limité par des contraintes physiques.

C'est le maximum que peut fournir une source si sur l'arc (s,si).

C'est le maximum que l'on peut envoyer dans un puits tj sur l'arc (t,tj).

C'est le maximum qui peut passer de x vers y pour l'arc (x,y) correspondant à un arc général du réseau.

Dans tous les cas, on note cette capacité C(x,y), sachant qu'elle peut être égale à +∞ lorsqu'il n'y a pas de contrainte de capacité.

Contraintes de positivité

Dans tous les exemples présentés, il est évident que les quantités qui circulent sur les arcs sont toutes positives ou nulles.

Dans d'autres exemples plus complexes, il peut arriver que les quantités qui circulent sur les arcs soient supérieures à des capacités minimales. Cela complique peu la modélisation du problème, mais cela rend plus difficile sa résolution.

Nous ne nous intéressons ici qu'à la résolution des problèmes où les capacités inférieures sont toutes nulles.

Inconnues du problème

Les inconnues du problème sont les quantités qui circulent sur tout arc (x,y), on les note F(x,y), où F peut signifier flux ou flot.

Équations correspondant aux contraintes de capacités sur les arcs

Pour tout arc (x,y) de E, on a :

0 ≤ F(x,y) ≤ C(x,y)

Équations correspondant à la conservation du flot en chaque nœud

Pour tout point x différent de s et de t,

soient z1, z2, ... , zm les m prédécesseurs de x et y1, y2, ... , yq les q successeurs de x,

la contrainte de conservation du flot au point x s'écrit :

F(z1,x) + F(z2,x) + ... + F(zm,x) = F(x,y1) + F(x,y2) + ... + F(x,yq)

Équations correspondant à la valeur du flot circulant à travers le graphe

Soient y1, y2, ... , yq les q successeurs de la source s,

soient z1, z2, ... , zm les m prédécesseurs du puits t,

soit v la valeur du flot qui entre dans la source,

les contraintes de conservation du flot à travers le graphe conduisent aux équations suivantes :

v = F(s,y1) + F(s,y2) + ... + F(s,yq) = F(z1,t) + F(z2,t) + ... + F(zm,t)

Le flot qui entre dans la source est égal au flot qui sort du puits.

DéfinitionFlot maximal

Étant donné un graphe valué G = (X, E, C) qui représente un réseau muni de capacités où circule un flot, on appelle v le flot qui entre dans la source, égal au flot qui sort du puits, et vmax la valeur maximale que peut prendre le flot v.

Le problème consiste non seulement à trouver la valeur du flot maximal, mais également la valeur F(x,y) du flot conservatif qui circule sur tout arc (x, y) tout en respectant les capacités minimales (généralement nulles) et maximalesnotées C(x, y).

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)