Title: Introduction to Linear and Integer Programming
1Introduction to Linear and Integer Programming
2Overview
- Mathematical programming
- Linear and integer programming
- Examples
- Geometric interpretation
- Agenda
3Mathematical 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
4Linear 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
5Integer Linear Programming
- Input
- A linear objective function f Zn -gt Z
- A set of linear constraint functions gi Zn -gt
Z - A set of constraint values bi
- Goal
- Find x in Zn which
- maximizes f(x)
- satisfies gi(x) lt bi
6Maximum Matchings
(degree constraints)
Every solution is a matching!
7Maximum Satisfiability
Goal Find a truth assignment to satisfy all
clauses
NP-complete!
8Integer Linear Programming
- Input
- A linear objective function f Zn -gt Z
- A set of linear constraint functions gi Zn -gt
Z - A set of constraint values bi
- Goal
- Find x in Zn which
- maximizes f(x)
- satisfies gi(x) lt bi
NP-complete!
9Mathematical 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
NP-complete!
10Algorithms 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
11Linear Programming Relaxation
Replace
By
Surprisingly, this works for many problems!
12Linear Programming Relaxation
Stable matchings
Bipartite matchings
Minimum spanning trees
General matchings
Maximum flows
Shortest paths
Minimum Cost Flows
Submodular Flows
Linear programming
13Maximum Matchings
But not every solution is a matching!!
Every matching is a solution.
14Geometric Interpretation
Goal Optimize over integers!
Linear inequalities as hyperplanes
Objective function is also a hyperplane
Not a good relaxation!
15Good Relaxation
Every vertex could be the unique optimal
solution for some objective function.
So, we need every vertex to be integral!
16Matching Polytope
x1
Goal define a polytope which is the
convex hull of matchings.
x1
(0.5,0.5,0.5)
x3
x2
x3
x2
17x1
Matching Polytope
x1
x3
x2
x1
x3
x2
x3
x2
18Valid Inequalities
Inequalities which are satisfied by integer
solutions but kill unwanted fractional solution.
Enough?
19Valid Inequalities
Odd set inequalities
Enough?
Yes, thats enough.
Edmonds 1965
20Exponentially 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?
21Questions
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.
22Plan
How to prove integrality?
- Convex combination
- Totally unimodular matrix
- Iterative rounding
- Randomized rounding
- Totally dual integrality
Uncrossing technique
23Plan
How to prove min-max theorems?
Duality theorem
How to solve linear programs?
- Simplex method
- Ellipsoid method
- Primal-dual method
Can see combinatorial algorithms!