390 likes | 770 Views
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.
E N D
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
Lower Bound • How can we find a lower bound? • For example,
Lower Bound Another example:
Lower Bound • Assign a non-negative coefficient yito every primal inequality such that • Lower bound 10y1+6y2
LP Duality • The problem of finding the best lower bound is a linear program
LP Duality • For every x and y: cTx bTy • Thus, Opt(primal) Opt(dual) • The dual of the dual is the primal
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
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)
LP-duality Theorem Theorem: • Opt(primal) is finite Opt(dual) is finite • If x* and y* are optimal Conclusion: LP NPcoNP
Weak Duality Theorem If x and y are feasible Proof:
Complementary Slackness Conditions x and y are optimal Primal conditions: Dual conditions:
Complementary Slackness Conditions - Proof • By the duality theorem • Similar arguments work for y • For other direction read the slide upwards
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?
Integer Programming • NP-hard • Branch and Bound • LP relaxation • Opt(LP) Opt(IP) • Integrality Gap – Opt(IP)/Opt(LP)
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
Minimum Vertex Cover LP-relaxation and its dual: • (P) • (D)
Solving the Dual Algorithm: • Solve (D) • Define: Analysis: CD is a cover:
Solving the Dual CD is r-approx: • Weak duality The.
Rounding Algorithm: • Solve (P) • Define: Analysis: x*is not feasible • Due to the complementary conditions: • Conclusion: x(CP) is 2-approx
Rounding Algorithm: • Solve (P) • Define: Analysis: x*is not feasible • Clearly, • Conclusion: x(C½) is 2-approx
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
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:
Half Integrality Algorithm: • Construct the following bipartite graph G’: • Find a vertex cover C’ in G’ (This can be done by using max-flow.)
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
Greedy H()-Approximation Algorithm • While there exists an uncovered edge: • Remove u and incident edges
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
Relaxed Dual Conditions • Primal: • Relaxed dual: Claim: If x,y satisfy the above conditions Proof:
Vertex Cover Algorithm: • For every edge e=(u,v) do: • Output C (We can construct C at the end.)
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:
Generalized Vertex Cover LP-relaxation and its dual: • (P) • (D)