Traveling Salesman Problem (TSP)

53
1 Traveling Salesman Problem (TSP) Given n £ n positive distance matrix (d ij ) find permutation on {0,1,2,..,n-1} minimizing i=0 n-1 d (i), (i+1 mod n) The special case of d ij being actual distances on a map is called the Euclidean TSP. The special case of d ij satistying the triangle inequality is called Metric TSP. We shall construct an approximation algorithm for the metric case.

description

Traveling Salesman Problem (TSP). Given n £ n positive distance matrix ( d ij ) find permutation  on {0,1,2,.., n -1} minimizing  i =0 n -1 d  ( i ),  ( i +1 mod n ) - PowerPoint PPT Presentation

Transcript of Traveling Salesman Problem (TSP)

1

Traveling Salesman Problem (TSP)

• Given n £ n positive distance matrix (dij) find permutation on {0,1,2,..,n-1} minimizing i=0

n-1 d(i), (i+1 mod n)

• The special case of dij being actual distances on a map is called the Euclidean TSP.

• The special case of dij satistying the triangle inequality is called Metric TSP. We shall construct an approximation algorithm for the metric case.

2

Appoximating general TSP is NP-hard

• If there is an efficient approximation algorithm for TSP with any approximation factor then P=NP.

• Proof: We use a modification of the reduction of hamiltonian cycle to TSP.

3

Reduction• • Proof: Suppose we have an efficient approximation algorithm for

TSP with approximation ratio . Given instance (V,E) of hamiltonian cycle problem, construct TSP instance (V,d) as follows:

d(u,v) = 1 if (u,v) 2 E d(u,v) = |V| + 1 otherwise.

• Run the approximation algorithm on instance (V,d). If (V,E) has a hamiltonian cycle then the approximation algorithm will return a TSP tour which is such a hamiltonian cycle.

• Of course, if (V,E) does not have a hamiltonian cycle, the approximation algorithm wil not find it!

4

5

General design/analysis trick

• Our approximation algorithm often works by constructing some relaxation providing a lower bound and turning the relaxed solution into a feasible solution without increasing the cost too much.

• The LP relaxation of the ILP formulation of the problem is a natural choice. We may then round the optimal LP solution.

6

Not obvious that it will work….

7

Min weight vertex cover

• Given an undirected graph G=(V,E) with non-negative weights w(v) , find the minimum weight subset C µ V that covers E.

• Min vertex cover is the case of w(v)=1 for all v.

8

ILP formulation

Find (xv)v 2 V minimizing wv xv so that

• xv 2 Z

• 0 · xv · 1

• For all (u,v) 2 E, xu + xv ¸ 1.

9

LP relaxation

Find (xv)v 2 V minimizing wv xv so that

• xv 2 R

• 0 · xv · 1

• For all (u,v) 2 E, xu + xv ¸ 1.

10

Relaxation and Rounding

• Solve LP relaxation.

• Round the optimal solution x* to an integer solution x: xv = 1 iff x*v ¸ ½.

• The rounded solution is a cover: If (u,v) 2 E, then x*u + x*v ¸ 1 and hence at least one of xu and xv is set to 1.

11

Quality of solution found

• Let z* = wv xv* be cost of optimal LP solution.

• wv xv · 2 wv xv*, as we only round up if xv* is bigger than ½.

• Since z* · cost of optimal ILP solution, our algorithm has approximation ratio 2.

12

Relaxation and Rounding

• Relaxation and rounding is a very powerful scheme for getting approximate solutions to many NP-hard optimization problems.

• In addition to often giving non-trivial approximation ratios, it is known to be a very good heuristic, especially the randomized rounding version.

• Randomized rounding of x 2 [0,1]: Round to 1 with probability x and 0 with probability 1-x.

13

MAX-3-CNF

• Given Boolean formula in CNF form with exactly three distinct literals per clause find an assignment satisfying as many clauses as possible.

14

Approximation algorithms

• Given maximization problem (e.g. MAXSAT, MAXCUT) and an efficient algorithm that always returns some feasible solution.

• The algorithm is said to have approximation ratio if for all instances, cost(optimal sol.)/cost(sol. found) ·

15

MAX3CNF, Randomized algorithm

• Flip a fair coin for each variable. Assign the truth value of the variable according to the coin toss.

• Claim: The expected number of clauses satisfied is at least 7/8 m where m is the total number of clauses.

• We say that the algorithm has an expected approximation ratio of 8/7.

16

Analysis

• Let Yi be a random variable which is 1 if the i’th clause gets satisfied and 0 if not. Let Y be the total number of clauses satisfied.

• Pr[Yi =1] = 1 if the i’th clause contains some variable and its negation.

• Pr[Yi = 1] = 1 – (1/2)3 = 7/8 if the i’th clause does not include a variable and its negation.

• E[Yi] = Pr[Yi = 1] ¸ 7/8.

