complete local search with limited memory algorithm for no-wait job shops to minimize makespan

9
Discrete Optimization Complete local search with limited memory algorithm for no-wait job shops to minimize makespan Jie Zhu * , Xiaoping Li, Qian Wang School of Computer Science and Engineering, Southeast University, 210096 Nanjing, PR China Key Laboratory of Computer Network and Information Integration (Southeast University), Ministry of Education, 210096 Nanjing, PR China article info Article history: Received 19 October 2007 Accepted 16 September 2008 Available online 23 September 2008 Keywords: No-wait Job shop Timetabling Sequencing abstract In this paper, no-wait job shop problems with makespan minimization are considered. It is well known that these problems are strongly NP-hard. The problem is decomposed into the sequencing and the timet- abling components. Shift timetabling is developed for the timetabling component. An effective method, CLLM (complete local search with limited memory), is presented by integrating with shift timetabling for the sequencing component. Experimental results show that CLLM outperforms all the existing effective algorithms for the considered problem with a little more computation time. Ó 2008 Elsevier B.V. All rights reserved. 1. Introduction In this paper, the no-wait job shop with makespan minimiza- tion is considered, in which consecutive operations of each job must be performed continuously without any interruption. No- wait constraints usually arise from requirements for processing environments or characteristics of jobs. Typical examples are iron being immediately stanched while hot in metallurgical processes and unstable intermediate products or absence of intermediate storage capacity in chemical processes. Such job shop problems widely exist in real-life applications, such as chemical and pharma- ceutical industries [18,19], steel production [27], computer sys- tems [20], semiconductor testing facilities [17], surgical cases [4], and building industries [9]. The traditional job shop problem, in which there is no no-wait constraint, is NP-hard in the strong sense [13]. Detailed surveys have been conducted in [3,11] for the results on the problem in the past decades, but little attention has been paid to the problem considered in this paper. The review given by Hall and Sriskandara- jah [10] showed that the considered problem is difficult, especially for large-size instances. It was proven to be NP-hard in the strong sense even for two-machine cases [21]. Bansal et al. [2] showed that, if each job has at most two operations and the number of ma- chines is a constant, the problem with the makespan objective function admits a polynomial time approximation scheme. For the job shop scheduling problem with blocking and/or no-wait constraints, Meloni et al. [16] developed a rollout method in terms of a general alternative graph model based on a look-ahead strat- egy. Additionally, some approximate algorithms (tabu search [14], simulated annealing [18] and rolling horizon procedures [17]) have been developed for specific production systems, such as the galvanic industry, production of pharmaceutics and semi- conductor testing facilities. Recently, several algorithms have been presented for no-wait job shops with makespan minimization. Besides the branch and bound algorithm proposed by Mascis and Pacciarelli [15], it seems that VNS (variable neighborhood search) [22], GASA (hybrid simu- lated annealing/genetic algorithm) [22], CLM (complete local search with memory) [6] and tabu search [24] are the most effec- tive or efficient ones. Among these effective approaches, the prob- lem is usually decomposed into two sub-problems: the timetabling problem and the sequencing problem. VNS depends on special structures of problems, and its speed is very fast. GASA is a non- deterministic hybrid algorithm, which is more time-consuming but also more effective than VNS. Both VNS and GASA adopt non-delay timetabling for the timetabling problem. For the sequencing problem, VNS searches the optimal results iteratively by a k-insertion neighborhood until no better solution can be found. GASA integrates genetic algorithm (GA) with simulated annealing (SA) for the sequencing problem. CLM also takes advan- tage of non-delay timetabling. Furthermore, enhanced timetabling is introduced in CLM. This is when non-delay timetabling is per- formed on ‘‘reversed jobs” (the processing route of every job is re- versed). For the sequencing problem, CLM generates a neighborhood by 1-insertion, and all the exploited solutions are 0377-2217/$ - see front matter Ó 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2008.09.015 * Corresponding author. Address: School of Computer Science and Engineering, Southeast University, 210096 Nanjing, PR China. E-mail addresses: [email protected] (J. Zhu), [email protected] (X. Li), [email protected] (Q. Wang). European Journal of Operational Research 198 (2009) 378–386 Contents lists available at ScienceDirect European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Upload: jie-zhu

Post on 21-Jun-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

European Journal of Operational Research 198 (2009) 378–386

Contents lists available at ScienceDirect

European Journal of Operational Research

journal homepage: www.elsevier .com/locate /e jor

Discrete Optimization

Complete local search with limited memory algorithm for no-wait job shopsto minimize makespan

Jie Zhu *, Xiaoping Li, Qian WangSchool of Computer Science and Engineering, Southeast University, 210096 Nanjing, PR ChinaKey Laboratory of Computer Network and Information Integration (Southeast University), Ministry of Education, 210096 Nanjing, PR China

a r t i c l e i n f o

Article history:Received 19 October 2007Accepted 16 September 2008Available online 23 September 2008

Keywords:No-waitJob shopTimetablingSequencing

0377-2217/$ - see front matter � 2008 Elsevier B.V. Adoi:10.1016/j.ejor.2008.09.015

* Corresponding author. Address: School of CompuSoutheast University, 210096 Nanjing, PR China.

E-mail addresses: [email protected] (J. [email protected] (Q. Wang).

a b s t r a c t

In this paper, no-wait job shop problems with makespan minimization are considered. It is well knownthat these problems are strongly NP-hard. The problem is decomposed into the sequencing and the timet-abling components. Shift timetabling is developed for the timetabling component. An effective method,CLLM (complete local search with limited memory), is presented by integrating with shift timetabling forthe sequencing component. Experimental results show that CLLM outperforms all the existing effectivealgorithms for the considered problem with a little more computation time.

� 2008 Elsevier B.V. All rights reserved.

1. Introduction

In this paper, the no-wait job shop with makespan minimiza-tion is considered, in which consecutive operations of each jobmust be performed continuously without any interruption. No-wait constraints usually arise from requirements for processingenvironments or characteristics of jobs. Typical examples are ironbeing immediately stanched while hot in metallurgical processesand unstable intermediate products or absence of intermediatestorage capacity in chemical processes. Such job shop problemswidely exist in real-life applications, such as chemical and pharma-ceutical industries [18,19], steel production [27], computer sys-tems [20], semiconductor testing facilities [17], surgical cases [4],and building industries [9].

The traditional job shop problem, in which there is no no-waitconstraint, is NP-hard in the strong sense [13]. Detailed surveyshave been conducted in [3,11] for the results on the problem inthe past decades, but little attention has been paid to the problemconsidered in this paper. The review given by Hall and Sriskandara-jah [10] showed that the considered problem is difficult, especiallyfor large-size instances. It was proven to be NP-hard in the strongsense even for two-machine cases [21]. Bansal et al. [2] showedthat, if each job has at most two operations and the number of ma-chines is a constant, the problem with the makespan objectivefunction admits a polynomial time approximation scheme. For

ll rights reserved.

ter Science and Engineering,

u), [email protected] (X. Li),

