Comparing Algorithms for the Traveling Salesman Problem

The traveling salesman problem (TSP) is an NP-complete problem. Different approximation algorithms have their advantages and disadvantages.
Mathematica's function FindShortestTour offers a choice of four methods ("OrZweig", "OrOpt", "TwoOpt", "CCA"), which may yield identical results.
This Demonstration provides another TSP algorithm called 3-Opt. Experiments show that the 3-Opt algorithm sometimes finds a better result than any of the four kinds of Mathematica FindShortestTour methods.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


Snapshot 1: with 30 points, FindShortestTour methods find a shorter result than the 3-Opt method
Snapshot 2: with 30 points, both 3-Opt and Mathematica's FindShortestTour methods find an optimal result
Snapshot 3: with 40 points, 3-Opt finds a shorter result than any of the FindShortestTour methods
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2017 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+