
that job. Moreover, a resource can perform only one
operation at a time which correspond to the
disjunctive constraints, and an operation cannot be
interrupted unless it is finished, i.e. no pre-emption
is allowed. A solution for the job shop problem
consists in fixing a start time for each operation
satisfying the set of constraints.
The Flexible Job Shop Problem, first introduced
by Nuijten & Aarts (1996), is a generalisation of the
above mentioned problem, where each operation can
be processed by more than one resource and has
consequently a processing time depending on the
resource used. A solution consists then not only in
sequencing the operations on the resources and
fixing them a start time but also in allocating them to
a resource likely to achieve them. This problem is
also NP-hard.
Some approaches have been proposed for solving
it, they are based on the tabu search method. Among
them, the approach proposed by Mastrollili et
Gambrella (2000), Brucker & Neyer (1998),
Chambers & Barnes (1996).
3 TABU SEARCH
The model we propose in this article is based on the
tabu search method, Glover (1986), which is a meta-
heuristic based on the local search principle. The
latter consists in exploring the search space
composed of the set of solutions in order to find the
optimal one. More precisely, beginning from an
initial solution, it consists to choose, at each
iteration, the best solution in the current solution
neighbourhood, even if it does not improve the
quality of the solution. A neighbourhood is
composed of all the solutions obtained by a simple
move on the current solution. These solutions are
named, then, neighbours of the current solution.
In order to escape local optima in which the
system can be easily trapped, tabu search uses a
temporary memorisation structure in which it keeps
track of the last visited solutions: the tabu list. In
fact, a solution is forbidden during a number of
iterations equal to the tabu list size. Then, the best
solution among the ones not forbidden is selected for
the next iteration.
Although its efficiency in solving many difficult
problems, tabu search remains yet hardly adaptable
to flexible job shop problem because of the great
number of parameters to define:
– initial solution,
– neighbourhood function,
– evaluation of the current solution,
– tabu list size,…
In the following section, we describe briefly our
adaptation of the different parameters to the flexible
job shop. Subsequently, we present our multi-agent
model and its global dynamic.
3.1 Neighbourhood function
A tabu search based approach complexity depends
essentially on (1) the current solution neighbourhood
size and on (2) the evaluation scheme of this
neighbourhood with which the best solution will be
determined. Eikelder et al. (1997) have shown that
almost 90% of the solving time is consumed by
neighbourhood evaluation. Consequently, it seems
interesting to reduce the size of the neighbourhood
in order to reduce problem complexity.
To present our neighbourhood function, we need
first define the notion of critical path. A critical path
of a solution is the path which length is equal to the
schedule one and that is composed of operations
related to by either:
– a precedence constraint, or
– a disjunctive constraint (operations that can
be performed by the same resource)
A critical operation is an operation which
belongs to a critical path. the neighbourhood of a
solution is obtained by two types of moves:
1. Switch of two adjacent critical operations
achieved by the same resource.
2. Migration of a critical operation on another
potential resource.
3.2 Neighbourhood evaluation
The best non tabu neighbour belonging to the
current solution neighbourhood will be selected for
the next iteration. Hence, all neighbours must be
evaluated in order to determine the best one.
However, a global evaluation, i.e. computation of all
the start times of all the operations, of each
neighbour will need a considerable time. For this
reason, only a subset of operations will be taken into
account and to which start times will be redefined.
These operations are effectively concerned by the
move executed.
In the following, we define this sub-set of
operations in both cases of switch of two critical
operations and in the swap of a critical path on
another potential resource. We denote JS(O
i
) the
next operation of O
i
according to the process routing
of the job of O
i
. Similarly, we name MS(O
i
) the next
operation of O
i
performed on the same resource as
O
i
.
MULTI-AGENT APPROACH BASED ON TABU SEARCH FOR THE FLEXIBLE JOB SHOP SCHEDULING
PROBLEM
23