I'm trying to understand the Tabu Search by using it with Hill Climbing algorithm, to solve the travelling salesman problem.
I understand the 'pure' Hill Climbing Algorithm, but how Tabu Search changes this algorithm is not very clear to me.
Hill Climbing Demonstration:
Let us say, we are given 6 cities A,B,C,D,E,F, and we randomly pick an initial state: (A,B,C,D,E,F) with travelling cost of 120.
Then I'm going to select a set of neighboring states (by swapping 1st element with 2nd, 3rd, 4th and so on), and calculate the travelling cost of each:
(B,A,C,D,E,F) = 110 /* <120; mark as optimal */
(C,B,A,D,E,F) = 127
(D,B,C,A,E,F) = 145
(E,B,C,D,A,F) = 102 /* <110; mark as optimal */
(F,B,C,D,E,A) = 80 /* <102; mark as optimal */
Now we have found a local optimum: (F,B,C,D,E,A).
How does Tabu Search alter the above algorithm? If you could demonstrate one or two iterations, I would be very much thankful.
Disclaimer: This answer is based on the link [Reference-1] shared by Geoffrey De Smet, in his comment, pointed here. Credits should go to him.
The two images, shown below, helped me to understand how Tabu Search alters the Hill Climbing algorithm.
Hill Climbing
(source: OptaPlanner User Guide)
Tabu Search
(source: OptaPlanner User Guide)
Reference:
[Reference-1] JBoss.org Community Documentation. OptaPlanner User Guide. [ONLINE] Available at: http://docs.jboss.org/drools/release/latest/optaplanner-docs/html_single/index.html. [Accessed 07 December 13].