Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

Similar presentations


Presentation on theme: "1 Introduction to Linear and Integer Programming Lecture 9: Feb 14."— Presentation transcript:

1 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14

2 2 Mathematical Programming Input: An objective function f: R n -> R A set of constraint functions: g i : R n -> R A set of constraint values: b i Goal: Find x in R n which: 1. maximizes f(x) 2. satisfies g i (x) <= b i

3 3 Linear Programming Input: A linear objective function f: R n -> R A set of linear constraint functions: g i : R n -> R A set of constraint values: b i Goal: Find x in R n which: 1. maximizes f(x) 2. satisfies g i (x) <= b i Integer linear program requires the solution to be in Z n

4 4 Perfect Matching (degree constraints) Every solution is a perfect matching!

5 5 Maximum Satisfiability Goal: Find a truth assignment to satisfy all clauses NP-complete!

6 6 Different Forms canonical formstandard form The general form (with equalities, unconstrained variables) can be reduced to these forms.

7 7 Linear Programming Relaxation Replace By Surprisingly, this works for many problems!

8 8 Geometric Interpretation Linear inequalities as hyperplanes Goal: Optimize over integers! Objective function is also a hyperplane Not a good relaxation!

9 9 Good Relaxation Every “corner” could be the unique optimal solution for some objective function. So, we need every “corner” to be integral!

10 10 Vertex Solutions This says we can restrict our attention to vertex solutions.

11 11 Basic Solutions A basic solution is formed by a set B of m linearly independent columns, so that This provides an efficient way to check whether a solution is a vertex.

12 12 Basic Solutions Tight inequalities: inequalities achieved as equalities Basic solution: unique solution of n linearly independent tight inequalities

13 13 Questions Prove that the LP for perfect matching is integral for bipartite graphs. Write a linear program for the stable matching problem. What about general matching?

14 14 Algorithms for Linear Programming (Dantzig 1951) Simplex method Very efficient in practice Exponential time in worst case (Khachiyan 1979) Ellipsoid method Not efficient in practice Polynomial time in worst case

15 15 Simplex Method Simplex method: A simple and effective approach to solve linear programs in practice. It has a nice geometric interpretation. Idea: Focus only on vertex solutions, since no matter what is the objective function, there is always a vertex which attains optimality.

16 16 Simplex Method Simplex Algorithm: Start from an arbitrary vertex. Move to one of its neighbours which improves the cost. Iterate. Key: local minimum = global minimum Global minimum We are here Moving along this direction improves the cost. There is always one neighbour which improves the cost.

17 17 Simplex Method Simplex Algorithm: Start from an arbitrary vertex. Move to one of its neighbours which improves the cost. Iterate. Which one? There are many different rules to choose a neighbour, but so far every rule has a counterexample so that it takes exponential time to reach an optimum vertex. MAJOR OPEN PROBLEM: Is there a polynomial time simplex algorithm?

18 18 Ellipsoid Method Goal: Given a bounded convex set P, find a point x in P. Ellipsoid Algorithm: Start with a big ellipsoid which contains P.  Test if the center c is inside P.  If not, there is a linear inequality ax <=b for which c is violated.  Find a minimum ellipsoid which contains the intersection of the previous ellipsoid and ax <= b.  Continue the process with the new (smaller) ellipsoid. Key: show that the volume decreases fast enough

19 19 Ellipsoid Method Goal: Given a bounded convex set P, find a point x in P. Why it is enough to test if P contains a point? Because optimization problem can be reduced to this testing problem. Do binary search until we find an “almost” optimal solution.

20 20 Ellipsoid Method Important property: We just need to know the previous ellipsoid and a violated inequality. This can help to solve some exponential size LP if we have a separation oracle. Separation orcale: given a point x, decide in polynomial time whether x is in P or output a violating inequality.

21 21 Looking Forward Prove that many combinatorial problems have an integral LP. Study LP duality and its applications Study primal dual algorithms


Download ppt "1 Introduction to Linear and Integer Programming Lecture 9: Feb 14."

Similar presentations


Ads by Google