Date post: | 20-Dec-2015 |
Category: |
Documents |
View: | 219 times |
Download: | 0 times |
Introduction to Linear and Integer
Programming
Lecture 7: Feb 1
Overview
1. Mathematical programming
2. Linear and integer programming
3. Examples
4. Geometric interpretation
5. Agenda
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
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 Programming
Input:• A linear objective function f: Zn -> Z• A set of linear constraint functions: gi: Zn -> Z
• A set of constraint values: bi
Goal:Find x in Zn which:1. maximizes f(x)2. satisfies gi(x) <= bi
Maximum Matchings
(degree constraints)
Every solution is a matching!
Maximum Satisfiability Goal: Find a truth assignment to satisfy all clauses
NP-complete!
Integer Linear Programming
Input:• A linear objective function f: Zn -> Z• A set of linear constraint functions: gi: Zn -> Z
• A set of constraint values: bi
Goal:Find x in Zn which:1. maximizes f(x)2. satisfies gi(x) <= bi
NP-complete!
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
NP-complete!
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
Linear Programming Relaxation
Replace
ByBy
Surprisingly, this works for many problems!
Bipartite matchings
General matchingsMaximum flows
Stable matchings
Shortest paths
Minimum spanning trees
Minimum Cost Flows
Linear programming
Submodular Flows
Linear Programming Relaxation
Maximum Matchings
Every matching is a solution.
But not every solutionis a matching!!
Geometric Interpretation
Linear inequalities as hyperplanes
Goal: Optimize over integers!
Objective function is also a hyperplane
Not a good relaxation!
Good Relaxation
Every vertex could be the unique optimal
solution for some objective function.
So, we need every vertex to be integral!
Matching Polytope
Goal: define a polytope which is the convex hull of matchings.
x1
x3x2 x1
x2
x3
(0.5,0.5,0.5)
x1
x3x2
x1
x2
x3
Matching Polytope
x1
x2x3
Valid Inequalities
Enough?
Inequalities which are satisfied by
integer solutions but kill unwanted
fractional solution.
Valid Inequalities
Enough?
Odd set inequalities
Yes, that’s enough.
[Edmonds 1965]
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?
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.
Plan
How to prove integrality?
Convex combination
Totally unimodular matrix
Iterative rounding
Randomized rounding
Totally dual integrality
Uncrossing technique
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!