Faruk Pasic
- Software Engineer -

Tabu Search: Finding the Minimal Value of Peaks Function

This is the implementation of tabu search in order to find the global minimum of the objective function which is given in the picture above. It is developed in C# as a console application.

Taboo – strong social prohibition (ban) relating to any kind of human activity or social custom that is sacred and forbidden based on moral judgement and even sometimes religious beliefs (Wikipedia).

Tabu Search (TS) is a metaheuristic algorithm which represents a modification of basic local search.

  • Tabu list is implemented using short-term memory.
  • Tabu list stores tabs.
  • The simplest implementation stores whole forbidden solutions.
  • This approach is not used very often, due to huge requirements regarding memory and processing time.
  • Most often, tabu list stores several last transformations or key features of the solutions visited.
  • Any transformation opposite to the one used to reach the current point is forbidden.
  • The change of a feature back to the previous one is forbidden.
  • Neighborhood consists of all vectors which differ in one bit position.
  • Each element of tabu list represents the number of iterations during which it is not allowed to change the bit value for each position of the current solution.
  • The tabu list is updated after each iteration

To read more about this article visit:

To get the code or to order the modification of the same (for a fee), please contact me!