# Presented by, Anand A J M3 IE CET

 Given n objects and the flows f ij between the object i and the object j (i, j =

1. . . n), and given n sites with distance drs between the sites r and s (r, s = 1. . . n), the problem deals with placing the n objects on the n sites so as to minimize the sum of the products, flows × distances.

...

i

f ij ...

j

...

objects
 Cost = f ij drs

drs. ...

r

...

s

...

sites

QAP contd……
 Mathematically, it is equivalent to find a permutation p, whose

ith component pi denotes the place of the object i, which minimizes,

 APPLICATIONS:

assignment of offices or services in buildings (e.g. university campus, hospital, etc.), the assignment of the departure gates to airplanes in an airport, the placement of logical modules in electronic circuits, the distribution of the files in a database and the placement of the keys of keyboards of typewriters

.EXAMPLE  Consider the placement of 12 electronic modules (1. . b. . l) Table 1. . . 12) on 12 sites (a. . . .number of connections between modules Figure 1-Optimum solution .

.BASIC TABU SEARCH  the problem to be solved can be formulated in the following way:    f denotes the objective function. s a feasible solution of the problem and S the entire set of feasible solutions.

s can be a permutation of n objects and the set N(s) can be the possible solutions obtained by exchanging two objects in a permutation Figure 2. a set N(s) ⊂ S that is a set of the neighboring solutions of s  For the quadratic assignment problem.Neighborhood  Tabu search is primarily centered on a non-trivial exploration of all the solutions in a neighborhood  For any solution s of S.creating a neighboring solution .

characterized by the two elements to be transposed in the permutation Figure 3.Moves.Set of the permutations of 4 elements . neighborhood  A modification made to a solution is called a move  The modification of a solution of the QAP can be considered as a move.

transposition. m pertaining to a set of moves M Figure 4-Three possible neighborhoods on permutations (inversion. neighborhood contd….Moves.  The set N(s) of the solutions in the neighborhood of the solution s can be expressed as the set of the feasible solutions which one can obtain while applying a move m to the solution s.. displacement) .

.  For inversion the number of moves is limited to n-1 (shows worst behavior for many problems)  For transposition neighborhood it is n(n-1)/2 (used for QAP)  Displacement neighborhood is of size n(n-2)+1 (used for scheduling applications) .Moves.  The capabilities of these various types of neighborhoods to direct a search in few iterations towards good solutions are very different. neighborhood contd….

Evaluation of the neighborhood  Evaluation of neighborhood has to be done algebraically rather than empirically  Let us define Δ(s.m) = f(s ⊕ m) − f(s)  The numerical evaluation of f(s ⊕ m) − f(s) would be the equivalent to a numerical evaluation of the gradient.m) would be the equivalent of the evaluation of the gradient by means of a function implemented with the algebraic expressions of the partial derivatives. .  The calculation of the simplified function Δ(s.

m) (which was evaluated in the preceding iteration)  Thus the entire neighborhood can be examined very rapidly by memorizing the values of Δ(s.m) as a function of Δ(s..Evaluation of the neighborhood contd….m). . we can evaluate Δ(s⊕m’.  If we apply a move m’ to s during current iteration.

the value of a move m = (i. j) for a solution p is given by:  By memorizing the value of Δ(p. we can calculate the value of Δ(q. j)). (i. j)) . (i.Algebraic example of simplification for the QAP  With flows matrix F = (fij) and distances matrix D = (drs).

 This is implemented in form of a data structure called candidate list.  During the later iterations. some authors adopt the policy of randomly choosing a small number of solutions from N(s). . in each iteration. one can also consider partitioning M into subsets.  To reduce the number of eligible solutions of N(s).  When a neighborhood is given by a static set M of moves.CANDIDATE LIST  One possible way of accelerating the evaluation of the neighborhood can be to reduce its size. this reduction may also have the goal of directing the search. only those moves that were classified among the best will be considered. only one of these subsets will be examined.

 This can possibly be done efficiently by using hashing tables. the first idea that comes to mind is to check if a solution in the neighborhood was already visited.  It requires to memorize each solution visited and to test in each iteration for each eligible solution.SHORT-TERM MEMORY  To make use of memory in an iterative process. if the later were already enumerated. .

is to prohibit the return to a solution whose value was already obtained during t last iterations. s’ will not be considered any more as an eligible solution . the value of solution sk in iteration k. is assumed to be an integer. one can memorize in T[f(sk) modulo L] the value k + t  If a solution s’ of the potential neighborhood of the solution in the iteration k is such that T[f(s’) modulo L)] > k.Hashing tables  To direct an iterative search.  Thus we can prevent a cycle of length t or less  If f(sk).

Tabu list  .

the probability of remaining confined to a very limited number of solutions decreases and. consequently.  If this number is increased. .Duration of tabu conditions  For a very small number of tabu moves. the iterative search will tend to visit the same solutions over and over again. the probability of visiting several good solutions increases.

TABU LIST FOR THE QAP  A solution for the QAP can be represented under the form of a permutation p of n elements  Type of move very frequently used for this problem is to transpose the positions of two objects i and j  The technique for directing search at short-term is to prohibit. the application of the reverse of the moves  If the move (i. the reverse of a move can be defined as a move which simultaneously places the object i on the site pi and the object j on the site pj . j) is applied to the permutation p. during t iterations.

number to which one adds the tabu duration t  Thus. the number of iterations during which one avoids applying the reversal of a move.  t. 9・n] and [1. j) will be prohibited if both entries tipj and tjpi contain values higher than the current iteration number . a matrix T will be used whose tir entry will give the iteration number during which the element i was moved the last time from the site r (to go to the site pi). is uniformly drawn at random. 1・n+4]  To implement this tabu mechanism in practice. between [0.TABU LIST FOR THE QAP contd…. the move (i.

4. 3) of cost 72. 5.  Iteration 0  the initial solution p = (2. 1. the search can be started by initializing the matrix T = 0 .TABU LIST FOR THE QAP contd….

until the iteration 10) to put element 2 on site 1 and element 1 on site 3 simultaneously .  Iteration 1  the value Δ(p. it is prohibited during t = 9 iterations (i.e.3) is retained. (i. j)) is calculated for each transposition (i.TABU LIST FOR THE QAP contd…. j):  It is assumed that the move (1.

 For this iteration. giving minimum cost. 2. for a profit of 8 randomly selected tabu duration of the reverse move is t = 6.  Iteration 2  The move chosen during iteration 1 leads to the solution p = (1. authorized move (1. the reverse of the preceding move is prohibited. 4). . Calculating the value of each transposition. 3) of cost 60.TABU LIST FOR THE QAP contd…. the matrix T becomes. is retained. 5. 4.

2.  Iteration 3  The solution p = (5. 1. 3) of cost 52  the random selection of the tabu duration results in t = 8. . the following matrix is obtained. 4.TABU LIST FOR THE QAP contd….

2.  Hence we are forced to choose an unfavorable move (2. 4). . 3) of cost 52  It is not possible any more to choose the move (2. because this move is prohibited.  Iteration 4  solution p = (5. 4. which could bring us back to the preceding solution. 1. 4). Similar situation arises for the move (1. 3) corresponding to the minimum cost.TABU LIST FOR THE QAP contd…. with a selected tabu duration of t = 5. that increases the cost of the solution by 8.

 Iteration 5  The solution at the beginning of this iteration is: p = (5. 1. because it now facilitates to arrive at an optimal solution p = (4. 1. 3) . 3)  move degrading the quality of the solution at the preceding iteration was beneficial. 2.TABU LIST FOR THE QAP contd…. by choosing the move (1. 2. 4. 5. 3) of cost 50.

A C++ program for the Robust taboo search method of Taillard. 1991 .

.

.

.

.

.

.

THANK YOU .