the job shop scheduling problem with blocking and/or no-waitconstraints, Meloni et al. [16] developed a rollout method in termsof a general alternative graph model based on a look-ahead strat-egy. Additionally, some approximate algorithms (tabu search[14], simulated annealing [18] and rolling horizon procedures[17]) have been developed for specific production systems, suchas the galvanic industry, production of pharmaceutics and semi-conductor testing facilities.

Recently, several algorithms have been presented for no-waitjob shops with makespan minimization. Besides the branch andbound algorithm proposed by Mascis and Pacciarelli [15], it seemsthat VNS (variable neighborhood search) [22], GASA (hybrid simu-lated annealing/genetic algorithm) [22], CLM (complete localsearch with memory) [6] and tabu search [24] are the most effec-tive or efficient ones. Among these effective approaches, the prob-lem is usually decomposed into two sub-problems: the timetablingproblem and the sequencing problem. VNS depends on specialstructures of problems, and its speed is very fast. GASA is a non-deterministic hybrid algorithm, which is more time-consumingbut also more effective than VNS. Both VNS and GASA adoptnon-delay timetabling for the timetabling problem. For thesequencing problem, VNS searches the optimal results iterativelyby a k-insertion neighborhood until no better solution can befound. GASA integrates genetic algorithm (GA) with simulatedannealing (SA) for the sequencing problem. CLM also takes advan-tage of non-delay timetabling. Furthermore, enhanced timetablingis introduced in CLM. This is when non-delay timetabling is per-formed on ‘‘reversed jobs” (the processing route of every job is re-versed). For the sequencing problem, CLM generates aneighborhood by 1-insertion, and all the exploited solutions are

Page 2: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

J. Zhu et al. / European Journal of Operational Research 198 (2009) 378–386 379

recorded to avoid re-calculating. CLM seems to be the best algo-rithm so far for the considered problem.

Based on CLM, CLLM is presented in this paper. In contrast toCLM, VNS and GASA, which treat the two sub-problems separately,CLLM solves them integrally. Shift timetabling is proposed to han-dle the timetabling problem. Then, shift timetabling is integratedwith a complete local search to solve the sequencing problem.

The rest of this paper is organized as follows. The consideredproblem is described in Section 2. Section 3 constructs shift timet-abling. Combined with the shift timetabling approach, a new localsearch approach is proposed in Section 4. In Section 5, the experi-mental results are shown, followed by conclusions in Section 6.

2. Problem description

A no-wait job shop is a scheduling problem in which n jobs areprocessed on m machines and each job has a specific processingroute. Each job has to be processed on each machine exactly once.Processing sequence is a permutation p of the set of jobs, meaningthat jobs should be arranged orderly by their index in p. A process-ing sequence is denoted as a vector ðp½1�; . . . ;p½n�Þ. A processing of ajob on a machine is called operation. Besides, some notations to beused in this paper are given.n 2 N number of jobsm 2 N number of machinesJ = {J1, J2, . . . , Jn} set of jobsM = {M1,M2, . . . ,Mm} set of machinesp[i] 2 {J1, J2, . . . , Jn} the ith job in pmi,k 2 {M1,M2, . . . ,M m} machine on which the kth operation of Ji is

processedpi,k 2 N processing time of the kth operation of Ji

tp½i� 2 N start time of p[i]

Pi;j ¼Pj

k¼1pi;k cumulated processing time of Ji (including the jthoperation)

Tp ¼ ðtp½1� ; . . . ; tp½n� Þ timetable of ptk

i 2 N start time of Ji on Mk

pki 2 N processing time of Ji on Mk

Ei;j ¼ ffk; lgjmi;k ¼ mj;lg pairs of operations of jobs Ji and Jj to beprocessed on the same machine

Furthermore, the following constraints should hold according tothe no wait and job shop properties.

� Sequence: Each job must be processed in order of its operations,and no interruption (preemption) of an operation is allowed.

� Synchronicity: No job may be processed by two machines at thesame time, and no machine may process two jobs at the sametime.

� No-wait: There must be no waiting time between two consecu-tive operations of the same job.

Therefore, the timetable of the considered problem is based onstart times of the first operations. Mapping a set of start times tothe given processing sequence is called a feasible schedule, if theaforementioned constraints are met. A feasible schedule is denotedas Sp = hp,Tpi. An optimal schedule is a feasible one that minimizesthe makespan.

For the considered problem, which is NP-hard in the strongsense, effective algorithms usually decompose it into two sub-problems: (1) the sequencing problem, in which a processing se-quence of an optimal schedule is found for a given no-wait jobshop problem, and (2) the timetabling problem, in which a feasibleset of start times of the jobs is found to minimize makespan for theprocessing sequence obtained from (1). Both sub-problems havebeen proven to be NP-hard in the strong sense [23]. Sriskandarajahand Ladet [25] investigated the computational complexity of no-

wait shops scheduling problems and concluded that finding opti-mal schedules for no-wait job shops is NP-hard even in two-ma-chine no-wait job shops.

3. Timetabling methods

Because it is commonly believed that the sequencing problem ismuch more difficult than the timetabling problem, more attentionhas been paid to the sequencing problem. Existing algorithmsspend the bulk of the computation time on the sequencing prob-lem while employing simple strategies for the timetabling prob-lem. In fact, effectiveness of the no-wait job shop also dependsgreatly on timetabling methods. In this paper, shift timetabling isintroduced based on non-delay timetabling and enhancedtimetabling.

3.1. Non-delay timetabling

Schuster [24] defined the non-delay timetabling formally asfollows:

Definition 1. Non-delay timetablingGiven a timetabling problemwith processing sequence (p[1], . . . ,p[n]), set tp½1� 0 and computesuccessively for i = 1, . . . ,n the solutions of

min tp½i� ð1aÞs:t: tp½i� P tp½i�1� ; ð1bÞ

tp½j� � tp½i� P Pp½i� ;k � Pp½j� ;l�1 or tp½i� � tp½j� P Pp½j� ;l � Pp½i� ;k�1

for all ðk; lÞ 2 Ep½i� ;p½j� ; ð1cÞj < i; j 2 f1; . . . ;ng: ð1dÞ

The constraint (1b) is called ordinal constraint. Conditions (1c) pro-hibit a machine to process two operations at the same time, i.e. noconflict (overlapping on the Gantt chart) exists. Obviously, themakespan obtained by non-delay timetabling is just an upperbound of the sub-problem, which can be further improved.

3.2. Enhanced timetabling

Enhanced timetabling explores the symmetry of the consideredproblem to improve non-delay timetabling. It performs on inverseinstances and inverse sequences as well as the original ones. In-verse instance is the instance identical to the original one but eachjob is processed in the reversed route.

Example 1. For a three-job, five-machine problem, the originalprocessing route matrix and its corresponding route matrix of theinverse instance are shown below

½mi;k�3�5 ¼3 1 2 4 04 3 1 2 00 1 2 3 4

264

375; m̂i;k

� �3�5 ¼

0 4 2 1 30 2 1 3 44 3 2 1 0

264

375:

(p[n], . . . ,p[1]) is the inverse processing sequenceof processing se-quence (p[1], . . . ,p[n]).

