Maximum matching
-
Upload
amos-roberts -
Category
Documents
-
view
71 -
download
4
description
Transcript of Maximum matching
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
…
…
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)
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.
4
5
6x2 · 2 is a valid inequality and a cutting plane
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.
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?
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.
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.
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.
12
Cutting planes for TSP (and other problems)
• Use ILP formulation of TSP.
• Use specially tailored cutting planes.
13
TSP as ILP
14
Symmetric TSP
• Distance from i to j is equal to distance from j to i.
• Let yij = xij + xji
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.
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.
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.
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.
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
…
…
?
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)