- 69 Views
- Uploaded on
- Presentation posted in: General

Applications of Tabu Search

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Applications of Tabu Search

OPIM 950

Gary Chen

9/29/03

- 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

- Bioengineering
- Finance
- Manufacturing
- Scheduling
- Political Districting
Many of the applications of Tabu Search are very similar to Simulated Annealing

- 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.

- 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

2

2

3

5

3

1

2

5

6

6

1

6

4

1

1

- Construct student timetable without considering section enrollments
- Model course sections as undirected graphs

- 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

- 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

- 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.

- 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

- For course selection, class size is strategically oscillated.

- Problem: Partition a territory into voting districts. Political influence problems.
- Solution: Using tabu search for deciding districts will result in a fair, unbiased answer

- 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

- Clustering approach
- First pick several pre-determined centroid districts.
- “Grow” districts outward.

- Previous attempts
- Branch-and-bound trees (NP-hard)
- Simulated annealing

- 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

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

- Rj(x) = length of jth district boundary
- R = perimeter of entire territory

- Sj(x) = standard deviation of income in district j.
- = average income in entire territory

- Oj(x) = largest overlay of district j and similar district in new solution
- A = Entire territory area

- Gj(x) = largest population of a given community (Chinese, latino, etc) in district j.
- Pj(x) = total population in district j.

- 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.

- 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.

- 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.