Enhanced timetabling includes three phases. (1) Non-delaytimetabling is performed on the original instance. (2) Non-delaytimetabling is conducted on the inverse instance for the inverseprocessing sequence. (3) The better of the two trials is chosen asthe final solution. Obviously, non-delay timetabling is included inenhanced timetabling. Therefore, enhanced timetabling dominatesnon-delay timetabling.

Though start times can be easily calculated by enhanced timet-abling or non-delay timetabling, many gaps may be formed underthe ordinal constraint, which may be filled with some job(s).

Page 3: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

380 J. Zhu et al. / European Journal of Operational Research 198 (2009) 378–386

3.3. Shift timetabling

3.3.1. PreparationsAccording to non-delay timetabling, the start time order of jobs

(or the start time order of the first operations of jobs) is a result ofthe corresponding processing sequence. Orders of the other opera-tions of different jobs (or job orders on machines), however, cannotbe determined in advance because of the no-wait and job shopcharacteristics.

For a given processing sequence (1,3,2) of Example 1, the Ganttchart produced by non-delay timetabling is depicted in Fig. 1 withmakespan 53.

Fig. 1 implies that there are a lot of idle times on machines. Tomeet the ordinal constraint, J2 has to be postponed until J3 is nearlycompleted, but the result would be better if J2 was shifted left asearly as possible. It is clear that the ordinal constraint is not metany more and the schedule is not a non-delay schedule. The make-span of the Gantt chart shown in Fig. 2 is 33, in which t1 6 t2 6 t3.Fig. 3 depicts the Gantt chart of (1, 2, 3) with ordinal constraintt1 6 t2 6 t3. It is obvious that the schedules of Figs. 2 and 3 are dif-ferent, along with the makespans. In fact, no processing sequenceof this instance can yield the same schedule by non-delay timet-abling as depicted in Fig. 2.

1

1

1

1

1

2

6

4

5

1

28

3

3

3

3

1

6

5

7

0 1201

Fig. 1. Gantt chart of sequence (1,3

1

1

1

1

1

2

6

4

5

1

2

2

2

7

8

8

3

3

3

1

6

5

0 101

Fig. 2. Gantt chart of sequence (1,3,2) differ

1

1

1

1

1

2

6

4

5

1

2

2

2

7

8

8

31

0 22

Fig. 3. Gantt chart of sequence (1,2

In this paper, jobs are scheduled sequentially by their index inthe given sequence disregarding the ordinal constraint. In contrastto non-delay timetabling, left shift tries to start a job as early aspossible disregarding the ordinal constraint. It can be formally de-scribed as follows.

Definition 2. Left shiftGiven a processing sequence ðp½1�; . . . ;p½n�Þand feasible start times tp½1� ; . . . ; tp½i�1� , left shift p[i] is to arrange p[i]

to start at

min tp½i� ð2aÞ

s:t: tp½j� � tp½i� P Pp½i� ;k � Pp½j� ;l�1 or tp½i� � tp½j� P Pp½j� ;l � Pp½i� ;k�1

for all ðk; lÞ 2 Ep½i� ;p½j� ð2bÞ

for all j 2 f1; . . . ; i� 1g: ð2cÞ

Constraints (2b) guarantee p[i] do not conflict with p [1], . . . ,p[i�1]. Toobtain the optimal schedule, it is unnecessary to apply left shift toall jobs. In other words, left shifting some jobs can substantially im-prove the quality of the final schedule, but left shifting others maydeteriorate it. To give way to more left shift jobs, it is desirable topostpone some jobs. Fig. 4 shows that the schedule that has leftshifted all jobs for the sequence (8,7,6,0) is worse than that inFig. 5, in which J7 is not arranged as early as possible.

2

2

2

2

4

7

5

8

34

53

,2) by non-delay timetabling.

2

2

4

5

3

3

7

4

33

ent from that of non-delay timetabling.

2

2

4

5

3

3

3

3

6

5

7

4

45

,3) by non-delay timetabling.

Page 4: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

0

8

8

8

8

1

4

2

4

0

0

0

0

0

2

5

9

5

3

6

6

6

6

6

6

7

8

8

9

7

7

7

7

7

3

6

4

2

8

89

8 29 53

Fig. 4. Left shift all jobs.

69

74

8

8

8

8

1

4

2

4

0

0

0

0

0

2

5

9

5

3

6

6

6

6

6

7

8

8

7

7

7

7

3

6

2

8

89

0 202 10 43

Fig. 5. Left shift all jobs except J7.

1 2

1 2

1 2

1 2

1 2

8Safe interval

52

1 7

23

98

22

Fig. 6. Safe interval between J1 and J2.

J. Zhu et al. / European Journal of Operational Research 198 (2009) 378–386 381

Two questions, however, should be answered: (1) which jobsshould be left shifted and which should not be set ‘‘as early as pos-sible”? (2) How to define a postponing strategy? For a processingsequence, the makespan may be deteriorated if a job is postponedtoo much, but no improvement may be made if a job is postponedtoo little.

3.3.2. Right shift jobsTo determine the postponing strategy, the start time difference

tj � ti for two jobs Ji and Jj is investigated.min{tj � ti} is called the minimal interval between Ji and Jj, if

there is no conflict between them and the constraint tj � ti P 0 ismet. It is denoted as mij and it can be formally defined as

min ftj � tig ð3aÞs:t: tj P ti; ð3bÞ

tj � ti P Pi;k � Pj;l�1 or ti � tj P Pj;l � Pi;k�1

for all ðk; lÞ 2 Ei;j; ð3cÞj–i; i; j 2 f1; . . . ;ng: ð3dÞ

Constraint (3c) makes sure no conflict exists between Ji and Jj.min{tj � ti} is called the safe interval between Ji and Jj, if there is

no conflict between them, and the operation of Ji on Mk

(k = 1, . . . ,m) is processed prior to the operation of Jj on that ma-chine (see Fig. 6). It is denoted as sij and it can be defined as

min ftj � tig ð4aÞs:t: tk

j P tki þ pk

i ; ð4bÞtj � ti P Pi;k � Pj;l�1 or ti � tj P Pj;l � Pi;k�1

for all ðk; lÞ 2 Ei;j; ð4cÞj–i; i; j 2 f1; . . . ;ng: ð4dÞ

tki þ pk

i is the completion time of Ji on Mk.The safe interval between J1 and J2 is 8 and the minimal interval

between them is zero.For n jobs, the minimal interval and safe interval of each pair of

jobs Ji and Jj (i, j = 1, . . . ,n) can be predetermined and recorded inmatrices [mij]n�n and [sij]n�n.

For jobs Jj and Ji, if Ji precedes Jj, there are three cases for the starttime difference tj � ti. (1) If tj � ti P sij or tj � ti = mij, no conflict ex-ists between Ji and Jj. (2) If tj � ti < mij, conflict must exist between Ji

and Jj. (3) If mij < tj � ti < sij, it may exist some feasible values of tj � ti

that no conflict exists between Ji and Jj. However, it may be verytime-consuming to find a feasible value in such a case. Therefore,only the first two cases are considered in this paper. Actually, theminimal interval equals the safe interval in some situations.

Based on the investigation above, right shift is proposed as apostponing strategy. It is formally described as below.

