OpenTS Tutorial
OpenTS Tutorial - Traveling Salesman Problem

In this tutorial we will be build a tabu search that solves the famous Traveling Salesman Problem (TSP). In the TSP, a salesman wants to visit all of his customers once, traveling the least distance possible. There are many variations on this basic problem. Our problem will be this:

There is a list of customers. Each customer has an (x,y) coordinate in the range [0,200) generated by multiplying random numbers from zero (0) to 0.9999... by 200. The salseman may start at the first customer, must visit each customer exactly once, and returns to the original customer at the end (we can assume the first customer is "home").
All the tutorial files are available here.

Tutorial Agenda

After having just introduced the problem, however briefly, we will look at the main program to give us a high-level overview before looking at the details of actually building our tabu search objects.

  1. Introduction
  2. Main Program [source]
  3. Solution [source]
  4. Objective Function [source]
  5. Moves [source]
  6. Move Manager [source]
  7. Tabu List [Using built-in tabu list]
  8. Putting it All Together
  9. Making the Move Manager Adaptive - Coming Soon!