Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Similar presentations


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

1 Introduction to Linear and Integer Programming Lecture 7: Feb 1

2 Overview 1.Mathematical programming 2.Linear and integer programming 3.Examples 4.Geometric interpretation 5.Agenda

3 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

4 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

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

6 Maximum Matchings (degree constraints) Every solution is a matching!

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

8 Integer Linear Programming Input: A linear objective function f: Z n -> Z A set of linear constraint functions: g i : Z n -> Z A set of constraint values: b i Goal: Find x in Z n which: 1. maximizes f(x) 2. satisfies g i (x) <= b i NP-complete!

9 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 NP-complete!

10 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

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

12 Bipartite matchings General matchings Maximum flows Stable matchings Shortest paths Minimum spanning trees Minimum Cost Flows Linear programming Submodular Flows Linear Programming Relaxation

13 Maximum Matchings Every matching is a solution. But not every solution is a matching!!

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

15 Good Relaxation Every vertex could be the unique optimal solution for some objective function. So, we need every vertex to be integral!

16 Matching Polytope Goal: define a polytope which is the convex hull of matchings. x1 x3x2 x1 x2 x3 (0.5,0.5,0.5)

17 x1 x3x2 x1 x2 x3 Matching Polytope x1 x2 x3

18 Valid Inequalities Enough? Inequalities which are satisfied by integer solutions but kill unwanted fractional solution.

19 Valid Inequalities Enough? Odd set inequalities Yes, that’s enough. [Edmonds 1965]

20 Exponentially Many Inequalities Can take care by the ellipsoid method. Just need a separation oracle, which determines whether a solution is feasible. If not, find a violating inequality. How to construct a separation oracle for matchings?

21 Questions Prove that bipartite matching polytope is defined by the degree constraints. Try to confirm what Edmonds said. Write a linear program for the stable matching problem.

22 Plan How to prove integrality?  Convex combination  Totally unimodular matrix  Iterative rounding  Randomized rounding  Totally dual integrality Uncrossing technique

23 Plan How to prove min-max theorems? Duality theorem How to solve linear programs?  Simplex method  Ellipsoid method  Primal-dual method Can see combinatorial algorithms!


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

Similar presentations


Ads by Google