1 TABU SEARCH •
TS begins in the same way as ordinary or neighbourhood search, proceeding iteratively from one solution to another until a chosen termination criterion is satisfied.
•
TS is a meta-heuristic that guides a local heuristic search procedure to explore the solution space beyond local optimality.
•
The local procedure is a search that uses an operation called ‘move’ to define the neighbourhood of any given solution.
•
A special feature of TS is its exploitation of adaptive forms of memory.
•
TS is an iterative procedure for solving discrete combinatorial optimization problems.
•
The incorporation of adaptive memory qualifies TS to be an intelligent tool.
•
TS is becoming popular among researches and practitioners perhaps because it has a rationale that is transparent and natural: its goal is to emulate intelligent uses of memory, particularly for exploiting structure.
Intensification and Diversification: •
These are two highly important components of TS.
•
Intensification strategies are based on modifying choice rules to encourage move combinations and solution features that were historically found good. That is, the search focuses on examining neighbours of elite solutions.
•
Diversification strategies encourage the search process to examine unvisited region.
Original meaning of tabu or taboo: •
The word tabu (or taboo) comes from Tongan, a language of Polynesia, where it was used by the aborigines of Tonga Island to indicate things that cannot be touched because they are sacred.
•
According to Webster’s Dictionary, the word now also means “a prohibition imposed by social custom as a protective measure” or something “banned as constituting a risk”.
2 Meaning of tabu in TS : •
It is concerned with imposing restrictions to guide a search process to negotiate certain areas that would be difficult.
TS Method: Step 1: Initialization • Begin with the same initialization used in neighbourhood search. Step 2: Choice and Termination • Determine a neighbourhood. • Select a candidate solution from this set that minimize cost. Step 3: Update • Perform update for the search method. • Update the history record or the memory record. The use of memory in TS: 1. To improve the efficiency of the search process: because need to remember more than just local information. 2. To have a systematic usage of memory: need to remember information in a better way. 3. To avoid revisiting same solution (recycling): thus avoiding being trapped in local optima. • •
Revisiting same solution or move is forbidden so, this solution must be tabooed or in other words, keep it in a tabu list. The memory used in TS can be classified as explicit, attributive, short-term and longterm.
•
Explicit memory records complete solutions, typically consisting of elite solutions visited during the search. An extension of this memory records highly attractive but unexplored neighbours of elite solutions. (Requires an excessive computer memory space.)
•
Attributive memory is used for guiding purposes. It records information about solution attributes that change in moving from one solution to another. (Requires less computer memory space).
3 •
Example: in a TSP problem, explicit memory will record: 1 – 4 – 6 – 5 – 2 – 3 – 1 , 1 – 4 – 2 – 5 – 6 – 3 – 1 etc.. While attributive memory will record: Drop (4-6) & (2-3) Add (4-2) & (6-3) etc….
•
In TS strategies, TS with short term memory may allow a solution x to be visited more than once. But most likely the neighbourhood is different each time.
•
TS with long term memory may likely allow duplicating of a previous neighbourhood upon revisiting a solution i.e. same neighbourhood may occur.
•
To exploit these memories, selected attributes that occur in solutions recently visited are labelled tabu-active, and solutions that contain tabu-active elements or particular combinations of these attributes are those that become tabu.
•
Note that while the tabu classification strictly refers to solutions that are forbidden to be visited, by virtue of containing tabu-active attributes, we also often refer to moves that lead to such solutions as being tabu.
Minimum k-Tree Problem Example •
The minimum k-Tree problem seeks a tree consisting of k edges in a graph so that the sum of the weights of these edges is minimum (Lokketangen, et el. 1994).
•
An instance of this problem is given in the figure below, 26 2
6
1
5
17 1
23
3
25
20
18
15
4 8
6 6
7
12 16 16
16 20
9 9
16 24
7 8
11 9
9
10
Figure 1: Weighted undirected graph
4 •
Assume that the move mechanism is defined by edge-swapping and the greedy procedure is used to find an initial solution. The greedy construction starts by choosing the edge (i, j) with the smallest weight in the graph.
•
For k = 4, the greedy construction performs the steps in the table below: Step 1 2 3 4
Greedy construction Selection (1,2) (1,2) (1,4), (2,3) (1,4) (2,3), (3,4), (4,6), (4,7) (4,7) (2,3), (3,4), (4,6), (6,7), (7,8) (6,7) Candidates
Total weight 1 26 34 40
•
The construction starts by choosing edge (1,2) with a weight of 1 (the smallest weight of any edge in the graph).
•
After this selection, the candidate edges are those that connect the nodes in the current partial tree with those nodes not in the tree (i.e. edges (1,4) and (2,3)).
•
Since edge (1,4) minimizes the weight increases, it is chosen to be part of the partial solution. The rest of the selections follow the same logic, and the construction ends when the tree consists of 4 edges (i.e. the value of k).
•
The initial solution in this particular case has a total weight of 40.
Choosing Tabu Classifications •
The tabu-active status has different meanings depending on whether the edge is added or dropped.
•
For an added edge, tabu-active means that this edge is not allowed to be dropped from the current tree for the number of iterations that defines its tabu tenure.
•
For a dropped edge, on the other hand, tabu-active means the edge is not allowed to be included in the current solution during its tabu tenure.
•
Since there are many more edges outside the tree than in the tree, it seems reasonable to implement a tabu structure that keeps a recently dropped edge tabu-active for a longer period of time than a recently added edge.
5 Illustrative Tabu Classifications for the Min k-Tree Problem •
Suppose that in the Min k-Tree problem instance of Figure 1, dropped edges are kept tabu-active for 2 iterations, while added edges are kept tabu-active for only one iteration (the number of iterations an edge is kept tabu-active is called the tabu tenure of the edge). Iteration 1 2 3 4 5 6 7 8 9 10
TS iterations Tabu-active net tenure Add 1 2 (4,6) (4,6) (4,7) (6,8) (6,8), (4,7) (6,7) (8,9) (6,7), (8,9) (1,2) (4,7) (1,2), (4,7) (1,4) (6,7) (1,4), (6,7) (4,6) (6,9) (4,6), (6,9) (6,8) (8,10) (6,8), (8,10) (4,7) (9,12) (4,7), (9,12) (6,7) (10,11) (6,7), (10,11) (6,9) (5,9)
Drop
Weight
(4,7) (6,7) (1,2) (1,4) (4,6) (6,8) (4,7) (6,7) (6,9) (9,12)
47 57 63 46 37 37 38 41 34 41
•
The net tenure values of 1 and 2 in the table above for the currently tabu-active edges indicate the number of iterations that these edges will remain tabu-active (including the current iteration).
•
At iteration 2, the reversal of the move of iteration 1 (that is, the move that now adds (4,7) and drops (4,6)) is clearly tabu, since both of its edges are tabu-active at iteration 2.
•
In addition, the move that adds (4,7) and drops (6,7) is also classified tabu, because it contains the tabu-active edge (4,7) (with a net tenure of 2).
•
For simplicity, we select an arbitrary stopping rule that ends the search at iteration 10. as illustrated in the table above, the method continues to generate different solutions, and over time the best known solution progressively improves.
•
In fact, it can be verified for this simple example that the solution obtained at iteration 9 is optimal.
6 Exercise: Suppose that we have a single machine-scheduling problem consisting of 8 jobs. The job processing times and due dates are given below: Job Processing time (day) Due date (day)
A 3
B 2
C 5
D 8
E 1
F 6
G 4
H 3
5
10
15
17
13
18
12
30
The above problem is to be solved to minimize total tardiness with a tardiness penalty of RM200 for each day a job is off schedule. Suppose that Tabu Search is used to solve the problem.