Professional Documents
Culture Documents
_____________________________________
978 -1-4244-1651-6/08/$25.00 © 2008 IEEE
n jobs are processed on m machines and each job Inverse timetabling procedure generates a new
has a specific processing route. For job J i , rij sequence for the given sequence in terms of inverse
processing sequence and inverse instance. Then, the
( 0 d i d n 1 , 0 d j d m 1 ) indicates the machine
new sequence and inverse instance is applied to the
which the j th operation has to be processed on, pij non-delay timetabling procedure to obtain a timetable.
( 0 d i d n 1 , 0 d j d m 1 ) states the processing time The makespan can be calculated according to the
timetable.
of job J i on machine M j . Li ( i 0, , n 1 )
indicates the aggregated processing times of J i , i.e. 3.2 Enhanced Timetabling
m 1 Definition 4 Left shift tries to start a job as early as
Li ¦
j 0
pij . Processing sequence S (S [ 0] ,..., S [ n1] ) , possible without ordinal constraint.
Definition 5 Minimal interval between jobs J i
in which S [i ] ^J k | 0 d k d n 1` is the i th ^ `
and J j is min t j ti in which J j is scheduled after
( i 1, , n ) job in S and tS [i ] denotes the starting J i ( i.e. t j t ti ) as close as possible.
time of S [i ] . Furthermore, the constraints of sequence, Definition 6 Safe interval between J i and job J j
synchronicity and no-wait [10] should be hold. ^ `
is min t j ti , where J i starts earlier than J j on
For the considered problem, which is NP-hard in
each machine (see Figure 1).
strong sense, effective algorithms so far usually
24 58
decompose it into two sub-problems: (1) Sequencing 1 2
problem, in which a processing sequence of an optimal 18 72
schedule is found for a given no-wait job shop problem. 1 2
32 23
(2) Timetabling problem, in which a feasible set of
1 2
starting times of the jobs is found to realize the 81 99
minimum makespan for the processing sequence 1 2
obtained from (1). 25 28
1 2
Both the sub-problems have been proved to be
99
NP-hard in strong sense [25]. It is commonly believed Safe interval
that the sequencing problem is much more difficult than Fig. 1 Safe interval of J1 and J 2
the timetabling one.
For the considered n jobs, minimal interval and
3. Enhanced timetabling approach safe interval of each pair of jobs can be predetermined
3.1 Non-Delay Timetabling and Inverse and recorded in minimal interval matrix mij nun and > @
Timetabling
Schuster and Framinan [9] described the Non-Delay safe interval matrix sij > @nun .
Timetabling, which is easy and fast to construct a For job J j and job J i , if J i precedes to J j ,
timetable.
there are three cases for the starting time distance
Definition 1 Ordinal constraint is tS[ 0 ] d ... d tS[ n 1]
t j ti . (1) t j ti t sij , no intersection (Gantt charts
for processing sequence (S [ 0] ,..., S [ n1] ) . overlap on some machines) exists in the timetable of
The non-delay timetabling procedure starts each job J i and J j . (2) t j ti mij , intersection must exist in
as early as possible without violating ordinal constraint.
Framinan and Schuster [10] develop the inverse the timetable. (3) t j ti is called uncertain interval
timetabling to further improve the non-delay when mij t j ti sij and it is hard to determine
timetabling.
whether there exists intersection or not. Therefore,
Definition 2 Inverse instance is an instance identical
uncertain interval is not taken into consideration to
to the original one which is defined by n , m , pij
avoid enormous complex cases in the paper. Actually,
and rij , but each job has the inverse processing route, minimal interval equals to safe interval in some
situations.
i.e. rij' ri , m 1 j ( j 0, , m 1) in routing matrix Definition 7 Right shift tries to start a job as early as
>r @
'
ij num and pij' pi , m 1 j ( j 0, , m 1) in possible with at least safe intervals to all arranged jobs.
Because it is impossible to decide the effect of every
processing time matrix > @
pij' nu m . job on the makespan minimization immediately, only
Definition 3 Inverse processing sequence partial jobs should be verified to help the above
(S '[ 0] ,..., S '[ n1] ) is obtained from processing sequence selection. In this paper, a processing sequence S is
divided into k ( 2 d k d ªn / 2º ) sub-sequences. In
(S [ 0] ,..., S [ n 1] ) by setting S '[ j ] S [ n 1 j ] .
each sub-sequence, there are no more than ªn / k º jobs
and at least 2 jobs except the last sub-sequence. The current sequence S i is computed by
first job in each sub-sequence is called head job while
the rest are member jobs. A member job can only be left C ' m max ® max
¯ j p ,, p q 1
^ `
½
tS' > j @ LS > j @ , Cmax ¾ .
¿
shifted. That whether the head job is left shifted or right
shifted depends on the effects on makespan 3.5 Re-schedule the i th sub-sequence by right
minimization. The head job is left shifted if a better shifting the head job while left shifting the
makespan can be obtained than right shifted, otherwise member jobs sequentially. Calculate starting
the head job should be right shifted. By this way, the times tS' ' > p @ , , tS' ' > p q 1@ . Makespan of current
right shifted jobs are selected from the k head jobs.
For a given sequence, the proposed Enhanced sequence Si is recomputed by
Timetabling Method generates timetable of the left shift
and right shift jobs. The sequence is divided into k
''
C m max ®
¯j
max
p ,, p q 1
^t ''
S > j@ LS > j @ ` ½
, Cmax ¾ .
¿
sub-sequences. The first sub-sequence is assigned as the
3.6 If C ' ! C '' , then Cmax m C '' ,
current schedule by left shifting all of its jobs. For the
'' ''
i th ( i 2, , k ) sub-sequence, two trials are performed. ( tS > p @ , , tS > p q 1@ ) m ( tS > p @ , , tS > p q 1@ );
All member jobs are left shifted with the head job left
Else, Cmax m C ' ,
shifted and right shifted respectively and two schedules
' '
are generated. If the schedule made by right shifting the ( tS > p @ , , tS > p q 1@ ) m ( tS > p @ , , tS > p q 1@ ).
head job of the current sub-sequence is better than that 3.7 i m i 1 .
by left shifting, the head job is chosen as a right shift
job. The better of the two schedules is reassigned as the 4. Until i ! k .
current schedule. 5. C max is the final makespan and ( tS >0 @ , , tS >n1@ ) is
For the current schedule S [0] , , S [i 1] , if an the final timetable. Stop.
unscheduled job J S >i @ is right shifted, starting time Obviously, the time complexity of right shift for a job
S >i @ is 2(i ) and that of left shift for a job S >i @ is
^
tS >i @ can be calculated by tS [ i ] m max tS >k @ sS >k @S >i @ ` 2(mi ) .Therefore, the time complexity of this algorithm
(k 0, , i 1 ).
is 2(n 2 m) .
Left shift is a little more complicated than right shift.
By calculating the maximum length of overlap between
S [i ] and S [0] , , S [i 1] , S [i ] is moved rightwards 4. Modified CLM
Ghosh and Sierksma [11] constructed CLM
for that length. The calculating and moving process is
(complete local search with memory) algorithm, in
repeated until the maximum overlap length is zero. S [i ] which all explored solutions are recorded in a memory
is placed to the found idle gaps and tS >i @ is obtained. with an explicit manner to avoid re-calculating.
However, the size of memory increases with the size
The enhanced timetabling procedure is described as
of the problem in CLM. For large size problems, large
follows.
memory is needed and it is very time-consuming for
1. tS >0 @ m 0 , k m c (constant c 2, , ªn / 2º ), checking a new sequence in the memory or not.
i m 1 , Cmax m 0 , S 0 m . Therefore, the memory size of CLM should be limited
and a strategy should be introduced to refresh contents
2. Divide the sequence S into k sub-sequences. of the memory. In this paper, MCLM (modified
3. Repeat complete local search with memory) is presented by
3.1 p m (i 1) u ªn / k º . //* S [ p ] is the head job of modifying CLM.
the i th sub-sequence*// MCLM maintains three sets: (1) NEWGEN, a limited
3.2 If ik then q m ªn / k º , else storage for good enough solutions being employed by
the heuristic during the current iteration. (2)
q m n (k 1) ªn / k º . //*Number of jobs in
NEIGHBOR, a limited storage for the neighbors of the
the i th sub-sequence*// solutions in NEWGEN. (3) DEAD, a limited storage for
3.3 S i m S i 1 S > p @ , , S > p q1@ . //* S i is the storing solutions that have been already explored, in
current sequence, the sub-sequence of S order to avoid re-calculating. NEWGEN and
NEIGHBOR can be neither too large (which is rather
from S [ 0] to S [ p q 1] , by appending the i th
time-consuming and space-consuming) nor too small
sub-sequence S > p @ , , S > p q 1@ to S i 1 *// (by which the algorithm always traps in local optimal
solutions in short time). DEAD is emptied once it is full
3.4 All jobs in the i th sub-sequence are left
shifted sequentially and their starting times in this paper. S NEW , S NEIGHBOR and S DEAD denote
the size of NEWGEN, NEIGHBOR and DEAD
tS' > p @ , , tS' > p q 1@ are obtained. Makespan of
respectively.
MCLM starts with a given sequence as the initial
solution and puts it into NEWGEN. DEAD and predefined constants I1 , I2 and V
NEIGHBOR are initially empty. The following process ( 0 I1 I 2 N max , V 0,1 ). N max is the
is iterated:
(1) Generating neighbors for all solutions in NEWGEN predefined maximal number of iterations without
and putting them into NEIGHBOR if NEIGHBOR improvement, I max is the maximal number of
is not full. Partial pair-wise exchange and iterations the algorithm can perform. Certain
1-insertion are performed on every solution of constant I add is added to it once improvement has
NEWGEN to generate its neighbors. Partial been made.
pair-wise exchange generates neighbors by just The above iterative process is repeated until I max
swapping the head job and its member jobs
respectively for every sub-sequence (see Figure 2). iterations have been performed, or no improvement has
The simple 1-insertion only considers k been made for N max successive iterations, or
sub-sequences, which are regarded as k units. NEWGEN is empty. MCLM is formally described as
Each unit is picked out and inserted respectively follows.
into every possible unit slot (except the original slot) 1. NEIGHBOR m I , DEAD m I . Generate an
and k 1 neighbors are produced (see Figure 3). initial sequence S 0 . NEWGEN m ^S 0 ` .
The set of neighbors for solution S generated by 2. i m 0 , S best m S 0 , I temp m 0 , I max m ªn 2 / m º ,
the above procedure is denoted as GN (S ) .
W m W max .
Sub1 … 3,2,4,5,6 … Subk 3. Calculate timetable T0 and makespan C0 by
Partial pair-wise Sub1 … 4,3,2,5,6 … Subk calling the Enhanced Timetabling Procedure.
Sub1 … 2,3,4,5,6 … Subk Tbest m T0 , Cbest m C0 .
exchange Sub1 … 5,3,4,2,6 … Subk
4. Repeat
Sub1 … 6,3,4,5,2 … Subk 4.1 flag m False .
4.2 For each S k NEWGEN , if
Fig. 2 Partial pair-wise exchange
NEIGHBOR S NEIGHBOR ,
Sub2 Sub1 Sub3 NEIGHBOR m NEIGHBOR GN S k .
Sub2 Sub3 Sub1 4.3 NEWGEN m I .
4.4 For each S j NEIGHBOR
Sub2 Sub1 Sub3
1-Insertion
Sub1 Sub2 Sub3 4.4.1 If S j DEAD , compute T j by the
Sub1 Sub3 Sub2
Enhanced Timetabling Procedure and
Sub3 Sub1 Sub2
calculate the makespan C j for S j ;
Sub1 Sub3 Sub2
else CONTINUE. //* Go to 5.4 to deal
with the next sequence in NEIGHBOR *//.
Fig. 3 1-insertion
4.4.2 If C j Cbest , Cbest m C j ,
(2) Empting NEWGEN. Tbest m T j ,
(3) Checking solutions of NEIGHBOR belonging to
DEAD or not. Among all neighbors not in DEAD,
NEWGEN m NEWGEN S j ^ ` ,
those with makespan lower than a certain threshold S best m S j , flag m True ;
value are transplanted to NEWGEN for the next else if C j Cbest u 1 W ,
iteration and the others are put into DEAD.
Cbest u (W 1) is set as the threshold value in this NEWGEN m NEWGEN S j ^ `
paper ( W 0, W max @ ). Cbest is the best-so-far ;
makespan and W max is predefined. I temp records else DEAD m DEAD S j . ^ `
the number of consecutive iterations without 4.4.3 If NEWGEN ! S NEWGEN , BREAK . //*
improvement. Boolean flag is assigned True Break the loop and go to 5.5 *//
once improvement has been made in the iteration. 4.5 NEIGHBOR m I . If DEAD ! S DEAD ,
(4) Empting NEIGHBOR. DEAD m I .
(5) If no improvement has been made for Rmax
4.6 If flag False , I temp m I temp 1 ; else
successive iterations ( Rmax I temp ), the current
I temp m 0 , I max m I max I add .
instance is reversed.
(6) W is reset according to the value of I temp and 4.7 If I1 I temp I 2 and W / V d W max ,
W m W / V ; else if I temp t I 2 , W m W u V . Therefore, MCLM outperforms VNS, GASA and
CLM in effectiveness. Though the computation time
4.8 If I temp ! Rmax , inverse the instance.
needed by MCLM is as about 4-5 times as that by CLM
4.9 i m i 1 . and much more than that by VNS or GASA, it is
5. Until i ! I max or I temp ! N max or affordable for practical applications with the respect to
the results obtained by MCLM.
NEWGEN 0.
6. ( Cbest , S best , Tbest ) is the final result. Stop. 6. Conclusions
Because NEWGEN , NEIGHBOR and I max may In this paper, MCLM (modified complete local search
with memory) method is proposed for no-wait job shop
change during the iterating, it is hard to decide the problems with makespan minimization. Similar to
complexity of the algorithm. traditional algorithms, the considered problem is
decomposed into two sub-problems: the timetabling
5. Computational experiments problem and the sequencing problem. Based on the
To compare the proposed MCLM with the best so far non-delay timetabling procedure (adopted by VNS and
algorithms CLM [10], VNS and GASA [9], MCLM and GASA) and the inverse timetabling procedure (used by
CLM are coded in Java and ran on a PC with Pentium 4 CLM), an enhanced timetabling procedure is
processor. The algorithms are tested on 10 small and 15 constructed by shifting jobs leftwards or rightwards to
big well-known no-wait job shop instances from [12-16] manage to obtain better timetables. The enhanced
and every instance has been performed 20 times. timetabling procedure can solve the timetabling
A series of preliminary experimental results show that problem effectively and efficiently. Different from
selection of the initial solution pays little influence on CLM, the sequencing problem is solved by MCLM with
performance of MCLM. Traditionally, there are eight limited memory to improve efficiency. MCLM
initial solution generating methods: SPT heuristic, LPT outperforms all the other three compared algorithms.
heuristic, SMT heuristic, LMT heuristic, SOT heuristic, Though the computation time needed by MCLM is as
LOT heuristic and RANDOM 1/RANDOM 2. For each about 4-5 times as that by CLM and even much more
testing of an instance, one of the eight methods is than that by VNS or GASA, it is affordable for practical
randomly selected to generate the initial solution of applications with the respect to the effectiveness. In
MCLM. The corresponding parameters are initialized as other words, MCLM can always find the optimal for
in Table 1. most of the instances efficiently and it is desirable for
The experimental results on small instances and big practical no-wait job shop problems.
instances are shown in Table 2 and Table 3 respectively.
OPT represents the optimal value of an instance in
Table 2 and the best-found makespan for the problem in
Acknowledgements This work is supported by
National Natural Science Foundation of China under
Table 3. BEST denotes the best makespan of an
Grants No.60672092 and No.60504029.
instance among the 20 runs for the corresponding
algorithm. For CLM and MCLM, AVG is the average
makespan of the 20 runs. TIME is the average CPU References
time in seconds over 20 runs. Only BEST and ARPD [1] W. Raaymakers, J. Hoogeveen, Scheduling
multipurpose batch process industries with no-wait
are shown for VNS and GASA in this paper.
restrictions by simulated annealing, Eur. J. Oper. Res.,
Table 1 Parameters of MCLM 126 (2000): 131–51.
Parameter Value Parameter Value [2] D.A. Wismer, Solution of the flowshop
S DEAD 200000 Rmax 10 scheduling-problem with no intermediate queues.
Operations Research, 20 (1972): 689–97.
10000 20
[3] S. Reddi, C. Ramamoorthy, A scheduling-problem.
30000 5 Operational Research Quarterly, 24 (1973): 441–6.
0.15 10 [4] C. Arbib, G.F. Italiano, A. Panconesi, Predicting
deadlock in store-and-forward networks, Networks, 20
0.9 3 (1990): 861–881.
[5] J.K. Lenstra, A.H.G. Rinnooy Kan, Computational
complexity of discrete optimization problems, Annals of
Both Table 2 and Table 3 illustrate that MCLM can
Discrete Mathematics, 4 (1979): 121–40.
find the optimal for all instances. BESTs obtained by [6] J. Blazewicz, W. Domschke, E. Pesch, The
MCLM are better than or equal to those by the other job-shop-scheduling-problem: conventional and new
three methods. Though MCLM needs more computation solution techniques, European Journal of Operational
time than CLM does in overall, there are 3 instances out Research, 93 (1996): 1–33.
of 30 that MCLM requires less time than CLM does. In [7] A. Jain, S. Meeran, Deterministic job-shop- scheduling:
other words, computation time of MCLM is not always past, present and future, European Journal of
more than that of CLM despite that MCLM is little Operational Research, 113 (2) (1999): 390–434.
more complicated than CLM. [8] N.J. Hall, C. Sriskandarajah, A survey on machine
scheduling problems with blocking and no-wait in
process, Operations Research, 44 (3) (1996): 510–25. an experimental investigation of heuristic scheduling
[9] C. Schuster, J.M. Framinan, Approximate procedures for techniques, Technical report, Carnegie-Mellon
no-wait job shop scheduling, Operations Research University, Pittsburgh, 1984.
Letters, 31 (2003): 308–18. [14] D. Applegate, W. Cook, A computational study of the
[10] J.M. Framinan, C. Schuster, An enhanced timetabling job-shop problem, ORSA Journal on Computing, 3(2)
procedure for the no-wait job shop problem: a complete (1991): 149–56.
local search approach, Computers & Operations [15] R.H. Storer, S.D. Wu, R. Vaccari, New search spaces for
Research, 331 (2006): 1200–13. sequencing instances with application to job shop
[11] D. Ghosh, G. Sierksma, Complete local search with scheduling. Management Science, 38 (1992): 1495–509.
memory, Journal of Heuristics, 8 (2002): 571–84. [16] C. Schuster, No-wait job shop scheduling: Komplexität
[12] H. Fisher, G.L. Thompson, Probabilistic learning und local search. Dissertation Thesis, University of
combinations of local job-shop scheduling rules, In: Duisburg-Essen, Germany, 2003 [in German].
Industrial scheduling. EnglewoodClif fs, NJ:
Prentice-Hall; (1963): 225–51.
[13] S. Lawrence, Resource constrained project scheduling: