On the complexity of the asymmetric VPN problem a

advertisement
On the complexity of the asymmetric
VPN problem
Thomas Rothvoß & Laura Sanità
Institute of Mathematics
EPFL, Lausanne
ISMP’09
Concave Cost VPN
Given:
◮ Undirected graph G = (V, E), costs c : E → Q+
◮ Outgoing traffic bound b+
v ∈ N0 , ingoing traffic bound
∈
N
b−
0
v
◮ Concave non-decreasing function f : Q+ → Q+
Find: Paths Puv , capacities xe s.t.
X
c(e) · f (xe ) → minimized
e∈E
and every valid traffic matrix (Du,v )u,v∈V can be routed.
−
D is valid if v sends ≤ b+
v and receives ≤ bv
Concave Cost VPN
Given:
◮ Undirected graph G = (V, E), costs c : E → Q+
◮ Outgoing traffic bound b+
v ∈ N0 , ingoing traffic bound
∈
N
b−
0
v
◮ Concave non-decreasing function f : Q+ → Q+
Find: Paths Puv , capacities xe s.t.
X
c(e) · f (xe ) → minimized
e∈E
and every valid traffic matrix (Du,v )u,v∈V can be routed.
−
D is valid if v sends ≤ b+
v and receives ≤ bv
f (xe )
xe
Concave Cost VPN
Given:
◮ Undirected graph G = (V, E), costs c : E → Q+
◮ Outgoing traffic bound b+
v ∈ N0 , ingoing traffic bound
∈
N
b−
0
v
◮ Concave non-decreasing function f : Q+ → Q+
Find: Paths Puv , capacities xe s.t.
X
c(e) · f (xe ) → minimized
e∈E
and every valid traffic matrix (Du,v )u,v∈V can be routed.
−
D is valid if v sends ≤ b+
v and receives ≤ bv
W.l.o.g.:
−
◮ senders s ∈ S: b+
s = 1, bs = 0
+
◮ receivers r ∈ R: br = 0, b−
r =1
+
−
◮ non-terminals v: bv = bv = 0
f (xe )
xe
Example
s1
s2
s3
e
r4
r2
r1
r3
Example
Ps1 r2
s1
s2
s3
e
r4
r2
r1
r3
Example
Ps1 r2
s1
s2
Ps1 r1
s3
e
r4
r2
r1
r3
Example
Ps1 r2
s1
Ps2 r3
s2
Ps1 r1
s3
e
r4
r2
r1
r3
Example
Ps1 r2
s1
Ps2 r3
s2
Ps1 r1
s3
e
r1
Ps3 r3
r4
r2
r3
Example
S
Ps1 r2
s1
R
s1
r1
s2
r2
s3
r3
Ps2 r3
s2
Ps1 r1
s3
e
r1
Ps3 r3
r4
r2
r3
r4
Example
S
Ps1 r2
s1
R
s1
r1
s2
r2
s3
r3
Ps2 r3
s2
Ps1 r1
s3
e
r1
Ps3 r3
r4
r2
r3
r4
Example
S
Ps1 r2
s1
R
s1
r1
s2
r2
s3
r3
Ps2 r3
s2
Ps1 r1
s3
e
r1
Ps3 r3
r4
r2
r3
r4
xe = maximal cardinality of a matching in Ge = (S ∪ R, Ee )
with (s, r) ∈ Ee ⇔ e ∈ Psr
Example
S
Ps1 r2
s1
R
vertex cover C s
1
r1
s2
r2
s3
r3
Ps2 r3
s2
Ps1 r1
s3
e
r1
Ps3 r3
r4
r2
r3
r4
xe = maximal cardinality of a matching in Ge = (S ∪ R, Ee )
with (s, r) ∈ Ee ⇔ e ∈ Psr
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]
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 = bv ):
◮ Opt. solution is a tree [Goyal, Olver, Shepherd ’08]
◮ Opt. tree solution = best shortest path tree
[Fingerhut et al. ’97; Gupta et al. ’01]
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 = bv ):
◮ 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]
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 = bv ):
◮ 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.
Single Sink Buy-at-Bulk
f (xe )
Given:
◮
G = (V, E), costs c : E → Q+
◮
clients D ⊆ V , root r
◮
Concave non-decreasing function f : Q+ → Q+
xe
Find: Capacities xe s.t.
X
c(e) · f (xe ) → minimize
e∈E
and each client can send a flow of 1 to r (simultaneously).
client
root r
Single Sink Buy-at-Bulk
f (xe )
Given:
◮
G = (V, E), costs c : E → Q+
◮
clients D ⊆ V , root r
◮
Concave non-decreasing function f : Q+ → Q+
xe
Find: Capacities xe s.t.
X
c(e) · f (xe ) → minimize
e∈E
and each client can send a flow of 1 to r (simultaneously).
1
1
2
client
1
3
1
5
1
root r
1
Single Sink Buy-at-Bulk
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.
X
c(e) · f (xe ) → minimize
e∈E
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]
xe
The algorithm
Algorithm:
+1
−1
+1
−1
−1
+1
−1
The algorithm
Algorithm:
1. Choose a sender s∗ ∈ S uniformly at random
+1
−1
s∗
+1
−1
−1
+1
−1
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
−1
−1
s∗
+|S|
−1
−1
−1
−1
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
−1
−1
s∗
+|S|
−1
−1
−1
−1
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
−1
−1
s∗
+|S|
−1
−1
−1
−1
Claim: Capacities x′e suffice for orig. instance
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
x′e = min{k, |S|} −1
s∗
+|S|
−1
e
−1
−1
−1
−1
Claim: Capacities x′e suffice for orig. instance
k terminals
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+∗ = |S|), receivers S ∪ R
s
P
◮ cost function
e∈E ce · f (xe )
SSBB:
◮ root s∗ , clients S ∪ R
P
◮ cost function
e∈E ce · f (min{xe , |S|})
−1
−1
s∗
+|S|
−1
−1
−1
−1
SSBB vs. VPN with central hub
f (xe )
VPN:
◮ sender s∗ (b+∗ = |S|), receivers S ∪ R
s
P
◮ cost function
e∈E ce · f (xe )
SSBB:
|S|
◮ root s∗ , clients S ∪ R
P
◮ cost function
e∈E ce · f (min{xe , |S|}) → concave
−1
−1 −1
s∗
+|S|
−1
−1
−1
xe
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+∗ = |S|), receivers S ∪ R
s
P
◮ cost function
e∈E ce · f (xe )
SSBB:
◮ root s∗ , clients S ∪ R
P
◮ cost function
e∈E ce · f (min{xe , |S|}) → concave
−1
−1 −1
e
s∗
+|S|
−1
−1
−1
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+∗ = |S|), receivers S ∪ R
s
P
◮ cost function
e∈E ce · f (xe )
SSBB:
◮ root s∗ , clients S ∪ R
P
◮ cost function
e∈E ce · f (min{xe , |S|}) → concave
−1
−1 −1
k receivers/clients
e
s∗
+|S|
−1
−1
capacity on e
VPN
SSBB
−1
cost for e
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+∗ = |S|), receivers S ∪ R
s
P
◮ cost function
e∈E ce · f (xe )
SSBB:
◮ root s∗ , clients S ∪ R
P
◮ cost function
e∈E ce · f (min{xe , |S|}) → concave
−1
−1 −1
k receivers/clients
e
s∗
+|S|
−1
−1
VPN
SSBB
capacity on e
min{k, |S|}
−1
cost for e
c(e) · f (min{k, |S|})
SSBB vs. VPN with central hub
VPN:
◮ sender s∗ (b+∗ = |S|), receivers S ∪ R
s
P
◮ cost function
e∈E ce · f (xe )
SSBB:
◮ root s∗ , clients S ∪ R
P
◮ cost function
e∈E ce · f (min{xe , |S|}) → concave
−1
−1 −1
k receivers/clients
e
s∗
+|S|
−1
−1
VPN
SSBB
capacity on e
min{k, |S|}
k
−1
cost for e
c(e) · f (min{k, |S|})
c(e) · f (min{k, |S|})
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OP T .
s∗
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OP T .
Proof:
◮
Let (xe , Psr ) be optimal solution for orig. instance
s∗
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OP T .
Proof:
◮
Let (xe , Psr ) be optimal solution for orig. instance
◮
Choose a receiver r ∗ randomly
r∗
s∗
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OP T .
Proof:
◮
Let (xe , Psr ) be optimal solution for orig. instance
◮
Choose a receiver r ∗ randomly
◮
Install |S| units of capacity on Ps∗ r∗
r∗
|S|
s∗
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OP T .
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|)
1
|S|
s∗
1
r∗
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OP T .
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|)
r∗ 1
1
|S|
1
s∗
1
1
Analysis
Theorem
There is a central hub solution of expected cost ≤ 2 · OP T .
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
r∗ 1
1
|S|
1
s∗
1
1
Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe .
Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe .
◮
Consider Ge = (S ∪ R, Ee ) with
edges (s, r) ∈ Ee ⇔ e ∈ Ps,r
S
R
Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe .
◮
Consider Ge = (S ∪ R, Ee ) with
edges (s, r) ∈ Ee ⇔ e ∈ Ps,r
◮
Let C be vertex cover with |C| = xe
S
R
C
Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe .
◮
◮
◮
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
◮
◮
◮
|R∩C|
|C|
Prob: ≤ |S∩C|
|S| + |R| ≤ |S|
Capacity: ≤ |S|
Contribution: ≤ |C|
|S| · |S| = |C| = xe
S
s∗
R
r∗
C
Analysis (2)
Lemma
E[capacity on e] ≤ 2 · xe .
◮
◮
◮
Let C be vertex cover with |C| = xe
Case: s∗ or r ∗ are in C
◮
◮
◮
◮
S
Consider Ge = (S ∪ R, Ee ) with
edges (s, r) ∈ Ee ⇔ e ∈ Ps,r
|R∩C|
|C|
Prob: ≤ |S∩C|
|S| + |R| ≤ |S|
Capacity: ≤ |S|
Contribution: ≤ |C|
|S| · |S| = |C| = xe
R
r∗
s∗
C
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
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
P
C > e∈E c(e), M ≫ (k + 1)C
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
P
C > e∈E c(e), M ≫ (k + 1)C
vk+1
G
v1
v2
..
.
vk
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
P
C > e∈E c(e), M ≫ (k + 1)C
vk+1
v1
v2 C
.. C
.
v C
G
k
M
a1
a2
M
receiver
kM
kM
0
sender
0 0
...
wk
w1 w2
a4
a3
0
u1
u2
0 0 0
...
u3 u2k−1
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
P
C > e∈E c(e), M ≫ (k + 1)C
vk+1
v1
v2 C
.. C
.
v C
G
k
M
a1
a2
M
receiver
kM
kM
0
sender
0 0
...
wk
w1 w2
a4
a3
0
u1
u2
0 0 0
...
u3 u2k−1
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
P
C > e∈E c(e), M ≫ (k + 1)C
vk+1
v1
v2 C
.. C
.
v C
G
k
M
a1
a2
M
receiver
kM
kM
0
sender
0 0
...
wk
w1 w2
a4
a3
0
u1
u2
0 0 0
...
u3 u2k−1
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
P
C > e∈E c(e), M ≫ (k + 1)C
1
vk+1
1
G
1
M /1
a1
a2
M /1
kM /k
0
sender
receiver
0 0
...
wk
w1 w2
v1 C/1
v2
a4
1
.. C/1
1 v. C/1
k
kM /k
1
a3
0
u1
u2
0 0 0
...
u3 u2k−1
Conclusions
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Corollary
ρ-apx for SSBB ⇒ 2ρ-apx for Concave Cost VPN
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Corollary
ρ-apx for SSBB ⇒ 2ρ-apx for Concave Cost VPN
Corollary
OP Ttree ≤ 2 · OP T for Concave Cost VPN
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Corollary
ρ-apx for SSBB ⇒ 2ρ-apx for Concave Cost VPN
Corollary
OP Ttree ≤ 2 · OP T for Concave Cost VPN
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
Conclusions
Theorem
There is a 50-apx for Concave Cost VPN
Corollary
ρ-apx for SSBB ⇒ 2ρ-apx for Concave Cost VPN
Corollary
OP Ttree ≤ 2 · OP T for Concave Cost VPN
Theorem
VPN with linear costs and |S| = |R| is still NP-hard.
Thanks for your attention
Download