TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo...

33
TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 1 / 20

Transcript of TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo...

Page 1: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

TW2020 OptimaliseringHoorcollege 6

Leo van Iersel

Technische Universiteit Delft

19 oktober 2016

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 1 / 20

Page 2: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Deze week

Primal-Dual algoritmes voor:

Kortste PadI Dijkstra

Max FlowI Ford-Fulkerson

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 2 / 20

Page 3: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Kortste Pad Probleem

Probleem

Kortste Pad

Gegeven: gerichte graaf D = (V ,A) met lengte cj ≥ 0 voor elke pijlej ∈ A en twee speciale punten s, t ∈ V .

Bepaal: een kortste pad van s naar t.

Definieer de node-arc incidence matrix A als volgt:

aij =

1 als pijl ej uit punt i vertrekt

−1 als pijl ej in punt i aankomt

0 anders.

Beslissingsvariabelen:

fj =

{1 als het pad pijl ej gebruikt

0 anders

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 3 / 20

Page 4: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Kortste Pad Probleem

Probleem

Kortste Pad

Gegeven: gerichte graaf D = (V ,A) met lengte cj ≥ 0 voor elke pijlej ∈ A en twee speciale punten s, t ∈ V .

Bepaal: een kortste pad van s naar t.

Definieer de node-arc incidence matrix A als volgt:

aij =

1 als pijl ej uit punt i vertrekt

−1 als pijl ej in punt i aankomt

0 anders.

Beslissingsvariabelen:

fj =

{1 als het pad pijl ej gebruikt

0 anders

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 3 / 20

Page 5: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Primale:

min∑ej∈A

cj fj

o.d .v . Af =

10...0−1

f ≥ 0

Duale:

max πs − πto.d .v . πTA ≤ c

π ∈ Rm

Oftewel:

max πs − πto.d .v . πu − πv ≤ cuv ∀(u, v) ∈ A

π ∈ Rm

Complementary Slackness:

fuv > 0 ⇒ πu − πv = cuv

Oftewel: πu − πv < cuv ⇒ fuv = 0

Met notatie: als ej = (u, v) dan fj = fuv en cj = cuv .

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 4 / 20

Page 6: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Primale:

min∑ej∈A

cj fj

o.d .v . Af =

10...0−1

f ≥ 0

Duale:

max πs − πto.d .v . πTA ≤ c

π ∈ Rm

Oftewel:

max πs − πto.d .v . πu − πv ≤ cuv ∀(u, v) ∈ A

π ∈ Rm

Complementary Slackness:

fuv > 0 ⇒ πu − πv = cuv

Oftewel: πu − πv < cuv ⇒ fuv = 0

Met notatie: als ej = (u, v) dan fj = fuv en cj = cuv .

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 4 / 20

Page 7: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Primale:

min∑ej∈A

cj fj

o.d .v . Af =

10...0−1

f ≥ 0

Duale:

max πs − πto.d .v . πTA ≤ c

π ∈ Rm

Oftewel:

max πs − πto.d .v . πu − πv ≤ cuv ∀(u, v) ∈ A

π ∈ Rm

Complementary Slackness:

fuv > 0 ⇒ πu − πv = cuv

Oftewel: πu − πv < cuv ⇒ fuv = 0

Met notatie: als ej = (u, v) dan fj = fuv en cj = cuv .

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 4 / 20

Page 8: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Algoritme van Dijkstra voor het vinden van een kortste pad van s naar tin een gerichte graaf D = (V ,A) met een lengte cuv ≥ 0 voor elkepijl (u, v) ∈ A en met s, t ∈ V .

Idee:

Begin met W := {s} en voeg punten aan W toe totdat W = V .

Bepaal voor elk punt v de waarde ρ(v): de lengte van een kortste padvan s naar v dat alleen punten uit W gebruikt.

Voeg steeds het punt x ∈ V \W met minimale ρ(x) toe aan W .De waarde ρ(x) wordt dan definitief.

π = −ρ is een toegelaten oplossing van het duale probleem,

met waarde πs − πt gelijk aan de lengte van het pad.

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 5 / 20

Page 9: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Algoritme van Dijkstra voor het vinden van een kortste pad van s naar tin een gerichte graaf D = (V ,A) met een lengte cuv ≥ 0 voor elkepijl (u, v) ∈ A en met s, t ∈ V .

Idee:

Begin met W := {s} en voeg punten aan W toe totdat W = V .

Bepaal voor elk punt v de waarde ρ(v): de lengte van een kortste padvan s naar v dat alleen punten uit W gebruikt.

Voeg steeds het punt x ∈ V \W met minimale ρ(x) toe aan W .De waarde ρ(x) wordt dan definitief.

π = −ρ is een toegelaten oplossing van het duale probleem,

met waarde πs − πt gelijk aan de lengte van het pad.

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 5 / 20

Page 10: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Algoritme van Dijkstra voor het vinden van een kortste pad van s naar tin een gerichte graaf D = (V ,A) met een lengte cuv ≥ 0 voor elkepijl (u, v) ∈ A en met s, t ∈ V .

Idee:

Begin met W := {s} en voeg punten aan W toe totdat W = V .

Bepaal voor elk punt v de waarde ρ(v): de lengte van een kortste padvan s naar v dat alleen punten uit W gebruikt.

Voeg steeds het punt x ∈ V \W met minimale ρ(x) toe aan W .De waarde ρ(x) wordt dan definitief.

π = −ρ is een toegelaten oplossing van het duale probleem,

met waarde πs − πt gelijk aan de lengte van het pad.

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 5 / 20

Page 11: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Algoritme van Dijkstra voor het vinden van een kortste pad van s naar tin een gerichte graaf D = (V ,A) met een lengte cuv ≥ 0 voor elkepijl (u, v) ∈ A en met s, t ∈ V .

Idee:

Begin met W := {s} en voeg punten aan W toe totdat W = V .

Bepaal voor elk punt v de waarde ρ(v): de lengte van een kortste padvan s naar v dat alleen punten uit W gebruikt.

Voeg steeds het punt x ∈ V \W met minimale ρ(x) toe aan W .De waarde ρ(x) wordt dan definitief.

π = −ρ is een toegelaten oplossing van het duale probleem,

met waarde πs − πt gelijk aan de lengte van het pad.

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 5 / 20

Page 12: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Algoritme van Dijkstra voor het vinden van een kortste pad van s naar tin een gerichte graaf D = (V ,A) met een lengte cuv ≥ 0 voor elkepijl (u, v) ∈ A en met s, t ∈ V .

Idee:

Begin met W := {s} en voeg punten aan W toe totdat W = V .

Bepaal voor elk punt v de waarde ρ(v): de lengte van een kortste padvan s naar v dat alleen punten uit W gebruikt.

Voeg steeds het punt x ∈ V \W met minimale ρ(x) toe aan W .De waarde ρ(x) wordt dan definitief.

π = −ρ is een toegelaten oplossing van het duale probleem,

met waarde πs − πt gelijk aan de lengte van het pad.

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 5 / 20

Page 13: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Algoritme van Dijkstra voor het vinden van een kortste pad van s naar tin een gerichte graaf D = (V ,A) met een lengte cuv ≥ 0 voor elkepijl (u, v) ∈ A en met s, t ∈ V .

Idee:

Begin met W := {s} en voeg punten aan W toe totdat W = V .

Bepaal voor elk punt v de waarde ρ(v): de lengte van een kortste padvan s naar v dat alleen punten uit W gebruikt.

Voeg steeds het punt x ∈ V \W met minimale ρ(x) toe aan W .De waarde ρ(x) wordt dan definitief.

π = −ρ is een toegelaten oplossing van het duale probleem,

met waarde πs − πt gelijk aan de lengte van het pad.

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 5 / 20

Page 14: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Algoritme van Dijkstra voor het vinden van een kortste pad van s naar tin een gerichte graaf D = (V ,A) met een lengte cuv ≥ 0 voor elkepijl (u, v) ∈ A en met s, t ∈ V .

Algoritme

W := {s}ρ(s) := 0ρ(v) := csv voor elk punt v ∈ V \ {s}(met csv =∞ wanneer (s, v) /∈ A)

Herhaal totdat W = V :

1 Vind u ∈ V \W met minimale ρ(u)

2 W := W ∪ {u}3 Voor elke v ∈ V \W met (u, v) ∈ A

I ρ(v) := min{ρ(v), ρ(u) + cuv}

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 6 / 20

Page 15: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Na afloop is ρ(t) de lengte van een kortste pad van s naar t.

Voor een gegeven s vindt het algoritme deze afstand voor alle t ∈ V .

Boekhouding: onthoud voor elk punt v wat het vorige punt op hetpad is (d.w.z. een u waarvoor ρ(v) = ρ(u) + cuv ).

Dan is een kortste s-t pad makkelijk te bepalen door “backtracking”vanuit t.

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 7 / 20

Page 16: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Kortste pad d.m.v. slijmzwam

http://www.youtube.com/watch?v=czk4xgdhdY4

Vincenzo Bonifaci, Kurt Mehlhorn and Girish Varma. Physarum cancompute shortest paths. Journal of Theoretical Biology 309: 121-133(2012).

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 8 / 20

Page 17: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Probleem

Max Flow

Gegeven: gerichte graaf D = (V ,A) met een capaciteit bij ≥ 0 voorelke pijl (i , j) ∈ A en twee speciale punten s, t ∈ V .

Bepaal: een maximale stroom (flow) van s naar t.

Beslissingsvariabelen:

fij : de stroom op pijl (i , j)

v : de waarde van de stroom van s naar t

(= de totale uitstroom van s = de totale instroom bij t)

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 9 / 20

Page 18: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Probleem

Max Flow

Gegeven: gerichte graaf D = (V ,A) met een capaciteit bij ≥ 0 voorelke pijl (i , j) ∈ A en twee speciale punten s, t ∈ V .

Bepaal: een maximale stroom (flow) van s naar t.

Beslissingsvariabelen:

fij : de stroom op pijl (i , j)

v : de waarde van de stroom van s naar t

(= de totale uitstroom van s = de totale instroom bij t)

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 9 / 20

Page 19: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Voorbeeld

s

u

x y

wt

v

1/8 4/4

5/5

2/5

3/8

3/3

1/82/5

4/71/7

Labels: fij/bij (stroom/capaciteit)

Vraag

Wat is de waarde v van de stroom van s naar t?Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 10 / 20

Page 20: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Primale:

max v

o.d .v . Af +

−10...01

v = 0

f ≤ bf , v ≥ 0

Duale:

min∑

(i ,j)∈A

bijγij

o.d .v . πi − πj + γij ≥ 0 ∀(i , j) ∈ A−πs + πt ≥ 1πi ∈ R ∀i ∈ Vγij ≥ 0 ∀(i , j) ∈ A

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 11 / 20

Page 21: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Primale:

max v

o.d .v . Af +

−10...01

v = 0

f ≤ bf , v ≥ 0

Duale:

min∑

(i ,j)∈A

bijγij

o.d .v . πi − πj + γij ≥ 0 ∀(i , j) ∈ A−πs + πt ≥ 1πi ∈ R ∀i ∈ Vγij ≥ 0 ∀(i , j) ∈ A

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 11 / 20

Page 22: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Definitie

Een s-t snede (cut) in een gerichte graaf D = (V ,A) is een partitie(W ,V \W ) van de punten zodanig dat s ∈W en t ∈ V \W = W .

De capaciteit van de snede (W ,W ) is

C (W ,W ) =∑

(i ,j)∈A | i∈W , j∈W

bij

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 12 / 20

Page 23: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Voorbeeld

De partitie in groene en zwarte punten ({s, u, x}, {v ,w , y , t})is een s-t snede.

s

u

x y

wt

v

1/8 4/4

5/5

2/5

3/8

3/3

1/82/5

4/71/7

Vraag

Wat is de capaciteit van deze snede?

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 13 / 20

Page 24: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Voorbeeld

De partitie in groene en zwarte punten ({s, u, x}, {v ,w , y , t})is een s-t snede.

s

u

x y

wt

v

1/8 4/4

5/5

2/5

3/8

3/3

1/82/5

4/71/7

Vraag

Wat betekent dit voor de waarde van een optimale stroom?

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 14 / 20

Page 25: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Max Flow Min Cut

Stelling (6.1)

Elke s-t snede (W ,W ) bepaalt een toegelaten oplossing voor het dualeprobleem met doelfunctiewaarde C (W ,W ).

Stelling (6.2)

(i) Voor elke toegelaten s-t stroom met waarde v en voor elke s-t snede(W ,W ) geldt v ≤ C (W ,W ).

(ii) De maximale waarde v van een s-t stroom is gelijk aan deminimale capaciteit C (W ,W ) van een s-t snede.

(iii) Een stroom f en een snede (W ,W ) zijn beiden optimaal dan enslechts dan als:

I fij = bij voor alle (i , j) ∈ A met i ∈W en j ∈W ;I fij = 0 voor alle (i , j) ∈ A met i ∈W en j ∈W .

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 15 / 20

Page 26: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Max Flow Min Cut

Stelling (6.1)

Elke s-t snede (W ,W ) bepaalt een toegelaten oplossing voor het dualeprobleem met doelfunctiewaarde C (W ,W ).

Stelling (6.2)

(i) Voor elke toegelaten s-t stroom met waarde v en voor elke s-t snede(W ,W ) geldt v ≤ C (W ,W ).

(ii) De maximale waarde v van een s-t stroom is gelijk aan deminimale capaciteit C (W ,W ) van een s-t snede.

(iii) Een stroom f en een snede (W ,W ) zijn beiden optimaal dan enslechts dan als:

I fij = bij voor alle (i , j) ∈ A met i ∈W en j ∈W ;I fij = 0 voor alle (i , j) ∈ A met i ∈W en j ∈W .

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 15 / 20

Page 27: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Max Flow Min Cut

Stelling (6.1)

Elke s-t snede (W ,W ) bepaalt een toegelaten oplossing voor het dualeprobleem met doelfunctiewaarde C (W ,W ).

Stelling (6.2)

(i) Voor elke toegelaten s-t stroom met waarde v en voor elke s-t snede(W ,W ) geldt v ≤ C (W ,W ).

(ii) De maximale waarde v van een s-t stroom is gelijk aan deminimale capaciteit C (W ,W ) van een s-t snede.

(iii) Een stroom f en een snede (W ,W ) zijn beiden optimaal dan enslechts dan als:

I fij = bij voor alle (i , j) ∈ A met i ∈W en j ∈W ;I fij = 0 voor alle (i , j) ∈ A met i ∈W en j ∈W .

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 15 / 20

Page 28: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Max Flow Min Cut

Stelling (6.1)

Elke s-t snede (W ,W ) bepaalt een toegelaten oplossing voor het dualeprobleem met doelfunctiewaarde C (W ,W ).

Stelling (6.2)

(i) Voor elke toegelaten s-t stroom met waarde v en voor elke s-t snede(W ,W ) geldt v ≤ C (W ,W ).

(ii) De maximale waarde v van een s-t stroom is gelijk aan deminimale capaciteit C (W ,W ) van een s-t snede.

(iii) Een stroom f en een snede (W ,W ) zijn beiden optimaal dan enslechts dan als:

I fij = bij voor alle (i , j) ∈ A met i ∈W en j ∈W ;I fij = 0 voor alle (i , j) ∈ A met i ∈W en j ∈W .

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 15 / 20

Page 29: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Voorbeeld

Bewijs dat de gegeven stroom optimaal is.

s

u

x y

wt

v

2/8 3/4

5/5

3/5

3/8

3/3

0/83/5

5/70/7

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 16 / 20

Page 30: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 17 / 20

Page 31: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

“Air power is an effective means of interdicting an enemy’s rail system,and such usage is a logical and important mission for this Arm.

As in many military operations, however, the success of interdictiondepends largely on how complete, accurate, and timely is the commander’sinformation, particularly concerning the effect of his interdiction-programefforts on the enemy’s capability to move men and supplies. Thisinformation should be available at the time the results are being achieved.

The present paper describes the fundamentals of a method intended tohelp the specialist who is engaged in estimating railway capabilities, sothat he might more readily accomplish this purpose and thus assist thecommander and his staff with greater effciency than is possible at present.”

Harris and Ross (1955), Fundamentals of a Method for Evaluating RailNet Capacities

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 18 / 20

Page 32: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Algoritme van Ford-Fulkerson voor Max Flow1 Begin met fij = 0 voor alle (i , j) ∈ A2 Maak een gerichte hulpgraaf Df met dezelfde punten als D en

voor elke pijl (i , j) van D:als fij < bij dan krijgt Df een pijl (i , j) met capaciteit cij = bij − fijals fij > 0 dan krijgt Df een pijl (j , i) met capaciteit cji = fij

3 Geval 1: er bestaat een gericht pad P van s naar t in Df .

α := min{cij | (i , j) ligt op P}

Vermeerder stroom f als volgt:

fij := fij + α als (i , j) op P ligtfij := fij − α als (j , i) op P ligt

Ga naar (2).4 Geval 2: er bestaat geen pad van s naar t in Df . Definieer:

U := {u ∈ V | er bestaat een pad van s naar u in Df }Dan is (U,V \U) een s-t snede met C (U,V \U) =waarde(f ).

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 19 / 20

Page 33: TW2020 Optimalisering - Hoorcollege 6 · 2016. 10. 19. · TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020

Voorbeeld

Stel we hebben in een zekere iteratie de volgende stroom gevonden. Vindeen optimale stroom door het algoritme van Ford-Fulkerson toe te passen.

s

u

x y

wt

v

1/8 4/4

5/5

2/5

3/8

3/3

1/82/5

4/71/7

Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 20 / 20