Vorlesung Einf¨ uhrung
in die
Mathematische Optimierung (Wintersemester 2019/20)
Kapitel 8: Diskrete Optimierung
Volker Kaibel
Otto-von-Guericke Universit¨at Magdeburg
31. Januar 2020
Gliederung
Modellierungsbeispiele Einordnung
Ganzzahlige H¨ullen von Polyedern Ganzzahlige Polyeder
Total unimodulare Matrizen
Inzidenzmatrizen ungerichteter Graphen Inzidenzmatrizen gerichteter Graphen
Graphenf¨arbung
Definition 8.1
Einek-Knotenf¨arbung eine Graphen G = (V,E) ist eine Abbildungf :V →[k] mitf(v)∕=f(w) f¨ur alle Kanten
{v,w}∈E. Die chromatische Zahlχ(G) vonG ist die kleinste Zahlk ∈N, f¨ur die es eine k-Knotenf¨arbung vonG gibt.
Das Graphenf¨arbungsproblem
Problem 8.2 (Graphenf¨arbungsproblem) Instanz: GraphG = (V,E)
Aufgabe: k-Knotenf¨arbung vonG mit m¨oglichst kleinemk
◮ Ansatz: Modelliere f :V →[n] (n=|V|) mit 0/1-wertigen Variablen xv,i f¨ur alle v∈V und i ∈[n]mit der Bedeutung
xv,i =
!1 falls f(v) =i
0 sonst .
◮ Bedingung: F¨ur alle i ∈[n]und {v,w}∈E:xv,i+xw,i ≤1
◮ Zus¨atzlich: 0/1-wertige Variablenyi (i ∈[n]) mit
yi =
!1 fallsf−1({i})∕=∅ 0 sonst
Ein Modell
◮ Ganzzahliges Lineares Optimierungsproblem:
(COL) min
"n i=1
yi
"n i=1
xv,i = 1 f¨ur alle v∈V xv,i +xw,i ≤ 1 f¨ur alle {v,w}∈E,i ∈[n]
xv,i ≤ yi f¨ur alle v∈V,i ∈[n]
xv,i,yi ≥ 0 f¨ur alle v∈V,i ∈[n]
xv,i,yi ∈ Z f¨ur alle v∈V,i ∈[n]
◮ Ganzzahligkeitsbedingung ist wesentlich: xv,i =yi = 12 f¨ur i ∈{1,2},xv,i =yi = 0 f¨uri ∈[n]\ {1,2} (f¨ur allev ∈V) ist sonst zul¨assig mit Wert 1
Fraktionale F¨arbung
Sudoku
Matching
Definition 8.3
EinMatchingin einem Graph G = (V,E) ist eine Teilmenge M ⊆E der Kanten mit e∩e′ =∅f¨ur alle e,e′ ∈M mit e ∕=e′; ein Matching mit 12|V|Kanten ist einperfektes Matching.
Das Matching-Problem
Problem 8.4 (Matchingproblem)
Instanz: GraphG = (V,E), Kantengewichte c ∈QE Aufgabe: Matching M ⊆E in G mit m¨oglichst großem
Gewichtc(M) =#
e∈Mce
(Fallsc = E:ungewichtetes Matching-Problem)
◮ ModelliereM ⊆E mit 0/1-wertigen Variablen xe mitxe = 1 genau dann, wenn e∈M (charakteristischer Vektor).
◮ Ganzzahliges Lineares Optimierungsproblem:
max "
e∈E
cexe
"
w∈V mit{v,w}∈E
x{v,w} ≤ 1 f¨ur alle v ∈V xe ≥ 0 f¨ur alle e ∈E xe ∈ Z f¨ur alle e ∈E
Das Knapsack-Problem
Problem 8.5 (Knapsack-Problem)
Instanz: nTypen von Gegenst¨anden mit Gewichtengi >0und Werten wi >0(i ∈[n]), Gewichtsschranke G ∈Q+
Aufgabe: Vielfachheiten xi ∈N(i ∈N), so dass#n
i=1xiwi
unter der Nebenbedingung#n
i=1xigi ≤G m¨oglichst groß ist
◮ Mathematisches Optimierungsproblem:
max{〈w,x〉 : 〈g,x〉 ≤G,x ≥O,x∈Zn}
◮ Ohne Ganzzahligkeitsbedingung:
max{〈w,x〉 : 〈g,x〉 ≤G,x≥O,x∈Rn}= max{wgiGi : i ∈[n]} (“So viel wie m¨oglich von Gegenstand mit maximalem wgii”)
Problemdefinition
Problem 8.6 (Ganzzahlige Lineare Optimierung (ILP)) Instanz: A∈Qm×n,b ∈Qm und c ∈Qn
Aufgabe: max{〈c,x〉 : Ax ≤b,x ∈Zn}
◮ Integer Linear Program (ILP)
◮ Spezialfall0/1-ILP:x∈{0,1}n stattx ∈Zn
◮ Zul¨assigkeitsbereich nicht konvex, sogar unzusammenh¨angend
◮ Auch:min stattmax, Gleichungen,≥-Ungleichungen
◮ Jedes ILP mit rationalen A,b,c, das nicht unzul¨assig oder unbeschr¨ankt ist, nimmt sein Optimum an (sp¨ater).
Problem 8.7 (ILP-Zul¨assigkeit) Instanz: A∈Qm×n,b ∈Qm
Frage: Gibt esx ∈Zn mit Ax ≤b?
SAT als ILP-Zul¨assigkeits-Problem
Problem 8.8 (Erf¨ullbarkeitsproblem (SAT))
Instanz: Disjunktive Klauseln C1, . . . ,Cm in Booleschen Variablen v1, . . . ,vn
Frage: Gibt es eine Belegung vonv1, . . . ,vn, dieC1, . . . ,Cm
simultan erf¨ullt?
◮ Modellierung als 0/1-Zul¨assigkeitsproblem, wobei
J+(i),J−(i)⊆[n]die Mengen der Indizes der nicht-negierten bzw. der negierten Variablen in Ci sind:
"
j∈J+(i)
xj + "
j∈J−(i)
(1−xj) ≥ 1 f¨ur allei ∈[m]
x ∈ {0,1}n
Beobachtung 8.9
ILP-Zul¨assigkeit und ILP sind NP-schwere Probleme.
Gleichungssysteme
◮ Mittels Skalierung (Hauptnenner) A,b ganzzahlig
◮ Jedes ILP-Zul¨assigkeitsproblem kann in ein Gleichungsformat gebracht werden (ganzzahlige Schlupfvariablen):
{x∈Zn : Ax =b,x ≥On}∕=∅?
⇝ NP-schwer
◮ Aber: F¨ur A∈Qm×n undb ∈Qm sind folgende Entscheidungsprobleme polynomial l¨osbar:
◮ L¨osbarkeit linearer Gleichungssysteme (LGS):
{x ∈Rn : Ax=b}∕=∅?
◮ Nichtnegative L¨osbarkeit von LGS:
{x∈Rn : Ax =b,x ≥On}∕=∅?
◮ Ganzzahlige L¨osbarkeit von LGS:
{x∈Zn : Ax =b}∕=∅?
(Lineare diphantische Gleichungssysteme⇝VL SoSem 21)
Dualit¨at ?
◮ F¨ur A∈Qm×n,b ∈Qm,c ∈Qn gilt:
max{〈c,x〉 : Ax ≤b,x ∈Zn} (1)
≤ max{〈c,x〉 : Ax ≤b,x∈Rn} (2)
= min{〈b,y〉 : ATy =c,y ≥Om,y ∈Rm} (3)
≤ min{〈b,y〉 : ATy =c,y ≥Om,y∈Zm} (4)
◮ Aber z.B. f¨urA= (2),b = (1),c = (1) sind die Werte:
(1): 0 (2): 12 (3): 12 (4): ∞
◮ LP-Dualit¨at liefert also keine starke ILP-Dualit¨at.
◮ Nicht ¨uberrraschend: Sonst w¨are NP = coNP.
◮ Z.B.: “Ist die F¨arbungzahlχ(G)vonG h¨ochstensk?” ist ein NP-vollst¨andiges Entscheidungsproblem.
◮ Starke Dualit¨at (min{. . .}= max{. . .}) w¨urde ein polynomiales Zertifikat f¨ur die Nein-Antwort garantieren.
Definition
Definition 8.10 F¨urX ⊆Rn heißt convX := $ #r
i=1λix(i) : r ∈N,x(i)∈X (i ∈[r]), λi ≥0 (i ∈[r]),#r
i=1λi = 1% diekonvexe H¨ullevon X.
Definition 8.11
F¨ur ein PolyederP ⊆Rn heißt
PI= conv (P ∩Zn) dieganzzahlige H¨ulle vonP.
Bemerkung 8.12
F¨urP ⊆Rn und c ∈Rn gilt:
sup{〈c,x〉 : x ∈P ∩Zn}= sup{〈c,x〉 : x ∈PI}
Beispiel
Ganzzahlige H¨ullen rationaler Polyeder
Satz 8.13
F¨ur ein rationales PolyederP = P≤(A,b)(mit A∈Zm×n,b ∈Zm) gelten folgende Aussagen:
1. PIist ein rationales Polyeder.
2. Falls PI∕=∅:char(PI) = char(P)
3. Istϕ(A,b)die maximale Kodierungsl¨ange eines Eintrags in A oder b, so gibt esX,Y ⊆Zn mit|X|,|Y|<∞und
PI = convX + cconeY ,
so dass jede Komponente eines Vektors in X ∪Y h¨ochstens Kodierungsl¨ange 2n2ϕ(A,b) +n hat.
Bemerkung 8.14
F¨ur nicht-rationale PolyederP istPIi.a. kein Polyeder.
Beweise: Vorlesung SoSem 21
Konsequenzen f¨ur ILPs
Korollar 8.15
IstP≤(A,b)∩Zn∕=∅(f¨ur A∈Qm×n,b ∈Qm), so gib es ein x∈P≤(A,b)∩Zn mit in〈A,b〉 polynomial beschr¨ankter Kodierungsl¨ange.
Insbesondere: Das ILP-Zul¨assigkeitsproblem ist inNP, also NP-vollst¨andig.
◮ Erinnerung: F¨ur endliches X ⊆Rn wird
max{〈c,x〉 : x∈convX} in einemx! ∈X angenommen.
Korollar 8.16
Ist das Problemmax{〈c,x〉 : Ax ≤b,x ∈Zn} (A∈Qm×n, b∈Qm) weder unzul¨assig noch unbeschr¨ankt, so nimmt es sein Optimum in einem Punktx∈Zn mit polynomial in〈A,b〉 beschr¨ankter Kodierungsl¨ange an.
Eine L¨osungsstrategie f¨ur ILPs
◮ Problem: max{〈c,x〉 : Ax ≤b,x ∈Zn} (mit A∈Qm×n,b ∈Qm)
◮ Berechne γ = max{〈c,x〉 : x∈P≤(A,b)I} (LP)
◮ Finde ein x ∈F ∩Zn, wobei F ={x ∈PI : 〈c,x〉=γ} die optimale Seite von PI ist (F ∩Zn∕=∅wegen Kor. 8.16).
◮ Falls P≤(A,b) nicht spitz: L¨osen eines linearen diophantischen Gleichungssystems (⇝ VL SoSem 21)
◮ P≤(A,b)I rationales Polyeder (Satz 8.13), also gibt es C ∈Qp×n,d ∈Qp mit
P≤(A,b)I= P≤(C,d).
◮ Also: (LP) ist ein lineares Optimierungsproblem.
◮ Bemerkungen zu C und d:
◮ I.a “viel komplizierter alsAundb”.
◮ In wichtigen Spezialf¨allen bekannt (z.B. Matching-Problem).
◮ Auch partielle Ungleichungsbeschreibung kann n¨utzlich sein.
Beispiel: Graphenf¨arbung
(COL) min
"n i=1
yi
"n i=1
xv,i = 1 f¨ur alle v ∈V xv,i +xw,i ≤ 1 f¨ur alle {v,w}∈E,i ∈[n]
xv,i ≤ yi f¨ur alle v ∈V,i ∈[n]
xv,i,yi ≥ 0 f¨ur alle v ∈V,i ∈[n]
xv,i,yi ∈ Z f¨ur alle v ∈V,i ∈[n]
◮ Das Entscheidungsproblem “Gegeben G und k, ist χ(G)≤k?” ist NP-vollst¨andig.
Beispiel: Graphenf¨arbung
◮ F¨ur jeden Graph G = (V,E)seien A(G)∈Qm(G)×n(G) und b(G)∈Qm(G) so, dass A(G)z ≤b(G)das System der Ungleichungen und Gleichungen aus (COL) ist (z = (x,y)).
◮ Angenommen,C(G)∈Qp(G)×n(G) und d(G)∈Qp(G) sind so, dass f¨ur alleG gilt:
◮ P≤(A(G),b(G))I= P≤(C(G),d(G)) (1)
◮ F¨ur jedesi∈p(G)kann man in in|V|polynomialer Zeit beweisen, dass〈C(G)i,!,z〉 ≤d(G)i g¨ultig f¨ur
P≤(A(G),b(G))∩Zn ist. (2) (Z.B. Beweis der G¨ultigkeit von “xv,i+xw,i ≤1” f¨ur
e={v,w}∈E durch ¨Uberpr¨ufen von “e∈E”.)
◮ Insbesondere hat(C(G),d(G))i,! polynomial in|V| beschr¨ankte Kodierungsl¨ange (f¨ur allei∈p(G)).
Beispiel: Graphenf¨arbung
◮ Sei c(G)∈Qn(G) der Zielfunktionsvektor von (COL).
◮ Sei z! optimale Eckenl¨osung von min{〈c(G),z〉 : z ∈P≤(C(G),d(G))}
◮ Also 〈c(G),z!〉=χ(G) und (nach Kor. 7.6) ist c(G) ∈ ccone{C(G)i,! : i ∈Eq(z!)}.
◮ Satz von Carath´eodory: Es gibt I ⊆Eq(z!) mit |I|≤n(G) und λi ∈Q+ (i ∈I) mit
c(G) = "
i∈I
λiC(G)I,!.
◮ Wir k¨onnen λi (i ∈I) so w¨ahlen, dass sie polynomial in
|V|+〈c〉 beschr¨ankte Kodierungl¨angen haben (LP-L¨osung).
◮ Also liefern λi (i ∈I) (wieder mit Kor. 7.6) ein polynomial großes Zertifikat f¨ur die Optimalit¨at von z!, also f¨ur k >χ(G) (falls das der Fall ist).
◮ Systeme C(G)z ≤d(G)mit (1) und (2) existieren also nur dann f¨ur alle GraphenG, wenn NP = coNPist.
Definition und Charakterisierung
Definition 8.17
Ein PolyederP ⊆Rn heißt ganzzahlig, wennPI=P gilt.
Bemerkung 8.18
Rationale polyedrische Kegel sind ganzzahlig.
Satz 8.19
Ein rationales Polyeder ist genau dann ganzzahlig, wenn jede seiner minimalen Seitenfl¨achen einen ganzzahligen Punkt enth¨alt.
Beweise: Vorlesung SoSem 21
Ganzzahlige Optimierung ¨uber Ganzzahligen Polyedern
◮ Sei P≤(A,b)(mit A∈Qm×n,b ∈Qm) ganzzahlig.
◮ F¨ur allec ∈Qn gilt:
(ILP) max{〈c,x〉 : Ax ≤b,x∈Zn}
= max{〈c,x〉 : Ax ≤b,x ∈Rn} (LP)
◮ IstP≤(A,B) spitz, kann man (ILP) l¨osen, indem man eine optimale Eckenl¨osung von (LP) bestimmt (polynomial).
◮ Sonst: Bestimmen eines LGS f¨ur eine optimale minimale Seite, L¨osen des diophantischen Gleichungssystems (polynomial, VL SoSem 21)
◮ Wir haben f¨ur ganzzahligeP≤(A,b) folgende starke Dualit¨at:
max{〈c,x〉 : Ax ≤b,x ∈Zn}
= min{〈b,y〉 : ATy =c,y ≥Om,y ∈Rm} (D)
◮ In (D) kann man i.a. nicht y ∈Zm fordern (z.B. beiA= (2), b = (2),c = (1)).
Totale Unimodularit¨at und Ganzzahlige Polyeder
Definition 8.20
Eine MatrixA∈Rm×n isttotal unimodular (TU), wenn det(AI,J) ∈ {−1,0,1}
f¨ur alleI ⊆[m],J⊆[n](|I|=|J|) ist (⇝A∈{−1,0,1}m×n).
Satz 8.21
F¨ur alleA∈Qm×n gilt:
1. IstA total unimodular, so ist P≤(A,b) f¨ur jedes b∈Zm ganzzahlig.
2. IstP≤(A,b)∩ n+ f¨ur jedes b∈Zm ganzzahlig, so ist Atotal unimodular.
◮ Beweis: VorlesungSoSem 21
◮ Die Ganzzahligkeit von b ist wichtig:
P≤(A,σb) =σP≤(A,b) f¨ur alle σ >0
TU-erhaltende Operationen
Bemerkung 8.22
IstA∈Rm×n TU, so sind auch die folgenden Matrizen TU:
1. −A,(A,−A),(A,Im),(A,−Im),AT 2. AI,J (I ⊆[m],J⊆[n])
3. Matrizen, die ausA durch Zeilen- oder Spalten-Permutationen oder durch Multiplikation einiger Spalten/Zeilen mit −1 entstehen
◮ Aber: F¨ur TU-MatrizenA∈Rm×n,A′∈Rm×n′ ist i.a.
(A,A′)nicht TU.
◮ Sonst w¨aren alle Matrizen in {−1,0,1}m×n TU.
◮ Gegenbeispiel:det
&
1 −1
1 1
'
= 2
Konsequenzen
Korollar 8.23
F¨ur eine total unimodulare MatrixA∈Rm×n sowie ganzzahlige Vektorenl,u ∈Zn und b ∈Zm sind die folgenden Polyeder ganzzahlig:
◮ {x ∈Rn : Ax ≤b,x≥On}
◮ {x ∈Rn : Ax =b,x≥On} =: P=+(A,b)
◮ {x ∈Rn : Ax ≤b,l ≤x ≤u}
◮ {x ∈Rn : Ax =b,l ≤x ≤u} Satz 8.24
IstA∈Rm×n TU, und sindb ∈Zm undc ∈Zn, so gilt max{〈c,x〉 : Ax ≤b,x∈Zn}
= min{〈b,y〉 : ATy =c,y ≥Om,y ∈Zm}, sofernP≤(A,b)∕=∅und P=+(AT,c)∕=∅ sind.
Kriterium von Ghouila–Houri
Satz 8.25
Eine MatrixA∈{−1,0,1}m×n ist genau dann total unimodular, wenn man jede TeilmengeJ ⊆[n]der Spaltenindizes so in J=J+∪J− (J+∩J−=∅) partitionieren kann, dass
"
j∈J+
A!,j − "
j∈J−
A!,j ∈ {−1,0,1}m
ist. Wegen Bem. 8.22 gilt die analoge Charakterisierung auch f¨ur Zeilenteilmengen.
Korollar 8.26
HatA∈{−1,0,1}m×n in jeder Spalte (oder in jeder Zeile) h¨ochstens einen(+1)-Eintrag und h¨ochstens einen(−1)-Eintrag, so istAtotal unimodular.
Beweise: Vorlesung SoSem 21
Definition
Definition 8.27
DieInzidenzmatrix eines GraphenG = (V,E) ist die Matrix Inz(G)∈{0,1}V×E, f¨ur die Inz(G)v,e = 1 genau dann gilt, wennv ∈e ist.
1 2
5
3 4
1
2 3
4 5
6 7
8
( )) ))
*
1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0
+ ,, ,, -
Bipartite Graphen
Definition 8.28
Ein GraphG = (V,E) ist bipartit, wenn es eine Zerlegung V =X ∪Y (X∩Y =∅) gibt mite ∕⊆X und e ∕⊆Y f¨ur alle e∈E.
1 a 2 b
5 e 6 f
3 d 4
c
7 h 8
g
1 a
2 b
5 e
6 f
3
d 4
c
7
h 8
g
Satz 8.29
Die Inzidenzmatrix eines GraphenG ist genau dann total unimodular, wennG bipartit ist.
Matching-Polytope
Definition 8.30
F¨ur einen GraphenG = (V,E) heißen
Pmatch(G) := conv{χ(M) : M ⊆E Matching} ⊆ [0,1]E Pperfmatch(G) := conv{χ(M) : M ⊆E perf. Matching} ⊆ [0,1]E (χ(M)∈{0,1}E mitχ(M)e= 1⇔e ∈M f¨ur alle e ∈E ist der charakteristische VektorvonM) das Matching-Polytopbzw.
dasPerfect-Matching PolytopvonG. Definition 8.31
Ein PolytopconvX mitX ⊆{0,1}n ist ein0/1-Polytop.
Beobachtung 8.32
Die Eckenmenge eines 0/1-PolytopsP ⊆Rn ist P∩Zn=P ∩{0,1}n.
Matching-Polytope und Optimierung
◮ F¨ur w ∈QE: Eine optimale Eckenl¨osung von max{〈w,x〉 : x ∈Pmatch(G)}
ist der charakteristische Vektor eines w-maximalen Matchings (analog f¨ur Pperfmatch(G)).
Beobachtung 8.33
F¨ur alle GraphenG gelten:
Pmatch(G) = {x ∈[0,1]E : Inz(G)x ≤ V}I Pperfmatch(G) = {x ∈[0,1]E : Inz(G)x = V}I
Satz 8.34
F¨ur bipartite GraphenG gelten:
Pmatch(G) = {x ∈[0,1]E : Inz(G)x ≤ V} Pperfmatch(G) = {x ∈[0,1]E : Inz(G)x = V}
Der vollst¨andige bipartite Graph
Definition 8.35
Einvollst¨andiger bipartiter Graph Kn,nhat eine Knotenmenge Vn,n=X ∪Y (X ∩Y =∅) mit |X|=|Y|=n und die
KantenmengeEn,n=$
{x,y} : x ∈X,y ∈Y% .
Beobachtung 8.36
Die perfekten Matchings inKn,n stehen in Bijektion zu den n×n-Permutationsmatrizen.
1 a
2 b
5 e
3
d 4
c
( )) ))
*
0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0
+ ,, ,, -
Das Birkhoff-Polytop
Definition 8.37
DasBirkhoff-Polytopist Pbirk(n) := Pperfmatch(Kn,n)(also die konvexe H¨ulle allern×n-Permutationsmatrizen).
Korollar 8.38
Es gilt:Pbirk(n) = {x∈[0,1]En,n : Inz(Kn,n)x= V}.
Definition 8.39
Eine MatrixM ∈ n+×n istdoppelt-stochastisch, wenn
nTM = nT und M n= ngelten.
Korollar 8.40
Eine Matrix ist genau dann doppelt-stochastisch, wenn sie Konvexkombination von Permutationsmatrizen ist.
Matchings und Knoten¨uberdeckungen
◮ F¨ur bipartite Graphen G gilt (weilInz(G) TU):
max{〈 E,x〉 : Inz(G)x ≤ V,x ∈{0,1}E}
= max{〈 E,x〉 : Inz(G)x≤ V,x ∈ E+}
= min{〈 V,y〉 : Inz(G)Ty ≥ E,y ∈ V+}
= min{〈 V,y〉 : Inz(G)Ty ≥ E,y ∈{0,1}V}
Definition 8.41
EineKnoten¨uberdeckung eines GraphenG = (V,E) ist eine TeilmengeS ⊆V mit e∩S ∕=∅f¨ur alle e ∈E.
Satz 8.42
In bipartiten Graphen stimmen die gr¨oßte Kardinalit¨at eines Matchings und die kleinste Kardinalit¨at einer Knoten¨uberdeckung
¨uberein.
Definition und totale Unimodularit¨at
Definition 8.43
DieInzidenzmatrix eines (einfachen) gerichteten
GraphenD = (V,A) ist die MatrixInz(D)∈{−1,0,1}V×E mit Inz(D)v,a =
./ 0 /1
−1 falls a= (v,w) f¨ur ein w ∈V +1 falls a= (w,v) f¨ur ein w ∈V 0 sonst
f¨ur allev ∈V und a∈A
1 2
5
3 4
1 2 3
4 5
6 7
8 10 9
( )) )*
−1 0 0 · · · 0 0 −1
+1 −1 0 · · · +1 +1 0
0 0 −1 · · · −1 0 +1
0 +1 +1 · · · 0 −1 0
0 0 0 · · · 0 0 0
+ ,, ,-
Satz 8.44
Inzidenzmatrizen gerichteter Graphen sind total unimodular.
Zirkulationen
Definition 8.45
F¨ur einen gerichten GraphenD = (V,A) und Kapazit¨atsschranken l,u ∈RA heißen die Punkte in
Circ(D,l,u) := {x ∈QA : Inz(D)x =OV,l ≤x ≤u} Zirkulationen(zu den Kapazit¨atsschranken l undu) in D.
Definition 8.46
F¨urD = (V,A) und v ∈V definiere:
δaus(v) := {a∈A : a= (v,w) f¨ur ein w ∈V} δein(v) := {a∈A : a= (u,v) f¨ur ein u∈V}
◮ F¨ur x ∈RA mitl ≤x ≤u ist also genau dann x ∈Circ(D,l,u), wenn #
a∈δaus(v)xa=#
a∈δein(v)xa f¨ur alle v ∈V gilt (Kirchhoffs Gesetz).
Kostenminimale Zirkulationen
◮ F¨ur l,u∈ZA undc ∈RA gilt (weilInz(D) TU ist):
min{〈c,x〉 : x ∈Circ(D,l,u)}
= min{〈c,x〉 : x ∈Circ(D,l,u)∩ZA} Satz 8.47
In einem NetzwerkD = (V,A) mit durch ganzzahlige Vektoren l,u ∈ZA definierten Kapazit¨atsintervallen, f¨ur die es ¨uberhaupt Zirkulationen gibt (d.h. es istCirc(D,l,u)∕=∅), gibt es f¨ur jeden Kostenvektor unter den kosteng¨unstigsten Zirkulationen auch eine mit ganzzahligen Flussmengen auf allen B¨ogen.
Korollar 8.48
(Ganzzahlige) kostenminimale Zirkulationen k¨onnen mit linearer Optimierung in polynomialer Zeit berechnet werden.
◮ Besser: Kombinatorische Algorithmen (VL WiSem 20/21)
K¨urzeste Wege
Definition 8.49
SeiD = (V,A) ein gerichteter Graph. Eine Sequenz (v0,v1, . . . ,vl) von paarweise verschiedenen Knotenvi ∈V mit(vi−1,vi)∈A f¨ur allei ∈[l]definiert den v0–vl-Weg
{(v0,v1),(v1,v2), . . . ,(vl−1,vl)} ⊆ A. Istl ≥1 und(vl,v0)∈A, so ist
{(v0,v1),(v1,v2), . . . ,(vl−1,vl),(vl,v0)} ⊆ A
einKreis in D. F¨ur Bogenl¨angenc ∈QA und einen Weg oder Kreis B⊂Ain D ist
c(B) := "
a∈B
ca
diec-L¨ange vonB. Diec-L¨ange eines bez¨uglichc k¨urzesten s–t-Weges ist die c-Distanzzwischens und t
Beispiele
s t
Wege und Zirkulationen
◮ Sei P ⊂Aeins–t-Weg inD.
◮ Dann: K :=P∪{(t,s)} Kreis in D
◮ Charakteristischer Vektor χ(K)∈{0,1}A: ganzzahlige Zirkulation in Circ(D, (t,s), A)∩ZA
s t
Zirkulationen und Wege
◮ F¨ur x ∈Circ(D, (t,s), A)∩ZA gilt: x=χ(B) f¨ur eine diskunkte Vereinigung B ⊆Avon Kreisen in D mit(t,s)∈B.
s t
◮ Istc ∈QA mit c(t,s)= 0 so, dass kein Kreis inD negative c-L¨ange hat, so modelliert
min{〈c,x〉 : x ∈Circ(D, (t,s), A)∩ZA}
das Problem, einen c-k¨urzestens–t-Weg inD zu bestimmen.
LP-Dualit¨at
min{〈c,x〉 : x ∈Circ(D, (t,s), A)∩ZA}
= min{〈c,x〉 : x ∈Circ(D, (t,s), A)}
= min{〈c,x〉 : Inz(D)x =OV, (t,s)≤x≤ A}
= max{−z(t,s)+〈 A,z〉: Inz(D)Ty−z+z =c,z,z ∈ A−,y∈RV}
= max{z(t,s) : Inz(D)Ty+z =c,z ∈ A+,y ∈QV}
= max{yt−ys : yw −yv ≤c(v,w) ((v,w)∈A\ {(t,s)}),y ∈RV}
Definition 8.50
Einc-Potenzialvon D= (V,A) (c ∈RA) ist ein Vektorπ ∈RV mit
πw ≤ πv+c(v,w) f¨ur alle (v,w)∈A; seines–t-Potenzialdifferenzistπt−πs (f¨ur s,t ∈V).
Kombinatorische Dualit¨at
Satz 8.51
Sinds,t∈V zwei Knoten in einem NetzwerkD = (V,A) (das wenigstens einens–t-Weg enth¨alt) mit Bogenl¨angen c ∈QA, bez¨uglich derer kein Kreis inD negative L¨ange hat, so ist die c-Distanz zwischen s und t die maximale s–t-Potenzialdifferenz allerc-Potenziale von D.
s t
2 1
2 1
0
2
3
3
3
6 6
3 2 5
0
2
3 2
0
1 3
5
8
3 2 3 4
0 5 3
2 0 1
2 5
0
5