Given a collection of cities and a table of distances between the cities, the traveling salesman problem (TSP) asks for the shortest path that passes through each city exactly once and then returns to its starting point. Although this may seem to be of little practical use, there are many important applications for the TSP and related problems. A classic application is found in the manufacture of printed circuit boards. Holes have to be drilled through the printed circuit board at a large number of designated points. The goal is to find a plan that minimizes the time needed to move the drilling tool around the circuit board to visit each of the holes. The TSP is also of theoretical interest in computer science because it is one of the important class of NP-Hard combinatorial optimization problems.
Because the TSP is an NP-Hard problem, it is unlikely that there will ever be an efficient polynomial time algorithm for its solution. Many researchers and practitioners have focused on efficient heuristics and approximation algorithms rather than attempting to solve the TSP exactly. However, there is also a long history of work on exact methods for the TSP.
An important early result in this direction was the solution in 1954 of a 49 city TSP involving cities from each of the 48 states and the District of Columbia. Dantzig, Fulkerson, and Johnson solved this problem by formulating it as an integer linear programming problem, solving a linear programming relaxation of the problem and strengthening this relaxation of the problem by the addition of constraints called "cuts." In the 1980's, starting with work by Hoffman and Padberg, interest began to grow in cutting plane methods for a variety of combinatorial optimization problems including the TSP. Problem-specific cutting planes were combined with branch and bound techniques for integer linear programming to produce a new approach called "branch and cut."
In 1988, the authors of this book formed a team to work on the TSP using the branch and cut approach together with heuristic methods. Over the course of their study, the authors have made dramatic progress in solving large instances of the TSP, culminating in the development of a branch and cut solver called Concorde that has been used to solve some very large TSP instances including one instance with over 85,000 cities. This book is a research monograph summarizing their work on the TSP.
The book begins with chapters on the history of the TSP and its applications. In the second section, the authors describe a large variety of cutting planes for the TSP problem, including recent work that has gone into the Concorde solver. This is followed by a discussion of a several important computational issues including the management of LP relaxations and cuts, details of the LP solution process, branching strategies, and heuristic methods for finding good tours. The book concludes with a chapter that looks forward to approaches for solving even larger TSP instances.
The authors have done a wonderful job of explaining how they developed new techniques in response to the challenges posed by ever larger instances of the TSP. This is a very good example of how theoretical research can be translated into software to solve challenging optimization problems that were previously thought to be practically unsolvable.
This book will be of interest to graduate students and researchers working on the TSP. It will also be of interest to the broader group of researchers using branch and cut methods to solve other combinatorial optimization problems. Although the book is very well written, it really isn't appropriate for use as a textbook. Readers looking for an introduction to the techniques used here would be better served by the textbook, Combinatorial Optimization , by Cook, Cunningham, Pulleyblank, and Schrijver.
W. J. Cook, W. H. Cunningham, W. R. Pulleyblank, and A. Schrijver. Combinatorial Optimization . John Wiley and Sons, 1997.
Brian Borchers is a professor of Mathematics at the New Mexico Institute of Mining and Technology. His interests are in optimization and applications of optimization in parameter estimation and inverse problems.