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
1
Introduction to Linear and Integer
Programming
Lecture 9: Feb 14
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
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
4
Perfect Matching
(degree constraints)
Every solution is a perfect matching!
5
Maximum Satisfiability Goal: Find a truth assignment to satisfy all clauses
NP-complete!
6
Different Forms
canonical form standard form
The general form (with equalities, unconstrained variables)
can be reduced to these forms.
7
Linear Programming Relaxation
Replace
ByBy
Surprisingly, this works for many problems!
8
Geometric Interpretation
Linear inequalities as hyperplanes
Goal: Optimize over integers!
Objective function is also a hyperplane
Not a good relaxation!
9
Good Relaxation
Every “corner” could be the unique optimal
solution for some objective function.
So, we need every “corner” to be integral!
10
Vertex Solutions
This says we can restrict our attention to vertex solutions.
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.
12
Basic Solutions
Tight inequalities: inequalities achieved as equalities
Basic solution:unique solution of n linearly independent tight inequalities
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
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
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
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
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?
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
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
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.
21
Looking Forward
• Prove that many combinatorial problems have an integral LP.
• Study LP duality and its applications
• Study primal dual algorithms