Professional Documents
Culture Documents
Problemi I Rrjedhes Maksimum
Problemi I Rrjedhes Maksimum
2022-2023
Kuptimi i Rrjedhës
Një problem praktik: Shefi i një kompanie do të vendoset në një zyrë të re, ku do të ketë dhe një
kompjuter të ri. Ai do të përdorë rrjetin e brendshëm për të transferuar arkivën e tij nga kompjuteri i
vjetër ! në kompjuterin e ri ". Rjeti është paraqitur me digrafin e mëposhtëm, ku kulmet përfaqësojnë
kompjuterat me anë të të cilëve do të kryhet transferimi i informacionit, ndërsa harqet përfaqësojnë
transferimet e mundshme nga njëri kompjuter tek tjetri. Përbri çdo harku është dhënë sasia
maksimale e informacionit që ai mund të transferojë në një sekondë (në Mb/s).
6 Problemi: Cila është sasia maksimale e informacionit që
1 3 10
8
3 mund të transferohet në një sekondë nga kompjuteri ! në
s kompjuterin " ?
2 6 t
1 Për zgjidhjen e problemit duhet të kemi parasysh këto
7 4 kushte:
2 4
4
• Sasia e informacionit që kalon nëpër çdo hark (për
6, 6 sekondë) nuk mund të tejkalojë kapacitetin e harkut.
8, 6+2 1 3 10, 6
3 • Kulmi ! është burimi i informacionit dhe gjithë sasia e
s 2, 2 6 t informacionit që niset nga ! duhet të përfundojë në ".
1 • Pra, kulmet 1, 2, 3, 4 shërbejnë vetëm për të transferuar
7 4, 2
2 4, 2
4 informacionin, as nuk mbajnë, as nuk japin informacion.
Kuptimi i Rrjedhës
6, 6 Formalizojmë problemin:
8, 8
1 3 10, 6 Jepet digrafi ( = (+, ,) dhe kapacitetet .!" , për çdo hark (/, 0) ∈
3
,, me anë të funksionit .: , → 4#.
s 2, 2 6 t Funksioni 5: 6 → 7, me vlera 5$% për çdo hark (8, 9), quhet
1
7 4, 2 rrjedhë në digrafin :.
2 4, 2
4 Në qoftë se në digrafin ( është përcaktuar rrjedha 5, atëherë për
çdo kulm 8 ∈ ;:
6, 6
1 3
8, 8
3
10, 6+1 < / = = >!" − = >"!
(!, ")∈*(!) (",!)∈+(!)
s 2, 2 6 t
1, 1 quhet divergjencë në kulmin /.
7, 3
2 4
4, 2+2 < / > 0 ⇒ / quhet kulm burim;
4, 2+2 < / = 0 ⇒ / quhet kulm tranzit;
< / < 0 ⇒ / quhet kulm derdhje.
(6, 6)
(8, 8) 1 3 (10, 7) Në të gjitha problemet e rrjedhave supozohet se: ∑!∈, < / = 0.
Për shembullin konkret, kemi të dhënë digrafin, funksionin E të
s (2, 2) ) (3
,0 (6, 0) t kapaciteteve, kulmin burim ! dhe kulmin derdhje ". Kulmet e
,1 )
(1 tjerë janë tranzit.
(7, 3)
2 4 (4, 4) Na duhet të përcaktojmë një rrjedhë 5 që plotëson kushtet e
(4, 4)
dhëna dhe të ketë vlerë maksimum.
Problemi i Rrjedhës Maksimum
Në digrafin : = (;, 6) me burim !, derdhje " dhe kapacitete E: 6 → 7#, një rrjedhë 5 është e
lejueshme, në qoftë se plotëson kushtet:
0 ≤ >!" ≤ .!" ∀ (/, 0) ∈ , (kushti i kufizueshmërisë)
U≥0 /=W
= >!" − = >"! = T 0 / ≠ W, Y (kushti i balancimit të rrjedhës)
(!, ")∈*(!) ",! ∈+ ! −U /=Y
a = b(!) do të quhet vlerë e rrjedhës 5.
U≥0 /=W
= >!" − = >"! = T 0 / ≠ W, Y
(!, ")∈*(!) ",! ∈+ ! −U /=Y
Problemi i Rrjedhës Maksimum
(6, 6)
(8, 8) 1 3 (10, 7) Në shembullin në shqyrtim, kemi përcaktuar një rrjedhë të
lejueshme:
s (2, 2) ) (3
,0 (6, 0) t 1. Për çdo hark plotësohet kushti i kufizueshmërisë.
,1 )
(1
(7, 3) 2. Divergjencat e kulmeve:
2 4 (4, 4)
(4, 4) < W = 8 + 3 − 0 = 11
< Y = 0 − 7 + 4 = −11
< 1 = 2+0+6 −8=0
< 2 = 4 + 1 − (3 + 2) = 0
< 3 = 7 − (6 + 1 + 0) = 0
< 4 = 4 + 0 − (4 + 0) = 0
Vlera e rrjedhës është a = b ! = 11.
A është kjo një rrjedhë maksimum?
!-" prerja dhe kapaciteti i saj
(6, 6) Kemi digrafin ( = (+, ,) me burim ! dhe derdhje " dhe
1 3 (10, 7)
(8, 8) funksionin e kapaciteteve .: , → 4#.
s (2, 2) ) (3
,0 (6, 0) t Le të jetë h ⊂ + (e përpiktë) ku W ∈ h dhe Y ∉ h. Shënojmë k = +\S.
,1 )
(1 Bashkësia e harqeve që kanë njërin skaj në h dhe skajin tjetër në k,
(7, 3)
2 (4, 4)
4 (4, 4) shënohet n = [h, k] dhe quhet !-" prerje në (.
n# = /, 0 : / ∈ h, 0 ∈ k
h = W, 2, 4 k = Y, 1, 3 n- = { /, 0 : / ∈ k, 0 ∈ h
n# = W, 1 , 2, 3 , 4, 3 , (4, Y) Nëse > është një rrjedhë e lejueshme në (, rrjedhë përmes një
n- = 1, 2 , 1, 4 !-" prerjeje t është:
> n = 8+1+0+4 − 2+0 =
> n = = >!" − = >!"
= 11 = U > .
(!,")∈.! (!,")∈."
. n = 8 + 1 + 6 + 4 = 19 Ka vend barazimi: 5 t = a(5), për çdo W − Y prerje n.
Kapacitet i një !-" prerjeje t quhet:
. n = = .!"
(!,")∈.!
Problemi: Gjetja e prerjes me kapacitet minimum.
Teorema rrjedhë maksimum-prerje minimum
Pohim 5.1. (Dualiteti i dobët) Për çdo rrjedhë të lejueshme > dhe çdo W-Y prerje n, ka vend mosbarazimi:
U > ≤ .(n)
Vërtetim. Le të jetë > një rrjedhë e lejueshme dhe n një W-Y prerje në (.
Për kulmet ! dhe ", vlera e rrjedhës ka ndryshuar vetëm në një hark me skaj në ! ose ". Kemi dy raste
për secilin:
a) b) a) b)
vlera e rrjedhës: +" −" +" −"
s s t t
divergjenca: (+) (−) (−) (+)
rezultati: ( ! ) = (()) + " ( ! ) = (()) + " (! * = ( * − " (! * = ( * − "
RRJEDHË_MAKSIMUM(9, :, ;, <, =)
1. në qoftë se nuk kemi të dhënë një rrjedhë 8
2. për çdo hark (., >) ∈ 2
3. 8%# = 0
4. përsërit
5. )-* SHTEG_RRITËS(/, ), *, 4, 8)
6. në qoftë se Output ()-* SHTEG_RRITËS(/, ), *, 4, 8))
7. është (?, "& )
8. për çdo hark (., >) ∈ ?
9. në qoftë se ., > ∈ ?"
10. 8%# = 8%# + "&
11. në qoftë se ., > ∈ ?$
12. 8%# = 8%# − "&
13. përndryshe
14. Output (8-rrjedhë maksimum, +)
Algoritmi Ford-Fulkerson
:-! SHTEG_RRITËS(%, ', (, ), *)
1. për çdo kulm $ ∈ &\{)} 20. përndryshe
2. +,-.($) = 0122 21. për çdo kulm K ∈ L(8) dhe K ∉ 5
3. 3& = 0122 22. në qoftë se >#$ < @#$
4. +,-.()) = 0122 23. +,-. K = 8 +
5. 3' = ∞ 24. 3$ = min 3# , @#$ − >#$
6. 2 = {)} 25. 2=2∪ K
7. 5 = {)} 26. 5=5∪ K
8. sa herë 2 ≠ ∅ 27. për çdo kulm K ∈ R(8) dhe K ∉ 5
9. 8 = 95:;(2) 28. në qoftë se >$# > 0
10. në qoftë se < ∈ =(8) dhe >#( < @#( 29. +,-. K = 8 −
11. +,-. < = 8 + 30. 3$ = min 3# , >$#
12. 3( = min 3# , @#( − >#( 31. 2=2∪ K
13. duke ndjekur tabelat gjej G: +-, shteg rritës 32. 5=5∪ K
14. Output (G, 3( ) 33. Output (5)
15. në qoftë se < ∈ H(8) dhe >(# > 0
16. +,-. < = 8 −
17. 3( = min 3# , >(#
18. duke ndjekur tabelat gjej G: +-, shteg rritës
19. Output (G, 3( )
Zbatim i Algoritmit Ford-Fulkerson
Është dhënë digrafi * = (0, ^) i paraqitur në figurë,
(11, 2) (8, 8) (12, 2)
s 1 4 6 me burim ! e derdhje ".
(3, 3) (6, 6) Për çdo hark (9, :) ∈ ^ janë dhënë (7!" , #!" ),
(15, 2)
(6, 3) (2, 0) (4, 2) (6, 2) përkatësisht kapaciteti dhe rrjedha në harkun (9, :).
(2, 2)
(8, 6) Të zbatohet Algoritmi Ford-Fulkerson për gjetjen e
2 3 5 t rrjedhës maksimum dhe prerjes me kapacitet
(6, 1) (10, 10) (6, 4)
minimum.
− ∞ +) 5 5* 2 4) 2 − ∞ +) 3 3* 2 4) 2
(11, 6) (8, 8) (12, 4) (11, 8) (8, 8) (12, 6)
s 1 4 6 s 1 4 6
(3, 3) (6, 2) (3, 3) (6, 0)
(2, 0) (6, 2) (15, 4) (2, 0) (6, 0) (15, 6)
(6, 3) (4, 4) (6, 3) (4, 4)
(2, 2) (2, 2)
(8, 6) (8, 6)
2 3 5 t 2 3 5 t
(6, 1) (10, 10) (6, 6) (6, 1) (10, 10) (6, 6)
1* 2 6) 3 1) 2 6) 3
− ∞ +) 1
(11, 10) (8, 8) (12, 12)
s 1 4 6
(3, 3) (6, 0) Rrjedha është maksimum me vlerë $ # ∗ = 18.
(15, 12)
(6, 6) (2, 2) (4, 4) (6, 0) Përcaktojmë prerjen minimum:
(2, 1)
(8, 0) . = !, 1, 2, 3 1 = 4, 5, 6, "
2 3 5 t
(6, 5) (10, 10) (6, 6)
+* 1 2) 1
s 1 t s (1, 1) t s (1, 1) t
100 100 (100, 0) (100, 1) (100, 0) (100, 2)
2 2 2
s 1 t s (1, 0) t 1
(100, 100) (100, 100)
100 100 (100, 1) (100, 1)
2 2 s (1, 0) t
It. 3
(100, 1) 1 (100, 0) (100, 1) 1 (100, 0) (100, 100) 2 (100, 100)
s (1, 1) t s (1, 0) t
(100, 0) (100, 1) (100, 0) (100, 1)
200 iteracione !
2 2