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.

Traveling Salesman Problem (TSP)

Embed Size (px)

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

Citation preview

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.