On the complexity of the asymmetric VPN problem Thomas Rothvo & - - PowerPoint PPT Presentation

on the complexity of the asymmetric vpn problem
SMART_READER_LITE
LIVE PREVIEW

On the complexity of the asymmetric VPN problem Thomas Rothvo & - - PowerPoint PPT Presentation

On the complexity of the asymmetric VPN problem Thomas Rothvo & Laura Sanit` a Institute of Mathematics EPFL, Lausanne ISMP09 Concave Cost VPN Given: Undirected graph G = ( V, E ), costs c : E Q + Outgoing traffic bound


slide-1
SLIDE 1

On the complexity of the asymmetric VPN problem

Thomas Rothvoß & Laura Sanit` a

Institute of Mathematics EPFL, Lausanne

ISMP’09

slide-2
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.

  • e∈E

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
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.

  • e∈E

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
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.

  • e∈E

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
SLIDE 5

Example

s1 s2 s3 r2 r1 r3 r4 e

slide-6
SLIDE 6

Example

s1 s2 s3 r2 r1 r3 r4 Ps1r2 e

slide-7
SLIDE 7

Example

s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 e

slide-8
SLIDE 8

Example

s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 Ps2r3 e

slide-9
SLIDE 9

Example

s1 s2 s3 r2 r1 r3 r4 Ps1r2 Ps1r1 Ps2r3 Ps3r3 e

slide-10
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
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
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
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
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
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
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
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
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.

  • e∈E

c(e) · f(xe) → minimize and each client can send a flow of 1 to r (simultaneously). root r client

slide-19
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.

  • e∈E

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
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.

  • e∈E

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
SLIDE 21

The algorithm

Algorithm: +1 +1 +1 −1 −1 −1 −1

slide-22
SLIDE 22

The algorithm

Algorithm:

  • 1. Choose a sender s∗ ∈ S uniformly at random

+1 +1 +1 s∗ −1 −1 −1 −1

slide-23
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
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
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
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
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
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
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
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
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
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
SLIDE 33

Analysis

Theorem

There is a central hub solution of expected cost ≤ 2 · OPT. s∗

slide-34
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
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
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
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
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
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
SLIDE 40

Analysis (2)

Lemma

E[capacity on e] ≤ 2 · xe.

slide-41
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
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
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
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
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
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
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
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
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
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
SLIDE 51

Conclusions

slide-52
SLIDE 52

Conclusions

Theorem

There is a 50-apx for Concave Cost VPN

slide-53
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
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
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
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