introduction to linear and integer programming
DESCRIPTION
Introduction to Linear and Integer Programming. Lecture 9: Feb 14. 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: maximizes f(x) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/1.jpg)
1
Introduction to Linear and Integer
Programming
Lecture 9: Feb 14
![Page 2: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/2.jpg)
2
Mathematical Programming
Input:• An objective function f: Rn -> R
• A set of constraint functions: gi: Rn -> R
• A set of constraint values: bi
Goal:
Find x in Rn which:1. maximizes f(x)
2. satisfies gi(x) <= bi
![Page 3: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/3.jpg)
3
Linear Programming
Input:• A linear objective function f: Rn -> R
• A set of linear constraint functions: gi: Rn -> R
• A set of constraint values: bi
Goal:
Find x in Rn which:1. maximizes f(x)
2. satisfies gi(x) <= bi
Integer linear program
requires the solution
to be in Zn
![Page 4: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/4.jpg)
4
Perfect Matching
(degree constraints)
Every solution is a perfect matching!
![Page 5: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/5.jpg)
5
Maximum Satisfiability Goal: Find a truth assignment to satisfy all clauses
NP-complete!
![Page 6: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/6.jpg)
6
Different Forms
canonical form standard form
The general form (with equalities, unconstrained variables)
can be reduced to these forms.
![Page 7: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/7.jpg)
7
Linear Programming Relaxation
Replace
ByBy
Surprisingly, this works for many problems!
![Page 8: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/8.jpg)
8
Geometric Interpretation
Linear inequalities as hyperplanes
Goal: Optimize over integers!
Objective function is also a hyperplane
Not a good relaxation!
![Page 9: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/9.jpg)
9
Good Relaxation
Every “corner” could be the unique optimal
solution for some objective function.
So, we need every “corner” to be integral!
![Page 10: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/10.jpg)
10
Vertex Solutions
This says we can restrict our attention to vertex solutions.
![Page 11: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/11.jpg)
11
Basic Solutions
A basic solution is formed by a set B of m linearlyindependent columns, so that
This provides an efficient way to check whether a solution is a vertex.
![Page 12: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/12.jpg)
12
Basic Solutions
Tight inequalities: inequalities achieved as equalities
Basic solution:unique solution of n linearly independent tight inequalities
![Page 13: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/13.jpg)
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?
![Page 14: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/14.jpg)
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
![Page 15: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/15.jpg)
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.
![Page 16: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/16.jpg)
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.
![Page 17: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/17.jpg)
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 thatit takes exponential time to reach an optimum vertex.
MAJOR OPEN PROBLEM: Is there a polynomial time simplex algorithm?
![Page 18: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/18.jpg)
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
![Page 19: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/19.jpg)
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.
![Page 20: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/20.jpg)
20
Ellipsoid Method
Important property:We just need to know the previousellipsoid 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.
![Page 21: Introduction to Linear and Integer Programming](https://reader033.vdocuments.net/reader033/viewer/2022061617/568167fd550346895ddd78cd/html5/thumbnails/21.jpg)
21
Looking Forward
• Prove that many combinatorial problems have an integral LP.
• Study LP duality and its applications
• Study primal dual algorithms