Path and flow polyhedra and total unimodularity

Werbung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Path and flow polyhedra and total
unimodularity
Martin Günther
Institut für Mathematik, TU Berlin
Seminar:
Algorithmische Diskrete Mathematik
15. April 2008
Martin Günther
Zusammenfassung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Übersicht
1
Pfad und Fluss Polyeder
Induzierte Polyeder
Pfad Polyeder
Blocking Polyhedra
Anwendung
2
Vollständige Unimodularität
Definition
Knoten-Kanten-Inzidenzmatrizen
3
Zusammenfassung
Martin Günther
Zusammenfassung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Induzierte Polyeder
Motivation
Abstrakte Sicht auf kombinatorische
Optimierungsprobleme
Geometrische Interpretation kombinatorischer
Optimierungsprobleme
Anwendung von (Beweis-)Methoden aus der Linearen
Programmierung und Polyedertheorie
Aussagen über Ganzzahligkeit
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Induzierte Polyeder
Kombinatorische Optimierungsprobleme
Was ist eine Instanz eines kombinatorisches
Optimierungsproblem?
Definition:
Eine Instanz eines (abstrakten) kombinatorischen
Optimierungsproblems ist ein Tripel (A, F, c) mit
A ist eine endliche Menge, die Grundmenge
F ist das Mengensystem der zulässigen Lösungen F ⊆ A
P
c : A → R mit c(F ) := a∈F c(a) gibt den Wert der
zulässigen Lösung an
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Induzierte Polyeder
Induzierte Polyeder
Definition:
Das von (A, F, c) induzierte Polyeder PF ergibt sich
folgendermaßen
Für eine Menge F ⊆ A betrachten wir den Inzidenzvektor
x F ∈ RA mit
1 a∈F
F
xa :=
0 a 6∈ F
Dann ist PF := conv {x F | F ∈ F}.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Induzierte Polyeder
Bemerkungen
PF ist ein Polytop
die Ecken von PF sind Inzidenzvektoren von zulässigen
Lösungen
Es gibt ein lineares Ungleichungssystem Mx ≤ b, x ≥ 0,
dessen Lösungsmenge PF ist
Wir können (A, F, c) mit linearer Optimierung lösen, wenn
wir eine lineare Beschreibung Mx ≤ b, x ≥ 0 von PF haben
Das Optimum von (A, F, c) wird auf einer Ecke von
Mx ≤ b, x ≥ 0 angenommen
Wie findet man eine (lineare) Beschreibung?
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Pfad Polyeder
Definition:
Sei D = (V , A) ein Digraph und seien s, t ∈ V . Dann ist das
s-t Pfad Polytop Ps−t path (D) die konvexe Hülle der
Inzidenzvektoren in RA von s-t Pfaden in D.
Problem:
Das max-path Problem ist NP-vollständig.
⇒ Das Separierungsproblem für Ps−t path (D) ist
NP-schwer.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Die Dominante von Ps−t path (D)
Definition:
Für jedes P ⊆ Rn ist
P ↑ := {y ∈ Rn | ∃x ∈ P : y ≥ x} = P + Rn+ .
P ↑ heißt Dominante von P.
Definition:
↑
Die Dominante Ps−t
path (D) von Ps−t path (D) ist definifert
durch:
↑
A
Ps−t
path (D) = {x ∈ R | x ≥ y für y ∈ Ps−t path (D)}.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Theorem 13.1
Theorem
Q :=
x∈
RA
:
x(a) ≥ 0 ∀a ∈ A
x(C) ≥ 1 für jeden s-t Schnitt C
↑
ist eine lineare Beschreibung von Ps−t
path (D).
Vorüberlegung:
Theorem 7.1
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Theorem 7.1
Theorem
Sei D = (V , A) ein Digraph, seien s, t ∈ V und sei l : A → Z+ .
Dann ist die minimale Länge l(P) eines s-t Pfades gleich der
maximalen Kardinalität k einer Familie von s-t Schnitten
C1 , · · · , Ck , sodass jede Kante a in höchstens l(a) der Schnitte
Ci enthalten ist.
Beweis:
Beweis für Spezialfall: l(a) = 1 ∀a ∈ A
Jeder Pfad muss mit jedem Schnitt mindestens eine
gemeinsame Kante haben. ⇒ l(P) ≥ k
Sei dist(s, t) = d und Ui := {u ∈ V | dist(s, u) ≤ i}. Dann
ist {δU−i | i = 1, · · · , d} die Menge der gesuchten Schnitte.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Beweis von Theorem 13.1
Theorem
Q :=
x ∈ RA :
x(a) ≥ 0 ∀a ∈ A
x(C) ≥ 1 für jeden s-t Schnitt C
↑
ist eine lineare Beschreibung von Ps−t
path (D).
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Beweis von Theorem 13.1
Beweis:
x∈P ↑
s−t path
(D)
= y∈Ps−t path (D) + z∈RA
+
Jeder Pfad y∈Ps−t path (D) erfüllt y (C) ≥ 1 für alle s-t Schnitte
⇒y ∈Q⇒x ∈Q
↑
⇒ Ps−t
path (D) ⊆ Q
↑
Annahme: Q 6⊆ Ps−t
path (D)
A
⇒ ∃ l ∈ Z+ mit minx∈Q l T x < miny∈P ↑
s−t path
Martin Günther
(D)
lT y
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Beweis von Theorem 13.1
Dann ist miny∈P ↑
s−t path
(D)
l T y = miny ∈Ps−t path (D) l T y =: k
gleich der Länge k eines kürzesten s-t Pfades mit l als
Längenfunktion
Theorem 7.1
=⇒
Es existieren s-t Schnitte C1 , · · · , Ck , sodass jede Kante a
in höchstens l(a) der Ci enthalten ist.
Also giltPfür alle x ∈ Q: P
l T x ≥ ( ki=1 χCi )T x = ki=1 x(Ci ) ≥ k
= miny∈P ↑
l T y ⇒ Widerspruch zur Annahme
(D)
s−t path
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Theorem 13.1a
Theorem
Das Polyeder
Q := x ∈ RA :
x(a) ≥ 0 ∀a ∈ A
x(C) ≥ 1 für jeden s-t Schnitt C
ist ganzzahlig.
Beweis:
Die Ecken des Polyeders sind ganzzahlig, da sie
Inzidenzvektoren von Pfaden sind.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Schnitt Polytop
Definition:
Sei D = (V , A) ein Digraph und seien s, t ∈ V . Dann ist das
s-t Schnitt Polytop Ps−t cut (D) die konvexe Hülle der
Inzidenzvektoren in RA von s-t Schnitten in D.
Definition:
↑
Die Dominante Ps−t
cut (D) von Ps−t cut (D) ist definifert durch:
↑
A
Ps−t
cut (D) = {x ∈ R | x ≥ y für y ∈ Ps−t cut (D)}.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Pfad Polyeder
Theorem 13.1b
Theorem
C :=
x∈
RA
:
x(a) ≥ 0
∀a ∈ A
x(AQ) ≥ 1 für jeden s-t Pfad Q
↑
ist eine lineare Beschreibung von Ps−t
cut (D).
Beweis:
Folgt mit der Theorie der Blocking Polyhedra aus Theorem
13.1.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Blocking Polyhedra
blocking type
Definition:
Ein Polyeder P hat die Eigenschaft blocking type, genau dann
wenn
∃x1 , · · · , xk ∈ Rn+ : P = conv {x1 , · · · , xk }↑
und genau dann wenn
P = {x ∈ Rn+ | Mx ≥ 1}
für eine positive Matrix M.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Blocking Polyhedra
Blocking Polyhedra
∃x1 , · · · , xk ∈ Rn+ : P = conv {x1 , · · · , xk }↑
⇐⇒
P = {x ∈ Rn+ | Mx ≥ 1}
Definition:
Für jedes Polyeder P ∈ Rn ist das blocking polyhedron B(P)
definiert als
n
o
B(P) := z ∈ Rn+ | x T z ≥ 1 für jedes x ∈ P .
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Blocking Polyhedra
Theorem 5.8
Theorem
Sei P ⊆ Rn+ ein Polyeder mit der Eigenschaft blocking type.
Dann ist B(P) ebenfalls ein Polyeder mit der Eigenschaft
blocking type und B(B(P)) = P. Desweiteren gilt für
x1 , · · · , xk ∈ Rn+ und z1 , · · · , zd ∈ Rn+ :
n
o
conv {x1 , · · · , xk } + Rn+ = x ∈ Rn+ | zjT x ≥ 1 für j = 1, · · · , d
⇐⇒
n
o
conv {z1 , · · · , zd } + Rn+ = z ∈ Rn+ | xiT z ≥ 1 für i = 1, · · · , k
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Blocking Polyhedra
Theorem 13.1d
↑
Ps−t
path (D)
n
= conv {x ∈ R+ | x ist Inzidenzvektor eines s-t Pfades}↑
x(a) ≥ 0 ∀a ∈ A
A
= x ∈R :
x(C) ≥ 1 für jeden s-t Schnitt C
und
↑
Ps−t
cut (D)
n
= conv {x ∈ R+ | x ist Inzidenzbektor eines s-t Schnittes}↑
x(a) ≥ 0
∀a ∈ A
A
= x ∈R :
x(AQ) ≥ 1 für jeden s-t Pfad Q
sind Blocking Polyhedra.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Blocking Polyhedra
Theorem 13.1d
Definition:
Zwei Polyeder P, R heißen blocking pair (of polyhedra), wenn
sie die Eigenschaft blocking type haben und R = B(P). Ist P, R
ein blocking pair, so ist auch R, P ein blocking pair.
Theorem (Theorem 13.1d)
↑
↑
Die Polyeder Ps−t
path (D) und Ps−t cut (D) bilden ein blocking
pair von Polyedern.
Beweis:
folgt direkt aus dem Vorangegangenen
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Blocking Polyhedra
Theorem 13.1b
Theorem
C :=
x∈
RA
:
x(a) ≥ 0
∀a ∈ A
x(AQ) ≥ 1 für jeden s-t Pfad Q
↑
ist eine lineare Beschreibung von Ps−t
cut (D).
Beweis:
Folgt mit der Theorie der Blocking Polyhedra aus Theorem
13.1.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Blocking Polyhedra
Theorem 13.1c
Theorem
Das Polyeder
C := x ∈ RA :
x(a) ≥ 0
∀a ∈ A
x(AQ) ≥ 1 für jeden s-t Pfad Q
ist ganzzahlig.
Beweis:
Die Ecken des Polyeders sind ganzzahlig, da sie
Inzidenzvektoren von s-t Schnitten sind.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Anwendung
µ := minx∈P ↑
s−t cut
(D)
c T x= minx∈Ps−t cut
(D) c
Tx
ist die minimale Kapazität eines s-t Schnittes.
µ = minx∈P ↑
s−t cut
Theorem 13.1b
=
Dualiät
min
(D)
cT x
cT x
mit
x(a) ≥ 0
x(AQ) ≥ 1
P
= max Q λQ
λQ ≥ 0 für jeden s-t Pfad Q
mit P
AQ ≤ c
λ
χ
Q Q
P
Dann ist f := Q λQ χAQ ein s-t Fluss mit Wert µ.
Martin Günther
Zusammenfassung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Anwendung
Theorem 13.1e
Theorem (max-flow min-cut)
Sei D = (V , A), seien s, t ∈ V und sei c : A → R+ eine
Kapazitätsfunktion. Dann ist der Wert eines maximalen s-t
Flusses f ≤ c gleich dem minimalen Wert der Kapazität eines
s-t Schnittes.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Übersicht
1
Pfad und Fluss Polyeder
Induzierte Polyeder
Pfad Polyeder
Blocking Polyhedra
Anwendung
2
Vollständige Unimodularität
Definition
Knoten-Kanten-Inzidenzmatrizen
3
Zusammenfassung
Martin Günther
Zusammenfassung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Definition
Unimodular und vollständig unimodular
Definition:
Eine quadratische Matrix M ∈ Zn×n heißt unimodular, wenn gilt
det M = ±1.
Definition:
Eine Matrix M ∈ Zm×n heißt vollständig unimodular, wenn jede
quadratische reguläre Teilmatrix von M unimodular ist.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Definition
Theorem 5.20
Theorem
Sei M eine vollständig unimodulare m × n Matrix und sei
b ∈ Zm . Dann ist das Polyeder
P := {x | Mx ≤ b}
ganzzahlig.
Beweis:
siehe Vorlesungsmitschrift vom 14.02.2008
Martin Günther
Zusammenfassung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Definition
Theorem 5.20a
Theorem
Sei M eine vollständig unimodulare m × n Matrix, sei b ∈ Zm
und sei c ∈ Zn . Dann besitzen beide Optima in der
LP-Dualitätsgleichung
max{c T x | Mx ≤ b} = min{y T b | y ≥ 0, y T M = c T }
ganzzahlige optimale Lösungen (sofern die Optima endlich
sind).
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Knoten-Kanten-Inzidenzmatrizen
Theorem 13.9
Theorem
Die Inzidenzmatrix M jedes Dirgaphen D ist vollständig
unimodular.
Beweis:
Sei B eine quadratische Teilmatrix der Ordnung k.
zu zeigen: detB ∈ {0, ±1} durch Induktion über k
k = 1 trivial
Martin Günther
Zusammenfassung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Knoten-Kanten-Inzidenzmatrizen
Beweis zu Theorem 13.9
Fall 1: B hat eine Nullspalte ⇒ detB = 0
Fall 2: B hat eine Spalte mit genau einem Nichtnulleintrag
±1 bT
B=
0 B‘
Induktionsvoraussetzung: detB 0 ∈ {0, ±1}
⇒ detB ∈ {0, ±1}
Fall 3: Jede Spalte von B enthält zwei Nichtnulleinträge.
Dann enthält jede Spalte eine +1 und eine −1, alle
anderen Einträge sind 0. Jede Spalte addiert sich zu 0
⇒ detB = 0
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Knoten-Kanten-Inzidenzmatrizen
Theorem 13.9a
Theorem (max-flow min-cut)
Sei D = (V , A), seien s, t ∈ V und sei c : A → R+ eine
Kapazitätsfunktion. Dann ist der Wert eines maximalen s-t
Flusses f ≤ c gleich dem minimalen Wert der Kapazität eines
s-t Schnittes.
Beweis:
Der maximale Flusswert 6> dem minimalen Schnittwert
Daher reicht es zu zeigen, dass ein s-t Fluss x ≤ c existiert
und ein s-t Schnitt, dessen Kapazität nicht größer als der
Wert von x ist.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Knoten-Kanten-Inzidenzmatrizen
Beweis zu Theorem 13.9a
Sei M die Inzidenzmatrix von D und sei M 0 die Matrix, die
aus M durch Löschen der Zeilen zu s und t entsteht.
Dann entspricht M 0 x = 0 der Flusserhaltung.
Sei w die
 zu t korrespondierende Zeile von M mit
 +1 t ist Zielknoten von a
