Linear Programming and Primal-Dual Schema

52
Linear Programming and Primal-Dual Schema Chihao Zhang BASICS, Shanghai Jiao Tong University Oct.09, 2012 Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 1 / 32

Transcript of Linear Programming and Primal-Dual Schema

Page 1: Linear Programming and Primal-Dual Schema

Linear Programming and Primal-Dual Schema

Chihao Zhang

BASICS, Shanghai Jiao Tong University

Oct.09, 2012

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 1 / 32

Page 2: Linear Programming and Primal-Dual Schema

Linear Programming

Outline

1 Linear ProgrammingFormulate Set Cover ProblemSolving Linear Programs

2 Rounding of LPSet Cover

3 Primal-Dual SchemaSet CoverFeedback Vertex Set

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 2 / 32

Page 3: Linear Programming and Primal-Dual Schema

Linear Programming Formulate Set Cover Problem

Example:Set Cover

Input: A Universe E = {e1, . . . , en}; a family of sub-sets S1, . . . ,Sm where each Sj ⊆ E ; a nonnegativeweight wj ≥ 0 for each Sj .

Problem: Find a minimum-weight collection of subsets thatcovers all of E

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 3 / 32

Page 4: Linear Programming and Primal-Dual Schema

Linear Programming Formulate Set Cover Problem

Integer Program

minimizem∑j=1

wjxj

subject to∑

j :ei∈Sjxj ≥ 1, i = 1, . . . , n,

xj ∈ {0, 1}, j = 1, . . . ,m.

xj ∈ {0, 1} : indicate whether Sj is in the solution.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 4 / 32

Page 5: Linear Programming and Primal-Dual Schema

Linear Programming Formulate Set Cover Problem

Linear Program Relaxation

minimizem∑j=1

wjxj

subject to∑

j :ei∈Sjxj ≥ 1, i = 1, . . . , n,

xj ≥ 0, j = 1, . . . ,m.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 5 / 32

Page 6: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Canonical Form

maximize cTx

subject to A x ≤ b

x ≥ 0

A = (ai ,j) : An m × n matrix

b = (b1, . . . , bm) : A vector of m entries

c = (c1, . . . , cn) : A vector of n entries

Every LP can be transformed to canonical form efficiently.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 6 / 32

Page 7: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Canonical Form

maximize cTx

subject to A x ≤ b

x ≥ 0

A = (ai ,j) : An m × n matrix

b = (b1, . . . , bm) : A vector of m entries

c = (c1, . . . , cn) : A vector of n entries

Every LP can be transformed to canonical form efficiently.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 6 / 32

Page 8: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Algorithms to Solve LP

Simplex Algorithm

Ellipsoid Method

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 7 / 32

Page 9: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program

Consider the following linear program:

maximize x1 + 6x2

x1 ≤ 200 (1)x2 ≤ 300 (2)x1 + x2 ≤ 400 (3)x1, x2 ≥ 0

The optimal solution is at (x1, x2) = (100, 300), with objective value 1900.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 8 / 32

Page 10: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program

Consider the following linear program:

maximize x1 + 6x2

x1 ≤ 200 (1)x2 ≤ 300 (2)x1 + x2 ≤ 400 (3)x1, x2 ≥ 0

The optimal solution is at (x1, x2) = (100, 300), with objective value 1900.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 8 / 32

Page 11: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program (cont’d)

(1) + 6× (2) : x1 + 6x2 ≤ 2000.

0× (1) + 5× (2) + 1× (3) : x1 + 6x2 ≤ 1900

Multiplier Inequalityy1 x1 ≤ 200y2 x2 ≤ 300y3 x1 + x2 ≤ 400

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 9 / 32

Page 12: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program (cont’d)

(1) + 6× (2) : x1 + 6x2 ≤ 2000.

0× (1) + 5× (2) + 1× (3) : x1 + 6x2 ≤ 1900

Multiplier Inequalityy1 x1 ≤ 200y2 x2 ≤ 300y3 x1 + x2 ≤ 400

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 9 / 32

Page 13: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program (cont’d)

(1) + 6× (2) : x1 + 6x2 ≤ 2000.

0× (1) + 5× (2) + 1× (3) : x1 + 6x2 ≤ 1900

Multiplier Inequalityy1 x1 ≤ 200y2 x2 ≤ 300y3 x1 + x2 ≤ 400

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 9 / 32

Page 14: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program (cont’d)

minimize 200y1 + 300y2 + 400y3

