Computers & Operations Research 26 (1999) 715—730
One-operator—two-machine flowshop scheduling with setup and dismounting times T.C. Edwin Cheng *, Guoqing Wang, Chelliah Sriskandarajah Office of the Vice-President (Research and Postgraduate Studies), The Hong Kong Polytechnic University, Kowloon, Hong Kong Department of Business Administration, Jinan University, Guangzhou, People+s Republic of China Department of Mechanical and Industrial Engineering, University of Toronto, Toronto, Ontario, Canada Received November 1997; received in revised form June 1998
Abstract In this paper we study the problem of scheduling n jobs in a one-operator—two-machine flowshop. In such a flowshop, before a machine begins processing a job, the operator has to set up the machine, and then the machine can process the job on its own. After a machine finishes processing a job, the operator needs to perform a dismounting operation before setting up the machine for another job. The setup and dismounting operations are either separable or nonseparable. The objective is to minimize the makespan. Confining our study to cyclic-movement schedules which require the operator to move between the two machines according to some cyclic pattern, we show that both the cyclic-movement separable and nonseparable setup and dismounting problems are NP-complete in the strong sense. We then propose some heuristics and analyze their worst-case error bounds. 1999 Elsevier Science Ltd. All rights reserved. Scope and purpose The one-worker—multiple-machine (OWMM) concept is widely applied in just-in-time (JIT) manufacturing systems. In an OWMM system, a worker tends several machines simultaneously where each of the machines performs a different operation, and the different machines make up a flow line. In this paper, we study a scheduling problem in the one-operator—two-machine system where the operator moves between two machines according to some cyclic pattern, and performs the setup and dismounting operations on both machines. Both separable and nonseparable setup and dismounting problems are considered. Keywords: One-operator—two-machine; Flowshop scheduling; Complexity; Algorithms
*Corresponding author. Tel.: 00852 2766 5216; fax: 00852 2356 2682; e-mail:
[email protected]. 0305-0548/99/$ — see front matter 1999 Elsevier Science Ltd. All rights reserved. PII: S 0 3 0 5 - 0 5 4 8 ( 9 8 ) 0 0 0 8 7 - 2
716
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
1. Introduction In this paper, we study a scheduling problem in a one-operator—two-machine flowshop which can be stated as follows: there are n jobs to be processed by a two-machine flowshop system which is tended by one operator. Each job must be processed first on machine 1 and then on machine 2. All jobs are available for processing on the first machine at time zero. Before a machine begins processing a job, the operator has to set up the machine for the job, then the machine can process the job automatically. After a machine finishes processing a job, the operator needs to dismount the jigs and fixtures on it before setting it up for another job. The setup, processing and dismounting operations are non-preemptive and sequence independent. For simplicity, we assume that the transportation times and the walking times of the operator between the machines are negligible. The objective is to schedule the jobs such that the maximum job completion time, i.e., the makespan, is minimized. There are two types of problems associated with the setup and dismounting operations, namely the separable setup and dismounting problem and the nonseparable setup and dismounting problem. For the separable setup and dismounting problem, the setup and dismounting operations of a job can be performed without the involvement of the job, such as setting up jigs and fixtures on a machine, and dismounting them from a machine. Thus, the setup operation of a job on machine 2 can be performed in anticipation of its arrival from machine 1, and so the job is immediately available for processing on machine 2 upon finishing its processing operation on machine 1. For the nonseparable setup and dismounting problem, all setup and dismounting operations can only be performed with the involvement of the job, such as job loading and unloading. Thus, the setup operation on machine 2 of a job can only be started after its dismounting is finished on machine 1. It should be pointed out that some OWMM environment may involve both separable and nonseparable setup and dismounting operations. However, since the nonseparable setup and dismounting times are typically much smaller than the separable setup and dismounting times, we may assume that the nonseparable setup and dismounting times are negligible in this situation. The general case of our problem is to sequence the jobs and schedule the operator moves between the machines concurrently. But for practical reasons and theoretical convenience, we will only consider cyclic-movement schedules in this paper. A cyclic-movement schedule requires the operator to move between the two machines according to some cyclic pattern. With this restriction, we can identify the relevant cyclic-movement schedules for each problem as follows: ¹he cyclic-movement separable setup and dismounting problem. In a regular cycle (as shown in Fig. 1a), the operator first performs the dismounting operation of job J and the setup operation G of job J on machine 1, then performs the same operations on machine 2. In the initial cycle (as G> shown in Fig. 1b), the operator only performs the setup operations on both machines for the first job, and in the final cycle (as shown in Fig. 1c), the operator only performs the dismounting operations on both machines for the last job. ¹he cyclic-movement nonseparable setup and dismounting problem. In a regular cycle (as shown in Fig. 2a), the operator performs the dismounting peration of job J and the setup operation of job G J on machine 1, then performs the dismounting operation of job J and the setup operation G> G\ of J on machine 2. The first and the last cycles are shown in Fig. 2b and c, respectively. G
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
717
Fig. 1. A cyclic-movement schedule for the separable setup and dismounting problem: \ — setup, ) — processing, Y — dismounting.
Fig. 2. A cyclic-movement schedule for the nonseparable setup and dismounting problem: \ — setup, ) — processing, Y — dismounting.
It is clear that the cyclic-movement schedules may be sub-optimal. However, apart from yielding analytical simplicity, the cyclic movement assumption is also reasonable in the real-world due to the following two reasons: (i) A natural way of scheduling jobs in a one-operator—two-machine flowshop is to follow the cyclic movement as the operator and the machine operations tend to overlap, thus the cyclic movement will reduce the interference between the operator and machine operations. (ii) It is evident that, for the cyclic-movement separable setup and dismounting problem, there is no intermediate storage between the two machines and, for the cyclic-movement nonseparable setup and dismounting problem, there are at most two jobs waiting before machine 2 at a time. These observations are in line with the concept of just-in-time manufacturing where buffer inventories are strictly restricted [1]. The model under study is indeed motivated by the one-worker—multiple-machine (OWMM) concept, which is widely applied in just-in-time (JIT) manufacturing systems [2]. In an OWMM system, a worker tends several machines simultaneously where each of the machines performs a different operation. Although it is common to have a worker tend several identical machines simultaneously, the different machines in an OWMM system make up a flow line. In such a system, the machine layout is organized in a logical sequence according to the order of the operations to be performed on the jobs. The worker tends and rotates from machine to machine upon completion of each operation. Thus, the worker follows a cyclic movement. Such a system configuration offers the benefit of reducing labor requirements as well as work-in-process inventory.
718
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
Another area of application of the models under study is the scheduling of robotic cells in which a robot tending several machines uses double grippers, one to remove a finished part from a machine while the other to load another part. Such robotic cells have long been used in manufacturing [3]. Since the robot can carry two parts at a time, it usually follows the cyclic movement. In fact, Su and Chen [4] proved the optimality of the cyclic movement for the cyclic-movement nonseparable setup and dismounting problem when all jobs are identical, and provided some analytical results showing the effectiveness of a double-gripper robot cell over a single-gripper robot. They also noted the lack of literature on the scheduling of robotic cells where a robot uses double grippers. Due to their theoretical challenges and practical significance, many different versions of the flowshop makespan problem have received considerable attention from researchers for decades. For general information on the flowshop scheduling problems, the reader is referred to the works of Graham et al. [5], Dudek et al. [6], Lawler et al. [7], Hall and Sriskandarajah [8]. Particularly, we note that much attention has recently been devoted to similar problems in which an m-machine flowshop is served with a single intermediate agent (e.g., an AGV or a robot) which performs certain operations such as transportation, loading and unloading. These problems have been analyzed under two scenarios: (i) in single part type production — finding the best policy of the agent moves [9, 10], and (ii) in multi-product type production — for a fixed sequence of agent moves, finding the best processing sequence for the parts [11—14]. This paper deals with problems in the second scenario. But there are two major differences between our problems and most of the problems studied under this scenario: (i) Most studied problems only deal with the nonseparable setup and dismounting (load and unload) operations. The only exception is the problem studied by Levner et al. [15]. Although the separable setup operations are considered in [15], the operations are not performed by the intermediate agent in their model: (ii) Most studied problems implicitly assume that the robot uses a single gripper, thus the unload and load operations for adjacent parts on a machine have to be performed separately. The problem studied by Agnetis et al. [16] is an exception. In fact, the dynamics of the system in [16] is actually the same as the cyclic-movement nonseparable setup and dismounting problem considered in this paper. But their study only concerns the situation in which the parts are produced in lots, where each lot consists of several identical parts to be produced consecutively. The rest of the paper is organized as follows. In the next section, we will introduce the notation to be used. Then the cyclic-movement separable setup and dismounting problem and the cyclic-movement nonseparable setup and dismounting problem are considered in Sections 3 and 4, respectively. Finally, we present our conclusions in the last section.
2. Notation To avoid confusion, we will first make a distinction between the terms schedule and sequence as follows: A sequence is a complete ordering of the set of jobs, whereas a schedule is a sequence together with the starting time arrangements for the jobs. Now, we introduce the notation to be used throughout this paper.
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
719
2.1. Notation J"+J , 2 , J ,: L s and s : G G r and r : G G p and q : G G p"1J , 2 , J 2:
L
n: C (n):
a job set setup times of J on machines 1 and 2, respectively G dismounting times on machines 1 and 2, respectively processing times of J on machines 1 and 2, respectively G a job sequence, where the subscript [i] denotes the ith entity in the sequence a schedule makespan of the schedule n.
Adopting the three-field notation proposed by Graham et al. [5] to describe scheduling problems, we denote the general problem as F2(O1)/cyclic/C . The cyclic-movement separable
setup and dismounting problem and the cyclic-movement nonseparable setup and dismounting problem will be denoted as F2(O1)/cyclic, ssd/C and F2(O1)/cyclic, nsd/C , respectively.
3. Cyclic-movement separable setup and dismounting problem We consider F2(O1)/cyclic, ssd/C in this section. First, we formulate the problem to minimize
the makespan. Given a feasible schedule n with the job sequence p"1J , 2 , J 2 for F2(O1)/cyclic, ssd/C ,
L
let ¹ , i"0, 1, 2 , n, be the duration between the start time of the dismounting operations of G
J and J on machine 1 (as shown in Fig. 1). Let G
G>
¹ "max+s #p , s #s ,,
¹ "max+r #r , q #r ,. L
L
L L
L
The values of ¹ , i"1, 2 , n!1, can be easily computed as follows: G
¹ "max+r #s #p , q #r #s , r #s #r #s ,. G
G
G>
G> G
G
G> G
G>
G
G>
Then, we have L C (n)" ¹
G
G "max+s #p , s #s ,#max+r #r , q #r ,
L
L L
L
L\ # max+r #s #p , q #r #s , r #s #r #s , G
G>
G> G
G
G> G
G>
G
G>
G L " (r #r#s #s )#max+p !s , 0,#max+0, q !r , G G G G
L
L
G L\ # max+p !r !s , q !r !s , 0,. G>
G
G> G
G
G>
G
(1)
720
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
With this formulation, we immediately obtain two important results. First, we establish the computational complexity for the problem with the following theorem. Theorem 1. ¹he problem F2(O1)/cyclic, ssd/C is NP-complete in the strong sense.
Proof. This is achieved by a reduction from the classical three-machine no-wait scheduling problem, denoted as F3/no-wait/C , which has been shown to be NP-complete in the strong
senses by Rock [17]. For an instance on the F3/no-wait/C problem with the job set
J"+J , 2 , J ,, let x , y and z denote the processing times of J on the first, second and third L G G G G machine, respectively. Then the makespan of the schedule n with the job sequence p"1J , 2 , J 2, Z(n), can be written (see [8]) as
L
L L\ Z(n)" y #x #z # max+x !y , z !y , 0,. G
L
G>
G G
G>
G G To construct an instance for F2(O1)/cyclic, ssd/C , we can set p "x , s "r"y , s"r "0
G G G G G G G and q "z . It is immediately clear that minimizing Z(n) is equivalent to minimizing C (n). 䊏 G G
Next, we identify two polynomially solvable cases using Theorem 2 below. Theorem 2. ¼hen s "s or r"r, i"1, 2 , n, F2(O1)/cyclic, ssd/C can be solved in O(n) time. G G
Proof. When s "s, i"1, 2 , n, from Eq. (1), we have G L C (n)" (r #r#s #s )#max+p !s , 0,#max+0, q !r ,
G G G G
L
L
G L\ # max+p !r !s , q !r !s , 0, G>
G
G> G
G
G>
G L " (r #s#s )#max+p !s , 0,#max+r , q !r #r , G G
L L
L
L
G L\ # max+p !s , q !r #r !s, r ,. (2) G>
G> G
G
G
G
G When the last job is fixed to be J , i.e., J "J , l"1, 2 , n, this special case reduces to the J L
J F2/no-wait/C problem with the job set J"+J , 2 , J , such that
L p"max+p !s , 0,, i"1, 2 , n, G G G q"0, J q"max+q !r !s#r , r ,, i"1, 2 , n, iOl. G G G G G As F2/no-wait/C is solvable by the Gilmore and Gomory algorithm in O(n log n) time [8, 18],
one evident way to solve the special case is to obtain an optimal solution n* with J , l"1, 2 , n, as J J
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
721
the last job by solving the corresponding no-wait problem, and then choose the optimal schedule n* such that C (n*)"min+C (n* ) " l"1, 2 , n,. This straightforward scheme solves the case
J in O(n log n) time. In fact, this O(n log n) scheme may be modified to be performed in essentially quadratic time according to Levner et al. [16]. Similarly, when r"r, i"1, 2 , n, we have G L C (n)" (r #r#s #s )#max+p !s , 0,#max+0, q !r ,
G G G G
L
L
G L\ # max+p !r !s , q !r !s , 0, G>
G>
G> G
G
G>
G L " (r #r#s )#max+p !s #s , s ,#max+0, q !r , G G
L
L
G L\ # max+p !s #s !r, q !r , s ,. (3) G>
G>
G>
G
G G>
G When the first job is fixed to be J , i.e., J "J , k"1, 2 , n, this special case reduces to the I
I F2/no-wait/C problem with the job set J"+J , 2 , J , such that
L p "0, I p"max+p !r!s#s , s ,, i"1, 2 , n, iOk, G G G G G q"max+q !r , 0,, i"1, 2 , n. G G G Following the same earlier argument, we can show that this case can also be solved in quadratic time. The proof is complete. 䊏 Furthermore, we note that when s "0 or r"0, i"1, 2 , n, it is evident that F2(O1)/ G G cyclic, ssd/C directly reduces to the F2/no-wait/C problem, thus can be solved by the Gilmore
and Gomory algorithm in O(n log n) time. Based on these two simpler solvable special cases, we can construct a heuristic, SSD, for F2(O1)/cyclic, ssd/C .
Heuristic SSD Step 1. For a given instance of F2/(O1)/cyclic, ssd/C , if L s * L r , set r"0,
G G G G G i"1, 2 , n; otherwise, set s "0, i"1, 2 , n. G Step 2. Apply the Gilmore and Gomory algorithm to find the optimal schedule n with the job sequence p"1J , 2 , J 2 for the corresponding special case.
L
Step 3: Construct a feasible schedule n for F2(O1)/cyclic, ssd/C with the same job sequence p. 11"
It is clear that the time complexity of SSD is O(n log n). Let n* be an optimal schedule for F2(O1)/cyclic, ssd/C , *"min+ L s , L r ,, S" L (s #s ) and R" L (r #r ). In G G G G G
G G G G for the the following theorem, we establish G the worst-case error bound heuristic SSD. Theorem 3. C (n )/C (n*))5/4, if *)min+S, R,/2; C (n )/C (n*))4/3, if *)
11"
11" max+S, R,/2; C (n )/C (n*))3/2, otherwise.
11"
722
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
Proof. Let C (n) be the makespan of the no-wait problem considered in Step 2. Clearly, we
have C (n ))C (n)#*.
11"
Also, it is obvious that C (n*)*C (n),
and C (n*)*S#R.
So we get C (n ) C (n)#* C (n) * *
11" ) ) # )1# . C (n*) C (n*) C (n*) S#R S#R
In what follows, we shall obtain three worst-case error bounds for SSD for three possible cases. Case 1: *)min+S, R,/2. Since S#R*4* in this case, we have C (n )/C (n*))5/4. To show the bound is tight,
11" consider the instance with J"+J , 2 , J , such that s "¸, s"0, i"1, 2 , 4, and G G p "1, q "¸#2, r "¸, r "0, p "1, q "¸#2, r "¸, r "0, p "2¸, q "2, r "0, r "0, p "1, q "1, r "0, r "2¸, where ¸1. For this instance, we have S"4¸, R"4¸ and *" r"2¸, and so *"min+S, R,/2. The G schedule obtained by SSD and the optimal schedule areG shown in Fig. 3. We have C (n ) 10¸#4
11" " . C (n*) 8¸#5
It is clear that C (n )/C (n*)P5/4, as ¸PR.
11" Case 2. *)max+S, R,/2. Since S#R*2*#min+S, R,*2*#min+ L s , L r ," 3*, we have C (n )/C (n*) G
11" G Gwith Ginstance )4/3. To show the bound is tight, consider the J"+J , J , such that s"0 and G r "0, i"1, 2, and G s "¸, p "¸, q "2, r "0, s "¸#1, p "1, q "1, r "¸, where ¸1.
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
Fig. 3. Schedules n
Fig. 4. Schedules n
11"
11"
723
and n*: \ — setup, ) — processing, Y — dismounting.
and n*: \ — setup, ) — processing, Y — dismounting.
For this instance, we have S"2¸#1, R"¸ and *" r"¸, and so *)max+S, R,/2. G The schedule obtained by SSD and the optimal schedule areG shown in Fig. 4. We have C (n ) 4¸#3
11" " . 3¸#4 (n*)
It is clear that C (n )/C (n*)P4/3, as ¸PR.
11" Case 3. *'max+S, R,/2. Since S#R*2* in this case, we have C (n )/C (n*))3/2. To show the bound is tight,
11" consider the instance with J"+J , J , such that s"0 and r "0, i"1, 2, and G G s "¸, p "¸, q "2, r "0, s "1, p "1, q "1, r "¸, where ¸1. For this instance, we have S"¸#1, R"¸ and *" r"¸. The schedule obtained by G SSD and the optimal schedule are shown in Fig. 5. We haveG C (n ) 3¸#3
11" " . 2¸#4 C (n*)
It is clear that C (n )/C (n*)P3/2, as ¸PR. The proof is complete. 䊏
11"
(4)
Note that we can also set r" L r /n or s" L s /n in Step 1 of SSD. But in this case, the G G G G to time complexity of the algorithm will be O(n) according Theorem 2. Furthermore, it is not clear whether these settings would result in any improvement in the worst-case performance of the heuristic.
724
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
Fig. 5. Schedules n
11"
and n*: \ — setup, ) — processing, Y — dismounting.
4. Cyclic-movement nonseparable setup and dismounting problem In this section we consider F2(O1)/cyclic, nsd/C . We first give a simple proof for the strong
NP-completeness for the problem by showing that it reduces to the traditional two-machine flowshop with a limited buffer size. Clearly, when all setup and dismounting times approach zero, the cyclic-movement constraint of F2(O1)/cyclic, nsd/C simply reduces to a job starting time
constraint, and whenever there are two jobs waiting for processing before machine 2, machine 1 will be blocked. So F2(O1)/cyclic, nsd/C is equivalent to the traditional two-machine flowshop with
limited buffer size b"1, which is denoted as F2/b"1/C . Since F2/b"1/C is NP-complete
in the strong sense [16], we have the following theorem. Theorem 4. F2(O1)/cyclic, nsd/C is NP-complete in the strong sense even when s "s"
G G r "r"0, i"1, 2 , n. G G In the remainder of this section, we will provide two heuristics for the problem and analyze their worst-case error bounds. The first heuristic, NSD1, is based on a solvable case of the problem in which q "0 and G r"0, i"1, 2 , n. Let n be a feasible schedule with the job sequence p"1J , 2 , J 2 for the G
L
special case. Referring to Fig. 2, we see that L C (n)" ¹
G G
L\ "s #p # (r #s #max+p , s ,)#r #s
G\
G
G G\
L
L
G L L\ " (s #r )#p #s # max+p , s ,. (5) G G L
G G\
G G Thus the problem reduces to the F2/no-wait/C problem with the job set J"+J , 2 , J , such
L that p"p , q"s , i"1, 2 , n. G G G G With this result, we construct the following heuristic: Heuristic NSD1 Step 1. For a given instance of F2(O1)/cyclic, nsd/C with job set J"+J , 2 , J ,, construct an
L instance of the F2/no-wait/C problem with job set J"+J , 2 , J , such that
L p"p , q"s , i"1, 2 , n. G G G G
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
725
Step 2. Apply the Gilmore and Gomory algorithm to find the optimal schedule n with job sequence p"1J , 2 , J 2 for the no-wait problem.
L
Step 3. Construct a feasible schedule n with the corresponding job sequence p" ,1" 1J , 2 , J 2 for F2(O1)/cyclic, nsd/C .
L
The time complexity of NSD1 is O(n log n). Let n* be an optimal schedule for F2(O1)/ cyclic, nsd/C , S" L s and Q" L (q #r ). In the following theorem, we establish the G
G G G worst-case error bound G for the heuristic NSD1. Theorem 5. If S*Q, C (n )/C (n*))3/2; otherwise, C (n )/C (n*))2.
,1"
,1" Proof. Let C (n* ) be the makespan obtained for the problem in Step 2 of NSD1. Following
,5 the proof of Theorem 3, we can easily show that C
C
C
and so
(n ))C (n)#Q, ,1"
(n*)*C (n),
(n*)*S#Q,
C (n ) C (n)#Q Q
,1" ) )1# . C (n*) C (n*) S#Q
When S*Q, it is obvious that C (n )/C (n*))3/2. To show this bound is tight,
,1" consider the instance J"+J , J , J , such that r "0 and r"0, i"1, 2, 3, and G G s "1, s "¸, p "1, q "1, s "1, s "¸#1, p "2, q "2¸, s "2¸, s "1, p "¸#1, q "1, where ¸1. For this instance, we have S"2¸#2 and Q"2¸#2, and so S"Q. The schedule n ,1" obtained by NSD1 and the optimal schedule are shown in Fig. 6. We have C (n ) 6¸#6
,1" " . C (n*) 4¸#8
It is clear that C (n )/C (n*)P3/2, as ¸PR.
,1"
When S(Q, it is obvious that C (n )/C (n*))2. To show this bound is tight, consider
,1" the instance J"+J , J , such that s "1, r "0, i"1, 2, and G s "2, p "1, q "1, r "¸, s "1, p "2, q "¸, r "0, where ¸1.
726
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
Fig. 6. Schedules n and n*: \ — setup, ) — processing. ,1"
Fig. 7. Schedules n
,1"
and n*: \ — setup, ) — processing, Y — dismounting.
For this instance, we have S"3 and Q"¸#1, and so S(Q. The schedule n obtained ,1" by NSD1 and the optimal schedule are shown in Fig. 7. We have C (n ) 2¸#7
,1" " . C (n*) ¸#8
It is clear that C (n )/C (n*)P2, as ¸PR. The proof is complete. 䊏
,1" To construct another heuristic for F2(O1)/cyclic, nsd/C , let us consider a restricted version of
the problem, namely N¼, in which the dimounting and setup operations on machine 2 in a cycle must immediately follow the dismounting and setup operations on machine in the previous cycle (Fig. 8). Now we consider a special case where the setup and dismounting operations are job independent for N¼, i.e., s "s, s"s, r "r and r"r, i"1, 2 , n . As shown in Fig. 8, it is not G G G G difficult to see that the makespan of the problem N¼ can be expressed as follows: L C (n )" ¹
,5 G G "2s#r#p #max+s#r#p , s#q , s#r#s,
L\ # max+s#r#p , s#r#q , s#r#s#r, G
G\
G #max+r#p , s#r#q , r#s#r,#s#2r#q . (6) L
L\
L
Following a similar argument as that for the proof of Theorem 2, we can show that, when the setup and dismounting operations are job independent, N¼ can be solved in O(n) time. Hence, by solving this special case for N¼, we may get a near-optimal solution for F2(O1)/cyclic, nsd/C .
But instead of directly dealing with N¼, we introduce a simplified problem, namely SN¼, which
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
727
Fig. 8. A schedule for problem NW: \ — setup, ) — processing, Y — dismounting.
seeks to minimize the following function: C (n )"s#r#p #s#r#q
1,5
L
L # +s#r#p , s#r#q , s#r#s#r,. (7) G\
G
G Following the discussion of the special cases in Section 3, we can easily show that SN¼ can be solved in O(n) time. Now let n and n be feasible schedules with the same job sequence for N¼ and SN¼, ,5 1,5 respectively. By comparing Eqs. (6) and (7), we have C (n )!s!r)C (n ))C (n )#s#r. (8)
,5
1,5
,5 Based on these results, we can now construct a heuristic for the general problem as follows: Heuristic NSD2 Step 1. For a given instance of F2(O1)/cyclic, nsd/C , let s" L s /n, r" L r /n,
G G G G s" L s /n and r" L r /n. G G G an instance of SN¼ G and find the optimal schedule n* with the job sequence Step 2. Construct 1,5 p"1J , 2 , J 2.
L
Step 3. Construct a feasible schedule n with the same job sequence p for the instance of ,1" F2(O1)/cyclic, nsd/C .
It is easy to see that the completely of NSD2 is O(n). While it is clear that C (n )/C (n*))2 for the general problem, the following theorem shows that the worst ,1" case performance of the heuristic may be better when the setup and dismounting times are job-independent. Theorem 6. If s "s, s"s, r "r and r"r, i"1, 2 , n, C (n )/C (n*))3/2. G G G G
,1" Proof. As s "s, s"s, r "r and r"r, i"1, 2 , n, it is clear that for a feasible schedule n with G G G G the same job sequence corresponding to a feasible schedule n for problem N¼, we have ,5 C (n))C (n ).
,5
728
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
Hence, from Eq. (8), we have C (n ))C (n* )#s#r. (9)
,1"
1,5 Now assume that, without loss of generality, n* is an optimal schedule with the sequence p"1J , 2 , J 2 for F2(O1)/cyclic, nsd/C . We can assume that n* is a saturated schedule by L
which we mean that, except for the initial idle time I "2s#r#p on machine 2 and the final idle time I "s#2r#q on machine 1, there is no idle time on both machines. So we have L L\ C (n*)"(2s#p #r)# (p #s)#(s#2r#q ). (10)
G L G In such a saturated schedule, we have q *s#r, i"1, 2 , n!1. (11) G Now, construct a job set JM "+JM , 2 , JM , with L pN "0, qN "s#q , (12) pN "s#r#p , qN "s#r#q, i"2, 2 , n!1, (13) G G G pN "r#p , qN "0, (14) L L L where pN and qN denote the processing times of JM on machines 1 and 2, respectively. It is easy to see G G G that the schedule n* with the sequence p"1JM , 2 , JM 2 is indeed optimal for JM and the intermediate L inventories are limited by a buffer size b"1, and C (n*)"C (n )#2s#r#s#2r#p #q . (15)
@ L Then, following the argument due to Papadimitriou and Kanellakis [19], we can easily show that there exists a feasible scdhedule n with the sequence p"1JM , JM , 2 , JM , JM 2 for @
L\ L F2/no-wait/C with the job set JM such that
C (n ) 3
@ ) . (16) C (n ) 2
@ Now construct a feasible schedule n with the corresponding sequence p"1J , J , 2 , L
J , J 2 for SN¼. From Eqs. (7) and (11)—(14), we see that L\ L C (n ))C (n )#s#r#p #q
L
@ L "C (n )#2s#r#s#2r#p #p . (17)
@ L From Eqs. (10) and (15)—(17), we have C (n ) C
,1" ) C (n*)
C ) C
(n* )#s#r C (n )#s#r 1,5 ) L C (n*) C (n*)
(n )#3s#r#s#3r#p #p @ L (n )#2s#r#s#2r#p #q @ L
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
729
3 r#s#p #p L ) ! 2 2(C (n )#2s#r#s#2r#p #q )
@ L 3 ( . 2 This completes the proof. 䊏 However, we are yet to find an instance which shows that the bound is attainable. But, according to Papadimitriou and Kanellakis [19], we know that the bound C (n* )/C (n*))3/2 is tight
1,5 when s "s"r "r"0, i"1, 2 , n. G G G G 5. Conclusions In this paper, we have considered the problem of scheduling n jobs in a one-operator—twomachine flowshop so as to minimize the makespan. Confining our attention to cyclic-movement schedules, we have first identified the relevant cyclic-movement schedules for the separable and nonseparable setup and dismounting problems, respectively. We have shown that both problems are NP-complete in the strong sense. We also have proposed some heuristics and analyzed their worst-case error bounds. A multistage system is more realistic in practice, and so the one-operator—m-machine flowshop problem is a worthy topic for further research. Since the makespan problem in such a system is necessarily strongly NP-complete, research should focus on the design of efficient heuristics and analysis of their performance. Acknowledgements This research was supported in part by The Hong Kong Polytechnic University under grant number 350/239. We are grateful to two anonymous referees for their helpful comments. References [1] [2] [3] [4]
Cheng TCE, Podolsky S. Just-in-time manufacturing: an introduction, 2/e. London: Chapman & Hall, 1996. Krajeswski LJ, Ritzman LP. Operations management: strategy and analysis. Reading, MA: Addison-Wesley, 1987. East N. A human guide to robots. UK: Alpin Press, 1983. Su Q, Chen FE. Optimal sequencing of double-gripper gantry robot moves in tightly-coupled serial production systems. IEEE Transactions on Robotics and Automation 1996;12:22—30. [5] Graham RL, Lawler EL, Lenstra JK, Rinnooy Kan AHG. Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics 1979;5:287—326. [6] Dudek RA, Panwalker SS, Smith ML. The lessons of flowshop scheduling research. Operations Research 1992;40:7—13. [7] Lawler EL, Lenstra JK, Rinnooy Kan AHG, Shmoys DB. Sequencing and scheduling: algorithms and complexity. In: Nemhauser GL, Rinnooy Kan AHG (editors), Logistics of production and inventory. Amsterdam: NorthHolland, 1993.
730
T.C.E. Cheng et al. / Computers & Operations Research 26 (1999) 715—730
[8] Hall NG, Sriskandarajah C. A survey of machine scheduling problems with blocking and no-wait in process. Operations Ressearch 1996;44:510—24. [9] Crama Y, van de Klundert J. Cyclic scheduling of identical parts in a robotic cell. Operations Research 1997;45:952—6. [10] Levner E, Kats V, Levit VE. An improved algorithm for the cyclic flowshop scheduling in a robotic cell. European Journal of Operational Research 1997;97:500—8. [11] Kise H, Shioyama T, Ibaraki T. Automated two-machine flowshop scheduling: a solvable case. IIE Transactions 1991;23:10—6. [12] Sethi SP, Sriskandarajah C, Sorger G, Blazewicz J, Kubiak W. Sequencing of parts and robot moves in a robotic cell. International Journal of Flexible Manufacturing Systems 1992;4:331—58. [13] Hall NG, Kamoun H, Sriskandarajah C. Scheduling in robotic cells: classification, two and three machine cells. Operations Research 1997;45:421—39. [14] Hall NG, Kamoun H, Sriskandarajah C. Scheduling in robotic cells: complexity and steady state analysis. European Journal of Operational Research 1998;109:43—65. [15] Levner E, Kogan K, Maimon O. Flowshop scheduling of robotic cells with job-dependent transportation and set-up effects. Journal of the Operational Research Society 1995;46:1447—55. [16] Agnetis A, Pacciarelli D, Rossi F. Lot scheduling in a two-machine cell with swapping devices. IIE Transactions 1996;28:911—7. [17] Rock H. The three-machine no-wait flowshop problem is NP-complete. Journal of the Association for Computing Machinery 1984;33:336—45. [18] Gilmore PC, Gomory RE. Sequencing a one-state variable machine: a solvable case of the traveling salesman problem. Operations Research 1964;12:655—79. [19] Papadimitriou CH, Kanellakis PC. Flowshop scheduling with limited temporary storage. Journal of the Association for Computing Machinery 1980;27:533—49.
T.C.E. Cheng is Vice-President (Research and Postgraduate Studies) and Chair of Management, The Hong Kong Polytechnic University. He obtained a Ph.D. in Operations Research from the University of Cambridge. His expertise is in the fields of production and operations management and operations research. His publications have appeared in a wide variety of journals. G. Wang is a lecturer in the Department of Business Administration, Jinan University. He received a B.Sc. in Mechanical Engineering and an M.Sc. in Management Engineering from Harbin Institute of Technology, People’s Republic of China. His research interests are in operations management and machine scheduling. C. Sriskandarajah is a professor in the Department of Mechanical and Industrial Engineering, University of Toronto, Canada. He has published numerous articles on machine scheduling.