−1 t ist Startknoten von a .
w(a) =

0 sonst
Dann ist
max{w T x | 0 ≤ x ≤ c; M 0 x = 0}
der maximale Wert eines s-t Flusses.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Knoten-Kanten-Inzidenzmatrizen
Beweis zu Theorem 13.9a
max{w T x | 0 ≤ x ≤ c; M 0 x = 0}
Dualiät
=
min{y T c | y ≥ 0; ∃z : y T + z T M 0 ≥ w T }
Da M 0 vollständig unimodular und w ganzzahlig ist
=⇒ y und z sind ganzzahlig.
Erweitere z durch zt := −1 und zs := 0 ⇐⇒ y T + z T M ≥ 0
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Knoten-Kanten-Inzidenzmatrizen
Beweis zu Theorem 13.9a
Definiere
U := {v ∈ V | zv ≥ 0}
Dann ist U ⊂ V mit s ∈ U und t 6∈ U.
Es reicht zu zeigen, dass
c(δ − (U)) ≤ y T c,
da y T c dem maximalen Flusswert entspricht.
Dafür reicht es zu zeigen, dass wenn a = (u, v ) ∈ δ − (U),
dann ya ≥ 1.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Knoten-Kanten-Inzidenzmatrizen
Beweis zu Theorem 13.9a
zu zeigen: ya ≥ 1
Aufgrund der Ganzzahligkeit gilt zu ≥ 0 und zv ≤ −1.
y T + z T M ≥ 0 =⇒ ya + zv − zu ≥ 0
=⇒ ya ≥ zu − zv ≥ 1
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Knoten-Kanten-Inzidenzmatrizen
Bemerkungen
Die Menge aller s-t Flüsse mit Wert 1 ist ein Polyeder