y1 + y3 ≥ 1y2 + y3 ≥ 6y1, y2, y3 ≥ 0

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 10 / 32

Page 15: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program (cont’d)

Primal LP:

maximize cTx

Ax ≤ bx ≥ 0

Dual LP:

minimize yTb

yTA ≥ cT

y ≥ 0

duality property:

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 11 / 32

Page 16: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program (cont’d)

Primal LP:

maximize cTx

Ax ≤ bx ≥ 0

Dual LP:

minimize yTb

yTA ≥ cT

y ≥ 0

weak duality property:cTx ≤ yTb

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 11 / 32

Page 17: Linear Programming and Primal-Dual Schema

Linear Programming Solving Linear Programs

Dual of Linear Program (cont’d)

Primal LP:

maximize cTx

Ax ≤ bx ≥ 0

Dual LP:

minimize yTb

yTA ≥ cT

y ≥ 0

strong duality property:cTx∗ = (y∗)Tb

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 11 / 32

Page 18: Linear Programming and Primal-Dual Schema

Rounding of LP

Outline

1 Linear ProgrammingFormulate Set Cover ProblemSolving Linear Programs

2 Rounding of LPSet Cover

3 Primal-Dual SchemaSet CoverFeedback Vertex Set

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 12 / 32

Page 19: Linear Programming and Primal-Dual Schema

Rounding of LP Set Cover

A Simple Rounding Algorithm for Set Cover

Recall the linear programming relaxation for set cover:

minimize∑m

j=1 wjxj

subject to∑

j :ei∈Sj xj ≥ 1, i = 1, . . . , n,

xj ≥ 0, j = 1, . . . ,m.

Consider the optimal solution of the LP. Intuitively, the set with larger xj ismore likely to be in a good solution of set cover (or the IP).

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 13 / 32

Page 20: Linear Programming and Primal-Dual Schema

Rounding of LP Set Cover

A Simple Rounding Algorithm for Set Cover

Recall the linear programming relaxation for set cover:

minimize∑m

j=1 wjxj

subject to∑

j :ei∈Sj xj ≥ 1, i = 1, . . . , n,

xj ≥ 0, j = 1, . . . ,m.

Consider the optimal solution of the LP. Intuitively, the set with larger xj ismore likely to be in a good solution of set cover (or the IP).

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 13 / 32

Page 21: Linear Programming and Primal-Dual Schema

Rounding of LP Set Cover

A Simple Rounding Algorithm for Set Cover (cont’d)

1. Let x∗ be the solution of LP.

2. Let I = {j | x∗j ≥ 1/f }, where f = maxi=1,...,n

|{j | ei ∈ Sj}|.

3. Output I .

Lemma

S is a set cover.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 14 / 32

Page 22: Linear Programming and Primal-Dual Schema

Rounding of LP Set Cover

A Simple Rounding Algorithm for Set Cover (cont’d)

1. Let x∗ be the solution of LP.

2. Let I = {j | x∗j ≥ 1/f }, where f = maxi=1,...,n

|{j | ei ∈ Sj}|.

3. Output I .

Lemma

S is a set cover.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 14 / 32

Page 23: Linear Programming and Primal-Dual Schema

Rounding of LP Set Cover

Analysis

Lemma

The rounding algorithm is an f -approximation algorithm for the set coverproblem.

∑j∈I

wj ≤m∑j=1

wj · (f · x∗j )

= fm∑j=1

wjx∗j

= f ·OPT

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 15 / 32

Page 24: Linear Programming and Primal-Dual Schema

Rounding of LP Set Cover

Analysis

Lemma

The rounding algorithm is an f -approximation algorithm for the set coverproblem.

∑j∈I

wj ≤m∑j=1

wj · (f · x∗j )

= fm∑j=1

wjx∗j

= f ·OPT

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 15 / 32

Page 25: Linear Programming and Primal-Dual Schema

Primal-Dual Schema

Outline

1 Linear ProgrammingFormulate Set Cover ProblemSolving Linear Programs

2 Rounding of LPSet Cover

3 Primal-Dual SchemaSet CoverFeedback Vertex Set

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 16 / 32

Page 26: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

A Primal-Dual Algorithm for Set Cover

Recall the LP relaxation for Set Cover:

minimize∑m

j=1 wjxj

subject to∑

j :ei∈Sj xj ≥ 1, i = 1, . . . , n,

xj ≥ 0, j = 1, . . . ,m.

and its dual:

maximize∑n

i=1 yi

subject to∑

