0% found this document useful (0 votes)
49 views25 pages

Tabu Search

This document discusses applications of tabu search, an optimization algorithm. It provides an overview of basic tabu search and describes two specific applications: student course scheduling and political districting. For student scheduling, tabu search is used to find conflict-free schedules that balance class loads while respecting student preferences. For political districting, tabu search partitions a territory into voting districts in a way that balances populations and respects other criteria. Both applications use neighborhoods and tabu lists to iteratively improve solutions.

Uploaded by

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

Tabu Search

This document discusses applications of tabu search, an optimization algorithm. It provides an overview of basic tabu search and describes two specific applications: student course scheduling and political districting. For student scheduling, tabu search is used to find conflict-free schedules that balance class loads while respecting student preferences. For political districting, tabu search partitions a territory into voting districts in a way that balances populations and respects other criteria. Both applications use neighborhoods and tabu lists to iteratively improve solutions.

Uploaded by

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

Applications of Tabu Search

OPIM 950
Gary Chen
9/29/03
Basic Tabu Search Overview
 Pick an arbitrary point and evaluate an initial solution
 Compute next set of solutions within neighborhood of
current solution
 Pick best solution from the set.
 If solution is on Tabu (or forbidden) list, pick next
best solution. Repeat until you come across solution
not on Tabu list.
 After solution is chosen, repeat from step 2 until
optima is reached.
 Parameters for tuning: Number of iterations, penalty
points, size of Taboo list
Applications
 Bioengineering
 Finance

 Manufacturing

 Scheduling

 Political Districting

Many of the applications of Tabu Search


are very similar to Simulated Annealing
Application 1: Student Course
Scheduling
 Problem: Registering for classes
required students waiting in long
queues.
 Solution: Allow course registration over
the internet and using OR techniques
(tabu search), give student satisfactory
time schedule as well as balance section
loads.
Objectives and Constraints
 Main Objective: Find conflict-free time
schedule for each student
 Secondary Objectives:
 Balance number of classes per day
 Minimize gaps between classes
 Respect language preferences
 Student course selections must be respected
 Section enrollment must be balanced
 Section maximum capacity cannot be
exceeded
Implementation - Part 1
 Construct student timetable without
considering section enrollments
 Model course sections as undirected graphs
2
2 3 5

1 2 3 5
6
6
1

4
1

1
Maximum Cardinality
Independent Sets
 Objective: Find sets that contain one
section of each course.
 Algorithm
 Find all cliques in the graphs.
 Pick one node or no nodes from each
clique. Check if it’s a valid schedule. If it is
retain as a possible solution set.
 repeat
Implementation - Part 2
 Balance out section enrollment
 Each student has a set of possible time
schedules.
 “Optimal” time schedule for a student
adheres to following criteria:
 Balance number of classes per day
 Minimize gaps between classes
 Respect language preferences
Tabu Search
 Objective: Find satisfactory course
schedule.
 “Satisfactory” being a solution no more
than a threshold cost distance from the
“optimal” course scheduling.
 Tabu list contains previously tried student
course schedules.
 Tabu search combined with strategic
oscillation used.
Strategic Oscillation
 Perform moves until hitting a boundary.
 Modify objective constraints or extend
neighborhood function to allow crossing
over to infeasible region.
 Proceed beyond boundary for a set
depth
 Turn around to enforce feasibility
Strategic Oscillation (Cont)

 For course selection, class size is strategically


oscillated.
Application 2: Tabu Search for
Political Districting
 Problem: Partition a territory into voting
districts. Political influence problems.
 Solution: Using tabu search for deciding
districts will result in a fair, unbiased
answer
Constraints
 Districts should be contiguous
 Voting population should be close to evenly
divided among the districts
 Natural boundaries should be respected
 Existing political subdivisions, such as
townships, should be respected
 Socio-economic homogeneity
 Integrity of communities should be respected
General Solution Strategy
 Clustering approach
 First pick several pre-determined centroid
districts.
 “Grow” districts outward.
 Previous attempts
 Branch-and-bound trees (NP-hard)
 Simulated annealing
Problem Formulation
 minimize

 i are user-supplied multiplers


 fpop(x) = population equality function
 fcomp(x) = compactness function
 fsoc(x) = socio-economic homogeneity function
 fsim(x) = similarity to previous districting function
 fint() = integrity of communities function
Population Equality

Pj(x) – represents population for each j district


- represents total population/#districts
 - represents user-defined constant fraction, 0   1
Require population in each district [(1-) , (1+) ]
Should equal 0 if each district lies in interval.
Otherwise, will take a positive value
Compactness

 Rj(x) = length of jth district boundary


 R = perimeter of entire territory
Socio-Economic Homogeneity

 Sj(x) = standard deviation of income in


district j.
 = average income in entire territory
Similarity to Previous
Districting

 Oj(x) = largest overlay of district j and


similar district in new solution
 A = Entire territory area
Example
Integrity of Communities

 Gj(x) = largest population of a given


community (Chinese, latino, etc) in
district j.
 Pj(x) = total population in district j.
Tabu Search
 Start with initial solution
 Start with a seed unit for initializing a
district.
 “Grow” district by merging it with adjacent
units until reached or no adjacent unit
are available.
Tabu Search (cont)
 After initial solution created, two possible
moves.
 Give – give a basic unit from one district to
another
 Swap – swap basic units along boundary of two
adjacent districts
 Any basic units swapped or given are placed
on a tabu list.
 Algorithm stops when value of current best
solution has no improvements from previously
known best solution.
Example
References
 Alvarez-Valdes, R. et al. Assigning students to course sections
using tabu search. Annals of Operations Research. Vol. 96
(2000) p. 1-16
 Bozkaya, Burcin. A tabu search heuristic and adaptive memory
procedure for political districting. European Journal of
Operational Research. Vol. 144 (2003) p. 12-26.

You might also like