Professional Documents
Culture Documents
A Fast Tabu Search Algorithm For Flow Shop Problem With Blocking
A Fast Tabu Search Algorithm For Flow Shop Problem With Blocking
Abstract: This paper develops a fast tabu search algorithm to minimize makespan in a flow shop problem with blocking.
We present a fast heuristic algorithm based on tabu search approach. In the algorithm the multimoves are used
that consist in performing several moves simultaneously in a single iteration of algorithm and guide the search
process to more promising areas of the solutions space, where good solutions can be found. It allow us to
accelerate the convergence of the algorithm. Besides, in the algorithm a dynamic tabu list is used that assists
additionally to avoid being trapped at a local optimum. The proposed algorithm is empirically evaluated and
found to be relatively more effective in finding better solutions in a much shorter time.
by π. It is known from literature (Ronconi, 2004) u1 = (j1 , k1 ) = (1, 1), and uw = (jw , kw ) = (n, m).
that Cmax (π) = Dπ(n)m , where the departure time The critical path can naturally be decomposed into
Dπ(j)k of job π(j) on machine k can be found using several specific subpaths and each of them contains
the following recursive expressions: the nodes linked by the same type of arcs, i.e. all arcs
of the subpath belong either to F 0 (π) or to F − (π).
Dπ(1)0 = 0, k = 1, . . . , m − 1, The first type of subpaths is determined by a maxi-
mal sequence (ug , ..., uh ) = ((jg , kg ), . . . , (jh , kh )))
Pk of u such that kg = kg+1 = . . . = kh and
Dπ(1)k = pπ(1)l , k = 1, . . . , m − 1,
l=1 ((ji , ki ), (ji+1 , ki+1 )) ∈ F 0 (π) for all i = g, . . . , h−
1, g < h. Each such subpath determines the sequence
Dπ(j)0 = Dπ(j−1),1 , j = 2, . . . , n,
of jobs
Dπ(j)k = max{Dπ(j)k−1 + pπ(j)k , Dπ(j−1),k+1 }, Bgh = (jg , jg+1 , . . . , jh−1 , jh ),
j = 2, . . . , n, k = 1, . . . , m − 1, which is called the block of jobs in π. Jobs jg and
jh in Bgh are the first and last ones, respectively. A
Dπ(j)m = Dπ(j),m−1 + pπ(j)m , j = 1, . . . , n. block corresponds to a sequence of jobs (operations)
The two-machine flow shop problem with block- processed on machine kg without inserted idle time.
ing can be solved in O(nlogn) time (Reddi and Ra- Next, we define the internal block of Bgh as the
mamoorthy, 1972) using an improved implementation subsequence
by (Gilmore et al., 1985) of the algorithm of (Gilmore ∗
Bgh = Bgh − {jg , jh }.
and Gomory, 1964). For m > 2, the problem is un-
The second type of subpaths is defined by a max-
fortunately NP-hard.
imal sequence (us , ..., ut ) = ((js , ks ), . . . , (jt , kt )))
It is useful to present the considered problem by
of u such that ((ji , ki ), (ji+1 , ki+1 )) ∈ F − (π) for all
using a graph (Grabowski and Pempera, 2000). For
i = s, . . . , t−1, s < t. Each such subpath determines
the given processing order π, we create the graph
the sequence of jobs
G(π) = (N, R ∪ F 0 (π) ∪ F − (π)) with a set of nodes
N and a set of arcs R ∪ F 0 (π) ∪ F − (π), where: Ast = (js , js+1 , . . . , jt−1 , jt ),
• N = {1, ..., n}×{1, ..., m}, where node (j, k) rep- which is called the antiblock of jobs in π. Similarly
resents the k-th operation of job π(j). The weight to in Bgh , jobs js and jt in Ast are the first and
of node (j, k) ∈ N is given by the processing time last ones, respectively. An antiblock corresponds to
pπ(j)k . blocked jobs. Note that operation Oπ(ji )ki of jobjπ(ji)
S S
n m−1 is processed on machine ki with ki > ki+1 = ki − 1,
• R = {((j, k), (j, k + 1))}. Thus, R con- i = s, . . . , t − 1. Similarly to in Bgh , now we define
j=1 k=1 the internal antiblock of Ast as the subsequence
tains arcs connecting consecutive operations of the
same job. A∗st = Ast − {js , jt }.
S S
n−1 m The critical path u can contain many different blocks
• F 0 (π) = {((π(j), k), (π(j +1), k))}. Arcs and antiblocks, and let lB and lA denote, respectively,
j=1 k=1 the numbers of blocks and antiblocks in u. Each of
from F 0 (π) connect jobs to be processed on the blocks (or antiblocks) can be characterized by the pair
machines in the processing order given by π. Each (gi , hi ), i = 1, . . . , lB (or (si , ti ), i = 1, . . . , lA ), and
arc of F 0 (π) has weight zero. let GH = {(gi , hi ) | i = 1, . . . , lB } (or ST =
S m−1
n−1 S {(si , ti ) | i = 1, . . . , lA }) be the set of the pairs de-
• F − (π) = {((π(j), k + 1), (π(j + 1), k)}. noting all blocks (or antiblocks) in u.
j=1 k=1
Each arc ((π(j), k+1), (π(j+1), k)) ∈ F − (π) has Property 1 (Grabowski and Pempera, 2000).
weight minus pπ(j),k+1 and ensures the blocking For any block Bgh (or antiblock Ast ) in π, let α be
a processing order obtained from π by an interchange
of job π(j + 1) (i.e. operation Oπ(j+1),k ) on the ∗
of jobs from the internal block Bgh (or A∗st ). Then we
machine k, if the machine k + 1 is not free.
have Cmax (α) ≥ Cmax (π).
The makespan Cmax (π) of the flow-shop problem
with blocking is equal to the length of the longest Immediately from Property 1, it results the follow-
(critical) path from node (1, 1) to (n, m) in G(π). ing Theorem
Each path from (1, 1) to (n, m) can be repre- Theorem 1 .
sented by a sequence of nodes, and let denote a crit- Let π ∈ Π be any permutation with blocks Bgh
ical path in G(π) by u = (u1 , u2 , . . . , uw ), where and antiblocks Ast . If the permutation β has been
ui = (ji , ki ) ∈ N , 1 ≤ i ≤ w and w is the num- obtained from π by an interchange of jobs that
ber of nodes in this path. Obviously, it has to be Cmax (β) < Cmax (π), then in β
72
A FAST TABU SEARCH ALGORITHM FOR FLOW SHOP PROBLEM WITH BLOCKING
(i) at least one job j ∈ Bgh (or j ∈ Ast ) precedes job ately after job π(y) (or before π(y)) in π if x < y (or
jg (or js ), for some (g, h) ∈ GH (or (s, t) ∈ ST ), x > y).
or The neighbourhood of π consists of permutations
(ii) at least one job j ∈ Bgh (or j ∈ Ast ) succeeds job πv obtained by moves from a given set M , and de-
jh (or jt ) , for some (g, h) ∈ GH (or (s, t) ∈ ST ). noted as N (M, π) = {πv | v ∈ M }. The proper
Note that Theorem 1 provides the necessary con- selection of M is very important to construct an ef-
dition to obtain a permutation β from π such that fective algorithm.
Cmax (β) < Cmax (π). For each job j we consider at most one move to the
right and at most one to the left. Moves are associ-
ated with blocks and antibloks. Let us take the block
Bgh = (jg , jg+1 , . . . , jh−1 , jh )) in π. Now we define
3 ALGORITHM TABU SEARCH the sets of candidates
WITH MULTIMOVE (TS+M) a
Egh = {jg , jg+1 , . . . , jh−1 } = Bgh − {jh },
b
Egh = {jg+1 , . . . , jh−1 , Jh )} = Bgh − {jg }.
Currently, tabu search (TS) approach, see (Glover,
1989) and (Glover, 1990), is one of the most effective Each set Egha b
(or Egh ) contains the jobs in block Bgh
methods using local search techniques to find near- of π that are candidates for being moved to a position
optimal solutions of many combinatorial intractable after (or before) all other jobs in this block.
optimization problems, such as the vast majority of For any block Bgh in π, we define the following set
scheduling problems. This technique aims to guide of moves to the right
the search by exploring the solution space of a prob-
lem beyond local optimality. Since TS has not been a
RBgh = {(j, jh ) | j ∈ Egh },
applied to our problem, we propose a TS approach.
The main idea of this method involves starting from and the set to the left
an initial basic job permutation and searching through b
LBgh = {(j, jg ) | j ∈ Egh }.
its neighbourhood, a set of permutations generated
a
by the moves, for a permutation with the lowest Set RBgh contains all moves of jobs of Egh to the
makespan. The search then is repeated starting from right after the last job jh of block Bgh . By anal-
the best permutation, as a new basic permutation, and ogy, set LBgh contains all moves of jobs of Egh b
the process is continued. One of the main ideas of to the left before the first job jg of block Bgh . It
TS is the use of a tabu list to avoid cycling, overcom- should be found that for each move v ∈ RBgh (or
ing local optimum, and to guide the search process v ∈ LBgh ) , the necessary condition of Theorem 1 is
to the solutions regions which have not been exam- satisfied to obtain a permutation πv from π such that
ined. The tabu list records the performed moves that, Cmax (πv ) < Cmax (π). As a consequence, in algo-
for a chosen span of time, have tabu status and cannot rithm, we will employ the set of moves
be applied currently (they are forbidden); that is they
[
determine forbidden permutations in the currently an- MB = [RBgh ∪ LBgh ],
alyzed neighbourhood. Usually, the algorithm TS ter-
(g,h)∈GH
minates when it has performed a given number of iter-
ations (Maxiter), time has run out, the neighbourhood The similar considerations can be provided for the
is empty, a permutation with a satisfying makespan antiblocks Ast , and we then obtain the set of moves
has been found, etc. [
MA = [RAst ∪ LAst ].
(s,t)∈ST
3.1 Moves and neighbourhood
Finally, in our TS+M, we propose the following set of
One of the main components of a local search algo- moves
rithm is the definition of the move set that creates a M = M B ∪ M A,
neighbourhood. A move changes the location of some which creates neighbourhood N (M, π).
jobs in a given permutation. The intuition following In order to accelerate the convergence of the algo-
from Theorem 1 suggests that the ”insert” type move rithms to good solutions, we propose to use the mul-
should be the most proper one for the problem con- timoves. A multimove consists of several moves that
sidered. Let v = (π(x), π(y)) be a pair of jobs in a are performed simultaneously in a single iteration of
permutation π, x, y ∈ {1, 2, ..., n}, x 6= y. The pair algorithm. The performances of the multimoves al-
v = (π(x), π(y)) defines a move in π. This move low us to generate permutations that differ in various
consists in removing job π(x) from its original posi- significant ways from those obtained by performing a
tion x, and next inserting it in the position immedi- single move and to carry the search process to hitherto
73
ICINCO 2005 - INTELLIGENT CONTROL SYSTEMS AND OPTIMIZATION
non-visited regions of the solution space. Further- From the definition of BM (−) it results that each
more, in our algorithm, the multimoves have the pur- move v ∈ BM (−) produces permutation πv ”bet-
pose of guiding the search to visit the more promising ter” than π. Therefore, as a multimove, we took the
areas, where ”good solutions” can be found. In lo- set BM (−) . The use of this multimove consists in
cal search algorithms, the use of multimoves can be performing all the moves from BM (−) simultane-
viewed as a way to apply a mixture of intensification ously, generating a permutation, denoted as πv , where
and diversification strategies in the search process. v = BM (−) . To simplify, in the further consider-
In the following we present a method that will be ations, multimove BM (−) will be denoted alterna-
used in our TS algorithm to provide the multimoves. tively by v.
For the blocks Bgh , we consider the following sets
of moves 3.2 Search process
∗ ∗
RBgh = {(j, jh ) | j ∈ Bgh },
∗ ∗ TS+M starts from an initial basic permutation π that
LBgh = {(j, jg ) | j ∈ Bgh }.
implies the neighbourhood N (M, π). This neigh-
Set RBgh∗
(or LBgh∗
) contains all moves that insert the bourhood is searched in the following manner.
jobs from the internal block Bgh ∗
after the last job jh First, the ”best” move v ∗ ∈ M that gener-
(or before the first job jg ) of this block (see Section ates the permutation πv∗ ∈ N (M, π) with the
Moves and neighbourhood). lowest makespan is chosen, i.e. Cmax (πv∗ ) =
Next, for the block Bgh , the ”best” move vR(gh) ∈ minv∈M Cmax (πv ). If Cmax (πv∗ ) < C ∗ (where C ∗
RBgh∗
and vL(gh) ∈ LBgh ∗
are chosen (respectively): is the best makespan found so far), then the move v ∗
is selected for the search process. Otherwise, i.e. if
Cmax (πvR(gh) ) = min∗ Cmax (πv ), Cmax (πv∗ ) ≥ C ∗ , then the set of unforbidden moves
v∈RBgh (UF) that do not have the tabu status, is defined
Cmax (πvL(gh) ) = min Cmax (πv ),
∗ , v6=v
v∈LBgh R(gh)
U M = {v ∈ M | move v is UF}.
and the following sets of moves are created Next, the ”best” move v ∗ ∈ U M that generates
the permutation πv∗ ∈ N (U M, π) with the lowest
RB = {vR(gh) | (g, h) ∈ GH}, makespan, i.e. Cmax (πv∗ ) = minv∈U M Cmax (πv ),
LB = {vL(gh) | (g, h) ∈ GH}, is chosen for the search.
If the move v ∗ is selected, then a pair of jobs cor-
and responding to the move v ∗ is added to the tabu list
(see next section Tabu list and tabu status of move for
BB = RB ∪ LB = {v1 , v2 , ..., v2lB }.
details) and the resulting permutation πv∗ is created.
Let Next, this permutation becomes the new basic one,
i.e. π := πv∗ and algorithm restarts to next iteration.
BB (−) = {v ∈ BB | Cmax (πv ) < Cmax (π)} = We develop our algorithm tabu search by using
= {v1 , v2 , ..., vp }, p ≤ 2lB . the multimoves in some specific situations.If permu-
tation πv is obtained by performing a multimove v,
be the set of the profitable moves of blocks Bgh per- then the next one is made when Piter of the con-
forming of which generates permutation πv ”better” secutive non-improving iterations will pass in TS+M.
than π. In other words, the multimove is used periodically,
The similar consideration can be provided for the where Piter is the number of the iterations between
antiblocks Ast , and we then obtain their the set of the neighbouring ones.
profitable moves If a multimove is performed, then a pair of jobs
corresponding to the move v ∗ ∈ v with the smallest
BA(−) = {v ∈ BA | Cmax (πv ) < Cmax (π)} =
value of Cmax (πv∗ ) is added to tabu list T . The Piter
= {v1 , v2 , ..., vq }, q ≤ 2lA . is a tuning parameter which is to be chosen experi-
The main idea of a multimove is to consider a search mentally.
which allows us several moves to be made in a sin-
gle iteration and carry the search to the more promis- 3.3 Tabu list and tabu status of move
ing areas of solution space, where ”good solutions”
can be found. In our algorithm, the set of promising In our algorithm we use the cyclic tabu list defined
moves can be defined as follows as a finite list (set) T with length LengthT contain-
ing ordered pairs of jobs. The list T is a realiza-
BM (−) = BB (−) ∪ BA(−) = {v1 , v2 , ..., vz }, tion of the short-term search memory. If a multi-
z ≤ 2(lB + lA ). move v is performed on permutation π, then, for the
74
A FAST TABU SEARCH ALGORITHM FOR FLOW SHOP PROBLEM WITH BLOCKING
75
ICINCO 2005 - INTELLIGENT CONTROL SYSTEMS AND OPTIMIZATION
whereas TSN found the ones with APRI = 0.36. For Leistein, R. (1990). Flowshop sequencing with limited
the instances with n × m = 200 × 20, respective val- buffer storage. International Journal of Production
ues are equal to 2.52 and 1.35. Research, 28:2085–2100.
Analysing the performance of our algorithm, we McCormick, M., Pinedo, M., Shenker, S., and Wolf, B.
have observed that TS+M converges to the good so- (1989). Sequencing in an assembly line with block-
lutions significantly faster, on the average, than TSN. ing to minimize cycle time. Operations Research,
The APRI values for all instances equal to 2.21 was 37:925–935.
found by TSN in 30 000 iterations whereas for TS+M Nawaz, M., Enscore, E., and Ham, I. (1983). A heuristic al-
the respective number is 3 000 iterations. Further- gorithm for the m-machine, n-job flowshop sequenc-
more, about 85 % improvements obtained by TS+M ing problem. OMEGA The International Journal of
(i.e. APRI = 1,87 - for all instances) has been reached Management Science, 11:91–95.
in 1 000 iterations. Nowicki, E. (1999). The permutation flow shop with
Generally speaking TS+M produces better results buffers: A tabu search approach. European Journal
than TSN in a significantly shorter time. of Operational Research, 116:205–219.
Peng, Y., Soong, B., and Wang, L. (2004). Electronics Let-
ters, 40:375–376.
ACKNOWLEDGEMENTS Reddi, S. and Ramamoorthy, C. (1972). On flowshop se-
quencing problems with no-wait in process. Opera-
tional Research Quarterly, 23:323–331.
This research has been supported by KBN Grant 4
T11A 016 24. The authors are due to anonymous ref- Ronconi, D. (2004). A note on constructive heuristics for
the flowshop problem with blocking. International
erees for their useful comments and suggestions. Journal of Production Economics, 87:39–48.
Ronconi, D. and Armentano, V. (2001). Lower
bounding schemes for flowshops with blocking in-
REFERENCES process. Journal of the Operational Research Society,
52:1289–1297.
Abadi, I. N. K., Hall, N., and Sriskandarayah, C. (2000). Smutnicki, C. (1983). Some properties of scheduling prob-
Minimizing cycle time in a blocking flowshop. Oper- lem with storing constraints. Zeszyty Naukowe AGH:
ations Research, 48:177–180. Automatyka (in Polish), 34:223–232.
Caraffa, V., Ianes, S., Bagchi, T., and Sriskandarayah, C. Taillard, E. (1993). Benchmarks for basic scheduling prob-
(2001). Minimizing makespan in a blocking flow- lems. European Journal of Operational Research,
shop using genetic algorithms. International Journal 64:278–285.
of Production Economics, 70:101–115.
Gilmore, P. and Gomory, R. (1964). Sequencing a state-
variable machine: a solvable case of the traveling
salesman problem. Operations Research, 12:655–
679.
Gilmore, P., Lawler, E., and Shmoys, D. (1985). Well-
solved special cases. E.L. Lawler, J.K. Lenstra,
A.H.G. Rinnooy Kan, D.B. Shmoys (Eds), The Trav-
eling Salesman Problem: A Guided Tour of Combina-
torial Optimization. Wiley: Chichester, pages 87–143.
Glover, F. (1989). Tabu search. part i. ORSA Journal of
Computing, 1:190–206.
Glover, F. (1990). Tabu search. part ii. ORSA Journal of
Computing, 2:4–32.
Grabowski, J. and Pempera, J. (2000). Sequencing of jobs
in some production system. European Journal of Op-
erational Research, 125:535–550.
Grabowski, J. and Wodecki, M. (2004). A very fast
tabu search algorithm for the flow shop problem with
makespan criterion. Computers and Operations Re-
search, 11:1891–1909.
Hall, N. and Sriskandarajah, C. (1996). A survey of ma-
chine scheduling problems with blocking and no-wait
in process. Operations Research, 44:510–525.
76