Definition 3. Right shiftGiven a processing sequence ðp½1�; . . . ;p½n�Þand feasible start times tp½1� ; . . . ; tp½i�1� , right shift p[i] is to arrangep[i] to start at

min tp½i� ð5aÞs:t: tk

p½i� P tkp½j� þ pk

p½j� ; ð5bÞ

tp½j� � tp½i� P Pp½i� ;k � Pp½j� ;l�1 or tp½i� � tp½j� P Pp½j� ;l � Pp½i� ;k�1

for all ðk; lÞ 2 Ep½i� ;p½j� ð5cÞfor all j 2 f1; . . . ; i� 1g: ð5dÞ

Page 5: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

382 J. Zhu et al. / European Journal of Operational Research 198 (2009) 378–386

Constraint (5b) makes sure p[i] is the last task on each machine.According to the definition of safe interval, the start time t[i] ofthe right shifted p[i] is max

j¼1;...;i�1ftp½j� þ sp½j� ;p½i� g.

It is very time-consuming to test all jobs’ left shifts or rightshifts. Since no makespan improvement can be made if too manyjobs are right shifted, it is necessary to limit the number of rightshifting jobs.

Table 1Timetabling approaches comparisons on small-size benchmark instances

Instance n m OPT Non-delay Enhanced Shift

BEST ARPD BEST ARPD BEST ARPD

La01 10 5 971 1037 6.797 1031 6.179 971 0.000La02 10 5 937 990 5.656 937 0.000 937 0.000La03 10 5 820 832 1.463 832 1.463 820 0.000La04 10 5 887 889 0.225 889 0.225 887 0.000La05 10 5 777 817 5.148 797 2.574 777 0.000Ft10 10 10 1607 1620 0.809 1619 0.747 1607 0.000Orb01 10 10 1615 1663 2.972 1646 1.920 1615 0.000Orb02 10 10 1485 1555 4.714 1518 2.222 1485 0.000Orb03 10 10 1599 1603 0.250 1603 0.250 1599 0.000Orb04 10 10 1653 1653 0.000 1653 0.000 1653 0.000Orb05 10 10 1365 1415 3.663 1371 0.440 1367 0.150Orb06 10 10 1555 1555 0.000 1555 0.000 1555 0.000Orb07 10 10 689 706 2.467 706 2.467 689 0.000Orb08 10 10 1319 1319 0.000 1319 0.000 1319 0.000Orb09 10 10 1445 1523 5.398 1515 4.844 1445 0.000Orb10 10 10 1557 1602 2.890 1571 0.899 1557 0.000La16 10 10 1575 1637 3.937 1637 3.937 1575 0.000La17 10 10 1371 1430 4.303 1389 1.313 1371 0.000La18 10 10 1417 1555 9.739 1555 9.739 1417 0.000La19 10 10 1482 1610 8.637 1572 6.073 1482 0.000La20 10 10 1526 1693 10.944 1580 3.539 1526 0.000

Average 3.810 2.325 0.007

3.3.3. Shift timetabling procedureFor a given processing sequence ðp½1�; . . . ;p½n�Þ, the proposed

shift timetabling generates a timetable by performing right shiftor left shift strategies on each job. The sequence is divided into k(2 6 k 6 dn/2e) sub-sequences ~p1; . . . ; ~pk. Each sub-sequence hasdn/ke jobs except ~pk, in which the number of jobs may be less thandn/ke. The first job in a sub-sequence is called the head job and theothers are called member jobs. The corresponding timetable of asub-sequence is called the sub-timetable. The schedule composedby arranged sub-sequences and their feasible sub-timetables iscalled the current schedule.

At first, by left shifting all jobs in ~p1 (since the head job of this sub-sequence p[1] starts only from 0), the sub-timetable T ~p1 is obtained.S~p1 is the current schedule, i.e., S~p1 hð~p1Þ; T ~p1 i. For the ith(i = 2, . . . ,k) sub-sequence ~pi, two trials are performed. Given the fea-sible sub-timetables T ~p1 ; . . . ; T ~pi�1 , two schedules of ð~p1; . . . ; ~piÞ aregenerated by respectively left shifting and right shifting the headjob of ~pi along with all member jobs of ~pi being left shifted. Thebetter of the two generated schedules is reassigned as the currentschedule S~p1 ;...;~pi , i.e. S~p1 ;...;~pi hð~p1; . . . ; ~piÞ; T ~p1 ;...;~pi i. In other words,the head job of a sub-sequence should be right shifted if the corre-sponding schedule is better than that by left shifting it. The currentschedule S~p1 ;...;~pk is the final schedule for ðp½1�; . . . ;p½n�Þ after all thesub-sequences have been tested.

Based on the current schedule Sp½1� ;...;p½i�1� , the start time tp½i� ofp[i]can be calculated by tp½i� max

k¼1;...;i�1ftp½k� þ sp½k�p½i� g when p[i] is

right shifted. Therefore, the time complexity of right shifting p[i]

is O(i), where i is the index of p[i] in the processing sequence.Left shift is a little more complicated than right shift. To sim-

plify the calculation procedure, p[i] starts at time zero. Left shiftmanages to find the first feasible start time based on the currentschedule Sp½1� ;...;p½i�1� in a rightwards manner. If there is the conflictbetween p[i] and p [j] on some machines, p[i] is moved to the rightby the maximum overlapping on all these machines. The moving isrepeated until p[i] does not conflict with p[j] on all machines. Thetime complexity of relieving the conflict between p[i] and p[j] isO(m2), since finding a conflict costs the time complexity of O(m)and there are at most m times of conflict between them. Therefore,the time complexity of relieving the conflict between p[i] and allp[j] (j = 1, . . . , i � 1) is O(m2i), where i is the index of p[i] in the givenprocessing sequence.

The shift timetabling procedure is described below.

1. tp½1� 0, constant k 2 [2,dn/2e],i 1, Cmax 0. //* Initialization*//

2. Divide sequence p into k sub-sequences ~p1; . . . ; ~pk.3. Repeat

3.1 p j~pij. //* The number of jobs in ~pi *//3.2 Sequentially left shift all jobs of ~pi and obtain start times

t0~pi½1�; . . . ; t0~pi

½p�. Set the generated schedule as S~p1 ;...;~pi and com-

pute the makespan of S~p1 ;...;~pi by C0 max

maxj¼1;...;p

t0~pi½j�þ L~pi

½j�

� �;Cmax

� �.

3.3 Re-schedule ~pi by right shifting the head job while left shift-ing the member jobs sequentially. Calculate start timest00~pi½1�; . . . ; t00~pi

½p�and the corresponding makespan by

C00 max maxj¼1;...;p

t00~pi½j�þ L~pi

½j�

� �;Cmax

� �. If C

0> C

0 0, then

Cmax C0 0

and replace S~p1 ;...;~pi with the new schedule, other-wise Cmax C

0.

3.4 i i + 1.

4. Until i > k.5. Cmax is the final makespan and S~p1 ;...;~pk is the final schedule.6. Stop.

The time complexity of right shift for a job p[i] is O(i) and that ofleft shift for a job p[i] is O(m2i) (i is the index of p[i]). All the n � kmember jobs are left shifted twice, and k head jobs are left andright shifted once at a time. Therefore, the time complexity of ShiftTimetabling is O 2

Pni¼1m2iþ

Pni¼k;2k;...i�

Pni¼k;2k;...m

2i� �

¼ Oðm2n2Þ.To illustrate the computational procedure, sequence

(. . .8,7,6,0, . . .) in Fig. 4 is considered, where (7,6,0) is a sub-se-quence. All jobs before J8 (including J8) have been scheduled. J8 issupposed to start at time zero for the sake of convenience. Accord-ing to shift timetabling, J7 is left shifted at first (depicted in Fig. 4)with makespan of the current schedule being 53. Then, the sub-se-quence is re-scheduled. J7 is right shifted, while member jobs (J6

and J0) in the sub-sequence are left shifted (depicted in Fig. 5).The makespan of the current schedule is only 43. Therefore, J7

should be right shifted.

3.3.4. Timetabling methods comparingShift timetabling is compared with non-delay timetabling and

enhanced timetabling on small well known benchmark instances[1,5,12,26] to demonstrate its effectiveness. These instances havebeen optimally solved by the branch and bound algorithm in[15]. The results are shown in Table 1 on ARPD (average relativepercentage deviation from the optimal), which is defined by

ARPD ¼ CmaxðHÞ � CmaxðOPTÞCmaxðOPTÞ � 100; ð1Þ

where Cmax(H) is the best makespan obtained by heuristic H for aninstance and Cmax(OPT) is the optimal makespan for the instance.

Table 1 illustrates that shift timetabling can find the optima forall the considered instances except Orb05. Makespans obtained by

Page 6: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

Sub3 Sub1 Sub2

Sub1 Sub3 Sub2

Sub1 Sub2 Sub3

1-InsertionSub2 Sub1 Sub3

Sub2 Sub3 Sub1

Sub1 Sub2 Sub3

1-InsertionSub2 Sub1 Sub3

Sub1 Sub3 Sub2

Sub1 Sub2 Sub3

1-Insertion

Fig. 8. 1-insertion.

J. Zhu et al. / European Journal of Operational Research 198 (2009) 378–386 383

shift timetabling are better than or equal to those by the other twomethods. Actually, non-delay timetabling can find optimal solu-tions for only three instances and Enhanced Timetabling can findsolutions for four. Average ARPD of shift timetabling on all the in-stances is only 0.007%, while that of non-delay timetabling and en-hanced timetabling are 3.81% and 2.325%, respectively. Thecomputation time for running timetabling once is negligible. Tocompare computation time of the three timetabling methods(non-delay timetabling, enhanced timetabling and shift timet-abling), each timetabling method was run 1000 times on a givensequence of F10 (a no-wait job shop benchmark instance from[1,5,12,26]). Computational results show that the computationtime of the proposal is about twice that of non-delay timetablingand less than 3 times that of enhanced timetabling. Therefore, itis desirable to adopt shift timetabling to solve the timetablingproblem.

4. Complete local search with limited memory

Ghosh and Sierksma [7] constructed the CLM (complete localsearch with memory) algorithm in which all explored solutionsare recorded in a memory in an explicit manner to avoid re-calcu-lating. CLM is similar to the idea of ‘‘tabu search with structuredmoves” in [8]. CLM has been successfully applied to a number ofcombinatorial problems [17].

The size of memory increases, however, with the size of theproblem in CLM. For large-size problems, large memory is needed,and checking whether or not a new sequence is in the memory isvery time-consuming. Therefore, the memory size of CLM shouldbe limited, and a strategy should be introduced to refresh contentsof the memory. In this paper, CLLM is presented by modifying CLM.

CLLM maintains three sets: (1) NEWGEN is a limited storage forgood enough solutions being employed by the heuristic during thecurrent iteration. (2) NEIGHBOR is a limited storage for the neigh-bors of the solutions in NEWGEN. All these neighbors have the po-tential to lead to a better solution and will be explored in the nextiteration. (3) DEAD is a limited storage for storing solutions thathave been already explored, in order to avoid re-calculating. NEW-GEN and NEIGHBOR can be neither too large (which is rather time-consuming and space consuming) nor too small (by which thealgorithm always traps in local optimal solutions in short time).To search a solution among DEAD efficiently, the size of DEADshould also be limited but should be much larger than that ofNEWGEN or NEIGHBOR. Hash Set, the fastest data structure onsearch, is adopted because it is one of the most time-consumingtasks to search a solution from DEAD in CLLM. DEAD is emptiedonce it is full. SNEW, SNEIGHBOR and SDEAD denote the size of NEWGEN,NEIGHBOR and DEAD respectively. Also, shift timetabling is inte-grated into the CLLM to calculate a feasible schedule for each se-quence it explores.

CLLM starts with a given sequence as the initial solution andputs it into NEWGEN. DEAD and NEIGHBOR are initially empty.The following process is iterated:

(1) Generating neighbors for all solutions in NEWGEN and putt-ing them into NEIGHBOR if NEIGHBOR is not full. Partialpair-wise exchange and 1-insertion are performed on every

Sub1 2,3,4,5,6 Subk… …

Partial pair-w

exchange

Fig. 7. Partial pair-w

solution of NEWGEN to generate its neighbors. Partial pair-wise exchange generates neighbors by just swapping thehead job and its member jobs respectively for every sub-sequence (see Fig. 7). The simple 1-insertion takes eachsub-sequence as an undividable element and generatesneighbor by moving each element to every possible slot onceat a time (see Fig. 8). The set of neighbors for solution p gen-erated by the above procedure is denoted as GN(p).

(2) Emptying NEWGEN.(3) Checking solutions of NEIGHBOR belonging to DEAD or not.

Exploring those ‘‘good” which do not belong to DEAD byshift timetabling (those belonging to DEAD have beenexplored not ‘‘good”). Among all these ‘‘good” neighbors,those with makespan lower than a certain threshold valueare transplanted to NEWGEN for the next iteration, and theothers are put into DEAD. Because small threshold value(for example, the best-so-far makespan) turns the algorithmto a greedy search and stops very soon whereas the algo-rithm is similar to an enumerative search if the thresholdis large enough, Cbest � (s + 1) is set as the threshold valuein this paper (s 2 (0,smax]). Cbest is the best-so-far makespanand smax is predefined. s is set to smax initially and is reset in(6). Itemp denotes the number of consecutive iterations with-out improvement (Nmax implies the maximum number ofconsecutive iterations without improvement, i.e. Itemp 6

Nmax). Boolean flag is set False at the beginning of every iter-ation and is assigned True once improvement has beenmade.

(4) Emptying NEIGHBOR.(5) If no improvement has been made for Rmax successive itera-

tions (Rmax < Itemp), the current instance is reversed.(6) For predefined constants I1 and I2 (0 < I1 < I2 < Nmax), if

I1 < Itemp < I2, then s s/r (r 2 (0,1)); otherwise, if Itemp PI2, then s s � r. r cannot be too small because s reachessmax very soon when I1 < Itemp < I2 and approaches to 0quickly when Itemp P I2.

(7) Imax is the maximal number of iterations the algorithm canperform. Certain constant Iadd is added to it once improve-ment has made; i.e., Imax Imax + Iadd if flag is True.

Sub1 3,2,4,5,6 Subk… …

Sub1 4,3,2,5,6 Subk… …

Sub1 5,3,4,2,6 Subk… …

Sub1 6,3,4,5,2 Subk… …

ise

ise exchange.

Page 7: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

384 J. Zhu et al. / European Journal of Operational Research 198 (2009) 378–386

The above iterative process is repeated until Imax iterations havebeen performed, no improvement has been made for Nmax succes-sive iterations, or NEWGEN is empty.

CLLM is formally described as follows:

1. NEIGHBOR /, DEAD /.2. Generate an initial sequence p0. NEWGEN {p0}.3. i 0, Itemp 0, Imax dn2/me, s smax.Sbest null //* Sbest is the

best schedule *//4. Calculate Tp0 by calling Shift Timetabling. Compute the make-

span C0for p0. Cbest C0. Sbest p0; Tp0

� 5. Repeat

5.1 flag False.5.2 For each pk 2 NEWGEN, if jNEIGHBORj < SNEIGHBOR,

NEIGHBOR NEIGHBOR [ GN(pk).5.3 NEWGEN /.5.4 For each pj 2 NEIGHBOR

Table 2Parameters

SDEAD

200,000

Table 3Computatio

Instance

Ft06La01La02La03La04La05Ft10Orb01Orb02Orb03Orb04Orb05Orb06Orb07Orb08Orb09Orb10La16La17La18La19La20

Average

5.4.1 If pj R DEAD, compute Tpjbyshift timetabling and cal-

culate the makespan Cjfor pj : else CONTINUE. //* Goto 5.4 to deal with the next sequence in NEIGHBOR*//.

5.4.2 If Cj < Cbest

Cbest Cj;NEWGEN NEWGEN [ fpjg; Sbest Spj; flag True;

else

if Cj < Cbest � (1 + s)

NEWGEN NEWGEN [ fpjg;

else DEAD DEAD [ {pj}.

5.4.3 If jNEWGENj > SNEWGEN, BREAK. //* Break the loop and

go to 5.5 *//

of CLLM

SNEWGEN SNEIGHBOR smax r k Rmax Nmax I1 I2 Iadd

10,000 30,000 0.15 0.9 3 10 20 5 10 3

nal results on small-size instances

n m BKS VNS GASA CLM

BEST APRD BEST APRD BEST A

6 6 73 73 0.000 73 0.000 73 010 5 971 1064 9.578 1037 6.797 1031 610 5 937 1011 7.898 990 5.656 937 010 5 820 973 18.659 932 13.659 832 110 5 887 1020 14.994 889 0.225 889 010 5 777 861 10.811 817 5.148 797 210 10 1607 1810 12.632 1620 0.809 1619 010 10 1615 1927 19.319 1663 2.972 1646 110 10 1485 1814 22.155 1555 4.714 1518 210 10 1599 1603 0.250 1603 0.250 1603 010 10 1653 1898 14.822 1653 0.000 1653 010 10 1365 1490 9.158 1415 3.663 1371 010 10 1555 1790 15.113 1555 0.000 1555 010 10 689 777 12.772 706 2.467 706 210 10 1319 1319 0.000 1319 0.000 1319 010 10 1445 1742 20.554 1535 6.228 1515 410 10 1557 1843 18.369 1618 3.918 1592 210 10 1575 1673 6.222 1637 3.937 1637 310 10 1371 1556 13.494 1430 4.303 1389 110 10 1417 1713 20.889 1555 9.739 1555 910 10 1482 1786 20.513 1610 8.637 1572 610 10 1526 1795 17.628 1693 10.944 1580 3

12.992 4.276 2

5.5 NEIGHBOR /.5.6 If jDEADj > SDEAD, DEAD /.5.7 If flag = False, Itemp Itemp + 1; else Itemp 0,

Imax Imax + Iadd.5.8 If I1 < Itemp < I2 and s/r 6 smax, s s/r; else if Itemp P I2,

s s � r.5.9 If Itemp > Rmax, inverse the instance.5.10 i i + 1.

6. Until i > Imax or Itemp > Nmax or jNEWGENj = 0.7. (Cbest,Sbest) is the final result. Stop.Because jNEWGENj, jNEIGH-

BORj and Imax may change during the iterations, it is hard todecide the complexity of the algorithm.

5. Computational experiments

To compare the proposed CLLM with the best current algo-rithms CLM, VNS and GASA, CLLM and CLM are coded in Java andrun on a PC with Pentium 4 processor. The algorithms are testedon 22 small and 40 big well known no-wait job shop instancesfrom [1,5,12,26], and every instance has been performed 20 times.

A series of preliminary experimental results shows that selec-tion of the initial solution exerts little influence on the perfor-mance of CLLM. Eight methods are selected to generate initialsolution: SPT, LPT, SMT, LMT, SOT, LOT and RANDOM. SPT/LPT or-der the jobs by their shortest/longest aggregated processing times,while SOT/LOT order the jobs according to the length of their short-est/longest operation. SMT/LMT is a bottleneck criterion that or-ders jobs by their shortest/longest time spent on one machine.RANDOM, which includes Random 1 and Random 2, generatesthe original/inverted order that jobs enter into the system. For eachtesting of an instance, one of the eight methods is randomly se-lected to generate the initial solution of CLLM. The correspondingparameters are initialized as in Table 2.

The experimental results on small instances and big instancesare shown in Tables 3 and 4, respectively. OPT represents the opti-mal value of an instance in Table 3. BKS in Table 4 represents thebest-known solution, which has been selected among a large

CLLM

PRD AVG TIME (seconds) BEST APRD AVG TIME (seconds)

.000 73 0 73 0.000 73 0

.179 1031 8 971 0.000 972 14

.000 937 8 937 0.000 939 33

.463 832 10 820 0.000 820 12

.225 889 8 887 0.000 887 34

.574 801 11 777 0.000 781 8

.747 1619 12 1607 0.000 1607 92

.920 1646 15 1615 0.000 1615 72

.222 1518 18 1485 0.000 1513 48

.250 1603 13 1599 0.000 1599 71

.000 1700 20 1653 0.000 1660 40

.440 1371 17 1367 0.150 1367 14

.000 1555 13 1555 0.000 1555 44

.467 706 19 689 0.000 697 11

.000 1319 12 1319 0.000 1319 60

.844 1515 13 1445 0.000 1457 19

.248 1592 12 1557 0.000 1557 69

.937 1647 22 1575 0.000 1575 41

.313 1418 15 1371 0.000 1374 53

.739 1675 1 1417 0.000 1433 51

.073 1588 20 1482 0.000 1484 16

.539 1609 20 1526 0.000 1528 6

.281 0.007

Page 8: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

Table 4Computational results on big-size instances

Instance n m BKS VNS GASA CLM CLLM

BEST APRD BEST APRD BEST APRD AVG TIME (seconds) BEST APRD AVG TIME (seconds)

La06 15 5 1248 1431 14.663 1339 7.292 1256 0.641 1322 32 1248 0 1283 264La07 15 5 1172 1366 16.553 1240 5.802 1253 6.911 1254 41 1172 0 1201 218La08 15 5 1244 1390 11.736 1296 4.180 1307 5.064 1340 29 1244 0 1272 250La09 15 5 1358 1586 16.789 1447 6.554 1451 6.848 1462 28 1358 0 1378 232La10 15 5 1287 1527 18.648 1338 3.963 1328 3.186 1363 64 1287 0 1296 201La11 20 5 1671 1915 14.602 1825 9.216 1714 2.573 1826 109 1671 0 1716 447La12 20 5 1452 1694 16.667 1631 12.328 1507 3.788 1507 142 1452 0 1506 498La13 20 5 1624 1907 17.426 1766 8.744 1668 2.709 1711 123 1624 0 1661 640La14 20 5 1691 2313 36.783 1805 6.742 1773 4.849 1773 103 1691 0 1721 465La15 20 5 1694 1898 12.043 1829 7.969 1771 4.545 1808 126 1694 0 1749 484La21 15 10 2048 2496 21.875 2182 6.543 2149 4.932 2208 100 2048 0 2104 306La22 15 10 1887 2210 17.117 1965 4.134 1979 4.875 1979 53 1887 0 1912 354La23 15 10 2032 2397 17.963 2193 7.923 2038 0.295 2178 98 2032 0 2098 307La24 15 10 2015 2455 21.836 2150 6.700 2133 5.856 2162 73 2015 0 2048 422La25 15 10 1917 2344 22.274 2034 6.103 2050 6.938 2075 83 1917 0 1971 297La26 20 10 2553 3194 25.108 2945 15.354 2868 12.338 2906 248 2553 0 2707 812La27 20 10 2747 3286 19.621 3036 10.521 2933 6.771 2970 332 2747 0 2838 834La28 20 10 2624 3134 19.436 2902 10.595 2789 6.288 2789 266 2624 0 2752 810La29 20 10 2489 2838 14.022 2617 5.143 2565 3.053 2630 255 2489 0 2539 778La30 20 10 2665 3217 20.713 2892 8.518 2835 6.379 2835 414 2665 0 2743 822La31 30 10 3745 4076 8.838 4298 14.766 3989 6.515 3989 1744 3745 0 3884 2588La32 30 10 4028 4476 11.122 4686 16.336 4297 6.678 4297 672 4028 0 4259 2698La33 30 10 3749 4361 16.324 4214 12.403 3879 3.468 3879 1466 3749 0 3842 2587La34 30 10 3824 4447 16.292 4401 15.089 3938 2.981 3945 832 3824 0 3932 2754La35 30 10 3760 4378 16.436 4299 14.335 4004 6.489 4063 1506 3760 0 3984 2615La36 15 15 2685 3199 19.143 2949 9.832 2810 4.655 2914 128 2685 0 2778 535La37 15 15 2962 3665 23.734 3216 8.575 3161 6.718 3168 99 2962 0 3019 505La38 15 15 2617 3002 14.712 2762 5.541 2726 4.165 2831 145 2617 0 2676 497La39 15 15 2697 3347 24.101 2908 7.824 2784 3.226 2892 141 2697 0 2776 558La40 15 15 2594 3365 29.722 2950 13.724 2880 11.025 2895 108 2594 0 2709 283Swv01 20 10 2328 2631 13.015 2510 7.818 2441 4.854 2442 148 2328 0 2389 641Swv02 20 10 2418 2705 11.869 2605 7.734 2485 2.771 2507 308 2418 0 2493 777Swv03 20 10 2415 2703 11.925 2582 6.915 2520 4.348 2520 152 2415 0 2483 757Swv04 20 10 2506 2735 9.138 2609 4.110 2506 0 2571 167 2542 1.437 2562 675Swv05 20 10 2333 2734 17.188 2601 11.487 2502 7.244 2571 267 2333 0 2495 712Swv06 20 15 3291 3757 14.160 3639 10.574 3291 0 3354 422 3376 2.583 3457 1136Swv07 20 15 3271 3505 7.154 3569 9.110 3398 3.883 3469 225 3271 0 3321 1176Swv08 20 15 3530 3943 11.700 3744 6.062 3648 3.343 3673 614 3530 0 3634 1149Swv09 20 15 3307 3705 12.035 3554 7.469 3378 2.147 3394 345 3307 0 3362 1053Svw10 20 15 3488 3898 11.755 3773 8.171 3661 4.960 3675 298 3488 0 3564 1142

Average 16.906 8.805 4.708 0.100

J. Zhu et al. / European Journal of Operational Research 198 (2009) 378–386 385

number of runs of different algorithms with a variety of parame-ters. BEST denotes the best makespan of an instance among the20 runs for the corresponding algorithm. ARPD is defined by Eq.(1). For CLM and CLLM, AVG is the average makespan of the 20runs, which implies robustness of the algorithm. TIME (in seconds)is the average CPU time needed by every instance for just runningonce. Framinan and Schuster [6] concluded that CLM with ‘‘theaverage computation times for it grow rather fast with the numberof jobs”; i.e., the computation time of CLM is much more than thatof VNS and GASA, especially for big instances. Only BEST and ARPDare shown for VNS and GASA in this paper.

Table 3 illustrates that CLLM can find the optimal solutions forall the small instances except Orb05. BESTs obtained by CLLM arebetter than or equal to those by the other three methods. Actually,CLM can find optimal solutions for only five instances, while VNSand GASA can find solutions for two and four, respectively. EvenAVG of CLLM is better than or equal to BEST of CLM for each in-stance except La02. Average ARPD of CLLM on all the small in-stances is only 0.007%, while those of VNS, GASA and CLM are12.992%, 4.276% and 2.281%, respectively. Though CLLM needsmore computation time than CLM does overall, there are 5 in-stances out of 22 for which CLLM requires less time than CLM does.In other words, computation time of CLLM is not always more thanthat of CLM despite the fact that CLLM is a little more complicatedthan CLM.

Table 4 shows that CLLM can find the best-known solutions forall the big instances except Swv04 and Swv06. BESTs of CLLM arebetter than or equal to those of the other three methods exceptSwv04 and Swv06. Actually, CLM can find best-known solutionsonly for Swv04 and Swv06 whereas no best-known solution canbe found by VNS or GASA. Even AVG of CLLM is better than orequal to BEST of CLM for each instance except La12, La23,Swv04 and Swv06. All the average makespans (AVG) obtainedby CLLM are better than those of CLM except Swv06. AverageARPD of CLLM on all large instances is only 0.1%, while those ofVNS, GASA and CLM are 16.906%, 8.805% and 4.708%, respectively.The average computation time of CLLM is about 4 times that ofCLM.

In addition, all instances are grouped into 13 groups by theirsize (the same number of jobs and the identical number of ma-chines) in order to compare performance of the algorithms in de-tail. Average ARPD for each group is shown in Table 5. AverageARPDs of the compared algorithms are 0.000 for group Ft06, whichis excluded in the following comparison. For VNS, average ARPDsare bigger than 11%, and the largest one even exceeds 20%. ForGASA, nearly all the values are larger than 5%, and the largestone is over 14%. Though CLM has small average ARPD (less than3%) on groups Ft10, Orb01-10, La01-05 and Swv06-10, it obtainsaverage ARPDs bigger than 3% on the other groups. The largestaverage ARPD of CLM is about 7%. CLLM gains 0% ARPD on most

Page 9: Complete local search with limited memory algorithm for no-wait job shops to minimize makespan

Table 5Average ARPD for groups

Instance VNS GASA CLM CLLM

Ft06 0.000 0.000 0.000 0.000La01-05 12.388 6.297 2.088 0.000Ft10 12.632 0.809 0.747 0.000Orb01-10 13.251 2.421 1.439 0.015La16-20 15.749 7.512 4.920 0.000La06-10 15.678 5.558 4.530 0.000La11-15 19.504 9.000 3.693 0.000La21-25 20.213 6.281 4.579 0.000La26-30 19.780 10.026 6.966 0.000La31-35 13.802 14.586 5.226 0.000La36-40 22.282 9.099 5.958 0.000Swv01-05 12.627 7.613 3.843 0.287Swv06-10 11.361 8.277 2.867 0.517

386 J. Zhu et al. / European Journal of Operational Research 198 (2009) 378–386

groups except three (Orb01-10, Swv01-05 and Swv06-10), and thelargest is less than 0.6%.

Therefore, CLLM outperforms VNS, GASA and CLM in effective-ness. Although the computation time needed by CLLM is as about4–5 times that of CLM and much more than that of VNS or GASA,it is affordable for practical applications with respect to the resultsobtained by CLLM. In other words, CLLM is desirable for solving no-wait job shop problems.

6. Conclusions

In this paper, the CLLM method is proposed for no-wait job shopproblems with makespan minimization. Similar to traditional algo-rithms, the considered problem is decomposed into two sub-prob-lems: the timetabling problem and the sequencing problem. Basedon non-delay timetabling (adopted by VNS and GASA) and en-hanced timetabling (used by CLM), a shift timetabling procedureis constructed by shifting jobs left or right to manage to obtain bet-ter timetables. The shift timetabling procedure can solve the timet-abling problem effectively and efficiently. In contrast to CLM, thesequencing problem is solved by CLLM with limited memory to im-prove efficiency. CLLM outperforms all the other three comparedalgorithms. Though the computation time needed by CLLM is about4–5 times that of CLM and even much more than that of VNS orGASA, it is affordable for practical applications with respect tothe effectiveness. In other words, CLLM can always find the optimalsolutions for most of the instances efficiently, and it is desirable forpractical no-wait job shop problems.

Acknowledgements

This work is supported by National Natural Science Foundationof China under Grants Nos. 60672092 and 60504029, and the Na-tional High Technology Research and Development Program of Chi-na (863 Program) under Grant No. 2008AA04Z103. The authors aregrateful to the anonymous referees for their valuable suggestionsand comments.

References

[1] D. Applegate, W. Cook, A computational study of the job-shop problem, ORSAJournal on Computing 3 (2) (1991) 149–156.

[2] N. Bansal, M. Mahdian, M. Sviridenko, Minimizing makespan in no-wait jobshops, Mathematics of Operations Research 30 (4) (2005) 817–831.

[3] J. Blazewicz, W. Domschke, E. Pesch, The job-shop-scheduling-problem:Conventional and new solution techniques, European Journal of OperationalResearch 93 (1996) 1–33.

[4] P. Dinh-Nguyen, K. Andreas, Surgical case scheduling as a generalized job shopscheduling problem, European Journal of Operational Research 185 (2008)1011–1025.

[5] H. Fisher, G.L. Thompson, Probabilistic learning combinations of local job-shopscheduling rules, Industrial Scheduling, Prentice-Hall, Englewood Cliffs, NJ,1963.

[6] J.M. Framinan, C. Schuster, An enhanced timetabling procedure for the no-waitjob shop problem: A complete local search approach, Computers & OperationsResearch 331 (2006) 1200–1213.

[7] D. Ghosh, G. Sierksma, Complete local search with memory, Journal ofHeuristics 8 (2002) 571–584.

[8] F. Glover, Tabu search – Part II, ORSA Journal on Computing 2 (1990) 4–32.[9] J. Grabowski, J. Pempera, Sequencing of jobs in some production system,

European Journal of Operational Research 125 (2000) 535–550.[10] N.G. Hall, C. Sriskandarajah, A survey of machine scheduling problems with

blocking and no-wait in process, Operations Research 44 (1996) 510–525.[11] A. Jain, S. Meeran, Deterministic job-shop-scheduling: Past, present and future,

European Journal of Operational Research 113 (2) (1990) 390–434.[12] S. Lawrence, Resource constrained project scheduling: An experimental

investigation of heuristic scheduling techniques, Technical Report, Carnegie-Mellon University, Pittsburgh, 1984.

[13] J.K. Lenstra, A.H.G. Rinnooy Kan, Computational complexity of discreteoptimization problems, Annals of Discrete Mathematics 4 (1979) 121–140.

[14] R. Macchiaroli, S. Mole, S. Riemma, Modelling and optimization of industrialmanufacturing processes subject to no-wait constraints, International Journalof Production Research 37 (11) (1999) 2585–2607.

[15] A. Mascis, D. Pacciarelli, Job shop scheduling with blocking and no-waitconstraints, European Journal of Operational Research 142 (3) (2002) 498–517.

[16] C. Meloni, D. Pacciarelli, M. Pranzo, A rollout metaheuristic for job shopscheduling problems, Annals of Operations Research 131 (2004) 215–235.

[17] I. Ovacik, R. Uzsoy, Decomposition Method for Complex Factory SchedulingProblems, Kluwer, Dordrecht, 1997.

[18] W. Raaymakers, J. Hoogeveen, Scheduling multipurpose batch processindustries with no-wait restrictions by simulated annealing, EuropeanJournal of Operational Research 126 (2000) 131–151.

[19] C. Rajendran, A no-wait flowshop scheduling heuristic to minimize makespan,Journal of the Operational Research Society 45 (4) (1994) 472–478.

[20] S. Reddi, C. Ramamoorthy, A scheduling-problem, Operational ResearchQuarterly 24 (1973) 441–446.

[21] S. Sahni, Y. Cho, Complexity of scheduling shops with no-wait in process,Mathematics of Operations Research 4 (1979) 448–457.

[22] C. Schuster, J.M. Framinan, Approximate procedures for no-wait job shopscheduling, Operations Research Letters 31 (2003) 308–318.

[23] C. Schuster, No-wait job shop scheduling: Komplexität und local search,Dissertation Thesis, University of Duisburg-Essen, Germany, 2003 (in German).

[24] C. Schuster, No-wait job shop scheduling: Tabu search and complexity ofsubproblems, Mathematical Methods of Operations Research. 63 (2006) 473–491.

[25] C. Sriskandarajah, P. Ladet, Some no-wait shops scheduling problems:Complexity aspect, European Journal of Operational Research 24 (1986)424–438.

[26] R.H. Storer, S.D. Wu, R. Vaccari, New search spaces for sequencing instanceswith application to job shop scheduling, Management Science 38 (1992)1495–1509.

[27] D.A. Wismer, Solution of the flowshop scheduling-problem with nointermediate queues, Operations Research 20 (1972) 689–697.