125
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 1/44 The Primal-Dual Method for Approximation Algorithms Jochen Könemann University of Waterloo

The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

  • Upload
    others

  • View
    14

  • Download
    1

Embed Size (px)

Citation preview

Page 1: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 1/44

The Primal-Dual Method for ApproximationAlgorithms

Jochen KönemannUniversity of Waterloo

Page 2: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 2/44

What is the primal-dual method?

■ Originally proposed by Dantzig, Ford, and Fulkerson in 1956as an alternate method to solve linear programs exactly

Page 3: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 2/44

What is the primal-dual method?

■ Originally proposed by Dantzig, Ford, and Fulkerson in 1956as an alternate method to solve linear programs exactly

■ Method did not survive... but: Revised version of it hasbecome immensely popular for solving combinatorialoptimization problems.

Page 4: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 2/44

What is the primal-dual method?

■ Originally proposed by Dantzig, Ford, and Fulkerson in 1956as an alternate method to solve linear programs exactly

■ Method did not survive... but: Revised version of it hasbecome immensely popular for solving combinatorialoptimization problems.

Examples: Dijkstra’s shortest path algorithm, Ford andFulkerson’s network flow algorithm, Edmond’s non-bipartitematching method, Kuhn’s assignment algorithm, ...

Page 5: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 2/44

What is the primal-dual method?

■ Originally proposed by Dantzig, Ford, and Fulkerson in 1956as an alternate method to solve linear programs exactly

■ Method did not survive... but: Revised version of it hasbecome immensely popular for solving combinatorialoptimization problems.

Examples: Dijkstra’s shortest path algorithm, Ford andFulkerson’s network flow algorithm, Edmond’s non-bipartitematching method, Kuhn’s assignment algorithm, ...

Main feature: Reduce weighted optimization problems toeasier unweighted ones.

Page 6: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 3/44

What is the primal-dual method?

■ All of the previous problems are in P. Can we extend thismethod to NP-hard problems?

Page 7: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 3/44

What is the primal-dual method?

■ All of the previous problems are in P. Can we extend thismethod to NP-hard problems?

Yes! Bar-Yehuda and Even use this in 1981 in theirapproximation algorithm for vertex-cover.

Page 8: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 3/44

What is the primal-dual method?

■ All of the previous problems are in P. Can we extend thismethod to NP-hard problems?

Yes! Bar-Yehuda and Even use this in 1981 in theirapproximation algorithm for vertex-cover.

■ Goemans and Williamson formalize this approach in 1992.Result is a general toolkit for developing approximationalgorithms for NP-hard optimization problems.

■ The last 10 years have seen literally hundreds of papers thatuse the primal-dual framework.

Page 9: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 4/44

Primal-Dual: First Steps

Page 10: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 5/44

An example: Vertex Cover

■ Goal: Find a minimum subset of the vertices C such thate ∩ C 6= ∅ for all edges e.

■ Here’s a vertex cover of size 6.

Page 11: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 5/44

An example: Vertex Cover

■ Goal: Find a minimum subset of the vertices C such thate ∩ C 6= ∅ for all edges e.

■ Here’s a vertex cover of size 6.

Page 12: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44

An ILP for Vertex Cover

Variables:

Page 13: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44

An ILP for Vertex Cover

Variables: For node i have variable xi.Want

xi =

