1 introduction to linear and integer programming lecture 9: feb 14
Post on 19-Dec-2015
219 views
TRANSCRIPT
![Page 1: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/1.jpg)
1
Introduction to Linear and Integer
Programming
Lecture 9: Feb 14
![Page 2: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/2.jpg)
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
![Page 3: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/3.jpg)
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
![Page 4: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/4.jpg)
4
Perfect Matching
(degree constraints)
Every solution is a perfect matching!
![Page 5: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/5.jpg)
5
Maximum Satisfiability
Goal: Find a truth assignment to satisfy all clauses
NP-complete!
![Page 6: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/6.jpg)
6
Different Forms
canonical form standard form
The general form (with equalities, unconstrained variables)
can be reduced to these forms.
![Page 7: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/7.jpg)
7
Linear Programming Relaxation
Replace
ByBy
Surprisingly, this works for many problems!
![Page 8: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/8.jpg)
8
Geometric Interpretation
Linear inequalities as hyperplanes
Goal: Optimize over integers!
Objective function is also a hyperplane
Not a good relaxation!
![Page 9: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/9.jpg)
9
Good Relaxation
Every “corner” could be the unique optimal
solution for some objective function.
So, we need every “corner” to be integral!
![Page 10: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/10.jpg)
10
Vertex Solutions
This says we can restrict our attention to vertex solutions.
![Page 11: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/11.jpg)
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.
![Page 12: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/12.jpg)
12
Basic Solutions
Tight inequalities: inequalities achieved as equalities
Basic solution:unique solution of n linearly independent tight inequalities
![Page 13: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/13.jpg)
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?
![Page 14: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/14.jpg)
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
![Page 15: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/15.jpg)
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.
![Page 16: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/16.jpg)
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.
![Page 17: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/17.jpg)
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 that
it takes exponential time to reach an optimum vertex.
MAJOR OPEN PROBLEM: Is there a polynomial time simplex algorithm?
![Page 18: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/18.jpg)
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
![Page 19: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/19.jpg)
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.
![Page 20: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/20.jpg)
20
Ellipsoid 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.
![Page 21: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14](https://reader035.vdocument.in/reader035/viewer/2022062714/56649d3f5503460f94a1909e/html5/thumbnails/21.jpg)
21
Looking Forward
• Prove that many combinatorial problems have an integral LP.
• Study LP duality and its applications
• Study primal dual algorithms