• Keine Ergebnisse gefunden

Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)

N/A
N/A
Protected

Academic year: 2022

Aktie "Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)"

Copied!
30
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung

Kombinatorische Optimierung (Wintersemester 2018/19)

Kapitel 2: Fl¨usse und Zirkulationen

Volker Kaibel

Otto-von-Guericke Universit¨at Magdeburg

(Version vom 1. November 2018)

(2)

Definition 2.1

EinNetzwerkist ein Paar (D,u) bestehend aus einem Digraphen D= (V,A) und nicht-negativen Bogenkapazit¨atenu∈RA+. Ein Flussin (D,u) ist eine Abbildungf :A→R+(f ∈RA+) mit f(a) =fa≤ua f¨ur alle a∈A. F¨ur v ∈V definieren wir den Uberschuss¨

exf(v) :=f(δein(v))−f(δaus(v)) vonf in v. Ein Fluss f ∈RA+ mit

exf(v) = 0 f¨ur allev ∈V

(Flusserhaltungsbedingungen) heißt eineZirkulation.

F¨urs,t ∈V ist ein s-t-Flussein Fluss f ∈RA+ in (D,u) mit exf(v) = 0 f¨ur alle v∈V \ {s,t}

und exf(s)≤0.

(3)

s -t-Fl¨usse

s 1 t

1 1

4

2 2

2 2

2 2

3

2 1

1 1

(4)

Das Max-Flow Problem

Problem 2.3 (Max-Flow Problem)

Instanz: Netzwerk N = (D = (V,A),u), zwei Knoten s,t ∈V Aufgabe: Ein s-t-Fluss in N mit maximalem Flusswert

Anwendung:

Problem 2.4 (Job-Assignment Problem)

Instanz: n Jobs, m Arbeiter, Arbeitszeit ti ∈Q+, die Job i ben¨otigt und Teilmenge J(i)⊆[m] von Arbeitern, die Job i k¨onnen (f¨ur alle i), T ∈Q+

Aufgabe: Finde, wenn m¨oglich, einen Plan, mit dem alle Jobs nach T Zeiteinheiten fertig sind

(5)

Job-Assignment als Flussproblem

(6)

Inzidenzmatrizen

Definition 2.5

DieInzidenzmatrixeines DigraphenD = (V,A) ist die Matrix Inz(D)∈{−1,0,1}V×A mit

Inz(D)v,a =

󰀻󰀿

󰀽

−1 , fallsa∈δaus(v) +1 , fallsa∈δein(v)

0 , sonst f¨ur allev ∈V und a∈A.

(7)

Inzidenzmatrizen

1 2

5

3 4

1 2 3

4 5

6 7

8 10 9

󰀳

󰁅󰁅

󰁅󰁅

󰁃

−1 0 0 0 0 −1 +1 0 0 −1

+1 −1 0 0 0 0 0 +1 +1 0

0 0 +1 −1 0 0 −1 −1 0 +1

0 +1 −1 0 +1 +1 0 0 −1 0

0 0 0 +1 −1 0 0 0 0 0

󰀴

󰁆󰁆

󰁆󰁆

󰁄

(8)

Satz von Menger (bogendisjunkt, gerichtet)

s t

(9)

Spezielle Untergraphen

Definition 2.20

F¨ur einen GraphenG = (V,E) und F ⊆E,W ⊆V definieren wir die folgenden Graphen:

◮ G[F] := (V,F)

◮ G \F :=G[E\F]

◮ G[W] := (W,E∩󰀃W

2

󰀄)

◮ G \W :=G[V \W]

(10)

Zusammenhang von Graphen

Definition 2.23

F¨urk ∈N>0 heißt ein Graph G = (V,E) k-fach

kantenzusammenh¨angend, wenn|V|≥2 ist und f¨ur alleF ⊆E mit|F|<k der Graph G\F zusammenh¨angend ist. Der GraphG istk-fach knotenzusammenh¨angend (oder:

k-zusammenh¨angend), wenn |V|>k ist und f¨ur alleW ⊆V mit

|W|<k der Graph G\W zusammenh¨angend ist.

(11)

Idee: Augmentierung

s t

1

4

2

2 1

1

1

2

2 1

1 1

1 2

2 2

1

2

3 2 2 2

3

2 2

3 2 3 2 1

3 2 2

4

2 2

2

1 2

4 2

(12)

Multi-Digraphen. . .

Definition 2.26

EinMulti-Digraph ist ein TripelD = (V,A,Ψ) mit einer

endlichen KnotenmengeV und einer endlichen BogenmengeAund einer Abbildung

