You are on page 1of 13

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

TABU SEARCH ALGORITHM

DESIGN AND ANALYSIS OF ALGORITHMS


(18CS43)
2021-2022

Submitted by

MD ZEAUL HAQUE 1RV20CS086

PRATYUSH KISHORE 1RV20CS124

Under the guidance of

Suma B Rao
Asst. Professor
Dept. of CSE
RV College of Engineering
ACKNOWLEDGEMENT

We would like to express our deepest gratitude to our Professor


Suma B Rao, Assistant Professor, Dept. of Computer Science for
contributing her valuable time and efforts in helping us out with this
project. Her suggestions and feedback have helped us a lot in improving
the quality of the project.

We would also like to thank the HOD of the Computer Science


Department Dr.Ramakanth Kumar P and Principal of RV College of
Engineering Dr. K N Subramanya for giving us this opportunity to
implement our project.

We would also like to thank our friends and family for their constant
encouragement and support throughout the project.

Lastly, we like to thank all our supporters who have motivated us to


fulfill their project before the timeline.

Dept of CSE, RVCE 2021-22 2


CONTENTS

1. ABSTRACT

2. INTRODUCTION

2.1 What is the Tabu searching Algorithm?

3. PSEUDOCODE

4. STEPS

5. ALGORITHM

6.APPLICATIONS

7.REFERENCES

Dept of CSE, RVCE 2021-22 3


ABSTRACT

Tabu Search is a commonly used meta-heuristic used for optimizing model


parameters. A meta-heuristic is a general strategy that is used to guide and control
actual heuristics. Tabu Search is often regarded as integrating memory structures
into local search strategies. As local search has a lot of limitations, Tabu Search is
designed to combat a lot of those issues.The basic idea of Tabu Search is to
penalize moves that take the solution into previously visited search spaces (also
known as tabu). Tabu Search, however, does deterministically accept
non-improving solutions in order to prevent getting stuck in local minimums.The
Tabu List is the cornerstone of utilizing short-term memory. This list stores a fixed
amount of recently made moves. In some implementations, complete solutions are
used instead of the moves used but this is not ideal if complete solutions are very
large due to space limitations.

Dept of CSE, RVCE 2021-22 4


INTRODUCTION

What is the Tabu searching Algorithm?


Tabu search is a metaheuristic search method employing local search methods
used for mathematical optimization. It was created by Fred W. Glover in 1986 and
formalized in 1989.

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.

Dept of CSE, RVCE 2021-22 5


In recent years, journals in a wide variety of fields have published tutorial articles
and computational studies documenting successes by tabu search in extending the
frontier of problems that can be handled effectively — yielding solutions whose
quality often significantly surpasses that obtained by methods previously applied.
The memory structures used in tabu search can roughly be divided into three
categories:
● Short-term: The list of solutions recently considered. If a potential
solution appears on the tabu list, it cannot be revisited until it reaches an
expiration point.
● Intermediate-term: Intensification rules intended to bias the search
towards promising areas of the search space.
● Long-term: Diversification rules that drive the search into new regions
(i.e. regarding resets when the search becomes stuck in a plateau or a
suboptimal dead-end).

Dept of CSE, RVCE 2021-22 6


TABU SEARCH ALGORITHM - PSEUDOCODE

sBest ← s0

bestCandidate ← s0

tabuList ← []

tabuList.push(s0)

while (not stoppingCondition())

sNeighborhood ← getNeighbors(bestCandidate)

bestCandidate ← sNeighborhood[0]

for (sCandidate in sNeighborhood)

if ( (not tabuList.contains(sCandidate)) and (fitness(sCandidate) >


fitness(bestCandidate)) )

Dept of CSE, RVCE 2021-22 7


bestCandidate ← sCandidate

end

end

if (fitness(bestCandidate) > fitness(sBest))

sBest ← bestCandidate

end

tabuList.push(bestCandidate)

if (tabuList.size > maxTabuSize)

tabuList.removeFirst()

end

end

return sBest

Dept of CSE, RVCE 2021-22 8


TABU SEARCH ALGORITHM - STEPS

Step 1: We first start with an initial solution s = S₀. This can be any solution that

fits the criteria for an acceptable solution.

Step 2: Generate a set of neighbouring solutions to the current solution s labeled

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

results is the new N(s).

S' € N(S) = {N (s) - T(s)} + A(s)

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.

After, regardless if s’ is better than s, we update s to be s’.

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.

Dept of CSE, RVCE 2021-22 9


Step 5: If the Termination Criteria are met, then the search stops or else it will

move onto the next iteration. Termination Criteria is dependent upon the problem

at hand but some possible examples are:

● a max number of iterations

● if the best solution found is better than some threshold

Dept of CSE, RVCE 2021-22 10


ALGORITHM

Dept of CSE, RVCE 2021-22 11


APPLICATIONS

Tabu search has achieved widespread successes in solving practical optimization


problems. Applications are rapidly growing in areas such as resource management,
process design, logistics, technology planning, and general combinatorial
optimization. Hybrids with other procedures, both heuristic and algorithmic, have
also produced productive results. We examine some of the principal features of
tabu search that are most responsible for its successes, and that offer a basis for
improved solution methods in the future.

Dept of CSE, RVCE 2021-22 12


REFERENCES

● Metaheuristics From design to implementation, El-Ghazali Talbi, University


of Lille - CNRS - INRIA.

● F. Glover, Future paths for integer programming and links to artificial


intelligence, Computers and Operations Research 13 (1986), 533-549

● F. Glover, M. Laguna & R. Marti (2000). "Fundamentals of Scatter Search


and Path Relinking". Control and Cybernetics. 29 (3): 653–684.

● M. Laguna & R. Marti (2003). Scatter Search: Methodology and


Implementations in C. Kluwer Academic Publishers. ISBN 9781402073762.

Dept of CSE, RVCE 2021-22 13

You might also like