Professional Documents
Culture Documents
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.
...
f ij ...
...
objects
Cost = f ij drs
drs. ...
...
...
sites
QAP contd
Mathematically, it is equivalent to find a permutation p, whose
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, . . . ,
following way:
f denotes the objective function, s a feasible solution of the problem and S the entire set of feasible solutions.
Neighborhood
Tabu search is primarily centered on a non-trivial exploration
of all the solutions in a neighborhood For any solution s of S, a set N(s) S that is a set of the neighboring solutions of s For 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
Moves, neighborhood
A modification made to a solution is called a move
The modification of a solution of the QAP can be considered as
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
direct a search in few iterations towards good solutions are very different.
For inversion the number of moves is limited to n-1 (shows
scheduling applications)
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 of the evaluation of the gradient by means of a function implemented with the algebraic expressions of the partial derivatives.
evaluate (sm,m) as a function of (s,m) (which was evaluated in the preceding iteration)
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
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.
SHORT-TERM MEMORY
To 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.
Hashing tables
To 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 less If 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
Tabu list
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.
permutation p of n elements
Type of move very frequently used for this problem is to transpose
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
the reversal of a move, is uniformly drawn at random, between [0, 9n] and [1, 1n+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
Iteration 0
the initial solution p = (2, 4, 1, 5, 3) of cost 72, the search
during t = 9 iterations (i.e. until the iteration 10) to put element 2 on site 1 and element 1 on site 3 simultaneously
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,
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,
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)
A C++ program for the Robust taboo search method of Taillard, 1991
THANK YOU