European Journal of Operational Research 158 (2004) 470–487 www.elsevier.com/locate/dsw
Production, Manufacturing and Logistics
Machine scheduling with job delivery coordination Yung-Chia Chang a, Chung-Yee Lee b
b,*
a 1135 Kern Avenue, Sunnyvale, CA 94085, USA Department of Industrial Engineering and Engineering Management, Hong Kong University of Science and Technology, Clear Water Bay, Kowloon, Hong Kong
Received 30 May 2001; accepted 5 May 2003 Available online 8 August 2003
Abstract This paper considers together machine scheduling and finished product delivery. In particular, it addresses the situation in which jobs require different amounts of storage space during delivery. Three scenarios of the problem are discussed. For the problem in which jobs are processed on a single machine and delivered by a single vehicle to one customer area, we provide a proof of NP-hardness and a heuristic with worst-case analysis. The worst-case performance ratio for our heuristic is proven to be 5/3, and the bound is tight. For the problem in which jobs are processed by either one of two parallel machines and delivered by a single vehicle to one customer area, our heuristic could cause at most 100% error under the worst-case with the bound being tight. For the problem that considers jobs to be processed by a single machine and delivered by a single vehicle to two customer areas, we provide another heuristic that is 100% error bound. 2003 Elsevier B.V. All rights reserved. Keywords: Scheduling; Heuristics; Supply chain management
1. Introduction Supply chain management has been one of the most important and widely discussed topics in manufacturing research over the last ten years. A supply chain represents all stages at which value is added to a manufactured product. Generally speaking, it includes all the interactions between suppliers, manufacturers, distributors, and customers. Due to market globalization, coordination among different stages in the supply chain to achieve ideal overall system performance has become more practical and has received attention from both industry practitioners and academic researchers. Furthermore, with the popularity of just-in-time concepts, companies now tend to reduce their inventory levels in order to be competitive. This trend has created a closer interaction between the stages in a supply chain and has increased the practical usefulness of integrated models. In such an integrated system, the linkage between job scheduling (the production stage) and finished goods delivery (the distribution stage) is *
Corresponding author. Tel.: +852-2358-7092; fax: +852-2358-0062. E-mail addresses:
[email protected] (Y.-C. Chang),
[email protected] (C.-Y. Lee).
0377-2217/$ - see front matter 2003 Elsevier B.V. All rights reserved. doi:10.1016/S0377-2217(03)00364-3
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
471
extremely important. Traditional approaches separately and sequentially consider machine scheduling and job delivery, without effective coordination between the two. However, making two decisions separately without coordination will not necessarily yield a global optimal solution. Substantial ineffectiveness may result when decision-making between the two stages is poorly coordinated, especially when transportation resources are scarce in the system. This paper studies a class of the two-stage scheduling problem in which the first stage is job production and the second stage is job delivery. The focus is on the study of the integration of production scheduling with delivery of finished products to customers. In this problem, jobs are first processed in a manufacturing system then delivered to respective customers. Depending on specific problem characteristics, the manufacturing system can be a single machine or set of machines. The customers can possibly be located at different locations. Jobs are delivered in batches by a transporter. Jobs require varying physical space while being loaded into a transporter and delivered to respective customers. A transporter can be a truck, a specialized car, or any special resource concurrently occupied during job transport. Generically, transporters are referred to as vehicles. Each vehicle is associated with a capacity constraint, measured by the total physical space of the jobs it can deliver in one transport trip. A particular transportation time is associated with each delivery. Job completion time is defined as the time when a job arrives at the customer. All jobs delivered in one shipment to one customer have the same completion times. Considering production and job delivery as one system, the cost function is chosen to measure the customer service level. In particular, we want to minimize the time for all jobs to be delivered to the respective customer(s). The study begins by examining a simplified version of the problem in which each job is processed by a single machine, then delivered by a single vehicle to customers located in close proximity to each other (defined as a one customer area). (Later in this paper, the problem is then generalized to the case in which jobs are processed by parallel machines and to the case when deliveries are made to two customer areas.) The one customer area assumption applies if the travel times between customers are not significant in comparison with the time from the manufacturing system to the customer or when all jobs are delivered to a regional distribution center rather than to individual customers. It is also applicable to a situation in which the manufacturer makes direct shipments to each customer. In that situation, a routing decision is not needed. We consider a problem in which only one vehicle is available to deliver the finished jobs. It seems unrealistic to assume that there is only one vehicle to deliver the jobs since the manufacturer can easily expand its delivery capacity, if the demand exceeds this capacity, by adding more vehicles or subcontracting some of the deliveries. However, this study examines the coordination effects to gain insights for other, more complicated situations by assuming the delivery capacity to be a constraining factor. The chosen objective function is a fundamental measure of performance in classic machine-scheduling research. It provides useful information to the customer(s) on the estimated completion time for an entire work order. The remainder of this paper is organized as follows. We briefly review the literature in Section 2. Section 3 defines the studied problems as well as the required notations. This problem is intractable even in a simplified version. We focus, therefore, on developing heuristics with guaranteed worst-case performance for some special cases of the problem. In Section 4, we study a problem in which jobs are processed by a single machine and are delivered by a single vehicle to a one customer area. Section 5 considers a similar problem but with two parallel machines in the manufacturing system. In Section 6, we discuss a problem with a single machine but with jobs that must be delivered to either one of two customer areas. Section 7 presents a conclusion as well as a discussion of future research directions.
2. Literature review In the field of machine scheduling, most researchers have studied scheduling problems without taking into account underlying physical material handling systems. The assumption is made that an unlimited
472
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
capacity is associated with the material handling system and that transportation times between machines are negligible. Only a few researchers have considered the joint optimization of machine scheduling and job transporting in the underlying material handling system. Perhaps the first study that explicitly considered the transportation issue is by Maggu and Das (1980). They studied a two-machine flow-shop makespan problem in which they assumed that there are unlimited buffers on both machines and a sufficient number of transporters available to transport jobs from one machine to the other with jobdependent transportation times. The problem was solved by using a generalization of JohnsonÕs rule (Johnson, 1954). Maggu et al. (1981) considered the same problem with additional constraints posed on the sequence of processing jobs. Kise (1991) considered a similar problem, but with only one transporter capable of transporting at most one job at a time. Stern and Vitner (1990), Ganesharajah et al. (1998), Panwalkar (1991), and Gemmill and Stevens (1997) considered a similar problem with limited buffer space and unit transporter capacity. Another line of research has focused on problems in which the job completion time is defined as the time when a job is delivered to the destination. Potts (1980) and Hall and Shmoys (1992) studied a singlemachine problem with unequal job arrival times and delivery times. In their model, they implicitly assumed that a sufficient number of vehicles are available in the system in order to deliver immediately a processed job to the customer. They provided a heuristic and a worst-case analysis. Woeginger (1994) studied the same problem in the parallel-machine environment with equal job arrival times and provided a heuristic with a worst-case analysis. There is limited research on problems in which jobs are delivered to customers in batches. Several survey papers on scheduling and batching problems are available including those by Potts and Van Wassenhove (1992), Webster and Baker (1995) and Potts and Kovalyov (2000). Herrmann and Lee (1993), Yuan (1996), Chen (1996), and Cheng et al. (1996) considered machine scheduling problems with jobs delivered in batches after being processed. Each delivery batch incurred a certain transportation cost. However, they did not consider transportation times, i.e., it was assumed that deliveries can be made instantaneously. Yang (2000) studied a model similar to the one studied by Cheng et al. (1996), but with given batch delivery dates. Hall et al. (2001) analyzed a variety of problems with different machine environments where a set of available times, at which batches may be delivered, is fixed before the schedule is determined. Lee and Chen (2001) studied machine scheduling problems with explicit transportation considerations. Two types of transportation situations are considered in their models. The first type, Type-1, involves intermediate transportation of jobs from one machine to another for further processing. The second type, Type-2, involves the transportation provided to deliver finished jobs to their destinations. Jobs are delivered in batches by transporter(s). They assumed that all jobs require the same physical space on the transporter. Both transportation capacity and transportation times are considered in their models. Hurink and Knust (2001) independently studied robotic operations in the manufacturing environment, which is an intermediate type of transportation (Type-1 transportation as defined by Lee and Chen (2001)). They assumed that there is only one transporter available to carry each single job and that the return time of the transporter is zero. Hall and Potts (2000) considered a variety of scheduling, batching and delivery problems within a supply chain and minimized the overall scheduling and delivery cost. Transportation capacity is not considered in their model. Moreover, they assumed that each batch will be shipped to only one downstream destination. There is consequently no need for vehicle routing decisions. For each problem, they either provided a dynamic programming algorithm or demonstrated that the problem is intractable. The problems we consider can be viewed as an extension of Lee and ChenÕs Type-2 transportation models (Lee and Chen, 2001) in which they assumed that all jobs take the same physical space in a transport vehicle. This paper studies problems in which each job might occupy a different amount of physical space in a transport vehicle. No papers have been found that explicitly considered this issue.
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
473
3. Problem statement and notation The problem is described as follows. There is a set of n jobs, N ¼ fJ1 ; J2 ; . . . ; Jn g, to first be processed in a manufacturing system by a single machine and then to be delivered to the respective customers. Each job, Jj , needs a processing time of pj in the manufacturing system. Let sj be the size of Jj , which represents the physical space Jj occupies when it is loaded in the vehicle. One vehicle is available to deliver jobs, which has a capacity of z and is initially located at the manufacturing facility. The vehicle capacity is measured by the total physical space that the vehicle provides for one delivery. Vehicle capacity can be represented in terms of the number of jobs only if all jobs have the same size (i.e., sj ¼ s, for all j). We assume that as long as the total physical space of the jobs loaded into the vehicle does not exceed z, they can be arranged to fit in the physical space provided by the vehicle. All jobs delivered together in one shipment are defined as a delivery batch. A transportation time (defined in later sections) is associated with each delivery batch. Furthermore, we define a one customer area as a location where a group of customers are located in close proximity to each other. In this paper, two situations are considered: (i) deliveries are made to one customer area (in Sections 4 and 5), and (ii) deliveries are made to two customer areas (in Section 6). Let t01 be the one-way travel time between the machine and customer area 1 (called area 1) and t02 be the one-way travel time between the machine and customer area 2 (called area 2) and t12 be the travel time between areas 1 and 2. When thereP is only one customer area (situation (i)), we call the customer area being considered area 1. Let P ¼ nj¼1 pj denote the sum of the processing times of all jobs in the manufacturing system. We assume that t01 , t02 and t12 satisfy the triangle inequality. Without loss of generality, t01 6 t02 is assumed. In a schedule, r, we define the following notation: Cj ðrÞ KðrÞ
the completion time of Jj , which is defined as the time when it arrives at its customer, the total number of delivery batches in schedule r.
For each k ¼ 1; . . . ; KðrÞ, Bk ðrÞ Pk ðrÞ dk ðrÞ qk ðrÞ
the kth delivery batch in schedule r. Batches delivered earlier have smaller indices, P Jj 2Bk ðrÞ pj , which denotes the sum of the processing times of all jobs in batch Bk ðrÞ, the departure time from the machine for the vehicle to deliver Bk ðrÞ, the ready time of Bk ðrÞ, which represents the latest completion time on the machine of the jobs assigned to Bk ðrÞ. Note that dk ðrÞ P qk ðrÞ in any feasible solution.
Unless ambiguity would result, we simplify Bk ðrÞ, Pk ðrÞ, dk ðrÞ, qk ðrÞ and Cj ðrÞ to Bk , Pk , dk , qk and Cj , respectively. The problem is to find a schedule for processing jobs in the manufacturing system and for delivering finished jobs to the corresponding customers such that the time required for all jobs in N to be processed and delivered to the respective customer(s) is minimized. For convenience of analysis, the makespan of schedule r, denoted as Cmax ðrÞ, is defined in this paper as the time when the vehicle finishes delivering the last batch to the customer site(s) and returns to the machine(s). Unless ambiguity would result, we simplify Cmax ðrÞ to Cmax . The three-field notation scheme, ajbjc, introduced by Graham et al. (1979), is utilized to represent the problems being studied along with additional notation introduced by Lee and Chen (2001). In the threefield scheme, a indicates the scheduling environment, b describes the job characteristics or restrictive requirements, and c defines the objective function to be minimized. In the a field, ‘‘1 ! D; k ¼’’ or ‘‘Pm ! D; k ¼’’ is used to represent problems in which jobs are first processed on a single machine or on either one of m parallel machines, respectively, and then delivered to customer(s) who are located in k areas. k ¼ 1 indicates that customers are located in one customer area; hence all jobs in a batch are delivered at the
474
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
Fig. 1. An example for the problem 1 ! D, k ¼ 1jv ¼ 1, c ¼ zjCmax .
same time. In the b field, we use ‘‘v ¼; c ¼’’ to represent the number of vehicles and the vehicle capacity, respectively. For example, P 2 ! D; k ¼ 1jv ¼ 1; c ¼ zjCmax denotes the problem with two identical parallel machines and one vehicle that can carry processed jobs with total sizes no more than z to one customer area, with an objective to minimize the makespan. An instance for the problem 1 ! D, k ¼ 1jv ¼ 1, c ¼ zjCmax is given in Fig. 1 as an example to demonstrate the use of the notation. In this example, there are six jobs, one machine, one customer area and one vehicle with capacity of 6. The one-way travel time between the machine and the customer area is 2 (i.e., t01 ¼ 2). Jobs are arranged to be delivered in three batches. Therefore, C3 ¼ d2 þ t01 ¼ 6 þ 2 ¼ 8. In this example, the resulting Cmax is 14.
4. The one-machine problem with one customer area: 1fiD, k ¼ 1jv ¼ 1, c ¼ zjCmax In this problem, each job must be processed by a single machine and then delivered to one customer area. Let T ¼ 2t01 . Each delivery, therefore, has the same transportation time T . Note that, by our definition, Cmax ¼ maxj fCj g þ t01 . Minimizing Cmax is equivalent to minimizing maxj fCj g, since t01 is a constant. Our purpose is to schedule jobs to minimize the makespan. Lemma 1. 1 ! D, k ¼ 1jv ¼ 1, c ¼ zjCmax is NP-hard in the strong sense. Proof. Let the special case of 1 ! D, k ¼ 1jv ¼ 1, c ¼ zjCmax be all jobs with zero processing times, i.e., pi ¼ 0, for i ¼ 1; 2; . . . ; n. In such a case, minimizing Cmax is equivalent to minimizing the number of batches and, subsequently, is equivalent to solving a bin-packing problem, which is NP-hard in the strong sense (Garey and Johnson, 1979). Therefore, our general problem is also NP-hard in the strong sense. h Remark. If all jobs have the same size, the problem can be solved in polynomial time. Ahmadi et al. (1992) studied a flow-shop problem with a batching machine that is equivalent to this equal-size problem. They provided an optimal algorithm to solve the problem with time complexity Oðn log nÞ. Since 1 ! D, k ¼ 1jv ¼ 1, c ¼ zjCmax is NP-hard in the strong sense, a heuristic method is justifiable. Before proposing our heuristic, we first present the following optimality properties.
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
475
Property 1. There exists an optimal schedule for the problem 1 ! D, k ¼ 1jv ¼ 1, c ¼ zjCmax that satisfies the following conditions. ii(i) i(ii) (iii) (iv)
Jobs are processed on the machine without idle time. Jobs assigned to one batch are processed consecutively on the machine. Jobs assigned to one batch can be processed on the machine in any order. Batches are delivered in non-decreasing order of Pk , 8k.
Proof ii(i) Since Cmax is a regular measure of performance, if idle time exists, the subsequent jobs can be moved earlier without increasing the objective value. i(ii) Note that jobs are delivered in batches and the ready time of each batch depends on the largest completion time of the jobs assigned to that batch. If, in an optimal schedule, r, there exists a batch, say Bk , and the jobs assigned to Bk are not processed consecutively on the machine, then we construct a new schedule, r0 , as follows. Let Jj be the job that has the longest completion time among the jobs in Bk in schedule r. Schedule r0 is constructed the same way as r except the following changes for those jobs processed no later than Ji : we first process the jobs that precede Ji , excluding jobs in Bk , in the same order as that in r, followed by the jobs in Bk in the same order as that in r. It can be seen that maxJj 2Bl Cj ðr0 Þ 6 maxJj 2Bl Cj ðrÞ, 8l, and all jobs in Bk are processed consecutively in schedule r0 . Repeating the above procedure, we can achieve condition (ii). (iii) By the definition of batch ready time and (ii), the order of processing the jobs assigned to one batch will not affect the objective value. (iv) This property can be proved easily by a pair-wise interchange argument. h Hence, only solutions that satisfy the above properties are considered further. Also, batches will be indexed and delivered in non-decreasing order of Pk , 8k. Lemma 2. For any solution that satisfies Property 1, if dk ¼ qk for some k with 2 6 k 6 b, then di ¼ qi for i ¼ k; k þ 1; . . . ; b, and Cmax ¼ P þ T , where b is the total number of batches in that solution. Proof. Recall that batches are indexed and delivered in non-decreasing order of Pj ; 8j. Note that qk ¼ qk 1 þ Pk and dk ¼ maxfdk 1 þ T ; qk g. Since dk ¼ qk , dk 1 þ T 6 qk ¼ qk 1 þ Pk by Property 1 (i). Since dk 1 P qk 1 , there is Pk P T . Thus Pkþq P T for q ¼ 0; 1; . . . ; b k. It follows that dkþ1 ¼ maxfdk þ T ; qkþ1 g ¼ maxfdk þ T ; qk þ Pkþ1 g ¼ qk þ Pkþ1 ¼ qkþ1 . Applying the same argument repetitively, there is di ¼ qi for i ¼ k; k þ 1; . . . ; b. Hence Cmax ¼ db þ T ¼ qb þ T ¼ P þ T . h Corollary 1. For any solution that satisfies Property 1, if Cmax > P þ T , then P1 < T and Cmax ¼ P1 þ bT , where b is the total number of batches in that solution. The following first fit decreasing (FFD) algorithm is a popular heuristic for solving bin-packing problems. We review it first, as we will use it to form batches in the following sections. Note that the FFD algorithm is based on the job sizes (sj ) and the vehicle capacity (z). First fit decreasing (FFD) algorithm 1. First sort the jobs in non-increasing order of size. 2. Assign the job with the largest size to B1 .
476
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
3. If the jth largest job is considered then assign it to the lowest indexed batch, such that the total job size of the corresponding batch does not exceed z. The worst-case performance ratio for the FFD is 3/2, i.e., bFFD =b L 6 3=2 (Simchi-Levi, 1994), where bFFD is the number of batches obtained by the FFD heuristic and b L is the optimal number of batches (i.e., bins) for the bin-packing problem. Note also that this bound is tight (Garey and Johnson, 1979, p. 128). The following heuristic is proposed to solve 1 ! D, k ¼ 1jv ¼ 1, c ¼ zjCmax . Heuristic H1 Step 1: Assign jobs to batches by the FFD algorithm. Let the total number of resulting batches be bH1 . Step 2: Calculate the sum of processing times for jobs in Bk and denote it Pk , for k ¼ 1; 2; . . . ; bH1 . Reindex the batches such that P1 6 P2 6 6 PbH1 . Step 3: Starting with B1 , assign jobs in Bk to the machine, for k ¼ 1; 2; . . . ; bH1 . Jobs within each batch can be sequenced in an arbitrary order. Step 4: Dispatch each completed but undelivered batch whenever the vehicle becomes available. If multiple batches have been completed when the vehicle becomes available, dispatch the batch with the smallest index. Let the makespan obtained from H1 be C H1 and let the optimal makespan be C . Theorem 1. C H1 =C 6 5=3 and the bound is tight. Proof. Suppose that there are b batches in the optimal solution for this problem. Let b L be the number of batches if the jobs are assigned to batches by an optimal method rather than by the FDD algorithm used in Step 1. Since bH1 6 ð3=2Þb L (Simchi-Levi, 1994), we have bH1 6 ð3=2Þb L 6 ð3=2Þb . Note that C P P þ T . If C H1 ¼ P þ T then C P P þ T ¼ C H1 . Clearly, we have C H1 ¼ C . Now suppose that C H1 > P þ T . For notational convenience, let x denote the sum of the processing times of the jobs in the first batch in the solution obtained by H1, i.e., x ¼ P1 . By Corollary 1, C H1 ¼ x þ bH1 T . Note also that by Corollary 1, x < T . Suppose bH1 6 b . If b ¼ 1, then bH1 ¼ 1 and C H1 ¼ C ¼ P þ T . If b P 2, then C H1 =C 6 ðx þ bH1 T Þ=b T 6 ðx þ b T Þ=b T 6 3=2 since x < T and b P 2. In the following proof, we consider only the case bH1 > b and C H1 ¼ x þ bH1 T . Let y be the sum of the processing times of the jobs in the first batch in the optimal solution. Case 1: C ¼ y þ b T . Note that P 6 y þ ðb 1ÞT . Hence, x 6 P =bH1 6 ðy þ ðb 1ÞT ÞbH1 . Therefore, C H1 x þ bH1 T 6 ¼ y þ b T C
yþðb 1ÞT bH1
þ bH1 T : y þ b T
If b ¼ 1, then the only possibility is bH1 ¼ 1 and C H1 =C ¼ 1. If b ¼ 2, we need to consider only the situation when bH1 ¼ 3. Then, C H1 =C 6
yþT 3
þ 3T y þ 10T 3 T ð7=2Þy 3 1 5 ¼ ¼ þ < þ ¼ : y þ 2T 3y þ 6T 2 3y þ 6T 2 6 3
If b ¼ 3, then we need to consider only the situation with bH1 ¼ 4. We have C H1 =C 6
yþ2T 4
þ 4T y þ 18T 3 5y 3 5 ¼ ¼ < < : y þ 3T 4y þ 12T 2 4y þ 12T 2 3
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
477
If b ¼ 4, we need to consider only the following two cases: (i) bH1 ¼ 5. We have C H1 =C 6
yþ3T 5
þ 5T y þ 28T 7 6y 7 5 ¼ ¼ < < : y þ 4T 5y þ 20T 5 5y þ 20T 5 3
(ii) bH1 ¼ 6. We have C H1 =C 6
yþ3T 6
þ 6T y þ 39T 5 9y þ T 5 ¼ ¼ < : y þ 4T 6y þ 24T 3 6y þ 24T 3
If b P 5, then we consider the situation with bH1 P 6. Recall bH1 6 ð3=2Þb . C H1 6 C
yþðb 1ÞT bH1
þ bH1 T 6 y þ b T
yþðb 1ÞT bH1
þ 3b2 T 3 ðb 1ÞT y ð3=2ÞybH1 3 ðb 1ÞT ¼ þ H1 þ H1 < þ H1
2 b ðy þ b T Þ b ðy þ b T Þ 2 b ðy þ b T Þ yþb T 3 1 3 1 5 < þ H1 6 þ ¼ : 2 b 2 6 3
Case 2: C ¼ P þ T . Since C P y þ b T > b T , we have P > ðb 1ÞT P ðð2=3ÞbH1 1ÞT . P þ bH1 T C H1 x þ bH1 T bH1 6 ¼ P þT P þT C 2 H1 1 1 ðbH1 1ÞT ð1 bH1 ÞP ðbH1 1ÞT 1 bH1 b 1 T 3 2 61 þ ¼1þ P þT bH1 1 T þ T 3
¼1þ
1 bH1 23 ðbH1 1Þ bH1 1 1 3 ¼ 1 þ þ H1 : 2 H1 2 2 b b 2ðbH1 Þ 3
Define f ðbH1 Þ ¼ 1 þ ð1=2Þ þ ð1=bH1 Þ ð3=2ðbH1 Þ2 Þ. By taking a derivative of f ðbH1 Þ, we can see that f ðbH1 Þ is increasing for bH1 6 3 and is decreasing for bH1 P 3 and hence reaches a maximum at bH1 ¼ 3 with f ð3Þ ¼ 5=3. Therefore, C H1 =C 6 5=3. To prove that the bound is tight, consider an instance such that T ¼ 3, z ¼ 7, p1 ¼ 1, p2 ¼ p3 ¼ p4 ¼ e, p5 ¼ 1, p6 ¼ 1 þ 2e, s1 ¼ s2 ¼ 3, and s3 ¼ s4 ¼ s5 ¼ s6 ¼ 2. Applying H1, we get bH1 ¼ 3, B1 ¼ fJ1 ; J2 g, P1 ¼ 1 þ e, B2 ¼ fJ3 ; J4 ; J5 g, P2 ¼ 1 þ 2e, B3 ¼ fJ6 g, P3 ¼ 1 þ 2e and C H1 ¼ 1 þ e þ 3T ¼ 10 þ e. However, the optimal solution would have only two batches while the first batch contains J2 , J3 and J4 , with a processing time of 3e, and the second batch contains J1 , J5 and J6 , with a processing time of 3 þ 2e. Hence C ¼ 3e þ 2T ¼ 6 þ 3e. Therefore, C H1 =C ¼ ð10 þ eÞ=ð6 þ 3eÞ and the ratio goes to 5/3 as e approaches zero. h Remark. It has been shown that it is impossible to have a polynomial heuristic for the bin-packing problem with a worst-case performance ratio bound less than 3/2 unless P ¼ NP (Bramel and Simchi-Levi, 1997). Since the bin-packing problem is a special case of our problem, it is impossible to have a polynomial heuristic for our problem with a worst-case performance ratio bound less than 3/2 unless P ¼ NP. Note that our error bound 5/3 is larger than 3/2. It is an open question whether there exists a polynomial heuristic for our problem with a worst-case performance ratio bound between 3/2 and 5/3. 5. The two identical machines with one customer area problem: P2fiD, k = 1jv = 1, c = zjCmax We now consider a problem similar to the one discussed in Section 4 but with two identical machines in the manufacturing system. Each job can be processed on either machine, and then delivered by a
478
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
vehicle to a customer. Since 1 ! D, k ¼ 1jv ¼ 1, c ¼ zjCmax is NP-hard in the strong sense, this problem also is NP-hard in the strong sense. The following provides a heuristic algorithm justified with a worstcase analysis. Heuristic H2 Step 1: Assign jobs to batches based on the FFD algorithm. Let the total number of resulting batches be bH2 . Step 2: Calculate the sum of the processing times of jobs in Bk and denote it Pk , for k ¼ 1; 2; . . . ; bH2 . Reindex the batches such that P1 6 P2 6 6 PbH2 . Step 3: Starting with B1 , assign batches one by one to the machine that has a smaller load before the batch is assigned (all jobs in the same batch are assigned to the same machine). Within each batch, jobs are sequenced in an arbitrary order. Step 4: Dispatch each completed but undelivered batch whenever a vehicle becomes available. If multiple batches have been completed when a vehicle becomes available, dispatch the batch with the smallest index. Let the makespan obtained from H2 be C H2 . Furthermore, let C ð1Þ and C ð2Þ denote the completion times of the jobs sequenced last on machine M1 and machine M2 , respectively, in the heuristic solution. Also, let
C ð1Þ and C ð2Þ be the completion times of the job sequenced last on M1 and M2 , respectively, in an optimal
solution. Define CðMÞ ¼ maxfC ð1Þ ; C ð2Þ g, CðMÞ ¼ maxfC ð1Þ ; C ð2Þ g. If CðMÞ ¼ C ð1Þ (or CðMÞ ¼ C ð2Þ ), then CðMÞ is determined by M1 (or M2 ); if C ð1Þ ¼ C ð2Þ with loss of generality, CðMÞ is determined by M2 . Let C
denote the optimal makespan. Note that CðMÞ is the time when machines finish processing the last job
while C is the time when the vehicle finishes delivering the last delivery batch to the customer area and returns to the machines. Lemma 3. CðMÞ=CðMÞ 6 2.
Proof. CðMÞ 6 P 6 2CðMÞ .
h
Based on H2, batches are indexed in a non-decreasing order of their processing times and are assigned one by one to the machine that has a smaller load before the batch is assigned. It can be shown easily that each batch with an odd index is assigned to M1 ; and each batch with an even index is assigned to M2 . Furthermore, a smaller index batch will be delivered earlier than a larger index batch. Lemma 4. Consider the solution obtained by H2. i(i) If there exists a batch Bk on M1 such that dk ¼ qk and k P 3, then dkþ2i ¼ qkþ2i for i ¼ 0; 1; 2; . . . (ii) If there exists a batch Bq on M2 such that dq ¼ qq and q P 4, then dqþ2i ¼ qqþ2i for i ¼ 0; 1; 2; . . . Proof i(i) Note first that Pk P 2T . Otherwise, we have Pj < 2T for j ¼ 1; . . . ; k. Hence, qk q1 < ðk 1ÞT . Since q1 ¼ d1 , we can not have dk ¼ qk . Note also that qk qk 1 P qk dk 1 P T . Clearly, we have Pkþ2 P Pk P T . Moreover, qkþ2 qkþ1 ¼ ðqk þ Pkþ2 Þ ðqk 1 þ Pkþ1 Þ P qk qk 1 P T . Combined with the fact that dk ¼ qk , we see that dkþ2 ¼ qkþ2 . Applying the same argument repetitively, we will have dkþ2i ¼ qkþ2i for all i. (ii) Similar to (i). h
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
479
Let x and y be the sum of the processing times of the jobs assigned to the first and second batches in the solution obtained by H2, respectively. Also, let u be the departure time, i.e., the start of delivery, of the first batch from the manufacturing facility in an optimal solution. Furthermore, let bH2 and b be the number of batches in the solution obtained by H2 and the optimal solution, respectively. Define a Boolean variable, a, to be TRUE if, in the heuristic solution, there exists a batch Bk on M1 , k P 3, such that dk ¼ qk ; similarly, define a Boolean variable, b, to be TRUE if, in the heuristic solution, there exists a batch Bq on M2 , q P 4, such that dq ¼ qq . Lemma 5 (i) If ‘‘a is TRUE’’ or ‘‘b is TRUE’’, then C H2 ¼ maxfCðMÞ þ T ; P CðMÞ þ 2T g. (ii) If neither a nor b is TRUE, then C H2 ¼ maxfx þ bH2 T ; y þ ðbH2 1ÞT g. Proof i(i) Consider the case when a is TRUE. If CðMÞ is determined by M1 , then by Lemma 4, dbH2 ¼ qbH2 . Since CðMÞ is determined by M1 , C H2 ¼ dbH2 þ T ¼ qbH2 þ T ¼ CðMÞ þ T . Suppose that CðMÞ is determined by M2 . Clearly, C H2 ¼ maxfCðMÞ þ T ; P CðMÞ þ 2T g. Now the case in which b is TRUE is considered. If CðMÞ is determined by M2 , then C ð2Þ P C ð1Þ . If C ð2Þ > C ð1Þ then, since dbH2 ¼ qbH2 by Lemma 4, we have C H2 ¼ dbH2 þ T ¼ qbH2 þ T ¼ CðMÞ þ T . If C ð2Þ ¼ C ð1Þ , then CðMÞ ¼ P =2 and two batches will be available for delivery at time P =2, hence C H2 ¼ P =2 þ 2T ¼ P CðMÞ þ 2T . If CðMÞ is determined by M1 , then clearly C H2 ¼ maxfCðMÞ þ T ; P CðMÞ þ 2T g. (ii) In this case, dj > qj for all j > 2. From Lemma 4, we have C H2 ¼ maxfx þ bH2 T ; y þ ðbH2 1ÞT g. h Theorem 2. C H2 =C 6 2 and the bound is tight. Proof. Similar to the argument in the proof of Theorem 1, we have bH2 6 ð3=2Þb . Furthermore, C P maxfu þ b T ; CðMÞ þ T g. If either a is TRUE or b is TRUE then C H2 ¼ maxfCðMÞ þ T ; P CðMÞ þ 2T g. It follows that C H2 ¼ maxfCðMÞþ T ; P CðMÞ þ 2T g 6 CðMÞ þ 2T . Note that C P CðMÞ þ T . By Lem
ma 3, CðMÞ=CðMÞ 6 2. Therefore, C H2 6 2CðMÞ þ 2T 6 2C . Hence, in the remaining proof, only the case in which neither a nor b is TRUE is considered, i.e., C H 2 ¼ maxfx þ bH2 T ; y þ ðbH2 1ÞT g. Case 1: b ¼ 1. In H2 we only have one batch, thus C ¼ P þ T ¼ C H2 . Case 2: b ¼ 2.
In this case, we have bH2 6 ð3=2Þb ¼ 3. If bH2 ¼ 2, then C H2 ¼ maxfx þ 2T ; y þ T g 6 2CðMÞ þ
H2 2T 6 2C . Suppose that b ¼ 3. Consider the case when C H2 ¼ x þ bH2 T . Note that x 6 P =bH2 ¼ P =3 6 CðMÞ . If x 6 T , then
H2 C ¼ x þ bH2 T 6 T þ 3T ¼ 4T 6 2C . Now consider the case when x > T . Recall that x 6 CðMÞ and
H2
CðMÞ + T 6 C . It follows that C ¼ x þ 3T < 2x þ 2T 6 2CðMÞ þ 2T 6 2C . Case 3: b ¼ 3.
In this case, C P maxfu þ 3T ; CðMÞ þ T g. It is also known that bH2 6 9=2. Since bH2 must be an inH2 H2 teger, b 6 4. Suppose that b ¼ 3. If C H2 ¼ x þ bH2 T ¼ x þ 3T , then y x 6 T and x 6 P3 6 2T . Hence C H2 ¼ x þ bH2 T ¼ x þ 3T 6 5T < 2ðh þ 3T Þ 6 2C . On the other hand, if C H2 ¼ y þ ðbH2 1ÞT , then C H2 ¼ y þ 2T 6 CðMÞ þ 2T 6 2C . Now the case with bH2 ¼ 4 is discussed. Case 3.1: u þ 3T P CðMÞ þ T .
It follows that u þ 2T P CðMÞ P P =2. Hence P 6 2u þ 4T and x 6 y 6 P =3 6 ð2=3Þu þ ð4=3ÞT . Therefore, C H2 maxfx þ bH2 T ; y þ ðbH2 1ÞT g 23 u þ 43 T þ 4T 6 2: 6 6 u þ 3T u þ b T C
ð1Þ
480
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
Case 3.2: u þ 3T < CðMÞ þ T . It follows that CðMÞ > u þ 2T > 2T . Hence, x 6 y 6 P =3 ¼ ð2=3ÞðP =2Þ 6 ð2=3ÞCðMÞ . Therefore,
C H2 maxfx þ bH2 T ; y þ ðbH2 1ÞT g ð2=3ÞCðMÞ þ 4T 3T ð1=3ÞCðMÞ 6 61 þ 6
CðMÞ þ T CðMÞ þ T C CðMÞ þ T 3T ð2=3ÞT 6 2: 61 þ 3T Case 4: b P 4.
Suppose that C H2 ¼ x þ bH2 T . Then y x 6 T and x 6 P3 6 2T . Note that C P maxfCðMÞ þ T ; u þ b T g. Therefore, C H2 x þ bH2 T 2T þ ð3=2Þb T 2 3 6 6 þ 6 2: 6
uþb T bT b 2 C Now suppose that C H2 ¼ y þ ðbH2 1ÞT . If bH2 6 3, then similar to the discussion above, C H2 =C 6 2. If b > 3, then it can be shown that ðx þ P3 Þ y 6 T and y 6 P4 6 2T . Hence, H2
C H2 y þ ðbH2 1ÞT 2T þ ð3=2Þb T 2 3 6 6 þ 6 2: 6
uþb T bT b 2 C To prove that the bound is tight, consider an instance such that T ¼ e, z ¼ 5, p1 ¼ e, p2 ¼ 5, p3 ¼ e, p4 ¼ 5, s1 ¼ 3, s2 ¼ 3, s3 ¼ 2, and s4 ¼ 1. Performing Step 1 in H2 results bH2 ¼ 2, B1 ¼ fJ1 ; J3 g, P1 ¼ 2e, B2 ¼ fJ2 ; J4 g and P2 ¼ 10. After assigning B1 on M1 and B2 on M2 ; C H2 ¼ 10 þ T ¼ 10 þ e. However, the optimal solution would assign J1 on M1 followed by J4 and J3 on M2 followed by J2 . The first delivery batch contains J1 and J3 , and departs at time e; the second delivery batch contains J2 and J4 , and departs at time 5. Hence C ¼ 5 þ T ¼ 5 þ e. Therefore, C H2 =C ¼ ð10 þ eÞ=ð5 þ eÞ and the ratio goes to 2 as e approaches zero. h
6. The one machine with two customer areas problem: 1fiD, k = 2jv = 1, c = zjCmax Now consider the situation in which jobs are processed on a single machine and then delivered to either area 1 or 2. Using the notation defined in Section 3, this problem is represented as 1 ! D; k ¼ 2jv ¼ 1; c ¼ zCmax . Property 1 (i) to (iv), stated in Section 4, still holds for this problem. Let T1 ðT2 Þ be the transportation time for a batch that contains only jobs that require delivery to area 1 (area 2), and let T3 be the transportation time for a batch that contains jobs that require delivery to areas 1 and 2. Therefore, T1 ¼ 2t01 , T2 ¼ 2t02 , and T3 ¼ t01 þ t12 þ t02 . Note that T3 P T2 P T1 . Since jobs are delivered in batches, each delivery batch may be treated equivalently to a single job (called a batch job), which needs to be processed on the machine and delivered by the vehicle. The processing time corresponding to a batch job is equal to the sum of the processing times of jobs assigned to that batch. Note that we defined the makespan as the elapsed time required for the vehicle to finish delivering the last batch job to the respective customer area(s) and returning to the machine. In this sense, the vehicle is defined as a ‘‘machine’’ that transports jobs. It is occupied by jobs during travel time between the machine and the customer area(s) and is available upon return to the job processing machine. Therefore, if jobs have been assigned to delivery batches, then this problem is equivalent to a classic two-machine flow-shop problem (denoted as F 2jjCmax ): the machine is viewed as machine 1, the vehicle is viewed as machine 2, and each batch delivered to area 1 (2, 1 and 2) is treated as a job with processing time T1 (T2 , T3 , respectively) on machine 2.
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
481
Johnson (1954) proposed a rule, commonly referred to as JohnsonÕs rule, to minimize the makespan for F 2jjCmax . Considering an F 2jjCmax problem, let p1j and p2j be the processing time of Jj on machines 1 and 2, respectively. An optimal sequence obtained by applying JohnsonÕs rule can be described as follows: the jobs with p1j 6 p2j are arranged first in the non-decreasing order of p1j ; the remaining jobs, with p1j > p2j , are then arranged in the non-increasing order of p2j . Since 1 ! D, k ¼ 1j v ¼ 1, c ¼ zj Cmax is NP-hard in the strong sense, this problem also is NP-hard in the strong sense. Therefore, we provide a heuristic justified with a worst-case analysis. Heuristic H3 Step 1: Divide the jobs into two groups: area 1 jobs are in group 1, denoted as G1 , and area 2 jobs are in group 2, denoted as G2 . Each group assigns jobs into batches based on the FFD algorithm. Index the batches in each group according to the order of formation in the FFD algorithm. Step 2: If the last batches in G1 and G2 , respectively, can be combined into one feasible batch (the total job size is no more than z), then combine them. Jobs in the combined batch are removed from G1 and G2 and assigned to group 3, denoted as G3 . Let the total number of resulting batches be bH3 . Step 3: Apply JohnsonÕs rule to determine the sequence of batches. Reindex the batches based on the obtained sequence. Step 4: Starting with B1 assign jobs in Bk , for k ¼ 1; 2; . . . ; bH3 , to the machine. Jobs within each batch can be sequenced in an arbitrary order. Step 5: Dispatch each completed but undelivered batch whenever a vehicle becomes available. If multiple batches have been completed when a vehicle becomes available, dispatch the batch with the smallest index. Let the makespan obtained from H3 be C H3 . Note that there is at most one batch in G3 i.e., jG3 j 6 1. Also, if jG3 j ¼ 1, then G3 contains some jobs from G1 and from G2 . Theorem 3. bH3 =b 6 7=4, where bH3 is the total number of batches prescribed by H3, and b is the number of batches in an optimal solution. Proof. To simplify the notation, the vehicle capacity and the size of each job are scaled such that the capacity is 1 and the size of each job is between 0 and 1. Jj is defined as a large job if its size is greater than 0.5; otherwise, it is a small job. Consider the results after Step 1. Let A11 ðA21 Þ be the set of batches with at least one large job from G1 ðG2 Þ and let q1 ðq3 Þ be the number of batches in A11 (A21 , respectively). Also, let A12 ðA22 Þ be the set of batches with only small jobs from group G1 ðG2 Þ and q2 ðq4 Þ be the number of batches in A12 (A22 , respectively). Recall that we index the batches in each group according to the order of formation in the FFD algorithm. Note also that bH3 6 q1 þ q2 þ q3 þ q4 . Case 1: jG3 j ¼ 1: In this case, the total size of the jobs assigned to the last two batches in G1 and G2 will be greater than 2. Let q02 be the number of batches, except the last two batches, in G1 that contain only small jobs; and let q04 be the number of batches, except the last two batches, in G2 that contain only small jobs. Note that q02 ðq04 Þ can be either zero if q2 ðq4 Þ is less than 2 or otherwise equal to q2 2 ðq4 2Þ. Also, bH3 ¼ q1 þ q02 þ q3 þ q04 þ 3. Since there are only small jobs in A12 and A22 , each of these (q02 þ q04 ) batches will be at least 2/3 full (Appendix A, Lemma 6). Moreover, the total size of the large jobs in A11 and A21 will be at least (q1 þ q3 Þ=2. Therefore, b > ðq1 þ q3 Þ=2 þ ð2=3Þðq02 þ q04 Þ þ 2, and ð3=2Þb > ð3=4Þðq1 þ q3 Þ þ ðq02 þ q04 Þ þ 3 ¼ ðq1 þ q02 þ q3 þ q04 þ 3Þ ð1=4Þðq1 þ q3 Þ ¼ bH3 ð1=4Þðq1 þ q3 Þ: Since b P q1 þ q3 , it follows that bH3 < ð3=2Þb þ ð1=4Þðq1 þ q3 Þ 6 ð7=4Þb .
482
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
Case 2: jG3 j ¼ 0. Since there are only small jobs in A12 ðA22 Þ, by Lemma 6, each batch will be filled at least 2/3 full, possibly excluding the last batch. Moreover, the total size of the large jobs in A11 and A21 will be at least ðq1 þ q3 Þ=2. Since jG3 j ¼ 0, the total size of the jobs assigned to the last batch in G1 and G2 will be greater than 1. Therefore, b > ðq1 þ q3 Þ=2 þ ð2=3Þðq2 þ q4 2Þ þ 1; 6b > 4ðq1 þ q2 þ q3 þ q4 Þ ðq1 þ q3 Þ 2; 6b P 4ðq1 þ q2 þ q3 þ q4 Þ ðq1 þ q3 Þ 1 ¼ 4bH3 ðq1 þ q3 þ 1Þ; bH3 6 ð3=2Þb þ ðq1 þ q3 þ 1Þ=4: Note that b P q1 þ q3 . If b P q1 þ q3 þ 1, it follows that (q1 þ q3 þ 1Þ=4 6 b =4, thus bH3 6 ð7=4Þb . Now the case when b ¼ q1 þ q3 is considered. If b ¼ 1, then bH3 must be 1. It follows that bH3 ¼ b . If b ¼ 2, then bH3 will at most be 3; otherwise, the total size of the jobs will be greater than 2. Thus, bH3 6 ð3=2Þb . If b ¼ 3, then bH3 will be at most 5; otherwise, the total size of the jobs will be greater than 3, which contradicts the assumption of b ¼ 3. Thus, bH3 6 ð5=3Þb 6 ð7=4Þb . If b ¼ 4, then bH3 will be at most 7; otherwise, the total size of the jobs will be greater than 4, which contradicts the assumption of b ¼ 4. Thus, bH3 6 ð7=4Þb 6 ð7=4Þb . Now we discuss the situations when b P 5. Let p1 be the size of the smallest job in the last batch of A12 and let p2 be the size of the smallest job in the last batch of A22 . In the following analysis, it is sufficient to consider only jobs that are no smaller than p1 in G1 as well as jobs that are no smaller than p2 , in G2 . Case 2:1: p1 > 1=4 and p2 > 1=4. In this case, there is no more than one job in the batches of A12 and A22 that could share a batch with a large job in any optimal solution. Since b ¼ q1 + q3 there should be no more than ðq1 þ q3 Þ such jobs. From jG3 j ¼ 0, it is known that there are at least 3 jobs in the last batches of A12 and A22 . Moreover, there must be at least 2 jobs in each batch, possibly excluding the last batch, of A12 and A22 . The total number of batches in A12 and A22 should be no more than (1/2)(q1 þ q3 3Þ þ 2, i.e., q2 þ q4 6 ð1=2Þðq1 þ q3 3Þ þ 2. Therefore, bH3 ¼ q1 þ q2 þ q3 þ q4 6 ðq1 þ q3 Þ þ ð1=2Þðq1 þ q3 3Þ þ 2 6 ðq1 þ q3 Þ þ ð1=2Þðq1 þ q3 Þ þ 1=2: Since b ¼ q1 þ q3 and b P 5, then bH3 6 b þ ð1=2Þb þ ð1=10Þb 6 ð7=4Þb . Case 2.2: p1 6 1=4 and p2 6 1=4. Since p1 6 1=4 ðp2 6 1=4Þ, each batch of A12 ðA22 Þ, with the possible exception of the last batch, will be more than 3/4 full. Moreover, since jG3 j ¼ 0, the total job size assigned to the last batches in G1 and G2 will be greater than 1. Therefore, the total job size will be greater than ð3=4Þðq2 þ q4 2Þ þ ð1=2Þðq1 þ q3 Þ þ 1. It follows that b > ð3=4Þðq2 þ q4 2Þ þ ð1=2Þðq1 þ q3 Þ þ 1; 4b > 3ðq1 þ q2 þ q3 þ q4 Þ ðq1 þ q3 Þ 2 P 3ðq1 þ q2 þ q3 þ q4 Þ ðq1 þ q3 Þ 1 ¼ 3bH3 ðq1 þ q3 Þ 1; bH3 6 ð4=3Þb þ ðq1 þ q3 þ 1Þ=3 ¼ ð4=3Þb þ ðq1 þ q3 Þ=3 þ 1=3: Since b P q1 þ q3 and b P 5, then bH3 6 ð4=3Þb þ b =3 þ b =15 6 ð7=4Þb .
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
483
Case 2.3: p1 > 1=4 and p2 6 1=4. (i) q1 P 2ðq2 1Þ. There are at least 2 jobs in each batch, with the possible exception of the last batch, of A12 . To place any of these jobs in any batch of A11 or A12 will overfill that batch. Therefore, 2ðq2 1Þ overfilled batches can be formed by putting 2(q2 – 1) jobs of A12 in batches in A11 . Subsequently, in A11 there will be q1 2ðq2 1Þ batches remaining, each of which is more than 1/2 full. In the meantime, each batch in G2 , with the possible exception of the last batch, is at least 3/4 full. Moreover, since jG3 j ¼ 0, the total job size in the final batches in G1 and G2 will be greater than 1. Therefore, b > ð1=2Þðq1 2ðq2 1ÞÞ þ 2ðq2 1Þ þ ð3=4Þðq3 þ q4 1Þ þ 1 ¼ ð1=2Þq1 þ q2 þ ð3=4Þðq3 þ q4 Þ 3=4; 4b > 2q1 þ 4q2 þ 3ðq3 þ q4 Þ 3 P 3ðq1 þ q2 þ q3 þ q4 Þ q1 þ q2 2 ¼ 3bH3 q1 þ q2 2; bH3 6 ð4=3Þb þ ðq1 q2 þ 2Þ=3 6 ð4=3Þb þ ðq1 þ 1Þ=3: Since b P q1 þ q3 and b P 5, bH3 6 ð4=3Þb þ b =3 þ b =15 6 ð7=4Þb . (ii) q1 < 2ðq2 1Þ. Similar to (i), q1 overfilled batches can be formed by putting q1 jobs of A12 in the batches in A11 . Subsequently, in A12 , excluding the final batch, there will be ðq2 q1 =2 1Þ batches remaining. These ðq2 q1 =2 1Þ batches would make at least ð2=3Þðq2 q1 =2 1Þ batches in an optimal solution. Therefore, b > q1 þ ð2=3Þðq2 q1 =2 1Þ þ ð3=4Þðq3 þ q4 1Þ þ 1 ¼ ð2=3Þðq1 þ q2 Þ þ ð3=4Þðq3 þ q4 Þ 5=12; 12b > 8ðq1 þ q2 þ q3 þ q4 Þ þ ðq3 þ q4 Þ 5 P 8ðq1 þ q2 þ q3 þ q4 Þ þ ðq3 þ q4 Þ 4 ¼ 8bH3 þ ðq3 þ q4 Þ 4; bH3 6 ð3=2Þb ðq3 þ q4 Þ=8 þ 1=2 6 ð3=2Þb þ 1=2: Since b P 5, bH3 6 ð3=2Þb þ b =15 6 ð7=4Þb . Case 2.4: p1 6 1=4 and p2 > 1=4. The analysis of this case is similar to the one given in Case 2.3. Therefore, bH3 =b 6 7=4. h Theorem 4. T H3 T 6 7=4, where T H3 is the total transportation time prescribed by H3 and T is the total transportation time in an optimal solution. Proof. Considering the solution provided by H3, let n1 , n2 and n3 be the total number of batches shipped to area 1 only, area 2 only, and area 1 and then area 2, respectively. Similarly, let m1 , m2 and m3 be the corresponding number of batches in the optimal solution. Note that according to H3, n3 is either 1 or 0. Recall that T3 P T2 P T1 . If there are b batches in the optimal solution, then the number of batches prescribed by H3 is no greater than (7/4)b by Theorem 3. It follows that m1 þ m2 þ m3 ¼ b ; n1 þ n2 þ n3 6 ð7=4Þ, b ; T H3 ¼ n1 T1 þ n2 T2 þ n3 T3
and
T ¼ m1 T1 þ m2 T2 þ m3 T3 :
Case 1: m3 ¼ 0. If n3 ¼ 0, then based on the worst-case performance ratio of the FFD algorithm, n1 6 ð3=2Þm1 and n2 6 ð3=2Þm2 . Therefore, T H3 ¼ n1 T1 þ n2 T2 6 ð3=2Þm1 T1 þ ð3=2Þm2 T2 6 ð3=2ÞT . If n3 ¼ 1, then Step 1 of H3 results in n1 þ 1 batches in G1 and n2 þ 1 batches in G2 . Hence, we know that (n1 þ 1Þ 6 ð3=2Þm1 and
484
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
ðn2 þ 1Þ 6 ð3=2Þm2 . Recall that T3 6 T1 þ T2 . Therefore, T H3 ¼ n1 T1 þ n2 T2 þ T3 6 ðn1 þ 1ÞT1 þ ðn2 þ 1ÞT2 6 ð3=2Þm1 T1 þ ð3=2Þm2 T2 6 ð3=2ÞT . Case 2: m3 > 0. If n3 ¼ 0, then given n2 batches in G2 in the heuristic solution and T3 P T2 , there exists at least (2/3)n2 batches that require at least T2 as the transportation time for each batch in the optimal solution. Furthermore, there will be no more than (b ð2=3Þn2 ) batches that require at least T1 as the transportation time for each batch in the optimal solution. Therefore, T P ð2=3Þn2 T2 þ ðb ð2=3Þn2 T1 . Note that T H3 ¼ n1 T1 þ n2 T2 . 7 b n2 T1 þ n2 T2 T H3 n1 T 1 þ n2 T 2 4 6 6 2 T n T þ b T1 23 n2 T1 b T1 23 n2 T1 þ 23 n2 T2 3 2 2 ! b T1 47 n2 T1 þ 47 n2 T2 7 : ¼ 4 b T1 47 n2 T1 þ 47 n2 T2 þ 212 n2 T1 þ 212 n2 T2 Since T2 P T1 ; ð2=21ÞðT2 T1 Þn2 P 0. Therefore, T H3 T 6 7=4. If n3 ¼ 1, then, in the optimal solution, there will be at least ½ð2=3Þðn2 þ 1Þ batches that require at least T2 as the transportation time for each batch, and at least one of those batches requires T3 as the transportation time since m3 > 0. Furthermore, there will be no more than ðb ð2=3Þðn2 þ 1ÞÞ batches that require at least T1 as the transportation time for each batch in the optimal solution. T P b ð2=3Þðn2 þ 1ÞÞT1 þ ðð2=3Þðn2 þ 1Þ 1ÞT2 þ T3 . Thus, 7 b n2 1 T 1 þ n2 T 2 þ T 3 T H3 n1 T 1 þ n2 T 2 þ n3 T 3 4 6 2 6 2 T b 3 ðn2 þ 1Þ T1 þ 23 ðn2 þ 1Þ 1 T2 þ T3 ðb 3 ðn2 þ 1ÞÞT1 þ 23 ðn2 þ 1Þ T2 þ T3 ! 4 b 7 ðn2 þ 1Þ T1 þ 47 n2 T2 þ 47 T3 7 : 6 4 b 47 ðn2 þ 1Þ T1 þ 47 n2 T2 þ 47 T3 þ 212 ðn2 þ 1ÞT1 þ 212 n2 T2 13 T2 þ 37 T3 By T3 P T2 P T1 , it is known that
2 2 1 3 2 2 1 ðn2 þ 1ÞT1 þ n2 T2 T2 þ T3 ¼ n2 ðT2 T1 Þ þ ðT3 T1 Þ þ ðT3 T2 Þ P 0: 21 21 3 7 21 21 3
Therefore, T H3 =T 6 7=4.
h
Theorem 5. C H3 =C 6 2, where C H3 is the makespan prescribed by H3 and C is the optimal makespan. Proof. Suppose that there are bH3 batches in the heuristic solution. Let k be the smallest batch index such that k 6 bH3 and the vehicle operates continuously after departure for the transport of jobs in Bk to customer(s). Let Dj denote the corresponding transportation time of batch Bj for j ¼ 1; 2; ::; bH3 . Case 1: Pk 6 Dk . P Pk 1 k 1 H3 H3 In this case, ¼ P þ Dk 6 2C . In the folj¼1 Pj 6 j¼1 Dj , by JohnsonÕs rule. If k ¼ b , then C H3 lowing, the case for k < b is considered. (i) If Pkþ1 > Dkþ1 , then Pkþi > Dkþi for all i P 1. Therefore, C
H3
¼
k 1 X j¼1
Pj þ Pk þ Dk þ Dkþ1 þ
bH3 X j¼kþ2
Dj 6
k 1 X j¼1
Pj þ Pk þ Dk þ Pkþ1 þ
bH3 X j¼kþ2
Pj ¼
bH3 X
Pj þ Dk 6 2C :
j¼1
(ii) If Pkþ1 6 Dkþ1 , then there is the need to consider the cases for k ¼ bH3 1 and k < bH3 1. Suppose k < BH3 1.
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
485
If Pkþ2 6 Dkþ2 then it is known that Pk 6 Pkþ1 6 Pkþ2 and Pkþi 6 Dkþi for i ¼ 0, 1, and 2. Hence, C P Pk þ Pkþ1 þ Pkþ2 þ minfTk ; Tkþ1 Tkþ2 g P 4Pk . Therefore, C
H3
¼
k 1 X
Pj þ Pk þ Dk þ
bH3 X
Dj 6
j¼kþ1
j¼1
k 1 X
Dj þ Pk þ Dk þ
bH3 X
Dj ¼
j¼kþ1
j¼1
bH3 X
D j þ Pk 6
j¼1
7 1 T þ C 6 2C : 4 4
If Pkþ2 > Dkþ2 it is known that Pk 6 Pkþ1 and Pkþi P Dkþi for i P 2. Hence C
H3
¼
k 1 X
Pj þ Pk þ Dk þ Dkþ1 þ Dkþ2 þ
j¼kþ3
j¼1
¼
bH3 X
bH3 X
Dj 6
k 1 X
Pj þ Pk þ Dk þ Dkþ1 þ Pkþ2 þ
bH3 X
Pj
j¼kþ3
j¼1
Pj Pkþ1 þ Dk þ Dkþ1 6 C Pkþ1 þ Dk þ Dkþ1 6 C Pk þ Dk þ Dkþ1 :
j¼1
Also, C H3 ¼
k 1 X
Pj þ Pk þ Dk þ
bH3 X
Dj 6
j¼kþ1
j¼1
k 1 X
Dj þ Pk þ Dk þ
bH3 X
Dj ¼
j¼kþ1
j¼1
bH3 X
D j þ Pk :
j¼1
Combining these two equations yields 2C H3 6 C þ
bH3 X j¼1
7 Dj þ Dk þ Dkþ1 ¼ C þ T H3 þ Dk þ Dkþ1 6 C þ T þ Dk þ Dkþ1 4
7 11 6 C þ C þ Dk þ Dkþ1 ¼ C þ Dk þ Dkþ1 : 4 4 Since k < bH3 1, it is known that bH3 P 2 and the optimal solution will contain at least two batches. The claim that C P Dk þ Dkþ1 is proposed. To prove this claim, consider a sub-problem that contains only jobs in
batch Bk and Bkþ1 . Let C be the optimal solution for this sub-problem. Clearly, C 6 C . Hence, it is sufficient
to prove that C P Dk þ Dkþ1 . Suppose that maxfDk ; Dkþ1 g ¼ T3 . If Dk þ Dkþ1 ¼ T3 þ T1 , then C P
maxfT3 þ T1 ; 2T1 þ T2 g P T3 þ T1 ¼ Dk þ Dkþ1 . If Dk þ Dkþ1 ¼ T3 þ T2 , then C P maxfT3 þ T2 ; 2T2 þ T1 g P
T3 þ T2 ¼ Dk þ Dkþ1 . On the other hand, if maxfDk ; Dkþ1 g 6 T2 , then clearly C P Dk þ Dkþ1 . Therefore, it can be concluded that C P Dk þ Dkþ1 . It follows that C H3 6 ð11=8ÞC þ ð1=2ÞC 6 2C . If k ¼ bH3 1, then C
H3
¼
H3 1 bX
Pj þ DbH3 1 þ DbH3 ¼ P PbH3 þ DbH3 1 þ DbH3 6 P þ DbH3 1 þ DbH3 6 C þ DbH3 1 þ DbH3 :
j¼1
It is known that C P Dk þ Dkþ1 from the above analysis. Therefore, C H3 6 C . PbH3 PbH3 Case 2: Pk > Dk . In this case, j¼kþ1 Pj P j¼kþ1 Dj by JohnsonÕs rule. Hence C
H3
¼
k 1 X
Pj þ Pk þ Dk þ
j¼1
Therefore, C H3 =C 6 2. h
bH3 X j¼kþ1
Dj 6
k 1 X j¼1
Pj þ Pk þ Dk þ
bH3 X j¼kþ1
Pj ¼
bH3 X j¼1
Pj þ Dk 6 C þ Dk 6 2C :
486
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
7. Conclusion and future research This paper considers machine scheduling and finished product delivery together. In particular, the work addresses the situation in which jobs require different amounts of storage space during delivery. Three scenarios of the problem are discussed. For the problem in which jobs are processed on a single machine and delivered by a single vehicle to one customer area (Section 4), a proof of NP-hardness and a heuristic, justified by a worst-case analysis, are provided. The worst-case performance ratio for our heuristic is proven to be 5/3, and the bound is tight. For the problem in which jobs are processed by either one of the two parallel machines and delivered by a single vehicle to one customer area (Section 5), our heuristic could cause at most 100% error under the worst-case with the bound being tight. For the problem that considers jobs to be processed by a single machine and delivered by a single vehicle to either one of the two customer areas (Section 6), another heuristic is provided and proven to result in an error that is no greater than 100% in any problem instance. Problems that jointly consider production and delivery with the condition that each job may require a different amount of space during transport are shown to be intractable in this study. This reveals the potential difficulty in modeling and analyzing systems that integrate the scheduling of production and delivery. As such, there is a need to develop effective heuristic methods to solve such problems. Future research also includes: (i) considering the problems under different performance measures, such as due date related criteria; (ii) studying more complex systems, for example, multiple customer areas or under different manufacturing configurations. We are now conducting related research in these directions. Acknowledgements The authors would like to thank the three anonymous referees for their constructive comments on an earlier draft of this paper. This research was supported in part by Research Grants Council of Hong Kong under Grant: HKUST 6010/02E. Appendix A Lemma 6. In a bin-packing problem, if all items are small (i.e., with a size no greater than half of the bin capacity) and the FFD algorithm is applied to pack the items. Then, all bins will be at least 2/3 full with the possible exception of the last one. Proof. The bin capacity and the size of each item are scaled such that the capacity is 1, and the size of each item is between 0 and 1. First reindex the items in the non-increasing order of size. Let us consider the process while applying the FFD algorithm to pack the items. Let item j be the first item whose size is smaller than 1/3. If item j cannot fit in any of the currently open bins, then each of those bins must be at least 2/3 full since the size of item j is smaller than 1/3. Otherwise, each of the currently open bins, with the possible exception of the last one, must contain exactly 2 items, each with sizes no smaller than 1/3. Thus, these bins are at least 2/3 full. For any item packed later than item j, according to the FFD algorithm, a new bin will not be opened until the item cannot be placed in any of the currently open bins, which indicates that they are at least 2/3 full. Therefore, after all the items are packed, all bins will be at least 2/3 full with the possible exception of the last one. h References Ahmadi, J.H., Ahmadi, R.H., Dasu, S., Tang, C.S., 1992. Batching and scheduling jobs on batch and discrete processors. Operations Research 39, 750–763.
Y.-C. Chang, C.-Y. Lee / European Journal of Operational Research 158 (2004) 470–487
487
Bramel, J., Simchi-Levi, D., 1997. The Logic of Logistics. Springer, New York. Chen, Z.-L., 1996. Scheduling and common due date assignment with earliness-tardiness penalties and batch delivery costs. European Journal of Operational Research 93, 49–60. Cheng, T.C.E., Gordon, V.S., Kovalyov, M.Y., 1996. Single machine scheduling with batch deliveries. European Journal of Operational Research 94, 277–283. Ganesharajah, T., Hall, N.G., Sriskandarajah, C., 1998. Design and operational issues in AGV-served manufacturing systems. Annals of Operations Research 76, 109–154. Garey, M.R., Johnson, D.S., 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, San Francisco, CA. Gemmill, D.D., Stevens, J.W., 1997. Scheduling a two-machine flowshop with travel times to minimize maximum lateness. International Journal of Production Research 35, 1–15. Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., 1979. Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics 5, 287–326. Hall, L.A., Shmoys, B., 1992. JacksonÕs rule for single-machine scheduling: Making a good heuristic better. Mathematics of Operations Research 17, 22–35. Hall, N.G., Potts, C.N., 2000. Supply chain scheduling: Batching and delivery. Working Paper, Department of Management Sciences, The Ohio State University, Columbus, OH. Hall, N.G., Lesaoana, M.A., Potts, C.N., 2001. Scheduling with fixed delivery dates. Operations Research 49, 134–144. Herrmann, J.W., Lee, C.-Y., 1993. On scheduling to minimize earliness-tardiness and batch delivery costs with a common due date. European Journal of Operational Research 70, 272–288. Hurink, J., Knust, S., 2001. Makespan minimization for flow-shop problems with transportation times. Discrete Applied Mathematics 112, 199–216. Johnson, S.M., 1954. Optimal two- and three-stage production schedules with setup times included. Naval Research Logistics Quarterly 1, 61–68. Kise, H., 1991. On an automated two-machine flowshop scheduling problem with infinite buffer. Journal of the Operations Research Society of Japan 34, 354–361. Lee, C.-Y., Chen, Z.-L., 2001. Machine scheduling with transportation considerations. Journal of Scheduling 4, 3–24. Maggu, P.L., Das, G., 1980. On 2 n sequencing problem with transportation times of jobs. Pure and Applied Mathematika Science 12, 1–6. Maggu, P.L., Das, G., Kumar, R., 1981. On equivalent job-for-job block in 2 n sequencing problem with transportation times. Journal of the Operations Research Society of Japan 24, 136–146. Panwalkar, S.S., 1991. Scheduling of a two-machine flowshop with travel time between machines. Journal of the Operational Research Society 42, 609–613. Potts, C.N., 1980. Analysis of a heuristic for one machine sequencing with release dates and delivery times. Operations Research 28, 1436–1441. Potts, C.N., Kovalyov, M.Y., 2000. Scheduling with batching: A review. European Journal of Operational Research 120, 228–249. Potts, C.N., Van Wassenhove, L.N., 1992. Integrating scheduling with batching and lot-sizing: A review of algorithms and complexity. Journal of the Operational Research Society 43, 395–406. Simchi-Levi, D., 1994. New worst case results for the bin-packing problem. Naval Research Logistics 41, 579–585. Stern, H.I., Vitner, G., 1990. Scheduling parts in a combined production-transportation work cell. Journal of the Operational Research Society 41, 625–632. Webster, S., Baker, K.R., 1995. Scheduling groups of jobs on a single machine. Operations Research 43, 692–703. Woeginger, G.J., 1994. Heuristics for parallel machine scheduling with delivery times. Acta Informatica 31, 503–512. Yang, X., 2000. Scheduling with generalized batch delivery dates and earliness penalties. IIE Transactions 32, 735–741. Yuan, J., 1996. A note on the complexity of single-machine scheduling with a common due date, earliness–tardiness, and batch delivery costs. European Journal of Operational Research 94, 203–205.