0% found this document useful (0 votes)
60 views3 pages

Tabu Search-Assignment IM-49202

This document provides instructions for Assignment 3 on tabu search. Students are asked to submit their MATLAB (.m) file by the due date and time of 5:00 PM on February 12th, 2024 via MS Teams. The document includes pseudocode for tabu search and describes activities to understand and implement tabu search for the traveling salesman problem (TSP), including writing code for different neighborhood strategies and plotting the best solution at each iteration. Students are also given a sample symmetric TSP problem to solve using tabu search.

Uploaded by

HEMANTH KAJULURI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views3 pages

Tabu Search-Assignment IM-49202

This document provides instructions for Assignment 3 on tabu search. Students are asked to submit their MATLAB (.m) file by the due date and time of 5:00 PM on February 12th, 2024 via MS Teams. The document includes pseudocode for tabu search and describes activities to understand and implement tabu search for the traveling salesman problem (TSP), including writing code for different neighborhood strategies and plotting the best solution at each iteration. Students are also given a sample symmetric TSP problem to solve using tabu search.

Uploaded by

HEMANTH KAJULURI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

OHM Lab IM 49203

Assignment 3: Tabu Search


Due Date: 12th Feb, 2024 Time: 5:00 PM
Instructions:
1. Submit this assignment via MS teams by 5:00 PM by turn- in/hand-in
2. You need to submit your .m file zip file format.
3. In case of copying you will get a 0 grade for this assignment.

Tabu Search- 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))
)
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

1. SWAP Selecting two random positions in permutation encoding representation solution


and swapping elements of these positions is the easiest and most widely used way of
generating of neighbour solutions. In order to help to understand, in the Figure 1 we
introduce the swap method. For example, if the third and fifth element be selected then
their position will be replace by each other.
2. REVERSION Selecting two random positions in permutation encoding representation
solution and reversing the direction between two randomly chosen elements. In order to
help to understand, in the Figure 2 we introduce the reversion method. For example, if the
second and fifth element be selected then reversing the direction between their position.

3. INSERTION Selecting two random positions in permutation encoding representation


solution and with due attention to number of chosen elements, reversing the direction
between two randomly chosen elements. In order to help to understand, in the Figure 3.
Activity 1: Understanding Tabu Search method for TSP

Activity 1.1: Understanding the attached code


Activity 1.2: Understand the effect on optimal solution of selecting different tabu length.
Activity 1.3: Add a piece of code to plot the best solution at every iteration.
Activity 1.4: Write a code for reversion strategy and use it in place of swap. Check
whether it has improved solution.
Activity 1.5: Write a code for insertion strategy and use it in place of swap. Check
whether it has improved solution.
Activity 1.6: In the function file DoAction.m write a switch statement and make 3 cases
swap, insertion and reversion. Check whether it has improved solution.

Activity 2: Solve the following symmetric TSP problem using tabu search method [Code
submission required]

C1 C2 C3 C4 C5
C1 0 132 217 164 158
C2 0 290 201 79
C3 0 113 303
C4 0 196
C5 0

Activity 2.1: Your code should have following pieces:


1. In the function file DoAction.m a switch statement with 3 cases swap, insertion and
reversion.
2. A plot showing best solution at every iteration.
---xxx---

You might also like