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

Sujet 5: Problme du ot de cot minimum

MSE3211A: Flot et Routage


(daprs Ahuja, R.K., T.L. Magnanti and J.B. Orlin, Prentice Hall, 1993, et daprs les notes des cours de L.A. Wolsey et F. Vanderbeck ) Last update: January 10, 2011

Gautier Stauffer, MAB, Bur. A33:358, Email gautier.stauffer@math.u-bordeaux1.fr

PROBLME DE FLOT DE COT MINIMUM

Donnes : Soit G = (N, A) un graphe orient avec bi : offre / demande au noeud i N


bi > 0 : i est un noeud source (offre) bi < 0 : i est un noeud puits (demande) bi = 0 : i est un noeud de transit

uij : capacit de larc (i, j) A cij : cot unitaire pour pousser du ot sur larc (i, j) A Hypothses : Les donnes sont positives et entires Il existe un ot ralisable

Problme de Flot de cot minimum: Formulation


Problme : tablir un ot de cot minimal qui satisfasse toutes les demandes aux noeuds puits partir des approvisionnements aux noeuds sources, tout en respectant les capacits des arcs. minimiser z(x) =
(i,j)A

cij xij

xij
(i,j) + (i) (j,i) (i)

xji = bi (i, j) A

i N

0 xij uij

TROUVER UN FLOT RALISABLE


Vrier que l offre totale gale la demande totale: X bi = 0
iN

Dnir une source s et un puits t articiels. Pour tout noeud source, i avec bi > 0, crer un arc (s, i) de capacit us i = bi . Pour tout noeud puits, i avec bi < 0, crer un arc (i, t) de capacit ui t = bi . On trouvera une solution ralisable pour le problme initial en rsolvant le problme de ot maximum dans le rseau modi. Theorem P P x tel que jN xi j jN xj i = bi i and xi j ui j (i, j) ssi le ot P P maximum de s t dans le rseau modi est v = i: bi >0 bi = i: bi <0 bi

CNS pour la RALISABILIT


Theorem ot x ralisable dans le rseau G(A, N, b, 0, u) i.e. xij tel que P P j:(i,j)A xi j j:(j,i)A xj i = bi , i 0 xi j ui j S N : b(S) CAP[S, S] P o b(S) = iS bi et P CAP[S, S] = (i,j)(S,S) ui,j Conditions ncessaires: P P P ( jN xi j jN xj i ) P iS P = > iS, jS xi j jS, iS xj i P = > iS, jS ui j = = P b PiS i iS bi P iS bi

Conditions sufsantes: consquence de max ot /min cut

Cas Particuliers/Applications

Problme du plus court chemin de s vers t:


b(s) = 1, b(t) = 1, bi = 0 pour les autres noeuds i uij = + pour tous les arcs (i, j) A

Problme des plus courts chemins de s vers tous les autres:


b(s) = n 1, bi = 1 pour les autres noeuds i uij = + pour tous les arcs (i, j) A

Problme de ot maximum:
bi = 0 pour les noeuds i cij = 0 pour tous les arcs (i, j) A ajout dun arc (t, s) avec cts = 1, et uts = +

Cas Particuliers/Applications

Problme daffectation:
graphe bipartite o N1 est un ensemble de n tches affecter un ensemble N2 de n processeurs (|N1 | = |N2 |) les arcs (i, j) A vont de N1 vers N2 bi = 1 pour les noeuds i N1 b(j) = 1 pour les noeuds j N2 uij = 1 pour tous les arcs (i, j) A

Exemples: Affectation de tches des travailleurs ou des machines

Cas Particuliers/Applications

Problme de transport:
graphe bipartite o N1 est un ensemble de fournisseurs qui desservent un ensemble N2 de clients les arcs (i, j) A vont de N1 vers N2 bi > 0 pour les noeuds i N1 bj < 0 pour les noeuds j N2

Problme de transport gnralis: idem mais graphe non bipartite avec noeuds de transit intermdiaires Exemples: Transport de matires premires, de produits nis vers les entrepts, des entrepts vers les magasins; transport de personnes.

Graphe rsiduel
mme ide que pour le problme de ot maximum, mais attention aux cots et aux duplications darcs... Soit x un ot ralisable, on note G(x) = (N, A(x)) le graphe dni par pour chaque arc (i, j) on denit deux arcs (i, j) et (j, i) avec
capacits rsiduelles :
rij = uij xij pour tout (i, j) A tel que xij < uij rji = xij pour tout (i, j) A tel que xij > 0

cots :
cij inchang pour tout (i, j) A tel que xij < uij cji = cij pour tout (i, j) A tel que xij > 0

Attention si on a deja deux arcs (i, j) et (j, i) initialement, on se retrouve avec 4 arcs !

PROBLME DE FLOT COT MINIMUM: ALGORITHME DES CYCLES DE COT NGATIF


Construire un ot x ralisable. Tenter damliorer son cot:
Tant quil existe un cycle de cot ngatif avec une capacit rsiduelle (dans G(x)), envoyer du ot sur ce cycle jusqu sa saturation. Sil nen existe plus, le ot courant est optimum. En effet, 2 ots ralisables diffrent seulement par des ots autour de cycles (cfr THM de dcomposition des ots).

x X , x X , x = x = > x = x + x o x est un ot autour dun cycle dans G(x ) . c(x) 0 = cx cx . >

PROPRITS DE CET ALGORITHME

Lalgorithme est correct (termine loptimum). la complexit est: Si C ci j C et ui j U (i, j) A, le cot c x est born: mCU cx mCU A chaque itration de lalgo., le cot dcrot dau moins 1, = O(mCU) itrations. > Donc, la complexit totale est O( nmU + nm .mCU) = O(nm2 CU) |{z} | {z } ow-max plus-court-chemin Les solutions sont entires (si les donnes sont entires): Thorme : Si toutes les donnes sont entires alors le ot optimal sur chaque arc est entier.

AUTRES ALGORITHMES

Itrativement envoyer du ot le long dun plus court chemin dun noeud source un noeud puit. Algorithmes utilisant la technique de Scaling. The network simplex algorithm

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