Title: Tabu Search: Fundamentals
1Tabu Search Fundamentals
2- Scenario 1
- You are playing fetch with your dog
- Challenge
- Why does he/she not find the ball if you throw
it a different direction?
3- Scenario 2
- You have misplaced your car keys.
- Challenge
- How might you go about locating them?
4Key Concepts of Scenario
- Avoid self-defeating actions
- Keep a memory of search experience
- Thoroughly search promising areas
- Examine new search areas if necessary
- Learn from the search
5Background
- According to Fred Glover, these were concepts he
uncovered - Arose from an AI project course as a student
- Trying to get the computer to emulate (human)
problem solving - His scenario involved fellow students solving an
optimization problem - Found they followed a fairly systematic approach
6Motivation for Tabu Search
7Tabu Search - An Abstract
- A Meta-Heuristic
- Can be used to guide subordinate methods
- Employs adaptive memory functions
- Avoid repeat solutions using a tabu list
- Intensifies the search in local regions
- Employs a responsive exploration function
- Diversifies to new areas of search space
8Why Memory
- Memory-less searches
- Genetic algorithms
- Simulated annealing
- No explicit use or exploitation of memory
- Rigid memory methods
- Branch and bound methods
- The solution approach completely dictated
- Inherited memory
- Evolutionary methods (genetic algorithms)
9Resistance to Memory
- TS use of memory not immediately accepted
- Provides many more degrees of freedom
- Result is approaches harder to prove
- Not as mathematically tractable
- Use of memory also brings pitfalls
- Proper use of memory is not immediately known
- Large part of the tabu search research now is
finding integrating principles that provide
guidelines for best use of memory
10Tabu Search Functions
11Purpose of Functions
12Short-Term Tabu Search
Tabu Search moves among neighborhoods
13What are Moves?
- Toggle variable between 0 and 1
- Swap nodes in a routing tour
- Swap nodes between tours
- Insert/delete edge operation on graph
- Interchange variables from basis
There are common moves, but generally moves
are specific to the application area. Moves
define the neighborhood for the problem.
14Definition of Terms
- Tabu
- Characteristic provided a move, or attributes of
a move, that put that move off limits - Tabu list
- Memory structure of move attributes that are
currently in off limits status - Tabu tenure
- Number of iterations for which a move, or its
attributes, remain on the tabu list
15What is considered Tabu?
- Keep recent variables from toggling
- Freeze in-place recently moved nodes
- Freeze recently moved edges
- Keep variables in or out of basis
The Tabu restriction simply prevents revisiting,
or cycling which is a non-productive process.
Needed to escape the local optima trap.
16Definition of Terms
- Attributes of solutions
- Those aspects that define a solution
- A move between solutions can be defined as a
change to some defined set of attributes of the
solution - Attributive memory
- Stores information about solution attributes that
are changed implementing a move - Explicit memory
- Records the actual solution
17Still More Definitions
- Aggressive exploration
- Make the best move possible subject to the tabu
restrictions in place - Cycling
- Cycling occurs when, after a series of moves, the
search returns to a previously visited solution
and assumes the same search trajectory as
previously explored - Neighborhood
- Defined within the context of the application
18Interesting Concepts
- Dynamic tabu tenure
- Change the tabu tenure for any attribute
- Can have each entry in tabu list have varied
tenures - Can change the tenure based on knowledge gleaned
from the search - Called a reactive tabu search strategy
- Aspiration criteria
- Means to override tabu status
- Do not want to miss good solutions
- Provides additional flexibility in the search
19More on Aspiration Criteria?
- Motivation - do NOT pass on good solutions
- Typical criteria
- Best-so-far
- Best found in some set of solutions
- Best according to some other criteria
- Multiple types of aspiration criteria are fine
20Short-Term Tabu Search
- Sufficient for many problems
- Hands-on will only focus on short-term aspects
- Tabu tenure can provide enough of an escape
mechanism for an effective search - Concept of non-improving moves forces route out
of local optimality basin - Reactively increasing the tabu tenure improves
the escape mechanism - The more difficult problems require additional
tabu search constructs
21(No Transcript)
22(No Transcript)
23A Simple Example
- (use the spreadsheet provided)
24MKP Example(should look somewhat familiar)
Maximize 78x1 73x2 81x3 68x4 59x5 48x6
45x7 22x8 46x9 96x10 29x11 56x12
26x13 74x14 18x15 Subject to 29x1 33x2
28x3 7x4 6x5 27x6 6x7 1x8 32x9
38x10 31x11 22x12 27x13 1x14 9x15 ?
153.5 1x1 10x2 7x3 14x4 14x5 13x6
8x7 13x8 10x9 7x10 3x11 11x12 10x13
8x14 9x15 ? 69 32x1 24x2 26x3 12x4
14x5 1x6 34x7 6x8 3x9 18x10 20x11
15x12 8x13 7x14 36x15 ? 128 xi 0,1
25Consider Simple Model
26Simple Case One
- Move - Toggle a variable to 1 and another to 0
- Selected Move - Largest change, to include
non-improving moves - All moves will remain feasibility
- Tabu list - prohibit variable toggled to 0 from
toggling back to 1 again for 4 iterations
27Problems with Simple Case
- Solution does not improve very much
- Never really comes near the constraint limits for
feasibility - A safe search, but not nearly aggressive enough
to provide good solutions
28A Better Simple Case
- Move Part 1 - Toggle a variable to 1
- Pick largest improvement as the move
- Allow solution to become infeasible
- Consider allowing infeasibility for multiple
steps - Move Part 2 - Toggle a variable to 0
- Continue until feasibility achieved
- Drop item from most violated constraint whose
constraint coefficient is largest
29Possible Extensions
- Better initial solutions to start the search
- Move and solution attributes you might want to
track - How might we diversify the search?
- What type of solutions might we consider saving
in an elite list? - Could we make random moves?
30Questions?