Traveling Salesman Problem (TSP) requires that we find the shortest path visiting each of a given set of cities and returning to the starting point.
It is an heuristics for global optimization. The idea of this heuristics is to have a list of permutations that have recently been applied to the solution. The list is called a tabu list (contains forbiden permutations). In every iteration of the algorithm one finds the best permutation not belonging to the tabu list and applies it to the solution appending the permutation to the tabu list. This strategy helps the algorithm to avoid get stucked in the local minima area and helps to visit as many of them as possible.
The program uses an OpenTS (Java Tabu Search Framework) framework for Tabu Search algorithm (it can be reached at IBM ). However an original version of Tabu Search algorithm was implemented and is included in source archive.