an algorithm for the traveling salesman problem john d. c. little, katta g. murty, dura w. sweeney,...
TRANSCRIPT
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.,
)],([ jicC cost matrix
)],)(,(),)(,[( 113221 iiiiiiiit nnn
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.
)(tz
),()( jitz ),( jicin t
)(XwYYX ,,
)()( Xwtz 0z
Lower Bounds The useful concept in constructing
lower bounds will be that of reduction.
t = [(1,2) (2,3) (3,4) (4,1)]z = 3+6+6+9 = 24
Reduce
Reduce Concept: at least one zero in each row and column
z = 16+(3+8) = 24
Branching
all tours
ji,ji,
lk,lk,
4
1
0 1
6
6 the sum of the smallest element in row i and column j
:
下限 = 170
all tours
3,43,4
16
1722
4
01
0 0
all tours
3,43,4
16
1722
2,12,11721
all tours
3,43,4
16
1722
2,12,11721
4,24,217
無解
1,317t = [(1,2) (2,3) (3,4) (4,1)]z = 3+6+6+9 = 24