Ψ:A→V ×V \ {(v,v)|v ∈V}.

Zwei B¨ogena,a ∈A mita∕=a und Ψ(a) =Ψ(a) heißenparallel.

Sie heißenanti-parallel, wenn Ψ(a) = (v,w) und Ψ(a) = (w,v) ist.

(13)

. . . Multi-Digraphen

Definition 2.27

Ein Multi-Digraph, der keine parallelen B¨ogen hat, heißteinfach.

Ein einfacher Multi-Digraph (V,A,Ψ) ist ein Digraph, wenn man jeden Bogena∈A (eineindeutig) mit Ψ(a)∈V ×V identifiziert.

Definition 2.28

Ein Multi-DigraphD = (V,A) ist einUnter-Multi-Digraph vonD = (V,A,Ψ), wenn V ⊆V,A ⊆A∩(V×V) und Ψ =Ψ|A sind.

(14)

Weitere Definitionen

SeienD = (V,A,Ψ) ein Multi-Digraph mit Bogenl¨angenc ∈RA.

◮ Sind v0,v1, . . . ,vl ∈V und a1, . . . ,al ∈Amit

Ψ(ai) = (vi1,vi) f¨ur alle i ∈[l], so heißtQ ={a1, . . . ,ak} einv0-vl-Weg in D, fallsvi ∕=vj f¨ur allei,j ∈{0,1, . . . ,l} mit i ∕=j. Fallsl ≥2,v0 =vl und vi ∕=vj f¨ur alle i,j ∈[l] mit i ∕=j, so ist Q einKreisin D.

◮ Die (kombinatorische) L¨angevon Q ist |Q|=l. Die c-L¨ange von Q ist c(Q).

◮ F¨ur s ∈V bezeichnetRD(s)⊆V die Menge aller Knoten w ∈V, f¨ur die eins-w-Weg in D existiert.

◮ Haben alle Kreise in D nicht-negativec-L¨ange, so heißtc konservativ.

◮ Ein Vektorπ ∈RV ist einc-Potenzialf¨ur D, wenn f¨ur alle a∈A mitΨ(a) = (v,w)

πw ≤πv +ca

gilt.

(15)

Der Multi-Digraph D

Definition 2.30

F¨ur einen DigraphenD= (V,A) definieren wir den

Multi-DigraphenD= (V,A,Ψ) mitA=A⊎A und einer Bijektion A→A mit a󰀁→a f¨ur alle a∈A, sowie f¨ura∈Amit a= (v,w)

Ψ(a) = (v,w) Ψ(a) = (w,v).

Die B¨ogen inA heißenVorw¨artsb¨ogen, die in A heißen R¨uckw¨artsb¨ogen. B¨ogena und a heißen reverszueinander.

(16)

Das Residualnetzwerk

Definition 2.31

Istf ∈RV+ ein Fluss in einem Netzwerk (D = (V,A),u), so ist das Residual-Netzwerkbzgl.f der Multi-Digraph Df = (V,Af,Ψ|Af) wobeiAf die Teilmenge vonA ist, f¨ur die f¨ur alle a= (v,w)∈A gilt:

a∈Af ⇔ fa<ua

a∈Af ⇔ fa>0

DieResidualkapazit¨atenu¯∈RA>0f sind definiert durch

󰀫u¯a:=ua−fa f¨ur alle a∈Amit a∈Af

¯ u

a :=fa f¨ur alle a∈Amit a∈Af

(17)

Beispiel: Residualnetzwerk

s t

1

4

2

2 1

1 1

2

2 1

1 1 1

2 2

2

1

2

3 2 2 2

3

2 2

3 2 3 2 1

3 2 2

4

2 2

2

1 2

4 2

s t

1 2

2

2 2

3

2 2

3 2 2

4 2

1 1 1

1 1

1 1

1

2 1

2

2 1

2 2 1 1 1

1 1

2 2

(18)

Augmentierende Wege

Einf-augmentierender Weg/Kreisist ein Weg/KreisR ⊆Af in Df. SeineKapazit¨atist

capf(R) := min{u¯r|r ∈R}.

IstR⊆Af einf-augmentierender Weg/Kreis undγ ∈R, so definieren wir aug(f,R,γ) als ˜f ∈RA+ durch

a :=

󰀻󰀿

󰀽

fa+γ , falls a∈R fa−γ , falls a∈R fa , sonst

f¨ur allea∈A (”Augmentierung vonf umγ entlang R”).

(19)

Augmentierender Weg im Residualnetzwerk

s t

1

4

2

2 1