• E[Y] = E[ Yi] = E[Yi] ¸ (7/8) m

17

Remarks

• It is possible to derandomize the algorithm, achieving a deterministic approximation algorithm with approximation ratio 8/7.

• Approximation ratio 8/7 - is not possible for any constant > 0 unless P=NP (shown by Hastad using Fourier Analysis (!) in 1997).

18

Min set cover

• Given set system S1, S2, …, Sm µ X, find smallest possible subsystem covering X.

19

Min set cover vs. Min vertex cover

• Min set cover is a generalization of min vertex cover.

• Identify a vertex with the set of edges adjacent to the vertex.

20

Greedy algorithm for min set cover

21

Approximation Ratio

• Greedy-Set-Cover does not have any constant approximation ratio (Even true for Greedy-Vertex-Cover – exercise).

• We can show that it has approximation ratio Hs where s is the size of the largest set and Hs = 1/1 + 1/2 + 1/3 + .. 1/s is the s’th harmonic number.

• Hs = O(log s) = O(log |X|).

• s may be small on concrete instances. H3 = 11/6 < 2.

22

Analysis I

• Let Si be the i’th set added to the cover.

• Assign to x 2 Si - [j<i Sj the cost wx = 1/|Si – [j<i Sj|.

• The size of the cover constructed is exactly x 2 X wx.

23

Analysis II

• Let C* be the optimal cover.

• Size of cover produced by Greedy alg. = x 2 X wx · S 2 C* x 2 S wx · |C*| maxS x 2 S wx · |C*| Hs

24

It is unlikely that there are efficient approximation algorithms with a very good approximation ratio for

MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, ….

But we have to solve these problems anyway – what do we do?

25

• Simple approximation heuristics or LP-

relaxation and rounding may find better solutions that the analysis suggests on relevant concrete instances.

• We can improve the solutions using Local Search.

26

Local Search

LocalSearch(ProblemInstance x)

y := feasible solution to x;

while 9 z ∊N(y): v(z)<v(y) do

y := z;

od;

return y;

27

To do list

• How do we find the first feasible solution?

• Neighborhood design?

• Which neighbor to choose?

• Partial correctness?

• Termination?

• Complexity?

Never Mind!

Stop when tired! (but optimize the time of each iteration).

28

TSP

• Johnson and McGeoch. The traveling salesman problem: A case study (from Local Search in Combinatorial Optimization).

• Covers plain local search as well as concrete instantiations of popular metaheuristics such as tabu search, simulated annealing and evolutionary algorithms.

• A shining example of good experimental methodology.

29

TSP

• Branch-and-cut method gives a practical way of solving TSP instances of 1000 cities. Instances of size 1000000 have been solved..

• Instances considered by Johnson and McGeoch: Random Euclidean instances and Random distance matrix instances of several thousands cities.

30

Local search design tasks

• Finding an initial solution

• Neighborhood structure

31

The initial tour

• Nearest neighbor heuristic

• Greedy heuristic

• Clarke-Wright

• Christofides

32

33

Neighborhood design

Natural neighborhood structures:

2-opt, 3-opt, 4-opt,…

34

2-opt neighborhood

35

2-opt neighborhood

36

2-optimal solution

37

3-opt neighborhood

38

3-opt neighborhood

39

3-opt neighborhood

40

Neighborhood Properties

• Size of k-opt neighborhood: O( )

• k ¸ 4 is rarely considered….

kn

41

42

43

44

• One 3OPT move takes time O(n3). How is it possible to do local optimization on instances of size 106 ?????

45

2-opt neighborhood

t1

t4

t3

t2

46

A 2-opt move

• If d(t1, t2) · d(t2, t3) and d(t3,t4) · d(t4,t1), the move is not improving.

• Thus we can restrict searches for tuples where either d(t1, t2) > d(t2, t3) or d(t3, t4) > d(t4, t1).

• WLOG, d(t1,t2) > d(t2, t3).

47

Neighbor lists

• For each city, keep a static list of cities in order of increasing distance.

• When looking for a 2-opt move, for each candidate for t1 with t2 being the next city, look in the neighbor list for t2 for t3 candidate. Stop when distance becomes too big.

• For random Euclidean instance, expected time to for finding 2-opt move is linear.

48

Problem

• Neighbor lists becomes very big.

• It is very rare that one looks at an item at position > 20.

49

Pruning

• Only keep neighborlists of length 20.

• Stop search when end of lists are reached.

50

• Still not fast enough……

51

Don’t-look bits.

• If a candidate for t1 was unsuccesful in previous iteration, and its successor and predecessor has not changed, ignore the candidate in current iteration.

52

Variant for 3opt

• WLOG look for t1, t2, t3, t4,t5,t6 so that d(t1,t2) > d(t2, t3) and d(t1,t2)+d(t3,t4) > d(t2,t3)+d(t4, t5).

53

On Thursday

….we’ll escape local optima using Taboo search and Lin-Kernighan.