Maximum matching

Preview:

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

Citation preview

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)

Recommended