{

1 : Node i in vertex cover

0 : Otherwise.

Variables like this are called indicatorvariables.

Page 14: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44

An ILP for Vertex Cover

Variables: For node i have variable xi.Want

xi =

{

1 : Node i in vertex cover

0 : Otherwise.

Variables like this are called indicatorvariables.Constraints: Each edge needs to becovered.

Page 15: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44

An ILP for Vertex Cover

Variables: For node i have variable xi.Want

xi =

{

1 : Node i in vertex cover

0 : Otherwise.

Variables like this are called indicatorvariables.Constraints: Each edge needs to becovered.Example: Edge (0, 5)

x0 + x5 ≥ 1

Page 16: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44

An ILP for Vertex Cover

Variables: For node i have variable xi.Want

xi =

{

1 : Node i in vertex cover

0 : Otherwise.

Variables like this are called indicatorvariables.Constraints: Each edge needs to becovered.Example: Edge (0, 5)

x0 + x5 ≥ 1

Objective function: Minimize cardi-nality of vertex cover.

Page 17: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44

An ILP for Vertex Cover

Variables: For node i have variable xi.Want

xi =

{

1 : Node i in vertex cover

0 : Otherwise.

Variables like this are called indicatorvariables.Constraints: Each edge needs to becovered.Example: Edge (0, 5)

x0 + x5 ≥ 1

Objective function: Minimize cardi-nality of vertex cover.

minimize9

j=0

xj

Page 18: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 7/44

Primal ILP

minimize∑

v∈V

xv

s.t. xv + xu ≥ 1 ∀(u, v) ∈ E

xv ∈ {0, 1} ∀v ∈ V

Page 19: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 8/44

Dual LP

Dual LP has a variable ye for each edge e ∈ E.

maximize∑

e∈E

ye

s.t.∑

e∈δ(v)

ye ≤ 1 ∀v ∈ V

ye ≥ 0 ∀e ∈ E

δ(v): Edges incident to vertex v ∈ V

Page 20: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 9/44

Primal-dual technique: Main Ideas

■ Construct integral primal and dual feasible solution at thesame time: x and y

■ Show that∑

j

xj ≤ α ·∑

i

yi

For some α.■ Prove a worst-case upper-bound on α.■ Result: For every instance we compute ...

1. an integral and feasible primal solution x, and2. a proof that its value is within a factor of α of the best

possible solution

Page 21: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 9/44

Primal-dual technique: Main Ideas

■ Construct integral primal and dual feasible solution at thesame time: x and y

■ Show that∑

j

xj ≤ α ·∑

i

yi

For some α.

■ Prove a worst-case upper-bound on α.■ Result: For every instance we compute ...

1. an integral and feasible primal solution x, and2. a proof that its value is within a factor of α of the best

possible solution

Page 22: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 9/44

Primal-dual technique: Main Ideas

■ Construct integral primal and dual feasible solution at thesame time: x and y

■ Show that∑

j

xj ≤ α ·∑

i

yi

For some α.■ Prove a worst-case upper-bound on α.

■ Result: For every instance we compute ...1. an integral and feasible primal solution x, and2. a proof that its value is within a factor of α of the best

possible solution

Page 23: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 9/44

Primal-dual technique: Main Ideas

■ Construct integral primal and dual feasible solution at thesame time: x and y

■ Show that∑

j

xj ≤ α ·∑

i

yi

For some α.■ Prove a worst-case upper-bound on α.■ Result: For every instance we compute ...

1. an integral and feasible primal solution x, and2. a proof that its value is within a factor of α of the best

possible solution

Page 24: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 10/44

Vertex-cover: A PD-Algorithm

1: yuv ← 0 for all edges (u, v)2: C ← ∅3: while C is not a vertex cover do4: Choose uncovered edge (u, v)5: Increase yuv until

z

ywz = 1

for z ∈ {u, v}6: C ← C ∪ {z}7: end while

Page 25: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:

Page 26: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:

Page 27: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:

Page 28: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:

Page 29: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:

Page 30: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:

Page 31: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:

Page 32: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:

Page 33: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:Primal solution: 8Dual solution: 5

Page 34: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:Primal solution: 8Dual solution: 5

Q: How bad can the primal/dual ratio be?

Page 35: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44

Petersen graph example

Primal solution:Dual solution:Primal solution: 8Dual solution: 5

Q: How bad can the primal/dual ratio be?

A: Not too bad. The primal solution has at most two verticesper dual edge. Hence, we always have

|C| ≤ 2 ·∑

e

ye

Page 36: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 12/44

Approximation algorithms

■ The previous algorithm for vertex-cover is a 2-approximationalgorithm.We also say: Its performance guarantee is 2.

■ Formally: The algorithm return a solution that has size atmost twice the optimum for all instances!

Page 37: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 12/44

Approximation algorithms

■ The previous algorithm for vertex-cover is a 2-approximationalgorithm.We also say: Its performance guarantee is 2.

■ Formally: The algorithm return a solution that has size atmost twice the optimum for all instances!

■ Q: Given a problem and an LP with LP/IP-gap α > 1.Can there be a primal-dual approximation algorithm usingthis LP with performance guarantee less than α?

Page 38: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

● An example: Vertex Cover

● An ILP for Vertex Cover

● Dual LP

● PD: Main Ideas

● Vertex-cover: A PD-Algorithm

● Petersen graph example

● Approximation algorithms

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 12/44

Approximation algorithms

■ The previous algorithm for vertex-cover is a 2-approximationalgorithm.We also say: Its performance guarantee is 2.

■ Formally: The algorithm return a solution that has size atmost twice the optimum for all instances!

■ Q: Given a problem and an LP with LP/IP-gap α > 1.Can there be a primal-dual approximation algorithm usingthis LP with performance guarantee less than α?A: No! Cannot find a good dual lower-bound for IP/LP-gapinstance.

Page 39: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 13/44

Primal-Dual: Hitting Sets

Page 40: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44

How to hit sets...

Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets

Ti ⊆ E

for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.

H ∩ Ti 6= ∅

for all 1 ≤ i ≤ m.

Q: How can we formulate vertex-cover as a hitting-setproblem?Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!

Page 41: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44

How to hit sets...

Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets

Ti ⊆ E

for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.

H ∩ Ti 6= ∅

for all 1 ≤ i ≤ m.

Q: How can we formulate vertex-cover as a hitting-setproblem?

Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!

Page 42: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44

How to hit sets...

Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets

Ti ⊆ E

for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.

H ∩ Ti 6= ∅

for all 1 ≤ i ≤ m.

Q: How can we formulate vertex-cover as a hitting-setproblem?A: The ground-set E is the set of all vertices.Each edge (u, v) corresponds to a set {u, v} that needs to behit.

Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!

Page 43: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44

How to hit sets...

Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets

Ti ⊆ E

for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.

H ∩ Ti 6= ∅

for all 1 ≤ i ≤ m.

Q: How can we formulate vertex-cover as a hitting-setproblem?

Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!

Page 44: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44

How to hit sets...

Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets

Ti ⊆ E

for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.

H ∩ Ti 6= ∅

for all 1 ≤ i ≤ m.

Q: How can we formulate vertex-cover as a hitting-setproblem?

Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!A: Ground set E is set of all edges. Sets to hit are all s, t-cuts.Convince yourself that the shortest s, t is the minimum-costsolution!

Page 45: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 15/44

Hitting Set: Primal and Dual

minimize∑

e∈E

ce · xe (P )

s.t.∑

e∈Ti

xe ≥ 1 ∀1 ≤ i ≤ m

xe ≥ 0 ∀e ∈ E

maximizem

i=1

yi (D)

s.t.∑

Ti:e∈Ti

yi ≤ ce ∀e ∈ E

yi ≥ 0 ∀1 ≤ i ≤ m

Page 46: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 16/44

Hitting Set: Primal-Dual algorithm

■ Want to use the LP formulation and its dual to develop aprimal-dual algorithm.

Ideas, suggestions, ... anybody?

Page 47: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 16/44

Hitting Set: Primal-Dual algorithm

■ Want to use the LP formulation and its dual to develop aprimal-dual algorithm.

Ideas, suggestions, ... anybody?■ Recall from vertex-cover PD-algo:

Keep feasible dual solution y and include vertex v into coveronly if

(u,v)

yuv = 1

Page 48: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 16/44

Hitting Set: Primal-Dual algorithm

■ Want to use the LP formulation and its dual to develop aprimal-dual algorithm.

Ideas, suggestions, ... anybody?■ Recall from vertex-cover PD-algo:

Keep feasible dual solution y and include vertex v into coveronly if

(u,v)

yuv = 1

■ Idea: Let H be the current hitting set, y be the correspondingdual, and let Ti be a set that has not been hit.Increase yi until

Tj :e∈Tj

yj = ce

for some e ∈ Ti. Include e into H.

Page 49: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 17/44

Analysis

Let H be the final feasible hitting set and y the correspondingfeasible dual solution.

e∈H

ce = ?

Page 50: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 17/44

Analysis

Let H be the final feasible hitting set and y the correspondingfeasible dual solution.

e∈H

ce =∑

e∈H

Ti:e∈Ti

yi

Since ce =∑

Ti:e∈Tiyi = ce when e is included into H.

Page 51: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 17/44

Analysis

Let H be the final feasible hitting set and y the correspondingfeasible dual solution.

e∈H

ce =∑

e∈H

Ti:e∈Ti

yi

=m

i=1

|Ti ∩H| · yi

Page 52: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 17/44

Analysis

Let H be the final feasible hitting set and y the correspondingfeasible dual solution.

e∈H

ce =∑

e∈H

Ti:e∈Ti

yi

=m

i=1

|Ti ∩H| · yi

Vertex cover: Ti’s correspond to edges. Hence: |Ti ∩H| ≤ 2!

Page 53: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 18/44

Set Cover

Problem input: Elements U and subsets S1, . . . , Sn of U .Goal: Select smallest number of sets that cover U .

Page 54: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 18/44

Set Cover

Problem input: Elements U and subsets S1, . . . , Sn of U .Goal: Select smallest number of sets that cover U .

Theorem [Feige]

There is no (log(n) − ε)-approximation for the set-cover problemand any ε > 0 unless NP = P.

Page 55: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 18/44

Set Cover

Problem input: Elements U and subsets S1, . . . , Sn of U .Goal: Select smallest number of sets that cover U .

Theorem [Feige]

There is no (log(n) − ε)-approximation for the set-cover problemand any ε > 0 unless NP = P.

Q: But what if each element occurs in at most f sets?

Page 56: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

● How to hit sets...

● Linear Program

● Primal-Dual Algorithm

● Analysis

● Set Cover

Primal-Dual: Steiner Trees

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 18/44

Set Cover

Problem input: Elements U and subsets S1, . . . , Sn of U .Goal: Select smallest number of sets that cover U .

Theorem [Feige]

There is no (log(n) − ε)-approximation for the set-cover problemand any ε > 0 unless NP = P.

Q: But what if each element occurs in at most f sets?

A: Hitting set analysis gives f -approximation since eachelement e ∈ U corresponds to a set in hitting set instance and

|Te ∩H| ≤ f

for all e ∈ U .

Page 57: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 19/44

Primal-Dual: Steiner Trees

Page 58: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 20/44

Steiner trees: Intro

■ Roots of problem can be traced back to Gauss: He mentionsthe problem in a letter to Schumacher.

■ Input:◆ Undirected graph G = (V, E)◆ Terminals R ⊆ V◆ Steiner nodes V \R◆ Edge costs ce ≥ 0 for all e ∈ E.

■ Goal: Compute min-cost tree T in G that spans nodes in R

Page 59: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 21/44

Steiner trees: Example

Terminal nodes:Steiner nodes:

Page 60: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 21/44

Steiner trees: Example

Terminal nodes:Steiner nodes:

Page 61: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 22/44

Primal LP: Steiner Cuts

■ Primal has variables xe for all e ∈ E.xe = 1 if e is in Steiner tree, 0 otherwise

■ Steiner cuts: Subsets of nodes that separates at least oneterminal pair (s, t) ∈ R

s

t

Any feasible Steiner tree must contain at least one of the rededges!

Page 62: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 22/44

Primal LP: Steiner Cuts

■ Primal has variables xe for all e ∈ E.xe = 1 if e is in Steiner tree, 0 otherwise

■ Steiner cuts: Subsets of nodes that separates at least oneterminal pair (s, t) ∈ R

s

t

Any feasible Steiner tree must contain at least one of the rededges!

Page 63: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 23/44

Primal LP: Steiner Cuts

Primal LP has one constraints for each Steiner cut.

minimize∑

e∈E

ce · xe

s.t.∑

e∈δ(U)

xe ≥ 1 ∀ Steiner cuts U

xe ≥ 0 ∀e ∈ E

δ(U): Edges with one endpoint in U

Page 64: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 24/44

Steiner trees: Dual LP

■ Variables: yU for Steiner cut U

■ Constraints?

Page 65: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 24/44

Steiner trees: Dual LP

■ Variables: yU for Steiner cut U

■ Constraints? One for each edge:∑

U :e∈δ(U)

yU ≤ ce

Page 66: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 24/44

Steiner trees: Dual LP

■ Variables: yU for Steiner cut U

■ Constraints? One for each edge:∑

U :e∈δ(U)

yU ≤ ce

■ Objective function: maximize∑

U∈U yU

Page 67: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 25/44

Steiner trees: Primal and dual LP’s

minimize∑

e∈E

ce · xe (P )

s.t.∑

e∈δ(U)

xe ≥ 1 ∀ Steiner cuts U

xe ≥ 0 ∀e ∈ E

maximize∑

U

yU (D)

s.t.∑

U :e∈δ(U)

yU ≤ ce ∀e ∈ E

yU ≥ 0 ∀U ∈ U

Page 68: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 26/44

Dual LP: Pictorial View

■ Can visualize yU as a disk around U with radius yU .Example: Terminal pair (s, t) ∈ R, edge (s, t) with cost 4

s t

ys = yt = 0

Page 69: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 26/44

Dual LP: Pictorial View

■ Can visualize yU as a disk around U with radius yU .Example: Terminal pair (s, t) ∈ R, edge (s, t) with cost 4

s t1

ys = yt = 1

Page 70: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 26/44

Dual LP: Pictorial View

■ Can visualize yU as a disk around U with radius yU .Example: Terminal pair (s, t) ∈ R, edge (s, t) with cost 4

s t2

ys = yt = 2 Have: ys + yt = 4 = cst. Edge (s, t) is tight.

Page 71: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 27/44

Steiner trees: Algorithm

■ Algorithm always keeps:◆ Infeasible forest F◆ Feasible dual solution y

Page 72: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 27/44

Steiner trees: Algorithm

■ Algorithm always keeps:◆ Infeasible forest F◆ Feasible dual solution y

■ Connected components of F are Steiner cuts

Page 73: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 27/44

Steiner trees: Algorithm

■ Algorithm always keeps:◆ Infeasible forest F◆ Feasible dual solution y

■ Connected components of F are Steiner cuts■ Increase duals corresponding to connected components of

F .Stop increasing as soon as

e∈P

U :e∈δ(U)

yU =∑

e∈P

ce

for some path P connecting terminals in different connectedcomponents.

Page 74: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 27/44

Steiner trees: Algorithm

■ Algorithm always keeps:◆ Infeasible forest F◆ Feasible dual solution y

■ Connected components of F are Steiner cuts■ Increase duals corresponding to connected components of

F .Stop increasing as soon as

e∈P

U :e∈δ(U)

yU =∑

e∈P

ce

for some path P connecting terminals in different connectedcomponents.

At this point add the edges of P to F .

Page 75: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44

Algorithm SF: An Example Run

Algorithm constructs primal and dual solution at the same time.

s1

t3 t2, s3

t1

s2

Page 76: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44

Algorithm SF: An Example Run

Algorithm constructs primal and dual solution at the same time.

s1

t3 t2, s3

t1

s2

Page 77: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44

Algorithm SF: An Example Run

Algorithm constructs primal and dual solution at the same time.

s1

t3 t2, s3

t1

s2

Page 78: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44

Algorithm SF: An Example Run

Algorithm constructs primal and dual solution at the same time.

s1

t3 t2, s3

t1

s2

Page 79: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44

Algorithm SF: An Example Run

Algorithm constructs primal and dual solution at the same time.

s1

t3 t2, s3

t1

s2

Page 80: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 29/44

Steiner trees: Analysis

■ Will now show that SF is a 2-approximation for Steiner treeproblem.

Main tool: Weak duality.Let T be the final tree and y is the constructed dual. Willshow

c(T ) ≤ 2 ·∑

Steiner cut U

yU

■ Proof is by induction over time in algorithm.

Let M be an active moat at time t in SF. TM is the treecontained in M . Want to show

c(TM ) ≤ 2∑

U⊆M

yU − 2t

Page 81: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 29/44

Steiner trees: Analysis

■ Will now show that SF is a 2-approximation for Steiner treeproblem.

Main tool: Weak duality.Let T be the final tree and y is the constructed dual. Willshow

c(T ) ≤ 2 ·∑

Steiner cut U

yU

■ Proof is by induction over time in algorithm.

Let M be an active moat at time t in SF. TM is the treecontained in M . Want to show

c(TM ) ≤ 2∑

U⊆M

yU − 2t

Page 82: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 30/44

Steiner trees: Analysis

■ Want to show IH for all t ≥ 0 inductively:

c(TM ) ≤ 2∑

U⊆M

yU − 2t (IH)

■ [t = 0] Clear since forest is empty.■ [t ≥ 0] Suppose (IH) holds at time t. Let t′ > t and no merger

in time interval [t, t′].■ LHS of (IH) changes by: 0

RHS of (IH) changes by: 2(t′ − t)− 2(t′ − t) = 0

Page 83: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 30/44

Steiner trees: Analysis

■ Want to show IH for all t ≥ 0 inductively:

c(TM ) ≤ 2∑

U⊆M

yU − 2t (IH)

■ [t = 0] Clear since forest is empty.

■ [t ≥ 0] Suppose (IH) holds at time t. Let t′ > t and no merger

in time interval [t, t′].■ LHS of (IH) changes by: 0

RHS of (IH) changes by: 2(t′ − t)− 2(t′ − t) = 0

Page 84: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 30/44

Steiner trees: Analysis

■ Want to show IH for all t ≥ 0 inductively:

c(TM ) ≤ 2∑

U⊆M

yU − 2t (IH)

■ [t = 0] Clear since forest is empty.■ [t ≥ 0] Suppose (IH) holds at time t. Let t′ > t and no merger

in time interval [t, t′].

t

■ LHS of (IH) changes by: 0RHS of (IH) changes by: 2(t′ − t)− 2(t′ − t) = 0

Page 85: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 30/44

Steiner trees: Analysis

■ Want to show IH for all t ≥ 0 inductively:

c(TM ) ≤ 2∑

U⊆M

yU − 2t (IH)

■ [t = 0] Clear since forest is empty.■ [t ≥ 0] Suppose (IH) holds at time t. Let t′ > t and no merger

in time interval [t, t′].

t′

■ LHS of (IH) changes by: 0RHS of (IH) changes by: 2(t′ − t)− 2(t′ − t) = 0

Page 86: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 31/44

Steiner trees: Analysis

■ Want to show IH for all t ≥ 0 inductively:

c(TM ) ≤ 2∑

U⊆M

yU − 2t (IH)

■ [t ≥ 0] Suppose (IH) holds at time t for moats M ′ and M ′′.SF merges these two components at time t.

v uP

U′ U′′

■ Main idea: Path P costs at most 2t!

Page 87: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 31/44

Steiner trees: Analysis

■ Want to show IH for all t ≥ 0 inductively:

c(TM ) ≤ 2∑

U⊆M

yU − 2t (IH)

■ [t ≥ 0] Suppose (IH) holds at time t for moats M ′ and M ′′.SF merges these two components at time t.

v uP

U′ U′′

■ Main idea: Path P costs at most 2t!

Page 88: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 32/44

Steiner trees: Analysis

■ [t ≥ 0] Suppose (IH) holds at time t for moats M ′ and M ′′.SF merges these two components at time t.

v uP

U′ U′′

■ Main idea: Path P costs at most 2t!

Page 89: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 32/44

Steiner trees: Analysis

■ [t ≥ 0] Suppose (IH) holds at time t for moats M ′ and M ′′.SF merges these two components at time t.

v uP

U′ U′′

■ Main idea: Path P costs at most 2t!

c(TU ′∪U ′′) = c(TU ′) + c(TU ′′) + c(P )

≤ 2∑

U⊆U ′∪U

yU − 4t + 2t

= 2∑

U⊆U ′∪U

yU − 2t

Page 90: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 33/44

Steiner trees: Wrapping Up

■ Suppose the algorithm finishes at time t∗ with tree T ∗

■ Previous proof shows

c(T ∗) ≤ 2 ·∑

U∈U

yU − 2t∗ (*)

Page 91: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 33/44

Steiner trees: Wrapping Up

■ Suppose the algorithm finishes at time t∗ with tree T ∗

■ Previous proof shows

c(T ∗) ≤ 2 ·∑

U∈U

yU − 2t∗ (*)

■ At any time 0 ≤ t ≤ t∗ at most |R| moats grow. Hence,∑

U∈U

yU ≤ |R| · t∗

Page 92: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

● Intro

● Example

● Primal LP: Steiner Cuts

● Dual LP

● Dual Moats

● Algorithm

●SF Example

● Analysis

Primal Dual: MCF

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 33/44

Steiner trees: Wrapping Up

■ Suppose the algorithm finishes at time t∗ with tree T ∗

■ Previous proof shows

c(T ∗) ≤ 2 ·∑

U∈U

yU − 2t∗ (*)

■ At any time 0 ≤ t ≤ t∗ at most |R| moats grow. Hence,∑

U∈U

yU ≤ |R| · t∗

■ Together with (*) we obtain

c(T ∗) ≤ (2− 2/|R|) ·∑

U∈U

yU .

Page 93: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 34/44

Primal-Dual: Multicommodity Flows inTrees

Page 94: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44

Multicommodity Flows

■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.

■ Use Pi for the unique si, ti-path in T

■ For edge e ∈ E, let Re be commodities that have e on theirpath

■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑

i∈Re

fi ≤ ce

for all e ∈ E

■ Goal: Compute feasible flow of maximum value.

Page 95: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44

Multicommodity Flows

■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.

■ Use Pi for the unique si, ti-path in T

■ For edge e ∈ E, let Re be commodities that have e on theirpath

■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑

i∈Re

fi ≤ ce

for all e ∈ E

■ Goal: Compute feasible flow of maximum value.

Page 96: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44

Multicommodity Flows

■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.

■ Use Pi for the unique si, ti-path in T

■ For edge e ∈ E, let Re be commodities that have e on theirpath

■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑

i∈Re

fi ≤ ce

for all e ∈ E

■ Goal: Compute feasible flow of maximum value.

Page 97: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44

Multicommodity Flows

■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.

■ Use Pi for the unique si, ti-path in T

■ For edge e ∈ E, let Re be commodities that have e on theirpath

■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑

i∈Re

fi ≤ ce

for all e ∈ E

■ Goal: Compute feasible flow of maximum value.

Page 98: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44

Multicommodity Flows

■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.

■ Use Pi for the unique si, ti-path in T

■ For edge e ∈ E, let Re be commodities that have e on theirpath

■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑

i∈Re

fi ≤ ce

for all e ∈ E

■ Goal: Compute feasible flow of maximum value.

Page 99: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 36/44

MCF in Trees: An Example

s2

s1 t2

t1

■ All edges have unit capacity

■ Maximum flow has value 1

Page 100: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 36/44

MCF in Trees: An Example

s2

s1 t2

t1

■ All edges have unit capacity■ Maximum flow has value 1

Page 101: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 37/44

Primal LP

■ Have a variable fi for the flow on Pi.

Page 102: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 37/44

Primal LP

■ Have a variable fi for the flow on Pi.

maximizek

i=1

fi

s.t.∑

i∈Re

fi ≤ ce ∀e ∈ E

fi ≥ 0 ∀1 ≤ i ≤ k

Page 103: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 38/44

Dual LP

■ One variable for each edge e ∈ E: ye

■ One constraint for each commodity 1 ≤ i ≤ k:∑

e∈Pi

ye ≥ 1

■ This is a fractional multi-cut!

Suppose y is integral. Removal of edges e with ye = 1disconnects si from ti for all 1 ≤ i ≤ k.

Page 104: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 38/44

Dual LP

■ One variable for each edge e ∈ E: ye

■ One constraint for each commodity 1 ≤ i ≤ k:∑

e∈Pi

ye ≥ 1

■ This is a fractional multi-cut!

Suppose y is integral. Removal of edges e with ye = 1disconnects si from ti for all 1 ≤ i ≤ k.

Page 105: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 38/44

Dual LP

■ One variable for each edge e ∈ E: ye

■ One constraint for each commodity 1 ≤ i ≤ k:∑

e∈Pi

ye ≥ 1

■ This is a fractional multi-cut!

Suppose y is integral. Removal of edges e with ye = 1disconnects si from ti for all 1 ≤ i ≤ k.

Page 106: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 38/44

Dual LP

■ One variable for each edge e ∈ E: ye

■ One constraint for each commodity 1 ≤ i ≤ k:∑

e∈Pi

ye ≥ 1

■ This is a fractional multi-cut!

Suppose y is integral. Removal of edges e with ye = 1disconnects si from ti for all 1 ≤ i ≤ k.

minimize∑

e∈E

ceye

s.t.∑

e∈Pi

ye ≥ 1 ∀1 ≤ i ≤ k

y≥0 ∀e ∈ E

Page 107: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 39/44

MCF in Trees: An Example

s2

s1 t2

t1

■ All edges have unit cost.■ Multi-cut has value 1.

Page 108: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44

Multicut in Trees: PD Algorithm

■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.

■ Start with zero dual: ye = 0 for all e ∈ E

■ Root the tree T at an arbitrary vertex r ∈ V .

The depth of a vertex v in T is the number of edges on ther, v-path in T

■ Consider terminal pair (si, ti) ∈ R:

Let li be the vertex of lowest depth on Pi

■ Algorithm removes edges from E one by one and ends witha multi-cut.

Page 109: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44

Multicut in Trees: PD Algorithm

■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.■ Start with zero dual: ye = 0 for all e ∈ E

■ Root the tree T at an arbitrary vertex r ∈ V .

The depth of a vertex v in T is the number of edges on ther, v-path in T

■ Consider terminal pair (si, ti) ∈ R:

Let li be the vertex of lowest depth on Pi

■ Algorithm removes edges from E one by one and ends witha multi-cut.

Page 110: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44

Multicut in Trees: PD Algorithm

■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.■ Start with zero dual: ye = 0 for all e ∈ E

■ Root the tree T at an arbitrary vertex r ∈ V .

The depth of a vertex v in T is the number of edges on ther, v-path in T

■ Consider terminal pair (si, ti) ∈ R:

Let li be the vertex of lowest depth on Pi

■ Algorithm removes edges from E one by one and ends witha multi-cut.

Page 111: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44

Multicut in Trees: PD Algorithm

■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.■ Start with zero dual: ye = 0 for all e ∈ E

■ Root the tree T at an arbitrary vertex r ∈ V .

The depth of a vertex v in T is the number of edges on ther, v-path in T

■ Consider terminal pair (si, ti) ∈ R:

Let li be the vertex of lowest depth on Pi

■ Algorithm removes edges from E one by one and ends witha multi-cut.

Page 112: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44

Multicut in Trees: PD Algorithm

■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.■ Start with zero dual: ye = 0 for all e ∈ E

■ Root the tree T at an arbitrary vertex r ∈ V .

The depth of a vertex v in T is the number of edges on ther, v-path in T

■ Consider terminal pair (si, ti) ∈ R:

Let li be the vertex of lowest depth on Pi

■ Algorithm removes edges from E one by one and ends witha multi-cut.

Page 113: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 41/44

Multicut in Trees: PD Algorithm

1: fi ← 0 for all 1 ≤ i ≤ k2: C ← ∅3: while C is not a multicut do4: Choose (si, ti) ∈ R with Pi ∩ C = ∅ whose

vertex ui has maximum depth5: Increase fi until

j∈Re

fj = ce

for some e ∈ Pi

6: Add the tight edge e ∈ Pi to C that has lowestdepth in T

7: end while

Page 114: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 42/44

Multicut in Trees: Reverse Delete

■ Algorithm consider sequence of terminal pairs:

(s1, t1), . . . , (sl, tl)

■ For terminal pair (si, ti), let P si be the si, ui-segment of Pi.

Similar: P ti is the ti, ui-segment of Pi

■ Consider (si, ti) in reverse order of algorithm.If |P v

i ∩ C| ≥ 2 for v ∈ {s, t} then keep only the edge oflowest depth. Delete the other one.

Page 115: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 42/44

Multicut in Trees: Reverse Delete

■ Algorithm consider sequence of terminal pairs:

(s1, t1), . . . , (sl, tl)

■ For terminal pair (si, ti), let P si be the si, ui-segment of Pi.

Similar: P ti is the ti, ui-segment of Pi

■ Consider (si, ti) in reverse order of algorithm.If |P v

i ∩ C| ≥ 2 for v ∈ {s, t} then keep only the edge oflowest depth. Delete the other one.

Page 116: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 42/44

Multicut in Trees: Reverse Delete

■ Algorithm consider sequence of terminal pairs:

(s1, t1), . . . , (sl, tl)

■ For terminal pair (si, ti), let P si be the si, ui-segment of Pi.

Similar: P ti is the ti, ui-segment of Pi

■ Consider (si, ti) in reverse order of algorithm.If |P v

i ∩ C| ≥ 2 for v ∈ {s, t} then keep only the edge oflowest depth. Delete the other one.

Page 117: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44

Multicut in Trees: Analysis

■ Let C be the final cut after reverse delete.Can show: |P v

i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}

■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.

Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.

■ e1 and e2 cannot help any pair (sj , tj) with j < i

■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .

■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v

i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C

Page 118: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44

Multicut in Trees: Analysis

■ Let C be the final cut after reverse delete.Can show: |P v

i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}

■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.

Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.

■ e1 and e2 cannot help any pair (sj , tj) with j < i

■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .

■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v

i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C

Page 119: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44

Multicut in Trees: Analysis

■ Let C be the final cut after reverse delete.Can show: |P v

i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}

■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.

Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.

■ e1 and e2 cannot help any pair (sj , tj) with j < i

■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .

■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v

i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C

Page 120: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44

Multicut in Trees: Analysis

■ Let C be the final cut after reverse delete.Can show: |P v

i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}

■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.

Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.

■ e1 and e2 cannot help any pair (sj , tj) with j < i

■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .

■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v

i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C

Page 121: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44

Multicut in Trees: Analysis

■ Let C be the final cut after reverse delete.Can show: |P v

i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}

