Title: Introduction to Linear and Integer Programming
1Introduction to Linear and Integer Programming
2Mathematical Programming
- Input
- An objective function f Rn -gt R
- A set of constraint functions gi Rn -gt R
- A set of constraint values bi
- Goal
- Find x in Rn which
- maximizes f(x)
- satisfies gi(x) lt bi
3Linear Programming
- Input
- A linear objective function f Rn -gt R
- A set of linear constraint functions gi Rn -gt
R - A set of constraint values bi
- Goal
- Find x in Rn which
- maximizes f(x)
- satisfies gi(x) lt bi
Integer linear program requires the solution to
be in Zn
4Perfect Matching
(degree constraints)
Every solution is a perfect matching!
5Maximum Satisfiability
Goal Find a truth assignment to satisfy all
clauses
NP-complete!
6Different Forms
canonical form
standard form
The general form (with equalities, unconstrained
variables) can be reduced to these forms.
7Linear Programming Relaxation
Replace
By
Surprisingly, this works for many problems!
8Geometric Interpretation
Goal Optimize over integers!
Linear inequalities as hyperplanes
Objective function is also a hyperplane
Not a good relaxation!
9Good Relaxation
Every corner could be the unique optimal
solution for some objective function.
So, we need every corner to be integral!
10Vertex Solutions
This says we can restrict our attention to vertex
solutions.
11Basic Solutions
This provides an efficient way to check whether a
solution is a vertex.
A basic solution is formed by a set B of m
linearly independent columns, so that
12Basic Solutions
Tight inequalities inequalities achieved as
equalities
Basic solution unique solution of n linearly
independent tight inequalities
13Questions
Prove that the LP for perfect matching is
integral for bipartite graphs.
What about general matching?
Write a linear program for the stable matching
problem.
14Algorithms 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
15Simplex 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.
16Simplex 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
Moving along this direction improves the cost.
There is always one neighbour which improves the
cost.
We are here
17Simplex 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?
18Ellipsoid Method
Goal Given a bounded convex set P,
find a point x in P.
Key show that the volume decreases fast
enough
- 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 ltb for
which c is violated. - Find a minimum ellipsoid which contains the
intersection of - the previous ellipsoid and ax lt b.
- Continue the process with the new (smaller)
ellipsoid.
19Ellipsoid 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.
20Ellipsoid 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.
21Looking Forward
- Prove that many combinatorial problems have an
integral LP. - Study LP duality and its applications
- Study primal dual algorithms