Introduction to Linear and Integer Programming Lecture 7: Feb 1.
-
date post
20-Dec-2015 -
Category
Documents
-
view
221 -
download
0
Transcript of Introduction to Linear and Integer Programming Lecture 7: Feb 1.
![Page 1: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/1.jpg)
Introduction to Linear and Integer
Programming
Lecture 7: Feb 1
![Page 2: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/2.jpg)
Overview
1. Mathematical programming
2. Linear and integer programming
3. Examples
4. Geometric interpretation
5. Agenda
![Page 3: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/3.jpg)
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 4: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/4.jpg)
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
![Page 5: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/5.jpg)
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
![Page 6: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/6.jpg)
Maximum Matchings
(degree constraints)
Every solution is a matching!
![Page 7: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/7.jpg)
Maximum Satisfiability Goal: Find a truth assignment to satisfy all clauses
NP-complete!
![Page 8: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/8.jpg)
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!
![Page 9: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/9.jpg)
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!
![Page 10: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/10.jpg)
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 11: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/11.jpg)
Linear Programming Relaxation
Replace
ByBy
Surprisingly, this works for many problems!
![Page 12: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/12.jpg)
Bipartite matchings
General matchingsMaximum flows
Stable matchings
Shortest paths
Minimum spanning trees
Minimum Cost Flows
Linear programming
Submodular Flows
Linear Programming Relaxation
![Page 13: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/13.jpg)
Maximum Matchings
Every matching is a solution.
But not every solutionis a matching!!
![Page 14: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/14.jpg)
Geometric Interpretation
Linear inequalities as hyperplanes
Goal: Optimize over integers!
Objective function is also a hyperplane
Not a good relaxation!
![Page 15: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/15.jpg)
Good Relaxation
Every vertex could be the unique optimal
solution for some objective function.
So, we need every vertex to be integral!
![Page 16: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/16.jpg)
Matching Polytope
Goal: define a polytope which is the convex hull of matchings.
x1
x3x2 x1
x2
x3
(0.5,0.5,0.5)
![Page 17: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/17.jpg)
x1
x3x2
x1
x2
x3
Matching Polytope
x1
x2x3
![Page 18: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/18.jpg)
Valid Inequalities
Enough?
Inequalities which are satisfied by
integer solutions but kill unwanted
fractional solution.
![Page 19: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/19.jpg)
Valid Inequalities
Enough?
Odd set inequalities
Yes, that’s enough.
[Edmonds 1965]
![Page 20: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/20.jpg)
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?
![Page 21: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/21.jpg)
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.
![Page 22: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/22.jpg)
Plan
How to prove integrality?
Convex combination
Totally unimodular matrix
Iterative rounding
Randomized rounding
Totally dual integrality
Uncrossing technique
![Page 23: Introduction to Linear and Integer Programming Lecture 7: Feb 1.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d405503460f94a1aba6/html5/thumbnails/23.jpg)
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!