Вы находитесь на странице: 1из 29

Algorithme de Ford Et

Fulkerson
Réalisé par:Mohamed Jorf & Coulibaly Bakary D

Logistique & Transport


Automne 2019/2020

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 1 / 29


Plan de la présentation

1 Flot réalisable

2 Problème de flot maximum :

3 Chaines augmentantes

4 Algorithme de Ford et Fulkerson

5 Conclusion :

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 2 / 29


Flot réalisable

Problème de flot

Définition : Réseau de transport

Un réseau de transport noté R = (G = (V,E ),s, t, c) est forme de :

G = (V,E ) un graphe orienté

s ∈ V appelé sommet source

t ∈ V appele sommet destination ou puits

c : E −→ N, Q+ fonction capacité (à chaque arc (i,j) ∈ E est associée


une capacité c(i,j) ≥ 0).

Remarque : s et t sont deux sommets particuliers de G.

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 3 / 29


Flot réalisable

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 4 / 29


Flot réalisable

Problème de flot
Définition : Flot réalisable

Soit R = (G = (V,E ), s, t, c) un réseau.

Un flot f dans R est une application f définie de N dans Q+ .

Un flot f est réalisable dans R si

1. contrainte de capacité

0 ≤ f (i, j) ≤ c(i, j) ∀ (i , j) ∈ E

2. contraintes de conservation de flot (Loi de Kirschoff)


P P
i|(i,j)∈E f(i,j) - k|(j,k)∈E f(j,k) ∀ j ∈ V − {s, t}

(quantité qui entre dans j = quantité qui sort de j)


Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 5 / 29
Flot réalisable

Exemple :

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 6 / 29


Problème de flot maximum :

La valeur d’un flot

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 7 / 29


Problème de flot maximum :

Problème de flot maximum :

Problème :

Soit un réseau R = (G = (V,E ), s, t, c).

Le problème du flot maximum consiste à déterminer un flot réalisable

entre s et t qui soit de valeur maximum.

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 8 / 29


Problème de flot maximum :

Maximiser la valeur d’un flot

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 9 / 29


Problème de flot maximum :

Maximiser la valeur d’un flot...

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 10 / 29


Problème de flot maximum :

Maximiser la valeur d’un flot...

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 11 / 29


Problème de flot maximum :

Maximiser la valeur d’un flot...

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 12 / 29


Chaines augmentantes

Chaine augmentante :

Définition : Chaine augmentante

Une chaine C entre s et t est dite augmentante par rapport à un flot

f = (f (i, j), (i, j) ∈ E ) réalisable entre s et t si :

−→ f (i, j) < c(i, j) si (i; j) ∈ C+ ((i, j) ∈ E ) arc conforme)

−→ f (i, j) > 0 si (i, j) ∈ c− ((j, i) ∈ E ) arc non conforme)

ou C+ est l’ensemble des arcs de C rencontrés dans le bon sens et

C− est l’ensemble des arcs de C rencontrés dans le sens contraire.

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 13 / 29


Chaines augmentantes

Algorithme de la chaine augmentante :


Supposons que l’on dispose d’un flot réalisable

f = (f (i,j), (i , j) ∈ E ) entre s et t.

Etape 1 : (initialisation)

Marquer s par (s, +).

Poser η (s) = + ∞.

Etape 2 : Répéter les opérations suivantes jusqu’à ce que t

soit marqué où qu’il ne soit plus possible de marquer.

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 14 / 29


Chaines augmentantes

Algorithme de la chaine augmentante...


Operation a)

Si il existe un arc (i, j) tel que

i marqué

j non marqué

f (i , j) < c(i , j)

Alors

Marquer j par (i, +)


Poser η(j) = min( η(i), c(i, j) - f(i, j))

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 15 / 29


Chaines augmentantes

Algorithme de la chaine augmentante...


Operation b)

Si il existe un arc (j, i) tel que

i marqué

j non marqué

