Vous êtes sur la page 1sur 172

PROBLEME

DU
FLOT
MAXIMAL
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 1 / 172
Les ots permettent de modliser une trs large classe de problmes. Leur
interprtation correspond la circulation de ux physiques sur un rseau :
distribution lectrique, rseau dadduction, acheminement de paquets sur
Internet, ... Il sagit dacheminer la plus grande quantit possible de
matire entre une source s et une destination t. Les liens permettant
dacheminer les ux ont une capacit limite, et il ny a ni perte ni
cration de matire lors de lacheminement : pour chaque noeud
intermdiaire du rseau, le ux entrant (ce qui arrive) doit tre gal au ux
sortant (ce qui repart).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 2 / 172
Exemples de modlisation par des graphes lis au ot:
De nombreux problmes relatifs ltude des ots dans les rseaux
pourront donc tre rsolus par la thorie des graphes :
-rseaux ariens (entre aroports)
-rseaux ferroviaires (entre gares)
-rseaux routiers: les sommets sont les intersections des routes, les aretes
reprsentent les routes.
-rseaux tlphoniques, informatiques, ...
-cheminement dans un rseau informatique .
-Web modelis par un graphe. Les sommets sont les pages Web et les
aretes sont les liens hypertexte entre ces dierentes pages.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 3 / 172
Lhistoire du ot maximal:
Intuitivement cela fait rfrence aux problmes de
plomberie ou de trac routier.
On distingue sur le graphe des types de noeuds dirents: deux sommets
particuliers : une source s et une
destination t. Les autres sommets
sont les noeuds intermdiaires du
rseau.
On dispose dune source (noued de dpard) et dun puits (noued darrive)
et le ot doit scouler de la source vers le puits et il doit tre maximum
en fonction de la capacit des arcs.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 4 / 172
Variantes ( titre de rappel)
Graphe non orient : on remplace chaque arete par deux
aretes orients (une dans chaque sens).
Plusieurs sources (ou puits) : on cre une super-source
virtuelle (super-puit virtuel), avec capacit innie vers toutes
les sources (depuis tous les puits).
On peut ajouter des couts (unitaires par aretes), et rechercher
un ot maximal de moindre cout.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 5 / 172
Dnition (rseau):
(

G , c, s, t) est un rseau ssi

G est un graphe orient connexe sans boucle;


ce graphe est valu: chaque arc (u, v)
du graphe a une capacit c(u, v);
la source s de degr entrant nul; et,
le puit t de degr sortant nul.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 6 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 7 / 172
Remarquer: -ce qui entre est gal ce qui sort pour chaque noeud.
(compter pour sassurer).
-ce qui entre dans le rseau par s est rcupr la n par t
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 8 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 9 / 172
Autre dnition possible:
(avec capacits inf & sup et arc st retour)
Un graphe G = (X, U) est un rseau si :
- il est connexe,
- il possde deux sommets particuliers s et p appels source et puits.
- les arcs sont munis de capacits infrieures b
u
et suprieures c
u
avec
b
u
_ c
u
- larc (p, s) existe. Il est appel arc de retour et not u
0
.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 10 / 172
R

eseau : (dnition de prcision)


Un rseau est un graphe orient N = (V, A) avec une valuation positive
de ses arcs. La valuation c(x, y) dun arc (x, y) est appele la capacit
de larc.
On distingue sur N deux sommets particuliers : une source s et une
destination t.
Les autres sommets sont les noeuds intermdiaires du rseau.
-
Le choix dune source et dune destination est arbitraire et dpend
simplement du
problme que nous avons traiter sur le rseau.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 11 / 172
Exemple: de rseau.
Le rseau comporte 5 noeuds intermdiaires. La capacit de larc (c, e) est
de 2, celle de larc (e, t) est de 4
Remarque: Nous pouvons supposer que tous les arcs (x, y) entre 2
sommets sont
prsents dans le rseau. Si un arc est absent, il est en eet possible de le
rajouter en lui attribuant une capacit nulle sans changer le problme du
ot maximum. Seuls les arcs de capacit non nulle seront reprsents sur
les exemples.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 12 / 172
Vocabulaire Flot...
Un ot reprsente lacheminement dun ux de matire depuis une source
s vers une destination t. Le ot est ainsi dcrit par la quantit de matire
transitant sur chacun des arcs du rseau. Cette quantit doit tre infrieure
la capacit de larc, qui limite ainsi le ux pouvant transiter par lui.
De plus il nest pas possible de stocker ou de produire de la matire
aux noeud intermdiaires : un ot vrie localement une loi de
conservation analogue aux lois de Kirsho en lectricit.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 13 / 172
Les rseaux de transports.
Rseau de transport : graphe orient avec pour chaque arc une capacit.
La capacit c(u, v) est un entier positif ou nul.
Il y a aussi une source s et un puits t. Aucun arc narrive la source et
aucun arc ne quitte le puits.
Un ot est une fonction entire positive ou nulle f dnie sur les arcs
satisfaisant :
Contrainte de capacit : f (u, v) _ c(u, v) ;
Symtrie : f (u, v) = f (v, u) ;
Conservation du ot : pour tout sommet autre que s et t, la somme des
ots sur les arcs entrants et la somme des ots sur les arcs sortants
sont gales ("Loi de Kirchho").
Exemples : circuits lectriques ou hydrauliques,
rseaux de communication, modlisation de transports.
Le choix dune source et dune destination est arbitraire et dpend
simplement du
problme que nous avons traiter sur le rseau.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 14 / 172
Dnition (ot travers un rseau)
Un ot est une fonction f : E(V) R qui
vrie la loi des noeuds:
(( ce qui rentre gal ce qui sort )).
Conservation du ux:
Loi de Kirchho (1847, circuits lectriques)
Dnition plus dtaille: Flot
Un ot F sur un rseau N = (V, A) est une
valuation positive des arcs, cest dire une
application de A dans R
+
, qui vrie les
deux proprits suivantes :
1. Pour tout arc a A,
0 _ F(a) _ c(a).
2. Pour tout sommet intermdiaire
x Vs, t,

