1 / 32

Linear Programming and Approximation

Linear Programming and Approximation. Seminar in Approximation Algorithms. Linear Programming. Linear objective function and Linear constraints Canonical form Standard form. Linear Programming – Example. x=(2,1,3) is a feasible solution 7 * 2 + 1 + 5 * 3 = 30 is an upper bound the optimum.

Download Presentation

Linear Programming and Approximation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 * 2 + 1 + 5 * 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 yito 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/4 + 0 + 5*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 Algorithm: • For every edge e=(u,v) do: • Output C (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)

More Related