1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear...
-
date post
20-Dec-2015 -
Category
Documents
-
view
231 -
download
0
Transcript of 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear...
![Page 1: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/1.jpg)
1Maximum matching
Max Flow
Shortest paths
Min Cost Flow
Linear Programming
Mixed Integer Linear Programming
Worst case polynomial timeby Local Search
Worst case exponential time.
= reduction
TSP
The course so far
…
…
![Page 2: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/2.jpg)
2
Two topics of today
• Worst case polynomial time algorithms for LP.
• State of the art for solving TSP (uses ILP, is practical, but runs in worst case exponential time)
![Page 3: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/3.jpg)
3
State of the art for TSP
• TSP instances of thousand of cities can be consistently solved to optimality.
• Instances of up to 25000 cities have been solved: All cities in Sweden!
• Technique: Branch-and-Bound combined with cutting plane algorithms: Branch-and-cut.
![Page 4: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/4.jpg)
4
![Page 5: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/5.jpg)
5
![Page 6: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/6.jpg)
6x2 · 2 is a valid inequality and a cutting plane
![Page 7: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/7.jpg)
7
Valid inequality for an ILP
• Given integer linear program, a new inequality is called valid if it does not change the set of integer solutions to the program.
• It is a cutting plane if it removes the (non-integer) optimum solution to the relaxed linear program.
![Page 8: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/8.jpg)
8
Cutting plane algorithm for ILP
input ILP instance P
P’ := LP-relaxation of P
while(optimal solution to P’ is not integer){
add valid cutting plane to P
P’ := LP-relaxation of P
}
return optimal solution to P’How to find valid cutting plane?
![Page 9: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/9.jpg)
9
Gomory Cutting Plane Algorithm
• Assume that all initial coefficients in (standard form) ILP instance are integer.
• Solve LP-instance using simplex method.
• Suppose the simplex method terminates with a non-integer optimal solution.
![Page 10: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/10.jpg)
10
Some line in final dictionary reads
xi = bi + j aj xj
where bi is not integer.
Let b’i = bi - bbic and a’j = aj - bajc.
xi - b bi c - j b aj c xj = b’i + j aj’ xj
For every feasible integer solution: Left hand side is integer. Right hand side is strictly bigger than zero.
xi - b bi c - j b aj c xj ¸ 1 is a valid cut.
![Page 11: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/11.jpg)
11
Gomory Cutting Plane Algorithm For ILP
• Partial correctness is obvious.
• Termination is not guaranteed. Can be guaranteed if simplex algorithm uses special pivot rule and line of final dictionary is chosen carefully (non-trivial!)
• Not very practical.
![Page 12: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/12.jpg)
12
Cutting planes for TSP (and other problems)
• Use ILP formulation of TSP.
• Use specially tailored cutting planes.
![Page 13: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/13.jpg)
13
TSP as ILP
![Page 14: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/14.jpg)
14
Symmetric TSP
• Distance from i to j is equal to distance from j to i.
• Let yij = xij + xji
![Page 15: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/15.jpg)
15
The TSP tour has to pass every cut at least twice.
S
T
i 2 S, j 2 T yij ¸ 2 is a valid inequality.
![Page 16: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/16.jpg)
16
Cutting plane algorithm for TSP
• Find optimal solution x* of LP-relaxation of
• Let y*ij = x*
ij + x*ji
• Check if some S,T has i 2 S, j 2 T yij < 2.• This can be efficiently done by Max flow
algorithm.• Add inequality i 2 S, j 2 T yij ¸ 2.
![Page 17: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/17.jpg)
17
Cutting plane algorithm for TSP
• At some point we will fail to find new cuts.
• Still may not have integer solution.
• If not, add other kinds of specially tailored inequalities (big literature)
or BRANCH.
![Page 18: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/18.jpg)
18
Branch-and-cut for TSP
• Branch-and-bound with relaxation being LP-relaxation + set of valid inequalities.
• When to stop adding inequalities and start branching is a matter of heuristics and experiments.
• Yields state-of-the art solver. Many non-trivial implementation issues.
![Page 19: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/19.jpg)
19Maximum matching
Max Flow
Shortest paths
Min Cost Flow
Linear Programming
Mixed Integer Linear Programming
Worst case polynomial timeby Local Search
Worst case exponential time.
= reduction
TSP
The course so far
…
…
?
![Page 20: 1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.](https://reader035.fdocuments.net/reader035/viewer/2022062308/56649d4b5503460f94a28b18/html5/thumbnails/20.jpg)
20Maximum matching
Max Flow
Shortest paths
Min Cost Flow
Linear Programming
Mixed Integer Linear Programming
Worst case polynomial timeby Local Search
Worst case exponential time
= reduction
TSP…
NP-completeness (dSoegOpt)
(unless P=NP)