1 maximum matching max flow shortest paths min cost flow linear programming mixed integer linear...

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

Post on 20-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)