i :ei∈Sj yi ≤ wj , j = 1, . . . ,m,

yi ≥ 0, i = 1, . . . , n.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 17 / 32

Page 27: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Vertex Cover

Vertex cover problem is the special case of set cover problem whenf = 2.

The dual of vertex cover problem is maximum matching problem.

The duality theorem implies

maximum matching ≤ minimum vertex cover

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 18 / 32

Page 28: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Vertex Cover

Vertex cover problem is the special case of set cover problem whenf = 2.

The dual of vertex cover problem is maximum matching problem.

The duality theorem implies

maximum matching ≤ minimum vertex cover

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 18 / 32

Page 29: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Vertex Cover

Vertex cover problem is the special case of set cover problem whenf = 2.

The dual of vertex cover problem is maximum matching problem.

The duality theorem implies

maximum matching ≤ minimum vertex cover

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 18 / 32

Page 30: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Vertex Cover (cont’d)

Consider the following algorithm:

1. M ← ∅2. S ← ∅3. while G is not empty do

3.1 Choose an edge e = {u, v} ∈ E (G ) and let M ← M ∪ {e}3.2 S ← S ∪ {u, v}3.3 G ← G [V \ {u, v}] (Remove isolated nodes)

4. return S

This is the combinatorial interpretation of a primal-dual algorithm.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 19 / 32

Page 31: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Vertex Cover (cont’d)

Consider the following algorithm:

1. M ← ∅2. S ← ∅3. while G is not empty do

3.1 Choose an edge e = {u, v} ∈ E (G ) and let M ← M ∪ {e}3.2 S ← S ∪ {u, v}3.3 G ← G [V \ {u, v}] (Remove isolated nodes)

4. return S

This is the combinatorial interpretation of a primal-dual algorithm.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 19 / 32

Page 32: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

The Algorithm

1. y← 0

2. I ← ∅3. while there exists ei 6∈

⋃j∈I

Sj do

3.1 Increase the dual variable yi until there is some ` such that∑j :ej∈S`

yj = w`

3.2 I ← I ∪ {`}4. return I .

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 20 / 32

Page 33: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Analysis

The primal-dual algorithm is an f -approximation algorithm for the setcover problem.

∑j∈I

wj =∑j∈I

∑i :ei∈Sj

yi

=n∑

i=1

yi · |{j ∈ I | ei ∈ Sj}|

≤ f ·OPT

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 21 / 32

Page 34: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Analysis

The primal-dual algorithm is an f -approximation algorithm for the setcover problem. ∑

j∈Iwj =

∑j∈I

∑i :ei∈Sj

yi

=n∑

i=1

yi · |{j ∈ I | ei ∈ Sj}|

≤ f ·OPT

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 21 / 32

Page 35: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Complementary Slackness

The following property is called complementary slackness.

n∑i=1

yi ≤n∑

i=1

yi∑

j :ei∈Sj

xj =m∑j=1

xj∑

i :ei∈Sj

yi ≤m∑j=1

xjwj .

Let x∗ and y∗ be the optimal solution of primal and dual LP respectively,then

y∗i > 0 =⇒∑

j :ei∈Sjx∗j = 1,

x∗j > 0 =⇒∑

i :ei∈Sjy∗i = wj .

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 22 / 32

Page 36: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Complementary Slackness

The following property is called complementary slackness.

n∑i=1

yi ≤n∑

i=1

yi∑

j :ei∈Sj

xj =m∑j=1

xj∑

i :ei∈Sj

yi ≤m∑j=1

xjwj .

Let x∗ and y∗ be the optimal solution of primal and dual LP respectively,then

y∗i > 0 =⇒∑

j :ei∈Sjx∗j = 1,

x∗j > 0 =⇒∑

i :ei∈Sjy∗i = wj .

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 22 / 32

Page 37: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Analysis (revisited)

∑j∈I

wj =∑j∈I

∑i :ei∈Sj

yi

=n∑

i=1

yi · |{j ∈ I | ei ∈ Sj}|

≤ f ·OPT

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 23 / 32

Page 38: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Analysis (revisited)

∑j∈I

wj =∑j∈I

∑i :ei∈Sj

yi

=n∑

i=1

yi · |{j ∈ I | ei ∈ Sj}|

=n∑

i=1

yi ·∑

j :ei∈Sj

xj

≤ f ·OPT

where xj ∈ {0, 1} and xj = 1 if and only if j ∈ I .

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 23 / 32

Page 39: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Discussion

The primal-dual algorithm ensures

xj > 0 =⇒∑

