maximum matching

20
1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search Worst case exponential time. = reduction TSP The course so far

Upload: amos-roberts

Post on 03-Jan-2016

66 views

Category:

Documents


4 download

DESCRIPTION

The course so far. Worst case exponential time. Mixed Integer Linear Programming. …. TSP. …. Worst case polynomial time by Local Search. Linear Programming. Min Cost Flow. = reduction. Max Flow. Maximum matching. Shortest paths. Two topics of today. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

Page 2: Maximum matching

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: Maximum matching

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: Maximum matching

4

Page 5: Maximum matching

5

Page 6: Maximum matching

6x2 · 2 is a valid inequality and a cutting plane

Page 7: Maximum matching

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: Maximum matching

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: Maximum matching

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: Maximum matching

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: Maximum matching

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: Maximum matching

12

Cutting planes for TSP (and other problems)

• Use ILP formulation of TSP.

• Use specially tailored cutting planes.

Page 13: Maximum matching

13

TSP as ILP

Page 14: Maximum matching

14

Symmetric TSP

• Distance from i to j is equal to distance from j to i.

• Let yij = xij + xji

Page 15: Maximum matching

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: Maximum matching

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: Maximum matching

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: Maximum matching

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: Maximum matching

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: Maximum matching

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)