An Algorithm for the Traveling Salesman Problem John D. C. Little, Katta G. Murty, Dura W. Sweeney, and Caroline Karel 1963 Speaker: Huang Cheng-Kang
What ’ s TSP? A salesman, starting in one city, wishes to visit each of n – 1 other cities once and only once and return to the start. In what order should he visit the cities to minimize the total distance traveled?
The Algorithm The basic method: Branch – break up the set of all tours Bound – calculate a lower bound
Notation (1/2) The entry in row i and column j of the matrix is the cost for going from city i to city j. Let A tour, t, can be represented as a set of n ordered city pairs, e.g., cost matrix
Notation (2/2) The cost of a tour, t, under a matrix, C, is the sum of the matrix elements picked out by t and will be denoted by : Also, let nodes of the tree; a lower bound on the cost of the tours of X, i.e., for t a tour of X; the cost of the best tour found so far. in t
Lower Bounds The useful concept in constructing lower bounds will be that of reduction. t = [(1,2) (2,3) (3,4) (4,1)] z = = 24 Reduce Reduce Concept: at least one zero in each row and column z = 16+(3+8) = 24
Branching all tours
the sum of the smallest element in row i and column j :
下限 = 17
all tours
4 01 0
all tours
all tours 無解 17 t = [(1,2) (2,3) (3,4) (4,1)] z = = 24