A. Kaperki, M. Kulej, BO -Wyk lad, Opymalizacja ieciowa 1 Zagadnienie makymalnego przep lywu (MP). Przyk lad. W pewnym mieście inieje fragmen wodoci agów zadany w poaci naȩpuj acej ieci: 1 Luki oznaczaj a rury a wierzcho lki wȩz ly wodoci agu. Dla każdej rury (i, j) A zadanajeprzepuowośću ij > 0,kóraoznaczailośćwodyjakamożeprzep lyn ać przez a rurȩ w ci agu 1 minuy. Ile makymalnie wody może przep lyn ać od wȩz la do wȩz la w ci agu 1 minuy? Wierzcho lek nazywamy ź ród lem a wierzcho lek ujściem. Uk lad liczb f = (x ij ), (i,j) A nazywamy przep lywem z do jeżeli: 1. 0 x ij u ij dla każdego (i,j) A.. Dla każdego wierzcho lka różnego od i uma wp lywów je równa umie wyp lywów. W przyk ladowej ieci np: dla wierzcho lka mui zachodzić: x +x = x +x +x Przyk ladowy przep lyw (w nawiaach) pokazany je na poniżzym ryunku: () () 1 () () (1) (1) () () Warości a przep lywu f nazywamy ca lkowiy wp lyw do ujścia (lub wyp lyw ze źród la). W powyżzym przyk ladzie je o wielkość v = x + x + x =. Chcemy znaleźć przep lyw makymalny czyli przep lyw o najwiȩkzej warości.
A. Kaperki, M. Kulej, BO -Wyk lad, Opymalizacja ieciowa Model liniowy: Dla przyk ladowej ieci naȩpuj acy model wyznacza makymalny przep lyw: maxv x +x = v [Wyp lyw ze źród la] x +x +x x x = 0 [Bilan w wierzcho lku ] x +x +x x x x = 0 [Bilan w wierzcho lku ] x x x = 0 [Bilan w wierzcho lku ] x +x x x = 0 [Bilan w wierzcho lku ] x x = 0 [Bilan w wierzcho lku ] x +x +x = v [Wp lyw do ujścia] 0 x ij u ij, (i,j) A [Przepuowości luków] Opymalne rozwi azanie pokazane je na poniżzym ryunku. Je o przep lyw o warości. () () 1 () () () () () () Przekroje w ieci Przekrojem (S, S) nazywamy podzia l wierzcho lków ieci na dwa roz l aczne podzbiory S i S, akie że S i S. W przyk ladowej ieci przekrojem je np: S = {,,,} i S = {,,}. Przepuowości a przekroju (S,S) nazywamy wyrażenie: u(s,s) = {(i,j):i S,j S} u ij 1
A. Kaperki, M. Kulej, BO -Wyk lad, Opymalizacja ieciowa Przekrójpokazanynapowyżzymryunkumaprzepuowośću +u +u +u = 1. Minimalnym przekrojem (w akim gard lem) nazywamy przekrój o minimalnej przepuowości. Twierdzenie 1 Makymalny przep lyw je równy przepuowości minimalnego przekroju. () () 1 () () () () () () W powyżzym przyk ladzie minimalny przekrój je naȩpuj acy: S = {,,, } i S = {,,}. Jego przepuowość wynoi czyli je dok ladnie równa warości makymalnego przep lywu. Jeżelif = (x ij )jemakymalnymprzep lywemii(s,s)jeminimalnymprzekrojem o: Dla luków (i,j) A akich że i S, j S zachodzi x ij = u ij. Dla luków (i,j) A akich że j S, i S zachodzi x ij = 0. Sieć reidualna W ieci G = (V,A) zadany je pewien przep lyw f = (x ij ), (i,j) A. Sieć reidualn a G f konruujemy naȩpuj aco: 1. Każdy luk (i, j) A zaȩpujemy dwoma lukami: (i, j) o przepuowości u ij x ij i (j,i) o przepuowości x ij i u ij (x ij ) j i u ij x ij j x ij. Uuwamy wzykie luki o przepuowości 0. Twierdzenie Przep lyw f je makymalny wedy i ylko kedy gdy w ieci reidualnej nie inieje ścieżka od do. W przeciwnym wypadku można powiȩzyć przep lyw o δ > 0, gdzie δ je równe minimalnej przepuowości luku na ścieżce od do.
A. Kaperki, M. Kulej, BO -Wyk lad, Opymalizacja ieciowa 1(1) 1() 0(1) (1) 10 () () 1() () 1() 1 1 Na powyżzym ryunku przedawiona je ieć G z przep lywem f oraz odpowiednia ieć reidualna G f. W ieci reidualnej inieje ścieżka. Minimalna przepuowość luku na ej ścieżce wynoi. Można wiȩc zwiȩkzyć przep lyw w oryginalnej ieci o w naȩpuj acy poób: + - () + 0(1) 1() Nowy przep lyw oraz odpowiadaj aca mu ieć reidualna przedawiona je na poniżzym ryunku: 1(1) 1() 0(1) (1) 10 () 1(1) () 1() 1 1 1 1 1 W ieci reidualnej nie inieje ścieżka od do a wiȩc uzykany przep lyw je makymalny (ma warość ). Minimalnny przekrój (S,S) wyznaczamy naȩpuj aco: do S należy oraz wzykie wierzcho lki i V dla kórych inieje ścieżka od do i w ieci reidualnej. do S należ a pozoa le wierzcho lki. Minimalnyprzekrójwpowyżzymprzyk ladziewynois = {,,,}is = {,}. Jego przepuowość wynoi a wiȩc yle ile makymalny przep lyw.
A. Kaperki, M. Kulej, BO -Wyk lad, Opymalizacja ieciowa ALGORYTM FULKERSONA - FORDA 1: Przyjmij x ij = 0 dla każdego (i,j) A (je o przep lyw zerowy f) : Skonruuj ieć reidualn a G f. : Jeżeli nie inieje ścieżka od do w G f o KONIEC - przep lyw f je makymalny. W przeciwnym wypadku znajdź luk o minimalnej przepuowości δ na ścieżce od do w G f. Powiȩkz przep lyw w oryginalnej ieci o δ orzymuj ac wiȩkzy przep lyw f i wróć do :. Przyk lad: Po lewej ronie znajduje iȩ oryginalna ieć a po prawej odpowiednia ieć reidualna. Dla przep lywu zerowego obie ieci a idenyczne. () () () () () () () () () () () () ()