1 1

2

2 1

1 1 1

2 2

2

1

2

3 2 2 2

3

2 2

3 2 3 2 1

3 2 2

4

2 2

2

1 2

4 2

s t

1 2

2

2 2

3

2 2

3 2 2

4 2

1 1 1

1 1

1 1

1

2 1

2

2 1

2 2 1 1 1

1

1 2

2

(20)

Algorithmus 2.35 (Ford-Fulkerson Algorithmus)

Eingabe: Netzwerk N= (D= (V,A),u), s,t∈V (s∕=t) Ausgabe: Ein s-t-Fluss f ∈QA+ in N mit maximalem Flusswert

1: for all a∈Ado

2: fa←0

3: ift ∈/ RDf(s)then

4: Stop

5: Bestimme einen f -augmentierenden s-t-Weg R in Df.

6: f ←aug(f,R,capf(R)))

7: Gehe zu Schritt??

(21)

Exponentielle Laufzeit des FF-Algorithmus

s t

N

1

N

N N

(22)

Beweis von Lemma 2.40

(23)

Der Harris-Ross Report

Ford & Fulkerson (1954):

(Beschreiben das Problem, das T. E. Harris formuliert hatte.)

Ford & Fulkerson (1962):

(¨Uber das Max-Flow Problem.)

(24)

Schrijver (Combinatorial Optimization, S. 166)

(Zitiert aus dem Report von Harris und Ross aus dem Jahre 1955 an die Air Force, ”downgraded tounclassified” im Jahr 1999)

(25)

Abbildung aus dem Harris-Ross Report

(26)

Finden von Zirkulationen

(27)

Min-Cost Zirkulationen

Problem 2.45 (Min-Cost Circulation Problem) Instanz: D = (V,A), l,u∈QA (l ≤u), c ∈QA Aufgabe: Optimall¨osung von

min{〈c,f〉|f ∈Circ(D,l,u)} oder Feststellung, dassCirc(D,l,u) =∅

(28)

Cycle Cancelling Algorithmus

Algorithmus 2.49 (Cycle Cancelling)

Eingabe: D= (V,A), l,u∈QA (l ≤u), c ∈QA Ausgabe: Optimall¨osung von

min{〈c,f〉|f ∈Circ(D,l,u)} oder Feststellung, dassCirc(D,l,u) =∅

1: Bestimme irgendein f ∈ Circ(D,l,u) (oder stelle fest, dass Circ(D,l,u) =∅ ist (Lem. 2.44 und stoppe).

2: while Df hat c -negativen Kreis do

3: Bestimme Kreis C ⊆Af mit c (C)<0.

4: f ←aug(f,C,capf(C))

(29)

Exponentiell viele Augmentationen

-1

0

0

-1 0

[0,N]

[0,N]

[0,N]

[0,N]

[0,1]

(Augmentatiere stets entlang von Dreiecken.)

(30)

b-Fluss als Zirkulation

Referenzen

ÄHNLICHE DOKUMENTE

Gleichungen in polynomialer Zeit l¨ osen, so kann man auch die linearen Optimierungsprobleme ¨ uber den durch diese Systeme definierten Polyedern in polynomialer Zeit l¨ osen.

I Die Klasse coNP enth¨ alt alle Entscheidungsprobleme, f¨ ur die man, falls die Antwort ”NEIN” ist, diese in polynomialer Zeit mit Hilfe eines geeigneten Zertifikats beweisen kann.

Eine Knoten¨ uberdeckung ist eine Teilmenge S der Knoten, so dass jede der Kanten des Graphen zu mindestens einem Knoten in S inzident ist.. Beweise den folgenden Satz aus

[2], readable for the nonspecialist, outlines the mod- ern solution approach to combinatorial optimization problems using the traveling salesman problem as an

Konstruiere einen azyklischen Graphen, mit dem man das Problem als K¨ urzeste-Wege-Problem l¨ osen

Eine Knoten¨ uberdeckung ist eine Teilmenge S der Knoten, so dass jede Kanten des Graphen zu mindestens einem Knoten in S inzident ist.. Beweise den folgenden Satz aus

Zeige, dass die Menge aller Mengen kno- tendisjunkter Wege und Kreise, die nicht in s hineinf¨ uhren und nicht aus t hinausf¨ uhren, als Schnitt zweier Matroide aufgefasst werden

I Durch Multiplikation des L¨ angenvektors c mit (−1) kann man K¨ urzeste- und L¨ angste-Wege/Kreise-Probleme ineinander transformieren (solange es nicht auf Vorzeichen ankommt). I