SLIDE 1
On the complexity of the asymmetric VPN problem
Thomas Rothvoß & Laura Sanit` a
Institute of Mathematics EPFL, Lausanne
ISMP’09
SLIDE 2 Concave Cost VPN
Given:
◮ Undirected graph G = (V, E), costs c : E → Q+ ◮ Outgoing traffic bound b+ v ∈ N0, ingoing traffic bound
b−
v ∈ N0 ◮ Concave non-decreasing function f : Q+ → Q+
Find: Paths Puv, capacities xe s.t.
c(e) · f(xe) → minimized and every valid traffic matrix (Du,v)u,v∈V can be routed. D is valid if v sends ≤ b+
v and receives ≤ b− v
SLIDE 3 Concave Cost VPN
Given:
◮ Undirected graph G = (V, E), costs c : E → Q+ ◮ Outgoing traffic bound b+ v ∈ N0, ingoing traffic bound
b−
v ∈ N0 ◮ Concave non-decreasing function f : Q+ → Q+
Find: Paths Puv, capacities xe s.t.
c(e) · f(xe) → minimized and every valid traffic matrix (Du,v)u,v∈V can be routed. D is valid if v sends ≤ b+
v and receives ≤ b− v
xe f(xe)
SLIDE 4 Concave Cost VPN
Given:
◮ Undirected graph G = (V, E), costs c : E → Q+ ◮ Outgoing traffic bound b+ v ∈ N0, ingoing traffic bound
b−
v ∈ N0 ◮ Concave non-decreasing function f : Q+ → Q+
Find: Paths Puv, capacities xe s.t.
c(e) · f(xe) → minimized and every valid traffic matrix (Du,v)u,v∈V can be routed. D is valid if v sends ≤ b+
v and receives ≤ b− v
xe f(xe) W.l.o.g.:
◮ senders s ∈ S: b+ s = 1, b− s = 0 ◮ receivers r ∈ R: b+ r = 0, b− r = 1 ◮ non-terminals v: b+ v = b− v = 0
SLIDE 5
Example
s1 s2 s3 r2 r1 r3 r4 e
SLIDE 6
Example
s1 s2 s3 r2 r1 r3 r4 Ps1r2 e
SLIDE 7
Example
s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 e
SLIDE 8
Example
s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 Ps2r3 e
SLIDE 9
Example
s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 Ps2r3 Ps3r3 e
SLIDE 10
Example
s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 Ps2r3 Ps3r3 e S R s1 s2 s3 r2 r1 r3 r4
SLIDE 11
Example
s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 Ps2r3 Ps3r3 e S R s1 s2 s3 r2 r1 r3 r4
SLIDE 12
Example
s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 Ps2r3 Ps3r3 e S R s1 s2 s3 r2 r1 r3 r4 xe = maximal cardinality of a matching in Ge = (S ∪ R, Ee) with (s, r) ∈ Ee ⇔ e ∈ Psr
SLIDE 13
Example
s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 Ps2r3 Ps3r3 e S R s1 s2 s3 r2 r1 r3 r4 vertex cover C xe = maximal cardinality of a matching in Ge = (S ∪ R, Ee) with (s, r) ∈ Ee ⇔ e ∈ Psr
SLIDE 14
Known results
Linear costs:
◮ APX-hard ◮ 5.55-apx [Gupta, Kumar, Roughgarden ’03] ◮ 4.74-apx [Eisenbrand, Grandoni ’05] ◮ 3.55-apx [Eisenbrand, Grandoni, Oriolo, Skutella ’07]
SLIDE 15
Known results
Linear costs:
◮ APX-hard ◮ 5.55-apx [Gupta, Kumar, Roughgarden ’03] ◮ 4.74-apx [Eisenbrand, Grandoni ’05] ◮ 3.55-apx [Eisenbrand, Grandoni, Oriolo, Skutella ’07]
Linear costs/symmetric (b+
v = b− v ): ◮ Opt. solution is a tree [Goyal, Olver, Shepherd ’08] ◮ Opt. tree solution = best shortest path tree
[Fingerhut et al. ’97; Gupta et al. ’01]
SLIDE 16
Known results
Linear costs:
◮ APX-hard ◮ 5.55-apx [Gupta, Kumar, Roughgarden ’03] ◮ 4.74-apx [Eisenbrand, Grandoni ’05] ◮ 3.55-apx [Eisenbrand, Grandoni, Oriolo, Skutella ’07]
Linear costs/symmetric (b+
v = b− v ): ◮ Opt. solution is a tree [Goyal, Olver, Shepherd ’08] ◮ Opt. tree solution = best shortest path tree
[Fingerhut et al. ’97; Gupta et al. ’01] Linear costs/balanced (|R| = |S|):
◮ Opt. tree solution = best shortest path tree
[Italiano, Leonardi, Oriolo ’06]
SLIDE 17
Known results
Linear costs:
◮ APX-hard ◮ 5.55-apx [Gupta, Kumar, Roughgarden ’03] ◮ 4.74-apx [Eisenbrand, Grandoni ’05] ◮ 3.55-apx [Eisenbrand, Grandoni, Oriolo, Skutella ’07]
Linear costs/symmetric (b+
v = b− v ): ◮ Opt. solution is a tree [Goyal, Olver, Shepherd ’08] ◮ Opt. tree solution = best shortest path tree
[Fingerhut et al. ’97; Gupta et al. ’01] Linear costs/balanced (|R| = |S|):
◮ Opt. tree solution = best shortest path tree
[Italiano, Leonardi, Oriolo ’06]
Theorem
There is a polytime 50-approximation for Concave Cost VPN that also gives a tree solution.
SLIDE 18 Single Sink Buy-at-Bulk
xe f(xe) Given:
◮ G = (V, E), costs c : E → Q+ ◮ clients D ⊆ V , root r ◮ Concave non-decreasing function f : Q+ → Q+
Find: Capacities xe s.t.
c(e) · f(xe) → minimize and each client can send a flow of 1 to r (simultaneously). root r client
SLIDE 19 Single Sink Buy-at-Bulk
xe f(xe) Given:
◮ G = (V, E), costs c : E → Q+ ◮ clients D ⊆ V , root r ◮ Concave non-decreasing function f : Q+ → Q+
Find: Capacities xe s.t.
c(e) · f(xe) → minimize and each client can send a flow of 1 to r (simultaneously). root r client 1 1 1 2 3 1 1 5 1
SLIDE 20 Single Sink Buy-at-Bulk
xe f(xe) Given:
◮ G = (V, E), costs c : E → Q+ ◮ clients D ⊆ V , root r ◮ Concave non-decreasing function f : Q+ → Q+
Find: Capacities xe s.t.
c(e) · f(xe) → minimize and each client can send a flow of 1 to r (simultaneously). Known results:
◮ APX-hard ◮ Opt. solution is tree [Karger, Minkoff ’00] ◮ For cable-based formulation:
◮ 76.8-apx [Gupta, Kumar, Roughgarden ’03] ◮ improved to 25-apx [Grandoni, Italiano ’06]
SLIDE 21
The algorithm
Algorithm: +1 +1 +1 −1 −1 −1 −1
SLIDE 22 The algorithm
Algorithm:
- 1. Choose a sender s∗ ∈ S uniformly at random
+1 +1 +1 s∗ −1 −1 −1 −1
SLIDE 23 The algorithm
Algorithm:
- 1. Choose a sender s∗ ∈ S uniformly at random
- 2. Define central hub instance with single sender s∗ (but
b+
s∗ = |S|), receivers S ∪ R
+|S| −1 −1 s∗ −1 −1 −1 −1
SLIDE 24 The algorithm
Algorithm:
- 1. Choose a sender s∗ ∈ S uniformly at random
- 2. Define central hub instance with single sender s∗ (but
b+
s∗ = |S|), receivers S ∪ R
- 3. Compute 25-apx solution x′
e using a SSBB algo for the
central hub VPN instance +|S| −1 −1 s∗ −1 −1 −1 −1
SLIDE 25 The algorithm
Algorithm:
- 1. Choose a sender s∗ ∈ S uniformly at random
- 2. Define central hub instance with single sender s∗ (but
b+
s∗ = |S|), receivers S ∪ R
- 3. Compute 25-apx solution x′
e using a SSBB algo for the
central hub VPN instance +|S| −1 −1 s∗ −1 −1 −1 −1 Claim: Capacities x′
e suffice for orig. instance
SLIDE 26 The algorithm
Algorithm:
- 1. Choose a sender s∗ ∈ S uniformly at random
- 2. Define central hub instance with single sender s∗ (but
b+
s∗ = |S|), receivers S ∪ R
- 3. Compute 25-apx solution x′
e using a SSBB algo for the
central hub VPN instance k terminals +|S| −1 −1 s∗ −1 −1 −1 −1 e x′
e = min{k, |S|}
Claim: Capacities x′
e suffice for orig. instance
SLIDE 27
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+ s∗ = |S|), receivers S ∪ R ◮ cost function e∈E ce · f(xe)
SSBB:
◮ root s∗, clients S ∪ R ◮ cost function e∈E ce · f(min{xe, |S|})
+|S| −1 −1 s∗ −1 −1 −1 −1
SLIDE 28
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+ s∗ = |S|), receivers S ∪ R ◮ cost function e∈E ce · f(xe)
|S| xe f(xe) SSBB:
◮ root s∗, clients S ∪ R ◮ cost function e∈E ce · f(min{xe, |S|}) → concave
+|S| −1 −1 s∗ −1 −1 −1 −1
SLIDE 29
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+ s∗ = |S|), receivers S ∪ R ◮ cost function e∈E ce · f(xe)
SSBB:
◮ root s∗, clients S ∪ R ◮ cost function e∈E ce · f(min{xe, |S|}) → concave
+|S| −1 −1 s∗ −1 −1 −1 −1 e
SLIDE 30
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+ s∗ = |S|), receivers S ∪ R ◮ cost function e∈E ce · f(xe)
SSBB:
◮ root s∗, clients S ∪ R ◮ cost function e∈E ce · f(min{xe, |S|}) → concave
k receivers/clients +|S| −1 −1 s∗ −1 −1 −1 −1 e capacity on e cost for e VPN SSBB
SLIDE 31
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+ s∗ = |S|), receivers S ∪ R ◮ cost function e∈E ce · f(xe)
SSBB:
◮ root s∗, clients S ∪ R ◮ cost function e∈E ce · f(min{xe, |S|}) → concave
k receivers/clients +|S| −1 −1 s∗ −1 −1 −1 −1 e capacity on e cost for e VPN min{k, |S|} c(e) · f(min{k, |S|}) SSBB
SLIDE 32
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+ s∗ = |S|), receivers S ∪ R ◮ cost function e∈E ce · f(xe)
SSBB:
◮ root s∗, clients S ∪ R ◮ cost function e∈E ce · f(min{xe, |S|}) → concave
k receivers/clients +|S| −1 −1 s∗ −1 −1 −1 −1 e capacity on e cost for e VPN min{k, |S|} c(e) · f(min{k, |S|}) SSBB k c(e) · f(min{k, |S|})
SLIDE 33
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OPT. s∗
SLIDE 34
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OPT. Proof:
◮ Let (xe, Psr) be optimal solution for orig. instance
s∗
SLIDE 35
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OPT. Proof:
◮ Let (xe, Psr) be optimal solution for orig. instance ◮ Choose a receiver r∗ randomly
s∗ r∗
SLIDE 36
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OPT. Proof:
◮ Let (xe, Psr) be optimal solution for orig. instance ◮ Choose a receiver r∗ randomly ◮ Install |S| units of capacity on Ps∗r∗
s∗ r∗ |S|
SLIDE 37
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OPT. Proof:
◮ Let (xe, Psr) be optimal solution for orig. instance ◮ Choose a receiver r∗ randomly ◮ Install |S| units of capacity on Ps∗r∗ ◮ Install (cumulatively) 1 unit on each Psr∗ and Ps∗r
(in total never more then |S|) s∗ r∗ |S| 1 1
SLIDE 38
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OPT. Proof:
◮ Let (xe, Psr) be optimal solution for orig. instance ◮ Choose a receiver r∗ randomly ◮ Install |S| units of capacity on Ps∗r∗ ◮ Install (cumulatively) 1 unit on each Psr∗ and Ps∗r
(in total never more then |S|) s∗ r∗ |S| 1 1 1 1 1
SLIDE 39
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OPT. Proof:
◮ Let (xe, Psr) be optimal solution for orig. instance ◮ Choose a receiver r∗ randomly ◮ Install |S| units of capacity on Ps∗r∗ ◮ Install (cumulatively) 1 unit on each Psr∗ and Ps∗r
(in total never more then |S|)
◮ Claim: E[capacity on e] ≤ 2 · xe
s∗ r∗ |S| 1 1 1 1 1
SLIDE 40
Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe.
SLIDE 41
Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe. S R
◮ Consider Ge = (S ∪ R, Ee) with
edges (s, r) ∈ Ee ⇔ e ∈ Ps,r
SLIDE 42
Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe. S R C
◮ Consider Ge = (S ∪ R, Ee) with
edges (s, r) ∈ Ee ⇔ e ∈ Ps,r
◮ Let C be vertex cover with |C| = xe
SLIDE 43 Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe. S R C s∗ r∗
◮ Consider Ge = (S ∪ R, Ee) with
edges (s, r) ∈ Ee ⇔ e ∈ Ps,r
◮ Let C be vertex cover with |C| = xe ◮ Case: s∗ or r∗ are in C
◮ Prob: ≤ |S∩C|
|S|
+ |R∩C|
|R|
≤ |C|
|S|
◮ Capacity: ≤ |S| ◮ Contribution: ≤ |C|
|S| · |S| = |C| = xe
SLIDE 44 Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe. S R C s∗ r∗
◮ Consider Ge = (S ∪ R, Ee) with
edges (s, r) ∈ Ee ⇔ e ∈ Ps,r
◮ Let C be vertex cover with |C| = xe ◮ Case: s∗ or r∗ are in C
◮ Prob: ≤ |S∩C|
|S|
+ |R∩C|
|R|
≤ |C|
|S|
◮ Capacity: ≤ |S| ◮ Contribution: ≤ |C|
|S| · |S| = |C| = xe
◮ Case: Neither s∗ nor r∗ are in C
◮ Prob: ≤ 1 ◮ (s∗, r∗) /
∈ Ee ⇒ e / ∈ Ps∗r∗
◮ Capacity: ≤ deg(s∗) + deg(r∗) ≤ |R ∩ C| + |S ∩ C| = |C| ◮ Contribution: ≤ |C| = xe
SLIDE 45
Balanced VPN is NP-hard
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
◮ G = (V, E) Steiner tree instance with terminals v1, . . . , vk+1 ◮ C > e∈E c(e), M ≫ (k + 1)C
SLIDE 46
Balanced VPN is NP-hard
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
◮ G = (V, E) Steiner tree instance with terminals v1, . . . , vk+1 ◮ C > e∈E c(e), M ≫ (k + 1)C
G vk+1 v1 v2 . . . vk
SLIDE 47
Balanced VPN is NP-hard
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
◮ G = (V, E) Steiner tree instance with terminals v1, . . . , vk+1 ◮ C > e∈E c(e), M ≫ (k + 1)C
G vk+1 v1 v2 . . . vk a1 a2 a3 a4 w1 w2 . . . wk u1 u2 u3 . . . u2k−1 M M kM kM C C C 0 0 sender receiver
SLIDE 48
Balanced VPN is NP-hard
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
◮ G = (V, E) Steiner tree instance with terminals v1, . . . , vk+1 ◮ C > e∈E c(e), M ≫ (k + 1)C
G vk+1 v1 v2 . . . vk a1 a2 a3 a4 w1 w2 . . . wk u1 u2 u3 . . . u2k−1 M M kM kM C C C 0 0 sender receiver
SLIDE 49
Balanced VPN is NP-hard
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
◮ G = (V, E) Steiner tree instance with terminals v1, . . . , vk+1 ◮ C > e∈E c(e), M ≫ (k + 1)C
G vk+1 v1 v2 . . . vk a1 a2 a3 a4 w1 w2 . . . wk u1 u2 u3 . . . u2k−1 M M kM kM C C C 0 0 sender receiver
SLIDE 50
Balanced VPN is NP-hard
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
◮ G = (V, E) Steiner tree instance with terminals v1, . . . , vk+1 ◮ C > e∈E c(e), M ≫ (k + 1)C
G vk+1 v1 v2 . . . vk a1 a2 a3 a4 w1 w2 . . . wk u1 u2 u3 . . . u2k−1 M/1 M/1 kM/k kM/k C/1 C/1 C/1 0 0 sender receiver 1 1 1 1 1 1
SLIDE 51
Conclusions
SLIDE 52
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
SLIDE 53
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Corollary
ρ-apx for SSBB ⇒ 2ρ-apx for Concave Cost VPN
SLIDE 54
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Corollary
ρ-apx for SSBB ⇒ 2ρ-apx for Concave Cost VPN
Corollary
OPTtree ≤ 2 · OPT for Concave Cost VPN
SLIDE 55
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Corollary
ρ-apx for SSBB ⇒ 2ρ-apx for Concave Cost VPN
Corollary
OPTtree ≤ 2 · OPT for Concave Cost VPN
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
SLIDE 56
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Corollary
ρ-apx for SSBB ⇒ 2ρ-apx for Concave Cost VPN
Corollary
OPTtree ≤ 2 · OPT for Concave Cost VPN
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
Thanks for your attention