y
F(y, x) =

y
F(x, y)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 15 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 16 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 17 / 172
Rseau de transport:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 18 / 172
Exemple de rseau de transport avec les capacits:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 19 / 172
Un ot sur le rseau de transport:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 20 / 172
Exemple:
Rseau avec ses capacits
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 21 / 172
la valeur du ot sur chaque arc est infrieure la valeur de la capacit
la loi de Kirchho est vrie en chaque sommet.
la valeur du ot est gale : 11
(le ot entre par trois aretes sortantes de S et resort par trois aretes
entrantes en P)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 22 / 172
Un exemple de ot sur notre rseau.
Le ot entrant en b a une valeur de 3.
La valeur du ot est dnie comme le ux net sortant de s ou entrant
dans t.
Sur cet exemple le ot a une valeur de 2.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 23 / 172
Dnition:
Flot Maximum (MaxFlow):
La somme F

(x) =

y
F(y, x) est le ot entrant au sommet x.
La somme F
+
(x) =

y
F(x, y) est le ot sortant du sommet x.
La valeur [F[ dun ot F est dnie comme le ot sortant moins le ot
entrant en s :
[F[ = F
+
(s) F

(s)
Le problme du Flot Maximum consiste trouver un ot Fmax de valeur
maximale sur le rseau N.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 24 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 25 / 172
Par Dnition (Flot ralisable):
Si pour tout arc la valeur du ot est infrieure ou gale la capacit de
larc alors on dit que le ot est ralisable.
Dnition (valeur du ot):
On ajoute un arc de retour (ctif) depuis t vers s. On dnit alors la
valeur du ot comme celle du ux qui passe par cet arc ctif.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 26 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 27 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 28 / 172
Flot dans un graphe.
Problmes de circulation dobjets (voiture, information ...) dans un rseau
(routier, informatique ...).
Dnition:
Soit G = (S, U, C) un graphe valu comportant un seul sommet source s
et un seul sommet puits t.
S : les sommets du graphe.
U :les arcs du graphe.
C : les valuations des arcs (ici les capacits)
Un ot de s t est une fonction f : U R telle que:

i P(j )
f (i , j ) =

kS(j )
f (j , k)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 29 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 30 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 31 / 172
Notre premier essai doptimisation locale, lalgorithme Saturation, avait en
fait tout dun
algorithme glouton : la saturation dun chemin nest jamais remise en
cause, le ot sur un arc ne peut quaugmenter au cours de lalgorithme.
Pour viter lapproche gloutonne, il nous faut tre capable non seulement
daugmenter, mais aussi de diminuer la valeur du ot sur un arc (x, y).
Une solution serait de faire transiter un ot ngatif sur (x, y).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 32 / 172
Cependant nous avons dni un ot comme une valuation positive des
arcs, correspondant un transit de matire. Pour faire diminuer par
exemple de 1 le ot sur larc (x, y), nous faisons passer un ot de 1 dans
lautre sens, sur larc (y, x). En terme de bilan de matire, si un ot de 3
transite sur (x, y) et un ot de 1 sur (y, x), cela revient en eet
nacheminer quun ot de 2 de x y.
Cependant larc (y, x) peut ne pas exister,... ou tre dj satur par le
ot. Aussi allons nous changer de rseau : nous associons un ot F sur
un rseau
N le rseau rsiduel N
F
compos darcs forward (avant) et backward
(arrire) .
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 33 / 172
A un arc (x, y) du rseau N est associ dans le rseau rsiduel N
F
larc
forward not de capacit c(x, y) F(x, y) La capacit de larc forward
traduit que lon peut encore augmenter le ot F sur (x, y), dau plus
c(x, y) F(x, y) qui correspond la saturation de larc. Un arc forward
"existe" (il est de capacit non nulle) donc dans N
F
si et seulement si il
nest pas satur dans N.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 34 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 35 / 172
A un arc (x, y) du rseau N est associ dans le rseau rsiduel N
F
larc
backward not
de capacit F(x, y). La capacit de larc backward traduit que lon peut
diminuer lavaleur du ot F allant de x y, dau plus F(x, y) qui
correspond annuler le ot.
Un arc backward "existe" (il est de capacit non nulle) donc dans N
F
si
et seulement si le ot F nest pas nulle sur larc (x, y). Rseau rsiduel.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 36 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 37 / 172
Dnition: Rseau rsiduel.

CHERTI LST IGI GI () problme du ot maximal May 25, 2012 38 / 172


Reprenons lexemple du ot F sur le rseau N.
Les capacits sont reprsentes dans les carrs cot des arcs; les valeurs
du ot
apparaissent en orange.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 39 / 172
Le rseau rsiduel associ F est reprsent ci contre. Les arcs forward
apparaissent en gris, les arcs backward sont en bleu. Les arcs de capacit
nulle nont pas t reprsents.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 40 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 41 / 172
Dans le rseau N, larc (s, a) est satur : seul apparat dans le rseau
rsiduel son arc backward (a, s), de capacit 1 (capacit de larc
dorigine). Dans le rseau N, aucun
ot ne passe par larc (s, c) : seul apparat dans le rseau rsiduel larc
forward (s, c), de capacit 1 (capacit de larc dorigine) Enn prenons
lexemple de larc (d, t). Sa capacit est de 5 dans le rseau N et un ot
de 3 y circule. Dans le rseau rsiduel lui sont alors associs :
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 42 / 172
La coupe:
Quand deux arcs en sens inverse relient deux sommets, on peut toujours
annuler la fonction ot sur lun des deux.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 43 / 172
la somme des ots sur les arcs sortant de la source et la somme des ots
sur les arcs arrivant au puits sont gales ; cette valeur est la valeur du
ot [f [ ;
si on spare les sommets en deux sous-ensembles E contenant s et
F = A E contenant t, alors la somme des valeurs du ot sur les
arcs de E vers F moins la somme des valeurs du ot sur les arcs de
F vers E vaut aussi [f [.
Exemple: rseau de deux groupes de banques et dplacement des fonds
dargent dans ce rseau...
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 44 / 172
Une telle sparation en deux sous ensembles des sommets est
appele
une coupe et cette dirence de sommes de ots est appele ot net
traversant la coupe.

La capacit de la coupe est gale la somme des capacits des arcs


qui ont une origine dans C et une extrmit dans S/C.
c (C, S/C) =

i C

j S/C
c
ij
avec c
ij
la capacit de larc ij .
_________
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 45 / 172
Dnition thorique de la Coupe:
Une coupe du graphe G est une partition des sommets :
(C, SC), avec le source s dans C, et le puit t dans SC.
En bref on parle de la coupe C.
Une arete sortante deC est une arete (u, v) avec u C et
v / C.
La capacit de la coupe est la somme des capacits des aretes
sortantes : elle majore le ot.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 46 / 172
Encore plus: Coupe
Soit G = (S; A), et R = (G; c; s; p), une coupe est une
partition de S en deux ensembles V et
e
V, tels que :
V '
e
V = S
s V et p
e
V
la capacit de la coupe est gale la somme des
capacits des arcs qui font la coupe.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 47 / 172
Enonc du problme.
Recherche du Flot maximum.
Le support: un graphe orient G = (S; A) dont chaque arte est value
par une capacit, un sommet source et un sommet puits.
Quel est le ot maximum quil est possible de faire passer dans ce
rseau depuis la source vers le puits ?
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 48 / 172
Connectivit.
Pour un graphe connexe, la connectivit est dnie comme le nombre
minimum de sommets dont la suppression entrane la perte de connexit.
Thorme de Menger (1927) :
Pour deux sommets non adjacents quelconques dun graphe connexe G, le
nombre minimum dartes dont la suppression entrane leur dconnexion
est gal au nombre
maximum de chanes deux--deux artes disjointes les connectant dans G.
-
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 49 / 172
Ce rsultat a t re-formul en termes de rseaux en 1956
par Ford et Fulkerson et est connu sous le nom de
thorme maximum ow/minimum cut ou
max ow-min cut.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 50 / 172
Max Flow/Min Cut
Pour comprendre intuitivement le rapport entre le thorme de
Menger et le ot maximum considrons un rseau de transport
dont les capacits sont des nombres entiers, et le rseau de
transport quivalent au premier mais dont tous les arcs sont
dupliqus autant de fois que la valeur de la capacit du rseau
dorigine. Tous les arcs du nouveau rseau de transport sont de
capacit unitaire.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 51 / 172
Dans ce nouveau rseau, le ot maximum entre la source et le
puits est gal au nombre maximum de chemins deux--deux
artes disjointes permettant de relier la source au puits.
la suppression sur chacun de ces chemins dun arc constitue
une coupe. Ce nombre est le nombre minimum darcs quil est
possible de supprimer pour obtenir une coupe puisquil est gal
au nombre de chemins indpendants permettant de lier la
source au puits.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 52 / 172
Max Flow/Min Cut.
Cest des capacits...
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 53 / 172
Pour mieux visualiser
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 54 / 172
Proprit: (ni min ni max)
La capacit de toute coupe est suprieur ou gale la valeur de tout ot.
Coupe minimal-ot maximal:
Thorme : Un ot est maximal si et seulement sil est gal
la capacit dune coupe.
Le ot maximal est donc gal la coupe minimale.
Preuve : un ot qui sature la capacit dune coupe est
maximal. Il reste voir quun tel ot existe (et le construire).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 55 / 172
Graphe rsiduel et coupe:
Etant donn un ot f , chaque arete a = (u, v) on associe :
la capacit rsiduelle avant
r + (a) = c(a) f (a)
,
et la capacit rsiduelle arrire
r (a) = f (a)
.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 56 / 172
Le graphe dcart est constitu avec les aretes a = (i , j ) de
capacit rsiduelle avant non nulle, complt avec les aretes
opposes a = (j , i ) lorsque la capacit rsiduelle arrire est
non nulle.
Un chemin augmentant est un chemin de s t sur le graphe
dcart.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 57 / 172
Etant donn un chemin augmentant on peut amliorer le ot
en changeant chaque arete du chemin augmentant de la
valeur minimale des capacits rsiduelles le long du chemin
(en plus ou en moins suivant quon emprunte larete en avant
ou en arrire.
Sil nexiste pas de chemin augmentant, alors il existe une
coupe de capacit gale au ot (coupe sature).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 58 / 172
Exemple:
Voici une chane augmentante de A E faisant partie dun rseau de
transport.
Dans cette chane, on peut augmenter le ot de:
3 entre A et B,(sens direct: on prends la capacit moins le ot)
2 entre B et C,(///)
1 entre C et D,(car sens contraire: on prends le ot)
5 entre D et E.(sens direct)
On augmentera donc de 1 le ot dans cette chane. Ce qui signie:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 59 / 172
augmenter de 1 le ot entre A et B,
augmenter de 1 le ot entre B et C,
diminuer de 1 le ot entre D et C,
augmenter de 1 le ot entre D et E.
On remarque que pour les arcs en sens inverse, augmenter le ot signie
rduire le ot dans le sens direct. Entre D et C, le ot est rduit de 1
pour permettre larrive dune unit de ot sur C par B tout en conservant
lquilibre du noeud. D ayant une unit de trop, son quilibre nest pas
respect. Cest pourquoi une unit de ot supplmentaire circule entre D
et E.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 60 / 172
Exemple: Augmenter le ot.
un rseau de transport ou circule un ot
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 61 / 172
Le graphe dcart correspondant:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 62 / 172
(A, B, C, D, F, G) est un chemin pour aller de A G. On peut augmenter
le ot de:
2 entre A et B,
3 entre B et C,
1 entre C et D,
4 entre D et F,
2 entre F et G.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 63 / 172
On augmentera donc le ot de 1 sur ce chemin, ce qui signie:
-augmenter de 1 entre A et B,
-rduire de 1 entre C et B,
-augmenter de 1 entre C et D,
-augmenter de 1 entre D et F,
-augmenter de 1 entre F et G.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 64 / 172
On remarque que le chemin (A, B, C, D, F, G) trouv correspondait la
chane augmentante (A, B, C, D, F, G).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 65 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 66 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 67 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 68 / 172
pour tout sommet j ,= s, t. On dit quil y a conservation du
ux au sommet j ("ce qui rentre egale ce qui sort").
La valeur f
ij
def
= f (i ; j ) est le ot dans larete (i ; j ).
Notons Bien:
La valeur du ot est gale la somme des ots sortants de s.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 69 / 172
Exemple:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 70 / 172
Une dnition:
Un ot satur est un ot tel que sur tout chemin de s t il existe un arc
ayant un ot
gal sa capacit.
Sur le meme graphe : Un ot satur non maximal
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 71 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 72 / 172
Flot maximal ?
Descriptif du problme traiter:
Les donnes: un rseau ( capacit biensur)
Le but raliser: trouver un ot ralisable maximal (dont la valeur est
maximale).
Outils de traitement:
Algorithme de Ford-Fulkerson
(1956)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 73 / 172
Principe:
Procder par marquage successifs des sommets depuis la source vers le
puit.
On traite chaque sommet u marqu successivement.
On marque tout successeur positivement si larc nest pas pleine capacit
et tout prdcesseur ngativement si larc a un ux non nul.
Ceci permet de trouver des chemins augmentant.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 74 / 172
la recherche dun ot maximal.
On se donne une capacit maximale sur chaque arc qui sera une borne
suprieure du ot autoris sur cet arc.
Le problme du ot maximal consiste dterminer un ot dont la
valeur en un certain "lieu" est maximale.
On peut, de plus, se donner un cout de transport dune unit de ot sur
chaque arc et chercher le ot maximal de cout minimal.
Problme de ot maximal dans un graphe.
On veut par exemple trouver le trac maximal entre deux villes dun
rseau
routier dont on connait la capacit (nombre de voiture par heure sur
chaque troncon)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 75 / 172
Max V ?
Problme de ot maximal:
Etant donn un graphe valu possdant une seule source et un seul puits ,
trouver un ot ralisable maximal (i.e. dont la valeur est maximale).
Flot maximal et programmation linaire:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 76 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 77 / 172
Remarque :les inconnues sont les f
ij
et la valeur V du
ot.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 78 / 172
Dnition:
On appelle rseau de transport un graphe orient antisymtrique valu
G = (X; A; C),sans boucle et dans lequel il existe :
-un sommet x
1
sans prdcesseur (
1
(x
1
) = ?) nomm entre ou source
du rseau,
-un sommet x
n
sans successeur ( (x
n
) = ?) nomm sortie ou puits du
rseau, et tel quau moins un chemin unisse x
1
a x
n
dans G.
La fonction de pondration C est suppose positive et lon nomme
capacit de larc a le nombre C(a).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 79 / 172
DEFINITION DUN FLOT:
Soit A

x
lensemble des arcs sortants du sommet x et A
+
x
lensemble des
arcs entrants de ce meme sommet x,
on dit quune fonction (a) dnie sur A (ensemble des arcs)
et valeurs relles est un ot pour le rseau de transport si :
(a) _ 0, \a A,
il vrie la loi des noeuds de Kirchho :
(ce qui entre gal ce qui sort en un noeud).

aA

x
(a)

aA
+
x
(a) = 0 \x ,= x
1
et x ,= x
n
il ne dpasse pas la capacit des arcs : (a) _ C(a), \a A.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 80 / 172
Pour un ot dans un rseau de transport G = (X, A, C),
on dit quun arc est satur si on a (a) = C(a).
Le ot est dit complet si tout chemin allant de x
1
x
n
contient au moins
un arc satur.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 81 / 172
Remarque: Pour un rseau de transport donn on peut dterminer un ot
de valeur maximale ainsi que les ots le long de chaque arc. Il arrive
frquemment que lon doive considrer des rseaux avec des capacits
localises non seulement sur les artes mais galement sur les sommets.
Cest notamment le cas pour les rseaux tlphoniques pour lesquels la
limite de capacit est autant due aux lignes quaux centraux.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 82 / 172
Recherche dun ot complet:
Pour un ot dans un rseau de transport G = (X, A, C), on dit quun
arc est satur si on a (a) = C(a).
Le ot est dit complet si tout chemin allant de x
1
x
n
contient au moins
un arc satur.
Si lon considre le graphe partiel engendr par les arcs non saturs par le
ot et si le ot nest pas complet, il existe un chemin allant de lentre
la sortie.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 83 / 172
On peut alors dnir un nouveau ot pour le rseau en augmentant de 1 le
ot de chacun des arcs constituant le chemin ;
la valeur du ot est alors galement augmente de 1.
On peut donc progressivement augmenter la valeur dun ot incomplet
jusqu ce quil soit complet.
En tenant compte des dirences entre les capacits et la valeur du ot sur
les arcs de , on peut connaitre davance laugmentation possible du ot.
Cependant, le ot complet ainsi obtenu nest pas, en gnral, le ot
maximal.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 84 / 172
Exemple:
Un rseau
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 85 / 172
Exercice: (en TD)
un ot ralisable pour ce rseau:
(les valeurs du ot sont infrieurs aux capacits des arcs).
Remarquer quil entre un ot de (15 = 7 + 8) par la source et quil sort
par le puits (15 = 6 + 9) sans pertes.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 86 / 172
On initialise 0 (on peut eventuellement trouver la main un ot
meilleur).
Plusieurs stratgies sont possibles pour construire marque : en largeur, en
le,...
On choisit ici de construire Marque comme une pile (on developpe le
dernier arriv),
on crit en meme temps la valeur de marque(x), les lements qui sont
dans Vu sont
crits en gras :
Marque = (s, +), Vu = ?
Marque = (s, +), (b, 1), (c, 7), Vu = s
Marque = (s, +), (b, 1), (c, 7), (e, 3), Vu = s, c
Marque = (s, +), (b, 1), (c, 7), (e, 3), (t, 2), Vu = s, c, e
On a une chaine s, c, e, t augmentant le ot de 1.
La chaine suivante est : s, c, e, d, t qui augmente de 1.
Ensuite la nouvelle chaine est s, b, d, t qui augmente de 1 et donne le ot
maximal.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 87 / 172
Amlioration du ot:
Soit un ot complet. On va identier et marquer tous
les sommets du graphe ou il est possible de faire transiter une unit de ot
supplmentaire.
On dnit un processus dtiquetage de certains sommets du graphe.
En x
1
, on place une tiquette + . Soit x un sommet dja marqu :
on marque avec une tiquette +x tout successeur y non marqu de x
pour lequel le ot nest pas son maximum ((x, y) A et
(x, y) < C(x, y)).
on marque avec une tiquette x tout prdcesseur y non marqu de x
pour lequel le ot nest pas nul
((x, y) A et (y, x) > 0).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 88 / 172
Ltiquette donne le nom dun prdcesseur ou dun successeur dun
sommet donn en indiquant si le ot peut etre augment dans le sens de
parcours (tiquette +x ) ou diminu sil est dans le sens contraire
(tiquette x ).
Si lon parvient jusquau marquage du sommet x
n
avec cette procdure,
cest quil existe une chaine de x
1
x
n
dont tous les sommets sont
marqus avec lindice du sommet prcdent au signe prs.
lobjectif est dlaborer une chaine marque de x
1
x
n
.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 89 / 172
Soit alors : (un nouveau ot...)
/(a) = (a) si a /
/(a) = (a) + 1 si a et si a est oriente dans le sens de
/(a) = (a) 1 si a et si a est oriente dans le sens contraire de
On vrie aisment que / est encore un ot.
Comme
/
x
n
=
x
n
+1, la valeur du ot
/
est suprieure, donc meilleure
que celle de .
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 90 / 172
Graphe dcart ou rseau rsiduel:
Dnition
Soit un rseau de transport G = (X, A, C) possdant un ot complet .
On appelle graphe dcart ou rseau rsiduel, le rseau G() = (X, A, C)
tel que :
si a A et (a) < C(a) alors a A et C(a) = C(a) (a)
si a = (x, y) A et (a) > 0 alors a
1
= (y, x) A et C(a
1
) = (a)
Le rseau rsiduel indique le long de quels arcs on peut augmenter ou
diminuer le ot.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 91 / 172
Thorme:Flot maximal:
Soit un ot de G(de x
1
x
n
) et G() le rseau rsiduel associ .
Une condition ncessaire et susante pour que le ot soit maximal est
quil nexiste pas de chemin de x
1
x
n
dans G().
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 92 / 172
Algorithme (Ford et Fulkerson)
Recherche dun ot maximum.
(a) - Itration k = 0
ot initial
0
(compatible avec les contraintes de capacit),
par exemple
0
= (0, 0, ..., 0).
(b) - A litration k, soit
k
le ot courant.
Rechercher un chemin
k
de x
1
x
n
dans le graphe dcart G(
k
).
Sil nen existe pas, FIN : le ot
k
est maximal.
(c) - Soit
k
la capacit rsiduelle du chemin
k
(minimum des capacits rsiduelles des arcs du chemin).
Dnir le ot
k+1
par :

k+1
a
=
k
a
+
k
si a et si a est oriente dans le sens de

k+1
a
=
k
a

k
si a et si a est oriente dans le sens contraire de
Faire k k + 1 et retourner en (b).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 93 / 172
Traitons un exemple:
Soit le graphe lmentaire orient suivant:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 94 / 172
Dbut Itration O:
Flot initial
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 95 / 172
graphe dcart (suivant le ot initial)
On commence le traitement suivant les arcs 12 24 47.
Fin itration 0.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 96 / 172
Dbut itration 1:
Ceci nous permet davoir:
Flot litration 1
(cest suivant la plus petite valeur sur les arcs du parcours trait au dessus)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 97 / 172
Il en rsulte un graphe dcart:
Graphe dcart la premire itration:(suivant le ot litration1)
On a deux choses noter:
-Le ot de litration 1 est retranch en ches inverses sur les arcs:
12 24 47.
-Presentation du prochain parcours traiter: 12 25 57.
Fin itration1.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 98 / 172
Dbut itration 2.
Ceci nous permet davoir:
Flot litration 2
(cest suivant la plus petite valeur sur les arcs du parcours trait au dessus)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 99 / 172
Il en rsulte un graphe dcart:
Graphe dcart la deuxime itration :(suivant le ot litration 2)
On a deux choses noter:
-Le ot de litration 2 est retranch en ches inverses sur les arcs:
12 25 57.
-Presentation du prochain parcours traiter: 13 35 57 ( en pointill).
Graphe dcart (suivant le ot litration deux)
cest un tat temporaire
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 100 / 172
Ceci nous donne:
Flot litration 3:
(cest suivant la plus petite valeur sur les arcs du parcours trait au dessus)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 101 / 172
Il en rsulte un graphe dcart:
Graphe dcart la troisime itration :(suivant le ot litration 3)
On a deux choses noter encore:
-Le ot de litration 3 est retranch en ches inverses sur les arcs:
13 35 57.
-Presentation du prochain parcours traiter: 13 36 67 ( en pointill).
Graphe dcart (suivant le ot litration deux)
cest un tat temporaire
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 102 / 172
Ceci nous donne:
Flot litration 4
(cest suivant la plus petite valeur sur les arcs du parcours trait au dessus)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 103 / 172
Il en rsulte un graphe dcart:
Graphe dcart la quatrime itration :(suivant le ot litration 4)
On a deux choses noter encore:
-Le ot de litration 4 est retranch en ches inverses sur les arcs:
13 36 67.
-Presentation du prochain parcours traiter ?
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 104 / 172
Aprs litration numro 4, on constate quil nexiste plus de chemin
joignant le sommet 1 au sommet 7 dans le graphe dcart. Lalgorithme
sachve donc et le ot maximal est celui obtenu lors de cette dernire
tape
1
=
7
= 9.
Comment ?
On revient au graphe du ot litration 4 au dessus:
Dune part, il y a deux arcs sortants valeur 5 + 4 de la source (noeud 1).
Dautre part, on rcupre trois arcs entrants 4 + 3 + 2 au puits (noeud 7).
Cest un ot de valeur 9 qui entre par la source 1 dans le rseau et il en
sort par le puits de meme valeur 9. (sans pertes).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 105 / 172
Remarque: lalgorithme peut etre adapt au cas ou les capacits des
arcs ont des bornes infrieures non nulles (positives,et meme ngatives).
En pratique, on associe la plupart des rseaux de transport, une notion
de cout unitaire du transport qui se traduit par lassociation, chaque arc
a du rseau, dun nombre rel reprsentant ce cout unitaire.
Le cout total dun ot est dni comme la somme des couts associs
aux ots lmentaires:
W() =

aA
w(a)(a)
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 106 / 172
On peut alors se poser le problme consistant rechercher, parmi les ots
valeur maximale, celui qui est cout minimal. Lalgorithme de Ford et
Fulkerson peut galement etre adapt cette situation.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 107 / 172
Regardons encore les tapes une nouvelle fois:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 108 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 109 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 110 / 172
Problme de circulation:
Reprsentation graphique dcrite comme suit:
le sommet S est de niveau 0 (pas dantcdents) ;
les sommets 1 et 2 sont de niveau 1 (nont que des antcdents de niveau
infrieur ou gal 0 dont au moins un antcdent de niveau gal 0) ;
les sommets 3 et 5 sont de niveau 2 (nont que des antcdents de niveau
infrieur ou gal 1 dont au moins un antcdent de niveau gal 1) ;
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 111 / 172
le sommet 4 est de niveau 3 (n a que des antcdents de niveau
infrieur ou gal 2 dont au moins un antcdent de niveau gal 2) ;
les sommets 6 et 7 sont de niveau 4 (nont que des antcdents de niveau
infrieur ou gal 3 dont au moins un antcdent de niveau gal 3) ;
le sommet P est de niveau 5 (na que des antcdents de niveau infrieur
ou gal 4 dont au moins un antcdent de niveau gal 4).
En utilisant cet ordre on obtient la reprsentation suivante :
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 112 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 113 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 114 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 115 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 116 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 117 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 118 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 119 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 120 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 121 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 122 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 123 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 124 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 125 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 126 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 127 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 128 / 172
Recherche dun ot maximal cout minimal:
La recherche dun ot maximal cout minimal peut etre rsolue laide
de lalgorithme de Busacker-Gowen qui permet de dterminer la famille
complte de tous les ots de cout minimal dun sommet x
1
un sommet
x
n
et de valeur = 1, 2, ..., v.
On donne les principes de cet algorithme ( implementer en exercice
ulttieurement).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 129 / 172
A litration numro k, le ot courant
k
est suppos etre un ot de valeur

k
0
et de cout minimal parmi lensemble de tous les ots de valeur
k
0
.
Soit G(
k
) le graphe dcart relatif
k
; on attribue aux arcs de G(
k
)
les couts w et les capacits c suivantes :
si a = (x
i
, x
j
) A et (a) < c(a), larc a+ = (x
i
, x
j
) a un cout
w(a) = w(a) et une
capacit c(a) = c(a) (a) > 0,
si a = (x
i
, x
j
) A et (a) > 0, larc a = (x
j
, x
i
) a un cout
w(a) = w(a) et une capacit c(a) = (a).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 130 / 172
Soit alors
k
un chemin de cout minimal relativement aux couts w entre
x
1
et x
n
sur le
graphe dcart G(
k
) ; on note cr
k
la capacit rsiduelle de ce chemin.
On dnit alors le ot
k+1
comme dans lalgorithme de Ford-Kulkerson.
Si est le vecteur associ au chemin
k
(cest--dire tel que
a
= 1 si a+
k
et
a
= 1 si a
k
), on a

k+1
=
k
+cr
k
et le ot
k+1
est un ot de cout minimal de valeur

k
0
+cr
k
.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 131 / 172
On notera qu chaque itration, on doit rechercher le plus court chemin
(au sens du chemin de cout minimal) de x
1
x
n
dans un graphe ou la
longueur (le cout) des arcs peut etre ngative ; il conviendra donc
demployer un algorithme adapt cette situation (lalgorithme de Dijkstra
ne convient pas). Il existe cependant une amlioration de cet algorithme
propose par Edmonds et Karp et base sur une technique de modication
des couts permettant de les rendre tous positifs en conservant cependant
la meme hirarchie de chemin sur le graphe dcart ; dans cette situation
lalgorithme de Dijkstra peut etre utilis.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 132 / 172
Couplages:
Les problmes de couplage dans les graphes quelconques (ou dans les
graphes bipartis) ont un double interet. Le premier, le plus vident, vient
de leurs applications : ils gnralisent directement les problemes
daectation et ils interviennent dans certains problmes importants de la
thorie de graphes : problmes de tournes, dtermination de plus courtes
chaines dans un graphe non orient, etc. Le second, dordre thorique,
vient de ce quils se rattachent une classe de problmes de
programmation linaire en nombres entiers.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 133 / 172
Dnition:
Etant donn un graphe simple non orient G = (X, A), un
couplage
est un sous ensemble daretes K A tel que deux aretes quelconques de
K ne sont pas adjacentes.
Un sommet i X est dit satur par le couplage K A sil existe une
arete de K
incidente i .
Un couplage K qui sature tous les sommets du graphe est appel couplage
parfait.
Un couplage maximal est un couplage de cardinalit maximale.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 134 / 172
Le problme du couplage maximal:
Dnition:
Si K A est un couplage de G = (X, A), on appelle chaine alterne
(relativement
K) une chaine lmentaire de G dont les aretes appartiennent
alternativement K
et K = A K.
Une chaine alterne augmentante ou chaine amliorante est une chaine
alterne joignant deux sommets insaturs.
En convenant de dessiner les artes dun couplage par des traits pais, les
artes de K = A K restant en traits ns, une chaine alterne est une
chaine lmentaire dont les aretes sont alternativement nes et paisses.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 135 / 172
Dnition:
Etant donn un couplage K A, considrons une chaine alterne L dont
chaque
extrmit est un sommet insatur ou est telle que lunique arte de K qui
lui est
incidente soit dans L. Alors le couplage K/ obtenu en changeant le role
des aretes
nes et paisses le long de la chaine L est encore un couplage de G. Cette
opration
qui fait passer du couplage K au couplage K/ est appele transfert le long
de la
chaine alterne L.
Une opration de transfert le long dune chaine alterne augmentante,
augmente la cardinalit du couplage dune unit.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 136 / 172
Par exemple, sur le graphe de la gure suivante
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 137 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 138 / 172
les aretes (2, 3) et (5, 6), dessines en traits pais,
forment un couplage K de cardinalit gale 2. La chaine L = 1, 2, 3, 4
est une chaine alterne dont les extrmits sont des sommets insaturs.
Cest donc une chaine alterne augmentante.
Un transfert le long de cette chaine produit le nouveau couplage
K/ = (1, 2), (3, 4), (5, 6) de cardinalit gale 3.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 139 / 172
Pour cet exemple particulier, ce couplage est maximal, car, pour un graphe
dordre n, la cardinalit dun couplage maximal est gale la partie entire
de n/2.
Le thorme suivant permet de caractriser un couplage maximal.
Thorme:
Un couplage K est maximal si et seulement sil nexiste pas de chaine
alterne augmentante relativement K.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 140 / 172
Problmes daectation.
cest: n taches raliser et n machines pour les raliser sachant que lon
connait le cout de ralisation C
ij
de
la tache t
i
par la machine m
j
.
(pour tous les couples (t
i
, m
j
) possibles, si la tache t
i
ne peut etre
eectue par la machine m
j
, on pose C
ij
= )
on cherche une permutation de 1, 2, ..., n
conduisant un cout total :
n

i =1
C
i (i )
minimum ( n! permutations
possibles).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 141 / 172
Le problme daectation est un cas particulier du problme de transport
(sans capacit).
Lalgorithme Hongrois: faon de rsoudre propos par Kuhn
repose sur le fait quon ne change pas la ou les solutions optimales en
augmentant ou en diminuant dune meme quantit tous les lments
dune meme ligne (ou dune meme colonne) de la matrice des C
ij
(les
valeurs innies restant innies). Aprs une telle opration, la valeur totale
est augmente ou diminue de .
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 142 / 172
Par consquent, si lon fait apparaitre, par des transformations de ce type,
susamment de
zros dans le tableau, mais pas de couts ngatifs, et quil existe n zros
indpendants (cest- -dire un seul zro dans chaque ligne et dans
chaque colonne), on aura alors trouv laectation optimale.
Cela se fait en trois phases
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 143 / 172
Soit lexemple dcrit par la matrice des couts suivante :
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 144 / 172
Phase I : Obtention de valeurs nulles
A tous les lments de chacune des colonnes, on enlve le plus petit
lment de cette colonne,
puis, dans la matrice ainsi obtenue, on enlve, tous les lments dune
meme ligne, le plus petit lment de la ligne. On obtient de la sorte une
matrice (C
1,ij
) ayant au moins un zro par ligne
et par colonne.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 145 / 172
aprs traitement des colonnes
puis des lignes
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 146 / 172
Phase II : recherche du maximum daectations possibles:
A partir de la matrice (C
1,ij
), on cherche former une solution de cout nul
(un seul zro dans
chaque ligne et dans chaque colonne). Si cest le cas, on a la solution
optimale, sinon on cherche un ensemble maximum de zros
indpendants : ceci revient chercher un ot maximal sur le
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 147 / 172
graphe G / constitu par les arcs de cout (rduit) nul. Sur la matrice
(C
1,ij
) , cela correspond au traitement suivant. On considre la ligne ayant
un nombre minimal de zros (pour lexemple, cela peut etre la premire).
On encadre lun des zros de cette ligne (ici, C
1
,A2), puis on barre les
zros qui se trouvent sur la meme ligne ou la meme colonne que le zros
encadr (ici, C
1
,D2). On procde de meme pour toutes les lignes, en
tenant compte des tapes prcdentes.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 148 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 149 / 172
phase III : dtermination des aectations intressantes:
Pour avoir ces aectations, on procde la manire suivante :
On marque (dune toile) toutes les lignes qui ne contiennent aucun zro
encadr
sommet non aect (ligne D de lexemple) ;
On marque les lignes qui ont un zro encadr dans une colonne marque
(ligne A de
lexemple) ;
On marque les colonnes qui ont un ou plusieurs zros barrs dans une
ligne marque
possibilit non exploite (colonne 2 de lexemple).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 150 / 172
On rpte ces trois marquages successifs jusqu ce que lon ne puisse plus
eectuer de nouveaux
marquages.
Les aectations intressantes considrer sont celles issues des sommets
correspondant aux lignes marques ; on barre donc les lignes non
marques. Les sommets correspondant aux colonnes
marques ne sont pas intressants car ils ne peuvent etre raects ; on
barre donc les colonnes marques.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 151 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 152 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 153 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 154 / 172
On note (C
2,ij
) la matrice ainsi obtenue et lon poursuit la procdure de
traitement en reprenant
la seconde phase. Lorsquune solution optimale est obtenue (un zro par
ligne et
par colonne), on arrete ; sinon on recommence et
on dnit successivement les matrices (C
3,ij
), (C
4,ij
), ......, (C
n,ij
).
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 155 / 172
Sur le tableau (C
2,ij
) de lexemple, on est amen encadrer C2,D2 et
barrer C2,A2, encadrer
C2,E4, encadrer C2,A1 et barrer C2,B1 et C2,C1, encadrer C2,B5 et enn
encadrer C2,C3 :
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 156 / 172
La solution optimale est alors obtenue grace aux lments :
C2,A1 = C2,B5 = C2,C3 = C2,D2 = C2,E4 = 0
et la permutation = (
ABCDE
15324
)
Si lon revient aux donnes initiales, on obtient :
CA1 = CB5 = CC3 = CD2 = CE4 = 7 + 7 + 1 + 4 + 2 = 21
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 157 / 172
Problmes dordonnancement:
Lobjet dun problme dordonnancement est de faciliter la mise en oeuvre
et de guider lexcution dun ensemble complexe de taches (programme de
recherche ou de production, lancement dun produit, construction dun
dice ...). La technique danalyse la plus connue, appele mthode PERT
(Program Evaluation and Review Technique) a t introduite aux
Etats-Unis en 1958 pour la conduite du programme de recherche et de
construction des fuses Polaris.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 158 / 172
Etant donn un objectif quon se propose datteindre et dont la ralisation
suppose lexcution pralable
de multiples taches, soumises de nombreuses contraintes, dterminer
lordre et le calendrier dexcution des diverses taches.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 159 / 172
Le critre doptimalit peut porter sur la minimisation de la dure et/ou
du cout de la
ralisation du projet.
Nous supposerons que le projet est dcomposable en un nombre ni de
taches, caractrises par leur dure dexcution (gnralement xe, parfois
alatoire), ventuellement
aussi par leur cout dexcution, et soumises des contraintes de
postriorit stricte (une tache ne peut commencer que si certaines autres
taches sont compltement termines). Ce type de problme se nomme
problme central de lordonnancement.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 160 / 172
La reprsentation par un graphe dun problme dordonnancement permet
une bonne apprhension globale du problme. Letude de ce graphe
conduit lidentication des taches prioritaires et la dtection des retards
ou des dpassements de moyens an de prendre les mesures correctives
ncessaires.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 161 / 172
Le problme central de lordonnancement snonce comme suit : tant
donn un projet constitu de n taches de dures dexcution xes et
soumises des contraintes de postriorit stricte, dterminer un
calendrier dexcution ou ordonnancement qui minimise la dure de
ralisation totale du projet.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 162 / 172
Recherche du plus long chemin:
Graphes et planication
Un problme de planication:
tant donn un travail eectuer (un projet faire)
ncessitant un (grand) nombre de tches coordonnes entre elles
Trouver le temps minimum pour terminer le travail
Trouver les tches critiques
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 163 / 172
Algorithme: trouver le chemin le plus long
Pour chaque noeuds x, xer x.max = 0
ni = faux
Tant que (non ni) {
ni = vrai
Pour chaque arc a du graphe {
si (a.origine.max + a.longueur > a.destination.max) {
a.destination.max = a.origine.max + a.longueur; ni = faux;
}
}
}
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 164 / 172
Modle PERT:
Les tches sont reprsentes par des arcs
La dure de la tche est associe larc
Les noeuds reprsentent des instants (dbut - n de tches)
2 instants particuliers : dbut travail - n travail
Reprsentation de la dpendance "terminer A avant de commencer B"
1. Vrier que le graphe est sans cycle
2. Dure minimum du travail =
somme des dures le long du plus long chemin de dbut n.
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 165 / 172
Exemple:
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 166 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 167 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 168 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 169 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 170 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 171 / 172
CHERTI LST IGI GI () problme du ot maximal May 25, 2012 172 / 172