i :ei∈Sj

yi = wj

In general, we cannot hope

yi > 0 =⇒∑

j :ei∈Sj

xj = 1

We want to show it is not too slack, i.e.

yi > 0 =⇒∑

j :ei∈Sj

xj≤ α

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 24 / 32

Page 40: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Discussion

The primal-dual algorithm ensures

xj > 0 =⇒∑

i :ei∈Sj

yi = wj

In general, we cannot hope

yi > 0 =⇒∑

j :ei∈Sj

xj = 1

We want to show it is not too slack, i.e.

yi > 0 =⇒∑

j :ei∈Sj

xj≤ α

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 24 / 32

Page 41: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Set Cover

Discussion

The primal-dual algorithm ensures

xj > 0 =⇒∑

i :ei∈Sj

yi = wj

In general, we cannot hope

yi > 0 =⇒∑

j :ei∈Sj

xj = 1

We want to show it is not too slack, i.e.

yi > 0 =⇒∑

j :ei∈Sj

xj≤ α

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 24 / 32

Page 42: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

Feedback Vertex Set Problem

Input: A undirected graph G = (V ,E ) and nonnegativeweights wi > 0 for i ∈ V .

Problem: Find a set S ⊆ V of minimum weight such thatG [V \ S ] is a forest

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 25 / 32

Page 43: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

LP formulation

minimize∑i∈V

wixi

subject to∑i∈C

xi ≥ 1, ∀C ∈ C

xi ∈ {0, 1}, ∀i ∈ V

xi ∈ {0, 1} : indicate whether vi is in the solution.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 26 / 32

Page 44: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

LP formulation

minimize∑i∈V

wixi

subject to∑i∈C

xi ≥ 1, ∀C ∈ C

xi ≥ 0, ∀i ∈ V

xi ∈ {0, 1} : indicate whether vi is in the solution.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 26 / 32

Page 45: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

Dual LP

maximize∑C∈C

yC

subject to∑

C∈C:i∈CyC ≤ wi , ∀i ∈ V ,

yC ≥ 0, ∀C ∈ C

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 27 / 32

Page 46: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

The Algorithm

1. y← 0

2. S ← ∅3. while there exists a cycle C in G do

3.1 Increase yC until there is some ` ∈ V such that∑C ′∈C:`∈C ′

yC ′ = w`

3.2 S ← S ∪ {`}3.3 Remove ` from G3.4 Repeatedly remove vertices of degree one from G

4. return S .

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 28 / 32

Page 47: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

Analysis

∑i∈S

wi =∑i∈S

∑C :i∈C

yC =∑C∈C|S ∩ C |yC .

|S ∩ C | may be as large as |V |!

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 29 / 32

Page 48: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

Analysis

∑i∈S

wi =∑i∈S

∑C :i∈C

yC =∑C∈C|S ∩ C |yC .

|S ∩ C | may be as large as |V |!

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 29 / 32

Page 49: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

Analysis (cont’d)

Observation

For any path P of vertices of degree two in graph G, our algorithm willchoose at most one vertex from P.

Theorem

In any graph G that has no vertices of degree one, there is a cycle with atmost 2blog2 nc vertices of degree three or more, and it can be found inlinear time.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 30 / 32

Page 50: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

Analysis (cont’d)

Observation

For any path P of vertices of degree two in graph G, our algorithm willchoose at most one vertex from P.

Theorem

In any graph G that has no vertices of degree one, there is a cycle with atmost 2blog2 nc vertices of degree three or more, and it can be found inlinear time.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 30 / 32

Page 51: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

Algorithm (revised)

1. y← 0

2. S ← ∅3. Repeatedly remove vertices of degree one from G4. while there exists a cycle C in G do

4.1 Find cycle C with at most 2blog2 nc vertices of degree threeor more

4.2 Increase yC until there is some ` ∈ V such that∑C ′∈C:`∈C ′

yC ′ = w`

4.3 S ← S ∪ {`}4.4 Remove ` from G4.5 Repeatedly remove vertices of degree one from G

5. return S .

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 31 / 32

Page 52: Linear Programming and Primal-Dual Schema

Primal-Dual Schema Feedback Vertex Set

Analysis

∑i∈S

wi =∑C∈C|S ∩ C |yC ≤ (4blog2 nc)

∑c∈C

yC ≤ (4blog2 nc)OPT.

Chihao Zhang (BASICS@SJTU) Linear Programming & Primal-Dual Schema Oct.09, 2012 32 / 32