■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.

Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.

■ e1 and e2 cannot help any pair (sj , tj) with j < i

■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .

■ This means that e1 helps (sj , tj). Can delete e2.

■ Every path P vi for 1 ≤ i ≤ l and for v ∈ {s, t} has at most one

edge in C

Page 122: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44

Multicut in Trees: Analysis

■ Let C be the final cut after reverse delete.Can show: |P v

i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}

■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.

Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.

■ e1 and e2 cannot help any pair (sj , tj) with j < i

■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .

■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v

i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C

Page 123: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 44/44

Multicut in Trees: Analysis

■ As in hitting set analysis, can show that

e∈C

ce ≤l

i=1

|Pi ∩ C|fi ≤ 2 ·l

i=1

fi

■ This shows that the cut C is 2-approximate!■ Also: If edge-costs are integral, the flow f is integral.

Moreover, f is a 2-approximation as well.

Page 124: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 44/44

Multicut in Trees: Analysis

■ As in hitting set analysis, can show that

e∈C

ce ≤l

i=1

|Pi ∩ C|fi ≤ 2 ·l

i=1

fi

■ This shows that the cut C is 2-approximate!

■ Also: If edge-costs are integral, the flow f is integral.Moreover, f is a 2-approximation as well.

Page 125: The Primal-Dual Method for Approximation Algorithmsapproximation algorithm for vertex-cover. Goemans and Williamson formalize this approach in 1992. Result is a general toolkit for

● What is the primal-dual method?

Primal-Dual: First Steps

Primal-Dual: Hitting Sets

Primal-Dual: Steiner Trees

Primal Dual: MCF

● Multicommodity Flows

● Example

● Primal LP

● Dual LP

● Example

● PD Algorithm

● Reverse Delete

● Analysis

Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 44/44

Multicut in Trees: Analysis

■ As in hitting set analysis, can show that

e∈C

ce ≤l

i=1

|Pi ∩ C|fi ≤ 2 ·l

i=1

fi

■ This shows that the cut C is 2-approximate!■ Also: If edge-costs are integral, the flow f is integral.

Moreover, f is a 2-approximation as well.