Professional Documents
Culture Documents
Submitted by
Suma B Rao
Asst. Professor
Dept. of CSE
RV College of Engineering
ACKNOWLEDGEMENT
We would also like to thank our friends and family for their constant
encouragement and support throughout the project.
1. ABSTRACT
2. INTRODUCTION
3. PSEUDOCODE
4. STEPS
5. ALGORITHM
6.APPLICATIONS
7.REFERENCES
Local (neighborhood) searches take a potential solution to a problem and check its
immediate neighbors (that is, solutions that are similar except for very few minor
details) in the hope of finding an improved solution. Local search methods have a
tendency to become stuck in suboptimal regions or on plateaus where many
solutions are equally fit.
Tabu search enhances the performance of local search by relaxing its basic rule.
First, at each step worsening moves can be accepted if no improving move is
available (like when the search is stuck at a strict local minimum). In addition,
prohibitions (henceforth the term tabu) are introduced to discourage the search
from coming back to previously-visited solutions.
The implementation of tabu search uses memory structures that describe the visited
solutions or user-provided sets of rules. If a potential solution has been previously
visited within a certain short-term period or if it has violated a rule, it is marked as
"tabu" (forbidden) so that the algorithm does not consider that possibility
repeatedly.The word tabu comes from the Tongan word to indicate things that
cannot be touched because they are sacred.
Tabu search (TS) is a metaheuristic algorithm that can be used for solving
combinatorial optimization problems (problems where an optimal ordering and
selection of options is desired).
Current applications of TS span the areas of resource planning,
telecommunications, VLSI design, financial analysis, scheduling, space planning,
energy distribution, molecular engineering, logistics, pattern classification, flexible
manufacturing, waste management, mineral exploration, biomedical analysis,
environmental conservation and scores of others.
sBest ← s0
bestCandidate ← s0
tabuList ← []
tabuList.push(s0)
sNeighborhood ← getNeighbors(bestCandidate)
bestCandidate ← sNeighborhood[0]
end
end
sBest ← bestCandidate
end
tabuList.push(bestCandidate)
tabuList.removeFirst()
end
end
return sBest
Step 1: We first start with an initial solution s = S₀. This can be any solution that
N(s). From this set of solutions, the solutions that are in the Tabu List are removed
with the exception of the solutions that fit the Aspiration Criteria. This new set of
Step 3: Choose the best solution out of N(s) and label this new solution s’. If the
solution s’ is better than the current best solution, update the current best solution.
Step 4: Update the Tabu List T(s) by removing all moves that are expired past the
Tabu Tenure and add the new move s’ to the Tabu List. Additionally, update the set
of solutions that fit the Aspiration Criteria A(s). If frequency memory is used, then
also increment the frequency memory counter with the new solution.
move onto the next iteration. Termination Criteria is dependent upon the problem