f (j , i) ≥ 0

Alors

Marquer j par (i, -)

Poser η(j) = min( η(i), f(j, i))


Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 16 / 29
Chaines augmentantes

Algorithme de la chaine augmentante...

Etape 3 : Si t est marque Alors

une chaine augmentante C entre s et t est

détectée et on pose  = η(t)

Sinon

le flot f est maximum.

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 17 / 29


Algorithme de Ford et Fulkerson

Algorithme de Ford et Fulkerson

On suppose que l’on dispose d’un flot initial f= (f (i , j), (i , j) ∈ E )


entre s et t (on peut prendre f = 0).
Etape 1 : Appliquer l’algorithme de la chaine augmentante à f .
Si t est marqué,
STOP f est optimal.
Sinon
une chaine augmentante C est détectée, aller à l’étape 2.
Etape 2 : Changer le flot f comme suit :

 f (i, j) si (i, j) ∈/C
f (i, j) = f (i, j) +  si (i, j) ∈ C+
f (i, j) −  si (i, j) ∈ C−

Aller à l’étape 1

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 18 / 29


Algorithme de Ford et Fulkerson

Application de l’Algorithme de Ford et Fulkerson :


Considérons le réseau de transport G.

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 19 / 29


Algorithme de Ford et Fulkerson

Application de l’Algorithme de Ford et Fulkerson....


Nous avons pour l’instant un flot nul.

Dans ce graphe d’écart, considérons le chemin (s,A,B,t). La valuation


minimale de ses arcs est égale à 12, on va donc augmenter le flot de cette
valeur. Tous les arcs de ce chemin appartiennent bien au réseau donc on y
augmente le flot courant. Cela donne :

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 20 / 29


Algorithme de Ford et Fulkerson

Application de l’Algorithme de Ford et Fulkerson....

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 21 / 29


Algorithme de Ford et Fulkerson

Application de l’Algorithme de Ford et Fulkerson....


Mettons à jour le graphe d’écart

Dans ce graphe d’écart, considérons maintenant le chemin (s,C,D,t). La


valuation minimale de ses arcs est égale à 4, on va donc augmenter le flot
de cette valeur. Tous les arcs de ce chemin appartiennent bien au réseau
donc on y augmente le flot courant. Cela donne :
Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 22 / 29
Algorithme de Ford et Fulkerson

Application de l’Algorithme de Ford et Fulkerson....

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 23 / 29


Algorithme de Ford et Fulkerson

Mettons à jour le graphe d’écart

Dans ce graphe d’écart, considérons maintenant le chemin (s,C,D,B,t). La


valuation minimale de ses arcs est égale à 7, on va donc augmenter le flot
de cette valeur. Tous les arcs de ce chemin appartiennent bien au réseau
donc on y augmente le flot courant. Cela donne :
Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 24 / 29
Algorithme de Ford et Fulkerson

Application de l’Algorithme de Ford et Fulkerson....

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 25 / 29


Algorithme de Ford et Fulkerson

Mettons à jour le graphe d’écart

Il n’y a plus de chemins allant de la source vers le puits dans le graphe


d’écart, le flot courant est donc maximal :

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 26 / 29


Algorithme de Ford et Fulkerson

Application de l’Algorithme de Ford et Fulkerson....

La valeur du flot maximal est ainsi de 23

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 27 / 29


Conclusion :

Ameliorations de Ford et Fulkerson

Idée 1 : Choisir une chaine augmentante de capacité résiduelle


maximum.

−→ pas de garantie que les augmentations suivantes

−→ ce n’est plus un parcours mais la recherche d’un chemin de debit


maximum

Idee 2 : Choisir une chaine augmentante la plus courte possible en


termes de nombre d’arcs.

−→ parcours en largeur

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 28 / 29


Conclusion :

Merci de votre aimable


attention

Jorf & Coulibaly (FST FES) Présentation Automne 2019/2020 29 / 29

Вам также может понравиться