Download presentation
Presentation is loading. Please wait.
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 NPcoNP
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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.