solving qap using tabu search

33
Presented by, Anand A J M3 IE CET

Upload: anand-aj

Post on 06-Sep-2014

156 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Solving Qap Using Tabu Search

Presented by,

Anand A J

M3 IE

CET

Page 2: Solving Qap Using Tabu Search

QUADRATIC ASSIGNMENT PROBLEM (QAP)

Given n objects and the flows fij 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.

r s... ... ... sites

i j... ... ... objects

drs.

fij

Cost = fij drs

Page 3: Solving Qap Using Tabu Search

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

Page 4: Solving Qap Using Tabu Search

EXAMPLEConsider the placement of 12 electronic modules (1, . . . ,

12) on 12 sites (a, b, . . . , l)

Table 1- number of connections between modules Figure 1-Optimum solution

Page 5: Solving Qap Using Tabu Search

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.

Page 6: Solving Qap Using Tabu Search

NeighborhoodTabu search is primarily centered on a non-trivial exploration

of all the solutions in a neighborhoodFor any solution s of S, a set N(s) S ⊂ that is a set of the

neighboring solutions of sFor the quadratic assignment problem, 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- creating a neighboring solution

Page 7: Solving Qap Using Tabu Search

Moves, neighborhoodA modification made to a solution is called a moveThe modification of a solution of the QAP can be considered

as a move, characterized by the two elements to be transposed in the permutation

Figure 3- Set of the permutations of 4 elements

Page 8: Solving Qap Using Tabu Search

Moves, neighborhood contd…..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, m pertaining to a set of moves M

Figure 4-Three possible neighborhoods on permutations (inversion, transposition,displacement)

Page 9: Solving Qap Using Tabu Search

Moves, neighborhood contd…..The capabilities of these various types of neighborhoods to

direct a search in few iterations towards good solutions are very different.

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)

Page 10: Solving Qap Using Tabu Search

Evaluation of the neighborhoodEvaluation 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.

The calculation of the simplified function Δ(s,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.

Page 11: Solving Qap Using Tabu Search

Evaluation of the neighborhood contd…..

If we apply a move m’ to s during current iteration, we can evaluate Δ(s m’,m⊕ ) as a function of Δ(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).

Page 12: Solving Qap Using Tabu Search

Algebraic example of simplification for the QAPWith flows matrix F = (fij) and distances matrix D =

(drs), the value of a move m = (i, j) for a solution p is given by:

By memorizing the value of Δ(p, (i, j)), we can calculate the value of Δ(q, (i, j))

Page 13: Solving Qap Using Tabu Search

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.

To reduce the number of eligible solutions of N(s), some authors adopt the policy of randomly choosing a small number of solutions from N(s).

When a neighborhood is given by a static set M of moves, one can also consider partitioning M into subsets; in each iteration, only one of these subsets will be examined.

During the later iterations, only those moves that were classified among the best will be considered.

This is implemented in form of a data structure called candidate list.

Page 14: Solving Qap Using Tabu Search

SHORT-TERM MEMORYTo make use of memory in an iterative process, 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, if the later were already enumerated.

This can possibly be done efficiently by using hashing tables.

Page 15: Solving Qap Using Tabu Search

Hashing tablesTo direct an iterative search, is to prohibit the return to a

solution whose value was already obtained during t last iterations.

Thus we can prevent a cycle of length t or lessIf f(sk), 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, s’ will not be considered any more as an eligible solution

Page 16: Solving Qap Using Tabu Search

Tabu list

Page 17: Solving Qap Using Tabu Search

Duration of tabu conditionsFor a very small number of tabu moves, the iterative

search will tend to visit the same solutions over and over again.

If this number is increased, the probability of remaining confined to a very limited number of solutions decreases and, consequently, the probability of visiting several good solutions increases.

Page 18: Solving Qap Using Tabu Search

TABU LIST FOR THE QAPA 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, during t iterations, the application of the reverse of the moves

If the move (i, j) is applied to the permutation p, 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

Page 19: Solving Qap Using Tabu Search

TABU LIST FOR THE QAP contd….t, the number of iterations during which one avoids applying

the reversal of a move, is uniformly drawn at random, between [0, 9 ・ n] and [1, 1 ・ n+4]

To implement this tabu mechanism in practice, 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), number to which one adds the tabu duration t

Thus, the move (i, j) will be prohibited if both entries tipj and tjpi contain values higher than the current iteration number

Page 20: Solving Qap Using Tabu Search

TABU LIST FOR THE QAP contd….

Iteration 0 the initial solution p = (2, 4, 1, 5, 3) of cost 72, the search

can be started by initializing the matrix T = 0

Page 21: Solving Qap Using Tabu Search

TABU LIST FOR THE QAP contd….Iteration 1

the value Δ(p, (i, j)) is calculated for each transposition (i, j):

It is assumed that the move (1,3) is retained. it is prohibited during t = 9 iterations (i.e. until the iteration 10) to put element 2 on site 1 and element 1 on site 3 simultaneously

Page 22: Solving Qap Using Tabu Search

TABU LIST FOR THE QAP contd…. Iteration 2

The move chosen during iteration 1 leads to the solution p = (1, 4, 2, 5, 3) of cost 60. Calculating the value of each transposition,

For this iteration, the reverse of the preceding move is prohibited, authorized move (1, 4), giving minimum cost, is retained, for a profit of 8 randomly selected tabu duration of the reverse move is t = 6, the matrix T becomes,

Page 23: Solving Qap Using Tabu Search

TABU LIST FOR THE QAP contd….Iteration 3

The solution p = (5, 4, 2, 1, 3) of cost 52

the random selection of the tabu duration results in t = 8, the following matrix is obtained,

Page 24: Solving Qap Using Tabu Search

TABU LIST FOR THE QAP contd…. Iteration 4

solution p = (5, 2, 4, 1, 3) of cost 52

It is not possible any more to choose the move (2, 3) corresponding to the minimum cost, which could bring us back to the preceding solution, because this move is prohibited. Similar situation arises for the move (1, 4).

Hence we are forced to choose an unfavorable move (2, 4), that increases the cost of the solution by 8, with a selected tabu duration of t = 5,

Page 25: Solving Qap Using Tabu Search

TABU LIST FOR THE QAP contd….Iteration 5

The solution at the beginning of this iteration is: p = (5, 1, 4, 2, 3)

move degrading the quality of the solution at the preceding iteration was beneficial, because it now facilitates to arrive at an optimal solution p = (4, 1, 5, 2, 3) of cost 50, by choosing the move (1, 3)

Page 26: Solving Qap Using Tabu Search

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

Page 27: Solving Qap Using Tabu Search
Page 28: Solving Qap Using Tabu Search
Page 29: Solving Qap Using Tabu Search
Page 30: Solving Qap Using Tabu Search
Page 31: Solving Qap Using Tabu Search
Page 32: Solving Qap Using Tabu Search
Page 33: Solving Qap Using Tabu Search

THANK YOU