s
$
GenerateInitialSolution()
TabuList
$
/
0
while termination conditions not met do
s
$
ChooseBestOf(N
s
76
TabuList)
Update(TabuList)
endwhile
Figure 3: Algorithm: Simple Tabu Search (TS)
neighborhood search technique [153]. The algorithm stops when a termination condition is met. It might
also terminate if the allowed set is empty, that is, if all the solutions in N
s
are forbidden by the tabu list.
8
The use of a tabu list prevents from returning to recently visited solutions, therefore it prevents from
endless cycling
9
and forces the search to accept even uphill moves. The length l of the tabu list (i.e., the
tabu tenure) controls the memory of the search process. With small tabu tenures the search will concentrate
on small areas of the search space. On the opposite, a large tabu tenure forces the search process to
explore larger regions, because it forbids revisiting a higher number of solutions. The tabu tenure can be
varied during the search, leading to more robust algorithms. An example can be found in [157], where
the tabu tenure is periodically reinitialized at random from the interval [l
min
l
max
]. A more advanced use
of a dynamic tabu tenure is presented in [12, 11], where the tabu tenure is increased if there is evidence
for repetitions of solutions (thus a higher diversification is needed), while it is decreased if there are no
improvements (thus intensification should be boosted). More advanced ways to create dynamic tabu tenure
are described in [68].
However, the implementation of short term memory as a list that contains complete solutions is not
practical, because managing a list of solutions is highly inefficient. Therefore, instead of the solutions
themselves, solution attributes are stored.
10
Attributes are usually components of solutions, moves, or
differences between two solutions. Since more than one attribute can be considered, a tabu list is introduced
for each of them. The set of attributes and the corresponding tabu lists define the tabu conditions which
are used to filter the neighborhood of a solution and generate the allowed set. Storing attributes instead
of complete solutions is much more efficient, but it introduces a loss of information, as forbidding an
attribute means assigning the tabu status to probably more than one solution. Thus, it is possible that
unvisited solutions of good quality are excluded from the allowed set. To overcome this problem, aspiration
criteria are defined which allow to include a solution in the allowed set even if it is forbidden by tabu
conditions. Aspiration criteria define the aspiration conditions that are used to construct the allowed set.
The most commonly used aspiration criterion selects solutions which are better than the current best one.
The complete algorithm, as described above, is reported in Figure 4.
Tabu lists are only one of the possible ways of taking advantage of the history of the search. They
are usually identified with the usage of short term memory. Information collected during the whole search
process can also be very useful, especially for a strategic guidance of the algorithm. This kind of long term
memory is usually added to TS by referring to four principles: recency, frequency, quality and influence.
Recency-based memory records for each solution (or attribute) the most recent iteration it was involved
in. Orthogonally, frequency-based memory keeps track of how many times each solution (attribute) has
been visited. This information identifies the regions (or the subsets) of the solution space where the search
was confined, or where it stayed for a high number of iterations. This kind of information about the past
is usually exploited to diversify the search. The third principle (i.e., quality) refers to the accumulation
and extraction of information from the search history in order to identify good solution components. This
information can be usefully integrated in the solution construction. Other metaheuristics (e.g., Ant Colony
Optimization) explicitly use this principle to learn about good combinations of solution components. Fi-
nally, influence is a property regarding choices made during the search and can be used to indicate which
8
Strategies for avoiding to stop the search when the allowed set is empty include the choice of the least recently visited solution,
even if it is tabu.
9
Cycles of higher period are possible, since the tabu list has a finite length l which is smaller than the cardinality of the search
space.
10
In addition to storing attributes, some longer term TS strategies also keep complete solutions (e.g., elite solutions) in the memory.
8