18.04.2013 Views

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Traveling Salesman Problem<br />

practice, it is usually better, typically 15% to 20% over optimal. Further, the time of the algorithm<br />

is bounded by that of computing the minimum spanning tree, only in the case of points in<br />

the plane (see Section ).<br />

● Incremental insertion methods - A different class of heuristics inserts new points into a partial<br />

tour one at a time (starting from a single vertex) until the tour is complete. <strong>The</strong> version of this<br />

heuristic that seems to work best is furthest point insertion: of all remaining points, insert the<br />

point v into partial tour T such that<br />

<strong>The</strong> minimum ensures that we insert the vertex in the position that adds the smallest amount of<br />

distance to the tour, while the maximum ensures that we pick the worst such vertex first. This<br />

seems to work well because it first ``roughs out'' a partial tour before filling in details. Typically,<br />

such tours are only 5% to 10% longer than optimal.<br />

● k-optimal tours - Substantially more powerful are the Kernighan-Lin, or k-opt class of heuristics.<br />

Starting from an arbitrary tour, the method applies local refinements to the tour in the hopes of<br />

improving it. In particular, subsets of edges are deleted from the tour and the k remaining<br />

subchains rewired in a different way to see if the resulting tour is an improvement. A tour is koptimal<br />

when no subset of k edges can be deleted and rewired so as to reduce the cost of the tour.<br />

Extensive experiments suggest that 3-optimal tours are usually within a few percent of the cost of<br />

optimal tours. For k > 3, the computation time increases considerably faster than solution quality.<br />

Two-opting a tour is a fast and effective way to improve any other heuristic. Simulated<br />

annealing provides an alternate mechanism to employ edge flips to improve heuristic tours.<br />

Implementations: <strong>The</strong> world-record-setting traveling salesman program is by Applegate, Bixby,<br />

Chvatal, and Cook [ABCC95], which has solved instances as large as 7,397 vertices to optimality. At<br />

this time, the program is not being distributed. However, the authors seem willing to use it to solve TSPs<br />

sent to them. In their paper, they describe this work as neither theory nor practice, but sport - an almost<br />

recreational endeavor designed principally to break records. It is a very impressive piece of work,<br />

however.<br />

<strong>The</strong> TSPLIB library of test instances for the traveling salesman problem is available from Netlib, and by<br />

anonymous ftp from softlib.cs.rice.edu. See Section .<br />

Tsp_solve is a C++ code by Chad Hurwitz and Robert Craig that provides both heuristic and optimal<br />

solutions. Geometric problems of size up to 100 points are manageable. It is available from<br />

http://www.cs.sunysb.edu/ algorith or by e-mailing Chad Hurrwitz at churritz@crash.cts.com. A<br />

heuristic Euclidean TSP solver in C due to Lionnel Maugis is available from<br />

http://www.cenaath.cena.dgac.fr/ maugis/tsp.shar.<br />

file:///E|/BOOK/BOOK4/NODE175.HTM (3 of 5) [19/1/2003 1:31:21]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!