Presentation is loading. Please wait.

Presentation is loading. Please wait.

Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.

Similar presentations


Presentation on theme: "Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be."— Presentation transcript:

1 Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be formulated as integer programs Unfortunately, integer programming is NP-hard –Even when we restrict to choices 0 and 1 for vars Despite this difficulty, formulating a problem as an integer program can still be very useful in developing a good approximation algorithm for a problem

2 Algorithmic Techniques Formulate problem as an integer program (IP) Relax it to create a linear program (LP) –Solvable in polynomial time –The LP solution is a lower (upper) bound on the IP solution –The “gap” between these is often referred to as the integrality gap Get an integral solution –Round solution to create an integer solution with some form of performance guarantee –Argue problem has structure that optimal solution is guaranteed to be integral –Use LP solution as a guide for your algorithm –Primal-dual methods to gain good approximation bounds

3 Formulating Integer Programs Indicator variables –A variable x i often takes values 0 or 1 to encode a choice in the final solution structure –Value 0 means that some element is NOT part of the final solution –Value 1 means that some element IS part of the final solution –See associated worksheet for exercise on formulating problems as integer programs

4 Set Cover Universe of elements U = {u 1, …, u n } Subsets S 1, …, S m of U Weights (costs) w j ≥ 0 for each subset S j Goal: Find a collection I from {1, …, m} that minimizes ∑ j in I w j such that the union of S j = T

5 Approximation Algorithm Formulate an integer program IP Relax IP to create an LP Solve LP to create optimal solution x * Round solution to create integral solution as follows –If x i * > 1/f then choose the corresponding set Define f = maximum number of sets that contain any item Prove –Rounding algorithm creates set cover –Rounding algorithm guarantees approx ratio of ?

6 Prove IP is NP-hard Reduction from SAT Input instance for SAT –Set of variables x j –Set of clauses C j = disjunction of literals –Goal: Find a truth assignment T to the variables that satisfies at least one literal from each clause

7 Details Any SAT instance has boolean variables and clauses. Our Integer programming problem will have twice as many variables, one for each variable and its complement, as well as the following inequalities: 0  v i  1 and 0   v i  1 1  v i +  v i  1 for each clause C = {v 1,  v 2,... v i } : v 1 +  v 2 +…+ v i  1


Download ppt "Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be."

Similar presentations


Ads by Google