Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linear Programming and Approximation

Similar presentations


Presentation on theme: "Linear Programming and Approximation"— Presentation transcript:

1 Linear Programming and Approximation
Seminar in Approximation Algorithms

2 Linear Programming Linear objective function and Linear constraints
Canonical form Standard form

3 Linear Programming – Example
x=(2,1,3) is a feasible solution 7 * * 3 = 30 is an upper bound the optimum

4 Lower Bound How can we find a lower bound? For example,

5 Lower Bound Another example:

6 Lower Bound Assign a non-negative coefficient yi to every primal inequality such that Lower bound 10y1+6y2

7 LP Duality The problem of finding the best lower bound is a linear program

8 LP Duality For every x and y: cTx  bTy Thus, Opt(primal)  Opt(dual)
The dual of the dual is the primal

9 Example x=(7/4,0,11/4) and y=(2,1) are feasible solutions
7*7/ *11/4 = 10*2 + 6*1 = 26 Thus, x and y are optimal

10 Max Flow vs. Min s,t-cut Path(s,t) - the set of directed paths from s to t. Max Flow: Dual: Implicit Min s,t-cut Opt(Dual) = Opt(Min s,t-cut)

11 LP-duality Theorem Theorem:
Opt(primal) is finite  Opt(dual) is finite If x* and y* are optimal Conclusion: LP  NPcoNP

12 Weak Duality Theorem If x and y are feasible Proof:

13 Complementary Slackness Conditions
x and y are optimal Primal conditions: Dual conditions:

14 Complementary Slackness Conditions - Proof
By the duality theorem Similar arguments work for y For other direction read the slide upwards

15 Algorithms for Solving LP
Simplex [Dantzig 47] Ellipsoid [Khachian 79] Interior point [Karmakar 84] Open question: Is there a strongly polynomial time algorithm for LP?

16 Integer Programming NP-hard Branch and Bound LP relaxation
Opt(LP)  Opt(IP) Integrality Gap – Opt(IP)/Opt(LP)

17 Using LP for Approximation
Finding a good lower bound - Opt(LP)  Opt(IP) Integrality gap is the best we can hope for Techniques: Rounding Solve LP-relaxation and then round solution. Primal Dual Find a feasible dual solution y, and a feasible integral primal solution x such that cTx  r * bTy

18 Minimum Vertex Cover LP-relaxation and its dual: (P) (D)

19 Solving the Dual Algorithm: Solve (D) Define: Analysis: CD is a cover:

20 Solving the Dual CD is r-approx: Weak duality The.

21 Rounding Algorithm: Solve (P) Define: Analysis:  x* is not feasible
Due to the complementary conditions: Conclusion: x(CP) is 2-approx

22 Rounding Algorithm: Solve (P) Define: Analysis:  x* is not feasible
Clearly, Conclusion: x(C½) is 2-approx

23 The Geometry of LP Claim: Let x1,x2 be feasible solutions
Then, x1+(1-)x2 is a feasible solution Definition: x is a vertex if Theorem: If a finite solution exists, there exists an optimal solution x* which is a vertex

24 Half Integrality Theorem: If x is a vertex then x{0,1/2,1}n Proof:
Let x be a vertex such that x {0,1/2,1}n Both solutions are feasible  = shortest distance to {0,1/2,1} Conclusion:

25 Half Integrality Algorithm:
Construct the following bipartite graph G’: Find a vertex cover C’ in G’ (This can be done by using max-flow.)

26 Primal Dual Construct an integral feasible solution x and a feasible solution y such that cTx  r bTy Weak duality theorem  bTy  Opt(LP) cTx  r Opt(LP)  r Opt(IP) x is r-approx

27 Greedy H()-Approximation Algorithm
While there exists an uncovered edge: Remove u and incident edges

28 Primal Dual Schema Modified version of the primal dual method for solving LP Construct integral primal solution and feasible dual solution simultaneously. We impose the primal complementary slackness conditions, while relaxing the dual conditions

29 Relaxed Dual Conditions
Primal: Relaxed dual: Claim: If x,y satisfy the above conditions Proof:

30 Vertex Cover Output C Algorithm: For every edge e=(u,v) do:
(We can construct C at the end.)

31 Vertex Cover There are no uncovered edges, or over packed vertices at the end. So x=x(C) and y are feasible. Since x and y satisfy the relaxed complementary slackness conditions with =2, x is a 2-approx solution. Primal: Relaxed Dual:

32 Generalized Vertex Cover
LP-relaxation and its dual: (P) (D)


Download ppt "Linear Programming and Approximation"

Similar presentations


Ads by Google