capacitated vertex cover - rutgers universitycrab.rutgers.edu/~rajivg/studenttalks/cvc.pdf · 2009....
TRANSCRIPT
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Capacitated Vertex Cover
James Davis
Department of Computer ScienceRutgers University–Camden
April 29, 2009
James Davis Capacitated Vertex Cover 1 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Problem
Input:Graph G = (V ,E)
For each vertex, v :A weight, wv , assigned to each copy of vA capacity, kv , assigned to each copy of v .
Objective:Find a multiset of vertices, C, of minimum weight s.t. novertex copy is assigned more than kv edges.
James Davis Capacitated Vertex Cover 2 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Problem
4,416,2
12,7
20,1
16,18,2
13,1
16,3 4,1
1
1
11
1
Cost = 8 · 1 + 16 · 1 + 4 · 1 + 4 · 1 + 16 · 1 = 48James Davis Capacitated Vertex Cover 3 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Problem
4,416,2
12,7
20,1
16,18,2
13,1
16,3 4,1
2
2
1 1
1
1
Cost = 12 · 1 + 16 · 1 + 13 · 2 + 16 · 1 + 20 · 2 = 110James Davis Capacitated Vertex Cover 4 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Approximation Algorithms
CVC is NP-hard.No optimal poly-time algorithms are known
β-approximation alg. for a minimization problem PPoly-time algorithm.For every instance, I, of P, the alg. produces solution ofcost at most β ·OPT (I)We don’t know OPT (I)...
James Davis Capacitated Vertex Cover 5 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Approximation Algorithms
Compute a lower bound on OPT .Compare cost of our solution with the lower bound.
LB Our Cost
Approximation Guarantee
OPT
James Davis Capacitated Vertex Cover 6 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
IP Formulation
xv : the number of copies of v in C.γev : given the value 1 if edge e is assigned to v , 0 o.w.
min∑v∈V
wv · xv
γeu + γev ≥ 1, ∀e = (u, v)
kv · xv −∑
e∈E(v)
γev ≥ 0, ∀v
xv ∈ Nγev ∈ {0,1}
James Davis Capacitated Vertex Cover 7 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Relaxation
min∑v∈V
wv · xv
γeu + γev ≥ 1, ∀e = (u, v)
kv · xv −∑
e∈(v)
γev ≥ 0, ∀v
xv ≥ 0
γev ≥ 0
James Davis Capacitated Vertex Cover 8 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Why Do This?
LP can be solved in polynomial timeEvery solution to the IP is also a solution to the LPHence:
OPTLP ≤ OPTIP
We can use OPTLP as a lower bound on OPTIP
James Davis Capacitated Vertex Cover 9 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Integrality Gap
γeu + γev ≥ 1
kv · xv −∑
e∈E(v)
γev ≥ 0
1,k 1,k1
IP Cost = 1
1,k 1,k1/k
LP Cost = 1/k
1k can be arbitrarily small: there is an unbounded gap.OPTLP is a poor lower bound.
James Davis Capacitated Vertex Cover 10 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Integrality Gap
LP cost
Integrality Gap
OPT
Our Cost
β, our appx. guarantee, would be unboundedly large.
James Davis Capacitated Vertex Cover 11 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
New IP
Add a new constraint: xv ≥ γev ; the IP still represents CVC.
min∑v∈V
wv · xv
γeu + γev ≥ 1, ∀e = (u, v)
kv · xv −∑
e∈E(v)
γev ≥ 0, ∀v
xv ≥ γev , ∀v∀e ∈ E(v)
xv ∈ Nγev ∈ {0,1}
James Davis Capacitated Vertex Cover 12 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
New LP
min∑v∈V
wv · xv
γeu + γev ≥ 1, ∀e = (u, v)
kv · xv −∑
e∈E(v)
γev ≥ 0, ∀v
xv ≥ γev , ∀v∀e ∈ E(v)
xv ≥ 0
γev ≥ 0
James Davis Capacitated Vertex Cover 13 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Integrality Gap Fixed
γeu + γev ≥ 1
kv · xv −∑
e∈E(v)
γev ≥ 0
xv ≥ γev
1,k 1,k1
New IP Cost = 1
New LP
1,k 1,k1
New LP Cost = 1We must choose a vertex
once.
James Davis Capacitated Vertex Cover 14 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
A Rounding Algorithm
Solve the LP.Set γ̂ev = 1 whenever γ∗ev ≥ 1
2 and set γ̂ev = 0 otherwise.
Set x̂v = dnumber of edges assigned to vkv
e = d∑
e∈E(v) γ̂ev
kve.
James Davis Capacitated Vertex Cover 15 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Feasibility
min∑v∈V
wv · xv
γeu + γev ≥ 1, ∀e = (u, v)
kv · xv −∑
e∈E(v)
γev ≥ 0, ∀v
xv ≥ γev , ∀v∀e ∈ E(v)
xv ∈ Nγev ∈ {0,1}
James Davis Capacitated Vertex Cover 16 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Feasibility
1 γeu + γev ≥ 1, ∀e = (u, v)
γ∗eu ≥ 12 or γ∗ev ≥ 1
2 → γ̂eu = 1 or γ̂ev = 1.
2 kv · xv −∑
e∈E(v) γev ≥ 0, ∀v
x̂v = d number of edges assigned to vkv
e = d∑
e∈E(v) γ̂ev
kve ≥
∑e∈E(v) γ̂ev
kvforces this to be true.
3 xv ≥ γev , ∀v∀e ∈ E(v)
x̂v = d number of edges assigned to vkv
e ≥ 1 whenever γ̂ev = 1 forsome e hitting v .
James Davis Capacitated Vertex Cover 17 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Analysis
1 kv · x∗v ≥∑
e∈E(v) γ∗ev
2 γ̂ev ≤ 2 · γ∗ev3 If x̂v 6= 0 then x∗v ≥ 1
2 .
x̂v 6= 0→ γ̂ev = 1
→ γ∗ev ≥12
→ x∗v ≥12
(x∗v ≥ γ∗ev )
James Davis Capacitated Vertex Cover 18 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Analysis
Our Cost =∑v∈V
wv · x̂v =∑
v |x̂v 6=0
wv · x̂v
=∑
v |x̂v 6=0
wv · d∑
e∈E(v) γ̂ev
kve
≤∑
v |x̂v 6=0
wv · d∑
e∈E(v) 2 · γ∗ev
kve
≤∑
v |x̂v 6=0
wv · d2 · (x∗v kv )
kve =
∑v |x̂v 6=0
wv · d2x∗v e
≤ 4 ·∑
v |x̂v 6=0
wv · x∗v
James Davis Capacitated Vertex Cover 19 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Primal-Dual Method
DualFeasible ≤ DualOPT = PrimalOPT ≤ PrimalFeasible
Construct the dual LPConstruct an algorithm that manually tightens dualconstraints to obtain a “maximal” dual solution
James Davis Capacitated Vertex Cover 20 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Primal
min∑v∈V
wv · xv
γeu + γev ≥ 1, ∀e = (u, v) αe
kv · xv −∑
e∈E(v)
γev ≥ 0, ∀v qv
xv ≥ γev , ∀v∀e ∈ E(v) lev
xv ≥ 0γev ≥ 0
James Davis Capacitated Vertex Cover 21 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Dual
max∑e∈E
αe
kv qv +∑
e∈E(v)
lev ≤ wv , ∀v
αe ≤ qv + lev , ∀v∀e ∈ E(v)
qv ≥ 0lev ≥ 0αe ≥ 0
James Davis Capacitated Vertex Cover 22 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Dual
The dual to the CVC problem is a packing problem.αe: the weight packed into edge e.qv : v ’s global ability to absorb edge weight.lev : v ’s ability to absorb edge weight from edge e.
James Davis Capacitated Vertex Cover 23 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Dual
kv qv +∑
e∈E(v)
lev ≤ wv = 17
αe1 = 4 ≤ qv + le1v
αe2 = 7 ≤ qv + le2v
αe3 = 3 ≤ qv + le3v
4
7
3
e1
e2
e3
v
1 Set le1v = 4, le2v = 7, le3v = 3.2 Set qv = 7.3 Set le1v = 1, le2v = 4, le3v = 0, qv = 3.
James Davis Capacitated Vertex Cover 24 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Primal-Dual Algorithm
Maximize∑
e∈E αe by raising all αe simultaneously whilemaking sure the constraints are satisfied.Put v in our cover when
kv qv +∑
e∈δ(v) lev ≤ wv
becomes tight.Delete v and δ(v) from the graph.Repeat until all edges are removed from the graph.
James Davis Capacitated Vertex Cover 25 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Primal-Dual Algorithm
max∑e∈E
αe
kv qv +∑
e∈δ(v)
lev ≤ wv , ∀v
αe ≤ qv + lev , ∀v∀e ∈ δ(v)
As we raise αe we need to raise either qv or lev . Which?We want kv qv +
∑lev to approach wv slowly.
Lower kv qv +∑
lev values let us raise αe values higher.
James Davis Capacitated Vertex Cover 26 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Raising Variables
kv qv +∑
e∈E(v)
lev ≤ wv = 17
αe1 = 4 ≤ qv + le1v
αe2 = 7 ≤ qv + le2v
αe3 = 3 ≤ qv + le3v
4
7
3
e1
e2
e3
17,5
v
le1v = 4, le2v = 7, le3v = 3kv qv +
∑lev = 14.
qv = 7kv qv +
∑lev = 35.
James Davis Capacitated Vertex Cover 27 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Raising Variables
kv qv +∑
e∈E(v)
lev ≤ wv = 17
αe1 = 4 ≤ qv + le1v
αe2 = 7 ≤ qv + le2v
αe3 = 3 ≤ qv + le3v
4
7
3
e1
e2
e3
17,1
v
le1v = 4, le2v = 7, le3v = 3kv qv +
∑lev = 14.
qv = 7kv qv +
∑lev = 7.
James Davis Capacitated Vertex Cover 28 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Low and High Degree Vertices
A low degree vertex is one where |δ(v)| ≤ kv .Raise lev for all edges in δ(v).
A high degree vertex is one where |δ(v)| > kv .Raise qv .
James Davis Capacitated Vertex Cover 29 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Primal-Dual Algorithm
Maximize∑
e∈E αe by raising all αe simultaneously whilemaking sure the constraints are satisfied.Put v in our cover when
kv qv +∑
e∈δ(v) lev ≤ wv
becomes tight.Delete v and δ(v) from the graph.Repeat until all edges are removed from the graph.
James Davis Capacitated Vertex Cover 30 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
4,416,2
12,7
20,1
16,18,2
13,1
16,3 4,1
00
0
0
0
0
0
0
0
0
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 31 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
4,416,2
12,7
20,1
16,18,2
13,1
16,3 4,1
11
1
1
1
1
1
1
1
1
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 32 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 33 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 34 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 35 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 36 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 37 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 38 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 39 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 40 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 41 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
The Algorithm: Cost = 56
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 42 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Analysis
We want to relate our cost to the dual feasible solution.When v is put in our cover
kv qv +∑
e∈δ(v) lev = wvqv + lev = αe
We’ve raised qv and lev variables differently for differentvertices.
James Davis Capacitated Vertex Cover 43 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
3 Types of Vertices
A vertex is always low-degree: “LD” type vertices.A vertex is always high-degree: “HD” type vertices.A vertex changes from high-degree to low-degree: “T” typevertices.
James Davis Capacitated Vertex Cover 44 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
High-Degree to Low-Degree Vertex
High Degree
16,2
Low Degree
James Davis Capacitated Vertex Cover 45 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Low-Degree Vertices
v
5,6
1 11
1
1
We need 1 copy.lev = 1qv = 0
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 46 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Low-Degree Vertices
We always need 1 copy.αe = lev∑
lev = wv
We pay wv =∑
αe
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 47 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
High-Degree Vertices
v
3,3
1 11
1
1
We need 2 copies.lev = 0qv = 1
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 48 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
High-Degree Vertices
We need d |δ(v)|kve copies.
d |δ(v)|kve ≤ 2 · |δ(v)|
kv
αe = qv
kv · qv = wv
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
We pay d |δ(v)|kvewv ≤ 2 |δ(v)|
kvwv = 2 |δ(v)|
kvkv qv = 2
∑αe
James Davis Capacitated Vertex Cover 49 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Transitional Vertices when |δ(v)| = kv
We need 1 copy.lev = 2qv = 1
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
James Davis Capacitated Vertex Cover 50 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Transitional Vertices when |δ(v)| = kv
We always need 1 copy.|δ(v)| = kv
αe = lev + qv
kv qv +∑
lev = wv
kv qv +∑
e∈E(v)
lev ≤ wv
αe ≤ qv + lev
We pay wv = kv qv +∑
lev = kv (qv + lev ) =∑
αe
James Davis Capacitated Vertex Cover 51 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Transitional Vertices: The General Case
To generalize we need more notation:Let D(v) be the edges incident on v at the time v wentfrom a HD vertex to a LD vertex.|D(v)| = kv
James Davis Capacitated Vertex Cover 52 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Transitional Vertices: The General Case
We pay wv · 1 = qv kv +∑
e∈δ(v)
lev
≤ qv kv +∑
e∈D(v)
lev
=∑
e∈D(v)
lev + qv
=∑
e∈D(v)
αe
James Davis Capacitated Vertex Cover 53 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Transitional Vertices
Every edge in D(v), not δ(v), is charged.Edges in D(v)− δ(v) are charged from both ends.
James Davis Capacitated Vertex Cover 54 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Charging Edges
Type 1: u is LD, v is T
u v1 Charge
u v1 Charge
(u, v) is charged 2αe.
Type 2: u is HD, v is T
2 Charges
u v
1 Charge
u v
(u, v) is charged 3αe.
James Davis Capacitated Vertex Cover 55 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Charging Edges
Each edge is charged at most 3αe
Our Cost ≤ 3∑
e αe.We have a 3 approximation.
James Davis Capacitated Vertex Cover 56 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Improvement
Our Cover
James Davis Capacitated Vertex Cover 57 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Improvement
Improved Cover
4,416,2
12,7
20,1
16,18,2
13,1
16,3 4,1
1
1
11
1
James Davis Capacitated Vertex Cover 58 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
References
S. Guha, R. Hassin, S. Khuller, and E. Or. Capacitated VertexCovering with Applications, Symposium on Discrete Algorithms(SODA) 2002.
James Davis Capacitated Vertex Cover 59 / 60
The ProblemIntegrality Gap
A Rounding AlgorithmPrimal-Dual Algorithm
Thank You!
James Davis Capacitated Vertex Cover 60 / 60