für alle a ∈ A,
 x(a) ≥ 0
x(δ − (v )) = x(δ + (v ))
für alle v ∈ V \{s, t}
Ps−t flow (D) :=

−
+
x(δ (s)) − x(δ (s)) = 1.
Die Menge aller s-t Flüsse mit Wert Φ ist Φ · Ps−t flow (D).
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Knoten-Kanten-Inzidenzmatrizen
Theorem 13.10
Theorem
Sei D = (V , A) ein Digraph, seien s, t ∈ V und sei Φ ∈ Z+ .
Dann bildet die Menge der s-t Flüsse x ≤ c mit Wert Φ ein
ganzzahliges Polytop.
Beweis:
folgt aus der vollständigen Unimodularität der Inzidenzmatrix
eines Digraphen.
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Knoten-Kanten-Inzidenzmatrizen
Theorem 13.10a
Theorem
Sei D = (V , A) ein Digraph, seien s, t ∈ V ,
c : A → Z und Φ ∈ Z.
Existiert ein s-t Fluss x ≤ c mit Wert Φ, dann existiert ein
ganzzahliger Fluss mit Wert Φ.
Beweis:
folgt aus Theorem 13.10.
Martin Günther
Zusammenfassung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Übersicht
1
Pfad und Fluss Polyeder
Induzierte Polyeder
Pfad Polyeder
Blocking Polyhedra
Anwendung
2
Vollständige Unimodularität
Definition
Knoten-Kanten-Inzidenzmatrizen
3
Zusammenfassung
Martin Günther
Zusammenfassung
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Zusammenfassung
Geometrische Repräsentation kombinatorischer
Optimierungsprobleme
Dominanten von Polyedern und Blocking Polyhedra
Alternative Beweise für das max-flow min-cut Theorem
Digraphen und Vollständige Unimodularität
Martin Günther
Übersicht
Pfad und Fluss Polyeder
Vollständige Unimodularität
Danke für die Aufmerksamkeit!
Ende
Martin Günther
Zusammenfassung
Herunterladen