Computers & Industrial Engineering 74 (2014) 161–168
Contents lists available at ScienceDirect
Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie
Unrelated parallel machine scheduling with dedicated machines and common deadline q Cheng-Hsiung Lee a, Ching-Jong Liao b,⇑, Chien-Wen Chao b a b
Department of International Trade, Chihlee Institute of Technology, New Taipei City 220, Taiwan Department of Industrial Management, National Taiwan University of Science and Technology, Taipei 106, Taiwan
a r t i c l e
i n f o
Article history: Received 24 December 2012 Received in revised form 3 May 2014 Accepted 7 May 2014 Available online 27 May 2014 Keywords: Scheduling Unrelated parallel machines Heuristic Dedicated machines Common deadline
a b s t r a c t This paper addresses a scheduling problem in the manufacturing of Polyvinyl Chloride pipes. There are two main attributes of PVC pipes: diameter and color. Each attribute has a corresponding attribute setup time and usually has several different levels. Each extruder produces different PVC pipe products based on the diameters as large, middle and small. The alternatives exist between these extruders, where the large and the middle type extruders can be used to produce the PVC pipes with the other diameters; the small type extruders can be used to produce the PVC pipes with middle diameters but cannot produce those with large diameters. The processing times are longer in all of the alternatives among different types of extruders. The objective is to minimize the total completion time for the unrelated parallel machine problem. Three dedicated machine heuristics are proposed herein for the problem and have been evaluated by comparing with the current scheduling method used in the case plant. The computational results show that the proposed constructive heuristics outperform the current scheduling method with significant improvements and can be used to solve large-size problems in reasonable computational times. Ó 2014 Elsevier Ltd. All rights reserved.
1. Introduction In this paper we address a real-life scheduling problem in the manufacturing of Polyvinyl Chloride pipes (hereafter referred to as PVC pipes). PVC pipes are the most widely produced plastic piping material. The production process of PVC pipes includes the main machine extruder and some peripheral equipment, which can produce different kinds of PVC pipe products (see Fig. 1). There are two main attributes of PVC pipes: diameter and color. Each attribute has a corresponding attribute setup time and usually has several different levels (see Fig. 2). The PVC pipe products with the same levels of both attributes are always grouped into a single job, which is the basic unit on the scheduling operation. Because there is at least one different level of the attribute between two adjacent jobs, it is necessary to make a setup adjustment whenever there is a switch to a different job. If the levels of diameter are different (e.g., 200 mm and 150 mm) between two adjacent jobs, there is a major attribute setup time taking 8 h to adjust the level
q
This manuscript was processed by Area Editor Hans Kellerer.
⇑ Corresponding author. Address: Department of Industrial Management, National Taiwan University of Science and Technology, 43 Keelung Road, Section 4, Taipei 106, Taiwan. Tel.: +886 2 2737 6337. E-mail address:
[email protected] (C.-J. Liao). http://dx.doi.org/10.1016/j.cie.2014.05.012 0360-8352/Ó 2014 Elsevier Ltd. All rights reserved.
of diameter on the extruder. If the extruder is adjusted for different levels of color (e.g., yellow and gray) between two adjacent jobs, a minor attribute setup time of 2 h is required. If both the levels of diameter and color are different, the setup time will be ten (8 + 2) hours between two adjacent jobs. PVC pipe production is a typical make-to-stock environment. Whenever a job is finished, it is immediately forwarded to warehouse in order to replenish the inventory. The production quantity of a job is determined by the inventory level. Because the length of a production cycle is fixed at 7 days in the case plant, the production quantity of each PVC pipe product depends on the difference between the current level and the fixed safety level of inventory. There are eleven extruders in the considered PVC pipe plant; each produces different PVC pipe products based on the large (diameter P 200 mm), middle (diameter P 80 mm but <200 mm) and small (diameter < 80 mm) diameters of pipes. For convenience, we will refer to the three types of extruders for producing large, middle and small diameters of pipes as large (L), middle (M) and small (S) type of extruders, respectively. If there is sufficient inventory for a particular PVC pipe product, the dedicated extruder for this product may or not produce in the production cycle. But, alternatives exist between the extruders, i.e., the large and middle type extruders can be used to produce the PVC pipes with the other diameters; the small type extruders can be used to produce the
162
C.-H. Lee et al. / Computers & Industrial Engineering 74 (2014) 161–168
Auto stacker
Auto cutter
Haul-off machine
Spraying cooling unit
Vacuum cooling unit
Extruder
Fig. 1. Production flow line of PVC pipe plant.
Fig. 2. PVC pipe products with a variety of diameters and colors.
PVC pipes with middle diameter but cannot produce with large diameter. The processing times are longer in all of the alternatives. If a job is not carried out on its own dedicated extruder but on the same type of extruder, the increasing rate of processing time has been measured about 1.25 on average by the scheduler in the plant. Further, if a job is carried out on a different type extruder, the processing time of the job will be longer with an increasing rate of 1.75 on average. This is because the adjustments of diameters among the different type extruders are more time-consuming than the adjustment within the same type. Moreover, there are certain PVC pipe products with special specifications which have to be produced only on their own dedicated extruders without alternatives. To sum up, there must be one or more jobs corresponding to each one of the dedicated machines, since the production is scheduled once a week – 7 days (or 168 h) is a common deadline. The completion times for all the jobs processed on the extruders cannot exceed the common deadline. The purpose of PVC pipe production is not only to replenish the insufficient inventory as soon as possible, but also to fully utilize the costly equipment. Therefore, we choose the total completion time (i.e., sum of completion times of jobs) as the objective function to be minimized. In this paper, we will propose effective scheduling methods to fit the requirements of the PVC pipe plant; and the proposed heuristics will be compared with the current scheduling method used in the plant to evaluate its effectiveness and efficiency. 2. Literature review Parallel machine scheduling has received great attention in recent years. Most of the literature on parallel machine scheduling focuses on the identical parallel machine environment and the objective of minimizing the makespan. Rabadi, Moraga, and AlSalem (2006) addressed a non-preemptive unrelated parallel machine scheduling problem with sequence-dependent setup times to minimize the makespan. They proposed a meta-heuristic called the Meta-RaPS, which was evaluated by comparing its solutions to the solutions of an existing heuristic called the Partitioning Heuristic introduced by Al-Salem (2004) for the same problem. Balasubramanian, Fowler, Keha, and Pfund (2009) considered a bi-criteria scheduling problem on identical parallel machines, proposing an iterative SPT–LPT–SPT heuristic and a bi-criteria genetic algorithm. Both the approaches were designed to exploit the problem structure and generate a set of non-dominated solutions. The
heuristic and the genetic algorithm were compared with a timeindexed integer programming formulation for small and large instances. Results indicated that both the heuristic and the genetic algorithm provided high solution quality and were computationally efficient. Mosheiov (2001) dealt with a scheduling problem of flow time minimization with a learning effect on parallel identical machines and showed that this problem has a polynomial time solution. Chang, Damodaran, and Melouk (2004) presented a scheduling problem with identical parallel batch-processing machines, and proposed a simulated annealing approach to minimize the makespan for the problem. Lots of reviews of scheduling have considered parallel machine scheduling problems, for example, Mokotoff (2001) and Allahverdi, Ng, Cheng, and Kovalyov (2008). Especially, Li and Yang (2009) surveyed the non-identical parallel machine scheduling problems with minimizing total (or mean) weighted (unweighted) completion times. Chen and Powell (1999) considered scheduling problems on identical, uniform, or unrelated parallel machines, and proposed a decomposition approach for solving these problems. They applied this decomposition approach to two particular problems: the total weighted completion time problem and the weighted number of tardy jobs problem. The computational results indicated that the decomposition approach is capable of solving large problems. Weng, Lu, and Ren (2001) addressed the problem of scheduling a set of independent jobs on unrelated parallel machines with job sequence-dependent setup times so as to minimize a weighted mean completion time. They proposed seven heuristic algorithms and tested them by simulation. Their computational results indicated that heuristic algorithm 7 is clearly the best for all cases. There are many studies discussing the industrial applications of non-identical parallel machine in the scheduling literature. Kim, Kim, Jang, and Chen (2002) proposed an unrelated parallel machine scheduling problem with sequence-dependent setup times in compound semiconductor manufacturing. They developed a simulated annealing (SA) meta-heuristic in their research to determine a scheduling policy so as to minimize total tardiness. Chuang, Liao, and Chao (2010) considered a parallel machine scheduling problem in the manufacturing of anodic electro-etching aluminum foil. The problem was to schedule jobs on the high and medium voltage equipment, each having several pieces in parallel, with setup times to minimize the total completion time. Chen (2006) proposed an unrelated parallel machine scheduling problem with process restrictions and setups to minimize maximum tardiness in die casting environment. A setup for dies was incurred if the type of the job scheduled was different from the previous one on that machine. An efficient heuristic based on guided search, record-to-record travel, and tabu lists was presented for the problem. According to the related literature given above, though there exists some information about the unrelated parallel machine problem with sequence-dependent setup times to minimize total (or mean) weighted completion time, such as Chen and Powell (1999) and Weng, Lu, and Ren (2001), yet their methods cannot directly deal with the problem that has the restrictions of dedicated machines. Therefore, we need to develop heuristics that can solve directly the problem for large-size instances.
C.-H. Lee et al. / Computers & Industrial Engineering 74 (2014) 161–168
3. Problem formulation We consider a scheduling problem of determining a schedule of n independent jobs on m unrelated parallel machines. All machines are available to process jobs at time zero and jobs are ready to be processed simultaneously. The machine can process at most one job at a time, and no job can be processed by more than one machine at the same time. Interruption during the job processing is prohibited. Both jobs and machines can be classified into three types: large (L), middle (M) and small (S) diameter types. Job j has a processing time pj,k if job j is scheduled on its own dedicated machine k. However, If job j is not scheduled on its own dedicated machine but on another machine with the same type, the processing time is a pj,k; if on a machine with different type, its processing time is b pj,k, and b > a > 1. There is a sequence-dependent setup time si,j > 0 if job j is scheduled immediately following job i (i, j = 1, . . . , n, j – i) on the same machine. Note that si,j is machine independent for all jobs i and j. The setup time matrix is symmetric for the problem due to si,j = sj,i. In our practical problem, si,j is not exactly equal to sj,i. However, the difference between si,j and sj,i is only 3–7 min, which is insignificant compared to the attribute setup times, and thus the difference can be ignored in this research. Without loss of generality, we set si,i = 0. Because a schedule is computed for a given horizon, no setup time is needed for a job scheduled at the beginning of the schedule, i.e., s0,j = 0. Let Cj be the completion time of job j. This problem is to assign the n jobs to the m unrelated parallel Pn machines so as to minimize the total completion time j¼1 C j . Following the three-field notation, the considered problem P can be described as Rm/si,j, Md, D/ Cj, where Rm designates m unrelated parallel machines, si,j represents the sequencedependent setup time, Md stands for the dedicated machines constraints and there is a common deadline D for all jobs. This problem is at least NP-hard in the ordinary sense, since the special case when there are only two identical machines with no setup times is NP-hard in the ordinary sense (Bruno, Coffman, and Sethi, 1974). 4. Current scheduling method in PVC pipe plant The scheduling problem in the PVC pipe production involves processing jobs on unrelated parallel extruders to minimize the total completion time, or equivalently the sum of completion times of all jobs. The standard attribute setup times of diameter and color are 8 and 2 h respectively. As stated in Section 1, each job has its own dedicated extruder but allows some alternatives with longer processing time. The increasing rate of processing time is fixed at 1.75 for all of the alternatives in different types, and 1.25 for the alternatives in the same type of extruders, i.e., a = 1.25 and b = 1.75. Since all jobs must be produced during a production cycle (7 days), the common deadline is fixed at 168 h. Because the attribute setup time of diameter (8 h) is quite significant compared to the processing times, and much longer than that of the color; the scheduler in the case plant tries to schedule jobs with the same levels of diameter together on the same machine to decrease the major setup times incurred. However, the quick complement of inventories and the full utilization of the equipments are also important considerations for the scheduler. These considerations lead to the following scheduling method currently employed in the PVC pipe plant: Step 1: Assign all jobs in their own dedicated extruders. Group jobs with the same level of diameter together, and then sequence the groups of jobs in non-increasing order of levels of diameter for each extruder.
163
Step 2: For jobs with the same level of diameter, sequence them in no-decreasing order of levels of color for each extruder. Step 3: If all the maximum completion times of jobs on each extruder are shorter than or equal to the common deadline (168 h), stop the procedure. Otherwise, go to Step 4. Step 4: For the extruder where the maximum completion time is greater than the common deadline, remove the first job which can be produced on the other extruders, and try to assign this job to each of the other extruders. Applying Step 1 and Step 2, reschedule the jobs for each of the other extruders. Choose one of the extruders which can obtain the shortest maximum completion time and assign the job on the chosen extruder. Repeat this step until all the maximum completion times of the extruders are no greater than the common deadline. Stop and compute the total completion time. Example 1. We use a classified real case which consists of six machines (extruders) and twelve jobs (PVC pipe products) as given in Table 1. In Table 1, for example, if job 8 is assigned on the dedicated machine 4, the processing time of job 8 is p8,4 = 56. If job 8 is not assigned on the dedicated machine but on the same type (M) machine 3, the processing time of job 8 is p8,3 = a p8,4 = 1.25 56 = 70. However, if job 8 is assigned on the machines with different type (L or S), the processing time of job 8 becomes b p8,4 = 1.75 56 = 98. Furthermore, we can easily obtain a setup time matrix from Table 1. If the level of diameter is different between two adjacent jobs, the attribute setup time of diameter (8 h) incurs. Similarly, 2 h incur for a different level of color. If both the levels of these two attributes are different between two adjacent jobs, the setup time is 10 h. Furthermore, note that J6 and J10 have special specifications in this real case. They have to be produced only on their own dedicated extruders without alternatives. The setup time matrix is shown in Table 2. Let Q Mk denote the job sequence on machine k and Mk = {Jj} denote the job sets in which job j is assigned to machine k. We use the real case to explain the current scheduling method which yielded the following steps: Step 1: Assign jobs to their dedicated extruders: M1 = {J1}, M2 = {J2}, M3 = {J3, J4}, M4 = {J5, J6, J7, J8, J9}, M5 = {J10} and M6 = {J11, J12}. Based on the same level of diameter, we group the jobs and then sequence the groups of jobs in non-increasing order of levels of diameter for each extruder as follows: Q M1 ¼ ðJ 1 Þ, Q M2 ¼ ðJ 2 Þ, Q M3 ¼ ðJ 3 ; J 4 Þ, Q M4 ¼ ðJ 6 ; J 5 ; J 8 ; J 7 ; J 9 Þ, Q M5 ¼ ðJ 10 Þ and Q M6 ¼ fJ 12 ; J 11 g. Step 2: For M3, J3 and J4 have the same diameter (100 mm). We obtain the sequence (J4, J3) based on non-decreasing order of levels of color, i.e., number 1 and 4. Similarly, for J5 and J8 in M4, the sequence is (J8, J5) based on the levels of color, number 5 and 9. Therefore, the sequence becomes Q M4 ¼ ðJ 6 ; J 8 ; J 5 ; J 7 ; J 9 Þ. Step 3: Compute the maximum completion times for all the machines: M1 = 80, M2 = 48, M3 = 72 + 2 + 24 = 98 (setup time s4,3 = 2); in the same way, M4 = 242, M5 = 50 and M6 = 32 + 10 + 92 = 134. Because the maximum completion time of M4 is greater than the common deadline (168 h), go to Step 4. Step 4: Since the first job (J6) of M4 cannot be produced on the other machines, remove the next job J8 from M4, and then try to assign J8 to M1, M2, M3, M5 and M6. Applying Steps 1 and 2, we obtain: M1 = {J1, J8} = 188, M2 = {J2, J8} = 156, M3 = {J8, J4, J3} = 178, M4 = {J6, J5, J7,
164
C.-H. Lee et al. / Computers & Industrial Engineering 74 (2014) 161–168
Table 1 A real case with 12 jobs and 6 machines. Attribute
Job
Attribute setup time
1
2
3
4
5
6
7
8
9
10
11
12
Diameter (mm) Color (No.) Job type Dedicated extruder (Mk)
350 3 L M1
200 3 L M2
100 4 M M3
100 1 M M3
150 9 M M4
180 2 M M4
100 3 M M4
150 5 M M4
80 5 M M4
25 4 S M5
40 2 S M6
50 4 S M6
Extruder (type)
pjk (in hours)
M1(L) M2(L) M3(M) M4(M) M5(S) M6(S)
80 100 140 140 -
42 42 24 30 42 42
126 126 72 90 126 126
49 49 35 28 49 49
70 -
63 63 45 36 63 63
98 98 70 56 98 98
35 35 25 20 35 35
50 -
161 161 161 161 115 92
56 56 56 56 40 32
Increasing rate
60 48 84 84 -
Job
1 2 3 4 5 6 7 8 9 10 11 12
a = 1.25 b = 1.75
Some particular jobs have to be produced only on their own dedicated machines. A common deadline for all jobs.
Table 2 Setup time matrix of the real case with 12 jobs. Setup time (in hours)
8h 2h
Job 1
2
3
4
5
6
7
8
9
10
11
12
-
8 -
10 10 -
10 10 2 -
10 10 10 10 -
10 10 10 10 10 -
8 8 2 2 10 10 -
10 10 10 10 2 10 10 -
10 10 10 10 10 10 10 8 -
10 10 8 10 10 10 10 10 10 -
10 10 10 10 10 8 10 10 10 10 -
10 10 8 10 10 10 10 10 10 8 10 -
J9} = 184, M5 = {J8, J10} = 158 and M6 = {J8, J12, J11} = 242. Choose M2 and assign J8 to M2 that can obtain the shortest maximum completion time, i.e. 156 h. Because the maximum completion time of M4 is still greater than the deadline, continue to remove J5 from M4 and try to assign J5 to other machines. We obtain: M1 = {J1, J5} = 139, M2 = {J2, J8, J5} = 207, M3 = {J5, J4, J3} = 143, M4 = {J6, J7, J9} = 146, M5 = {J5, J10} = 109 and M6 = {J5, J12, J11} = 193. Choose M5 with the shortest maximum completion time (109 h) to assign J5 to M5. We obtain a new schedule: M1 = {J1} = 80, M2 = {J2, J8} = 156, M3 = {J4, J3} = 98, M4 = {J6, J7, J9}= 146, M5 = {J5, J10} = 109 and M6 ={J12, J11} = 134. Since the maximum completion times of all the machines are not longer than the common deadline, stop the procedure. The total completion time is computed as 1110 h. As shown in the above illustration, we can easily realize the main concept of the current scheduling method. The scheduler in the plant tries to assign all jobs to their dedicated machines in order to reduce the processing times of jobs, and tries to schedule jobs with same levels together to decrease the setup times incurred. If the maximum completion time of any machine is greater than the common deadline, the scheduler tries to remove jobs from the machine and assign to other machines. When the maximum completion times of all the machines are not longer than the common deadline, the procedure is stopped. 5. Proposed constructive heuristics P There are two characteristics in the proposed Rm/si,j, Md, D/ Cj problem:
Setting the common deadline will involve feasibility issue of the problem studied. If the common deadline is set to be tight, infeasible solutions must be easily generated for most instances. In contrast, if the common deadline is set to be loose, almost all of the solutions are feasible. Therefore, how to set a reasonable common deadline is an important issue in this research. For example, if there is an extreme instance in which all (most) jobs have to be produced only on one dedicated machine without alternatives, the solution of this case must be infeasible. Suppose that a reasonable common deadline has been set in developed heuristics. If the solution of an instance is infeasible, it implies that the instance should be an extreme instance. To reflect the aim of the research, we will only consider the instances which feasible solutions can be obtained, and directly exclude the extreme instances in design of heuristics. According to the characteristics of the proposed real-life scheduling problem, several constructive heuristics are proposed based on the main ideas of a well-known algorithm, called NEH heuristic (Nawaz, Enscore, and Ham, 1983). The NEH heuristic is based on the concept that jobs with longer processing times on all the machines should be scheduled as early as possible. Considering the above characteristics of the problem and the main ideas of the NEH heuristic, we will develop three constructive NEH-based heuristics for the problem, viz. – dedicated machine heuristics. 5.1. Dedicated machine heuristic 1 The detailed steps of the dedicated machine heuristic 1 (hereafter referred as DMH-1) are described as follows: Step 1: Choose the jobs which have to be produced only on their own dedicated machines from all unassigned jobs. Assign these jobs to their own dedicated machines, respectively. Step 2: If there are still idle machines with no assigned jobs, choose one job at a time to assign on each idle machine until there is no idle machine. If an idle dedicated machine is corresponding to only one job, directly assign this job to the idle dedicated machine. If there are more jobs corresponding to one dedicated machine, choose the job with the longest processing time to be assigned on the idle dedicated machine. Step 3: Compute the average processing time Pj for each job Jj in the set of the unassigned jobs U: m
Pj ¼
p 1 X p ; mp k¼1 j;k
8j 2 U
165
C.-H. Lee et al. / Computers & Industrial Engineering 74 (2014) 161–168
mp denotes the number of machines where Jj can be produced, 1 < mp 6 m. Sort Jj in non-increasing order of the Pj , and then obtain a sequence as ðP j ðrÞÞ, r = 1, 2, 3, . . . , |U|. |U| denotes the number of the unassigned jobs. Set r = 1. Step 4: Pick the job with Pj ðrÞ from U and try to place it at all possible positions of all the machines. Assign the job to the position that can obtain the current best total completion time without exceeding the common deadline (D). Step 5: If r = |U|, stop. Otherwise, set r = r + 1 and go to Step 4. Now we briefly explain the steps of the proposed DMH-1. We first preferentially assign those jobs which have to be produced only on their own dedicated machines. This is to avoid these dedicated machines not to have enough space for loading of the jobs. In Step 2, we ensure that there is at least one job assigned on its dedicated machine for all machines. If there are more jobs which correspond to one dedicated machine, we choose the job with the longest processing time to be assigned on the dedicated machine due to the limitation of the common deadline. Because a job is not assigned on its dedicated machine, the processing time of the job must be a or b times higher (a, b > 1). If a job has to be assigned on other than its dedicated machine, presumably the processing time of this job can be shorter in order to avoid spending too much processing time. For example, if Ji and Jj with pi,k < pj,k are not assigned to their dedicated machines, and both have to be assigned to different type machines, it is clear to see that the increments of the processing times must be (b 1) pi,k < (b 1) pj,k. This is the main concept of Step 2, why we assign the job with the longest processing time to its dedicated machine. Even if a job cannot be assigned to its dedicated machine, the processing time of the job will not be the longest one. Thus, it is advantageous to control the increasing processing time. The main ideas of the NEH heuristic are applied in Step 3 and Step 4. We sort the unassigned jobs in non-increasing order of the average processing time of the jobs in Step 3. The idea is different from the NEH heuristic which uses the descending order of the total processing times to determine the sequence of jobs. This is because there are always some jobs which may not be produced on all of the machines in the proposed problem. Some of the jobs are limited to be produced on the specific machines, or even limited to be produced on the only dedicated machine. So we cannot apply the total processing time to sort the jobs. Therefore, it makes sense that we use the average processing time to sort the unassigned jobs. This ensures that a job with the longer average processing time can be assigned as early as possible. In Step 4, we apply the same idea with the NEH heuristic in our problem. We try to assign a job at all possible positions of all machines, and then assign it on a best position. The restriction of the common deadline is considered in Step 4 and the terminal condition is stated in Step 5. 5.2. Dedicated machine heuristic 2 The first three steps of the dedicated machine heuristic 2 (DMH2) are exactly the same as the first three steps of DMH-1; the remaining steps of DMH-2 are described as follows: Step 4: Divide all the |U| jobs into m groups according to the job sequence obtained by Step 3. Thus each group has |U|/m jobs. Let ur denote a subset of U, r = 1, 2, . . . , m, u1 [ u2 [ [ um = U, and ur \ uv = /, for all r – v, where u1 contains the first |U|/m jobs of the job sequence, u2 contains the second group with |U|/m jobs, and so on. Set r = 1. Step 5: Pick all the jobs in ur and then try to assign them at all possible positions of all the machines. A job and a position
are chosen such that the current best total completion time can be obtained and does not exceed D. Assign the job to this position. Repeat the procedure until ur = /. Go to Step 6. Step 6: If r = m, stop. Otherwise, set r = r + 1 and go to Step 5. In Step 4, we divide the unassigned jobs into m groups in order to extend the area to assign the jobs. Note that if |U|/m is not an integer, the remainder will be evenly distributed to the first subsets. For example, if there are 20 unassigned jobs and 3 machines, |U|/m = 6.2. The remainder 2 will be evenly distributed to the first two subsets, i.e., both u1 and u2 contain 7 jobs, and u3 contains 6 jobs. In Step 5, we modify the main concept of the NEH heuristic in our unrelated parallel machine problem. Unlike the DMH-1 that chooses one predetermined job at a time to assign it at all possible positions of all the machines, we choose a group of jobs to be assigned at all possible positions of all the machines for an opportunity to obtain a better assignment. The restriction of the common deadline is considered in Step 5, and the terminal condition is stated in Step 6. 5.3. Dedicated machine heuristic 3 Since the first two steps of the dedicated machine heuristic 3 (DMH-3) are exactly the same as the first two steps of DMH-1, the remaining steps of DMH-3 are described as follows: Step 3: Let Ci,k be the completion time of the last job Ji scheduled on machine k. Assign job j at the next position on machine k, where job j and machine k are chosen such that Cj = min{[Ci,k + (si,j + pj,k)]}, k = 1, 2, . . . , m, and j e U. Remove the assigned job j from U. Step 4: If U = /, stop. Otherwise, go to Step 3. Unlike DMH-1 and DMH-2 that assign jobs in the non-increasing order of their average processing times, the order by which DMH-3 assigns jobs is not predetermined. In Step 3, each unassigned job has to be attempted to the next position of each machine. Choose a job to be assigned on a position of a machine that can obtain the minimum completion time of the assigned job. In Step 4, if the set of the unassigned jobs is empty, stop the procedure. Example 2. We use the real data in the case plant (see Table 1) to illustrate the proposed DMH-2. Since the procedure of DMH-2 is slightly more complicated than the procedures of DMH-1 and DMH-3, so we only choose DMH-2 to explain its detailed steps as follows: Step 1: Because J6 and J10 have to be produced only on their dedicated machines, assign J6 to M4 and J10 to M5. Step 2: M1, M2, M3 and M6 are idle machines. For M1, there is only J1 whose dedicated machine is M1. Assign J1 to M1. Similarly, Assign J2 to M2. However, for M3, there are J3 and J4 whose dedicated machine is M3. Since p4,3 = 72 > p3,3 = 24, assign J4 to M3. In the same way, assign J11 with the longest processing time to M6. We obtain a partial schedule as follows:
Q M1 ¼ ðJ 1 Þ;
Q M2 ¼ ðJ 2 Þ;
Q M4 ¼ ðJ 6 Þ;
Q M5 ¼ ðJ 10 Þ;
Q M3 ¼ ðJ 4 Þ; Q M6 ¼ ðJ 11 Þ
Step 3: The remaining unassigned jobs are U = {J3, J5, J7, J8, J9, J12}. Compute Pj for each unassigned job and arrange them in non-increasing order as follows:
166
C.-H. Lee et al. / Computers & Industrial Engineering 74 (2014) 161–168 m
P8 ¼
p 1 X 1 p ¼ 518 ¼ 86:33; mp k¼1 8;k 6
m
p 1 X 1 P7 ¼ p ¼ 333 ¼ 55:50 mp k¼1 7;k 6
6. Computational experiments The current scheduling method (hereafter referred to as CM) and the proposed constructive heuristics DMH-1–3 were coded in JAVA, and they were implemented on a Pentium IV 3.00 GHz PC with 2.00 GB RAM.
m
P12 ¼
p 1 X 1 p ¼ 296 ¼ 49:33; mp k¼1 12;k 6
m
P5 ¼
p 1 X 1 p ¼ 259 ¼ 43:17 mp k¼1 5;k 6
P3 ¼
p 1 X 1 p ¼ 222 ¼ 37:00; mp k¼1 3;k 6
P9 ¼
p 1 X 1 p ¼ 185 ¼ 30:83 mp k¼1 9;k 6
m
m
Step 4: |U| = 6, m = 6. Since |U|/m = 1, each group of jobs contains only one job. According to the job sequence obtained by Step 3, the sequence of subsets is u1 = {J8}, u2 = {J7}, u3 = {J12}, u4 = {J5}, u5 = {J3} and u6 = {J9}. Step 5: Set r = 1. Pick J8 in u1 and try to assign J8 at all possible positions of all the machines:
Q M1 ¼ ðJ 8 ; J 1 Þ or ðJ 1 ; J 8 Þ;
Q M2 ¼ ðJ 8 ; J 2 Þ or ðJ 2 ; J 8 Þ;
Q M3 ¼ ðJ 8 ; J 4 Þ or ðJ 4 ; J 8 Þ;
Q M4 ¼ ðJ 8 ; J 6 Þ or ðJ 6 ; J 8 Þ;
Q M5 ¼ ðJ 8 ; J 10 Þ or ðJ 10 ; J 8 Þ;
Q M6 ¼ ðJ 8 ; J 11 Þ or ðJ 11 ; J 8 Þ
Calculate all the values of total completion times for all of the above possible partial schedules. Assign J8 at the position before J6 on M4 that can obtain the shortest total completion time P Cj = 534. u1 e /, go to Step 6. Step 6: Since r = 1 < |U| = 6, set r = 1 + 1 = 2 and go to Step 5. Continuing the procedure, we obtain the final schedule as follows:
Q M1 ¼ ðJ 9 ; J 1 Þ;
C 9 ¼ 35;
C 1 ¼ p9;1 þ s9;1 þ p1;1 ¼ 35 þ 10 þ 80
¼ 125: Q M2 ¼ ðJ 2 Þ;
C 2 ¼ 48:
Q M3 ¼ ðJ 3 ; J 7 ; J 4 Þ;
C 3 ¼ 24;
C 7 ¼ 71;
C 4 ¼ 145:
Q M4 ¼ ðJ 5 ; J 8 ; J 6 Þ;
C 5 ¼ 28;
C 8 ¼ 86;
C 6 ¼ 166:
Q M5 ¼ ðJ 10 Þ;
C 10 ¼ 50:
Q M6 ¼ ðJ 12 ; J 11 Þ;
C 12 ¼ 32;
C 11 ¼ 134:
P Calculate the total completion time: 12 j¼1 C j ¼ 944 hours. In addition, using the same real data to illustrate DMH-1 and P12 DMH-3, we can obtain the total completion time j¼1 C j ¼ 944 P12 and j¼1 C j ¼ 965 respectively. Now we compare the proposed constructive heuristics with the current scheduling method of the considered PVC pipe plant. Recall that in Example 1 the current scheduling method generates a schedule with the total completion P P time Cj = 1110 h. The solution C = 944 h obtained by Pj implementing DMH-1 and DMH-2, and Cj = 965 h obtained by DMH-3, which significantly outperform in finding the solution of the current scheduling method in this example. The percentage improvements are about 14.95% and 13.06% respectively. Moreover, we will set a reasonable common deadline constraint for all the developed DMH heuristics to reflect the practical situation.
6.1. Parameters setting All the data were randomly generated from the discrete uniform distributions but with different parameters. There are two sets for the number of different levels of attribute: 5 and 10. We set the number of levels 5 for small-size of instances n = {20, 50} and 10 for large-size of instances n = {100, 200}. The processing times of all the test instances are randomly generated from the discrete uniform distribution [20, 100]. There are three different instance types for the experiments as follows: 1. pj,k dominant situation: The setup times (si,j) are always shorter than the processing times (pj,k). Following the real data in the PVC pipe plant, we set the minor and major attribute setup times to be 2 and 8 h in the test instances. Therefore, the setup time between two adjacent jobs must be si,j e {2, 8, 10}. 2. pj,k, si,j balanced situation: We set the minor and major attribute setup times to be 30 and 50 in the test instances. Therefore, the setup time between two adjacent jobs must be si,j e {30, 50, 80}, and always within [20, 100]. 3. si,j dominant situation: The setup times are always greater than or equal to the processing times. We set the minor and major attribute setup times to be 100 and 150 in the test instances. Therefore, the setup time between two adjacent jobs must be si,j e {100, 150, 250}. Further, according to the characteristics of the presented problem, we set the common deadline (D) as follows:
Pn
D¼
j¼1
maxfpj;k jk ¼ 1; . . . ; mg ln mm þ maxfsi;j ji; j ¼ 1; . . . ; ng m m
In the first item of the above equation, we use the possible maximum processing time of each job to calculate the average load on each machine. In the second item, there are n m setup times incurred in the parallel machines environment without considering the initial setup time. Therefore, dðn mÞ=me denotes the possible maximum number of setup times incurred on each machine. And then, we use the possible maximum setup time of two adjacent jobs which is multiplied by dðn mÞ=me to be regarded as the possible maximum total setup times incurred on each machine. The value of D is similar to an upper bound where most of the solutions are feasible for the common deadline constraint. But, the extreme cases, e.g., all (most) jobs have to be produced only on one dedicated machine without alternatives, are not our research interests. It is meaningless to consider how to set a common deadline constraint for the extreme cases. Since the extreme cases seldom occur in the practical environment, infeasibility of solutions is not considered in this research. The proposed constructive heuristics will be compared with the current method (CM) to investigate their effectiveness and efficiency. In the following experiments, the test instance sizes are generated with number of jobs n = 20, 50, 100, 200. The percentage improvements (PI) are calculated as
PI ¼
ðsolution of CMÞ ðsolution of DMH-1; DMH-2 or DMH-3Þ solution of CM 100%
The PI represents how many percentages of the CM’s solution can be improved by implementing DMH-1–3. The larger values of PI represent the larger improvements for the proposed heuristics.
167
C.-H. Lee et al. / Computers & Industrial Engineering 74 (2014) 161–168 Table 3 Comparison of the heuristics under pj,k dominant. n
20
m
DMH-1 Time
PI
Time
PI
Time
PI
Time
5 10 15
0.002 0.002 0.003
11.49 7.72a 1.60
0.002 0.002 0.005
12.75 7.55 1.68a
0.003 0.003 0.005
12.93a 4.17 1.20
0.000 0.000 0.000
0.002
6.94
0.003
7.33a
0.004
6.10
0.000
a
10.79 10.82 5.44
0.000 0.003 0.000
Average
DMH-3
CM
0.008 0.014 0.022
15.97 15.32 9.28
0.027 0.028 0.041
16.81 16.14a 9.32a
0.014 0.039 0.094
0.015
13.52
0.032
14.09a
0.049
9.02
0.001
0.045 0.081 0.122
18.55 18.86 18.83
0.308 0.273 0.284
19.43a 20.19a 19.51a
0.092 0.295 0.719
14.76 14.11 15.12
0.000 0.011 0.019
0.083
18.75
0.288
19.71a
0.369
14.66
0.010
0.328 0.542 0.784
22.06 18.92 16.30
4.617 3.581 3.416
22.73a 19.59a 17.09a
0.895 2.639 4.853
18.29 14.15 12.43
0.041 0.006 0.005
Average
0.551
19.09
3.871
19.80a
2.796
14.96
0.017
Overall avg.
0.163
14.57
1.049
15.23a
0.804
11.18
0.007
50
5 10 15
Average 100
5 10 15
Average 200
a
DMH-2
5 10 15
The best PI among the heuristics.
6.2. Experiment 1: Comparison under pj,k dominant situation The computational times (in seconds) and percentage improvements under the processing times – dominant situation are summarized in Table 3. It can be observed from Table 3 that all the three heuristics outperform the current method since all the values of PI are positive. Regarding to computational time, CM takes almost zero time due to its simplicity. For the three heuristic, DMH-1 takes the least time (0.163 s); DMH-2 and DMH-3 take 1.049 and 0.804 s on overall average, respectively. Although DMH-2 takes the longest overall average time among the heuristics, DMH-2 can take less time than DMH-3 while all the test instances with n 6 100. The percentage improvements increase as the number of jobs increases for all the test instances. We observe that DMH-2 can perform better than the others except DMH-1 under n = 20/m = 10 and DMH-3 under
Table 4 Comparison of the heuristics under pj,k, si,j balanced. n
20
m
100
Time
PI
Time
5 10 15
0.002 0.000 0.003
15.25 10.59 9.07a
0.003 0.002 0.005
16.65 11.29a 6.51
0.000 0.005 0.011
17.64a 6.28 0.87
0.000 0.000 0.000
0.002
11.64a
0.003
11.48
0.005
8.26
0.000
5 10 15
0.006 0.014 0.023
16.33 19.59 18.84
0.022 0.023 0.031
18.06a 19.99a 19.21a
0.013 0.039 0.088
15.40 18.34 17.79
0.000 0.003 0.000
0.014
18.25
0.025
19.09a
0.047
17.18
5 10 15
0.044 0.083 0.127 0.085
5 10 15
0.341 0.566 0.819 0.575
21.27
Overall avg.
0.169
16.56 24.34 25.88
The computational times (in seconds) and percentage improvements under the processing and setup times balanced situation are summarized in Table 4. It is evident that all the heuristics outperform CM as all the values of PI are positive in Table 4. The overall average computational times of DMH-1, DMH-2 and DMH-3 are 0.169, 0.935 and 0.802 s, respectively. Although CM takes almost zero time, all the heuristics only take less than one second on average. The computational times of DMH-1 stably and slightly increase as the number of jobs increases and it always takes the least time among the heuristics. The percentage improvements increase as the number of jobs increases for all the test instances. The overall average PI values of DMH-1–3 are 18.35, 18.94 and 17.18, respectively. DMH-2 still performs better than the others on overall average except DMH-1 under n = 20/m = 15, and DMH-3 under n = 20/m = 5 and n = 100/m = 5. Although DMH-1 and DMH-2 still perform better than DMH-3 in terms of PI, we notice that the difference of PI between DMH-3 and the others, compared to pj,k dominant situation, has become smaller in this experiment. In summary, DMH-2 is the most effective one; DMH-1 has the advantage of efficiency and can obtain a slightly smaller PI than DMH-2. 6.4. Experiment 3: Comparison under si,j dominant situation The computational times (in seconds) and percentage improvements are shown in Table 5. As observed from Table 5, similar to experiments 1 and 2, CM takes almost zero time, and DMH-1 takes 0.167 s on overall average which is still the most efficient one. DMH-2 and DMH-3 only take less than one second on average (0.933 and 0.819 s, respectively). For the three heuristics in this situation, all the values of overall average PI are very close, and they are significantly larger
CM
PI
Average
a
DMH-2
Time
Average 200
DMH-2 PI
Average
6.3. Experiment 2: Comparison under pj,k, si,j balanced situation
Table 5 Comparison of the heuristics under si,j dominant.
Time
Average 50
DMH-1
n = 20/m = 5. In pj,k dominant situation, DMH-1 is the most efficient method; however, DMH-2 can provide the best effect among the heuristics. Both of them are apparently better than DMH-3. In summary, since the difference of PI between DMH-1 and DMH-2 is quite small (14.57 vs. 15.23), the two heuristics have different advantages in pj,k dominant situation.
a
n
20
50
0.001
Average
0.000 0.008 0.025
100
17.77 25.13a 26.83a
0.089 0.277 0.598
17.81 24.01 25.24
22.26
0.276
23.24a
0.321
22.35
0.011
Average
18.31 22.44 23.05
3.794 3.219 3.291
19.25a 23.01a 23.63a
0.752 2.511 5.247
19.12 21.00 22.64
0.000 0.000 0.005
200
3.435
21.96a
2.837
20.92
0.002
Average
0.935
a
The best PI among the heuristics.
18.94
0.802
17.18
0.003
DMH-2
DMH-3
CM
PI
Time
PI
Time
PI
Time
5 10 15
0.000 0.000 0.002
29.95 25.56 24.60a
0.002 0.003 0.003
30.75 26.86a 22.32
0.000 0.005 0.011
32.58a 19.62 11.02
0.000 0.000 0.000
0.001
26.70a
0.003
26.64
0.005
21.07
0.000
5 10 15
0.008 0.013 0.022
31.53 35.67 41.12
0.020 0.022 0.033
33.65 36.57 41.20a
0.016 0.041 0.102
34.04a 36.93a 39.44
0.000 0.005 0.000
0.014
36.11
0.023
37.14a
0.053
36.80
0.002
5 10 15
0.044 0.084 0.125
30.50 40.70 43.65
0.250 0.247 0.336
30.84 41.83 44.33
0.098 0.314 0.686
33.54a 43.74a 45.74a
0.000 0.005 0.013
0.084
38.28
0.278
39.00
0.366
41.01a
0.006
5 10 15
0.338 0.561 0.805
31.31 39.53 42.92
3.786 3.210 3.288
32.03 40.03 43.23
0.785 2.480 5.294
32.93a 40.41a 44.55a
0.000 0.000 0.000
0.568
37.92
3.428
38.43
2.853
39.30a
0.000
0.819
34.54
0.002
Overall avg. a
DMH-1 Time
Average
0.252 0.244 0.333
18.35
m
0.167
34.75
0.933
The best PI among the heuristics.
35.30
a
168
C.-H. Lee et al. / Computers & Industrial Engineering 74 (2014) 161–168
than those of the other situations. However, we observe that the changes of PI values in si,j dominant situation are quite different from that of in pj,k dominant and pj,k, si,j balanced situations. DMH-3 can perform better than the others except DMH-1 under n = 20/m = 15, and DMH-2 under n = 20/m = 10 and n = 50/m = 15. Especially in n P 100, DMH-3 can apparently outperform the others. But, DMH-3 performs much worse than DMH-1 and DMH-2 with significant differences under n = 20/m = 15 and n = 20/ m = 10. This leads to the slightly smaller overall average PI compared to DMH-1 and DMH-2. This experiment shows that DMH-3 is advantageous to solve the problems under si,j dominant situation. 7. Conclusions and future research In this paper we have addressed a scheduling problem originated from the manufacturing plant of a company producing PVC pipes. There are two main attributes of PVC pipes: diameter and color. Each attribute has a corresponding attribute setup time and usually has several different levels. Each extruder produces different PVC pipe products based on the large, middle and small diameters of pipes. The alternatives exist between these extruders that large and middle type extruders can be used to produce the PVC pipes with the other diameters; small type extruders can be used to produce the PVC pipes with middle diameters but cannot produce those with large diameter. The processing times are longer in all of the alternatives between the different types of extruders. The objective is to generate a schedule of the jobs on the unrelated parallel machines so as to minimize the total completion time. This problem is at least NP-hard in the ordinary sense. No previous work has directly addressed the parallel machine scheduling problem with dedicated machines and a common deadline. Therefore, the main contribution of this paper is to model the problem and to develop three constructive heuristics for solving the problem. The computational results show that all the three proposed heuristics (DMH-1, DMH-2 and DMH-3) outperform the current scheduling method with significant improvements and can be used to solve large-size problems in reasonable computational times. The values of PI increase as the values of setup times increase, i.e., PI under si,j dominant > PI under pj,k, si,j balanced > PI under pj,k dominant. This is because the larger setup times lead to the larger total completion time in such a way that the performance of the current method gets worse. In summary, the proposed heuristics have conceptually easy designs and have different advantages for different situations. DMH-1 is always the most efficient and stable in terms of the computational times among the heuristics. DMH-2 always has the best overall average effect, especially performing well in pj,k dominant and pj,k, si,j balanced situations. As to DMH-3, we can observe that it cannot perform well under the situations where the number of m is near the number of n, such as n = 20/m = 10, n = 20/m = 15 and n = 50/m = 15. But, DMH-3 can perform best under si,j dominant situation, especially for the
large-size instances. From an application viewpoint, the scheduler in the PVC pipe plant is satisfied with the results of DMH-1 and DMH-2 since the case plant has pj,k dominant situation. The scheduler considers that DMH-2 will be tested in the scheduling system of the plant and implemented in the near future. Furthermore, we apply the idea similar to upper bound to set a reasonable common deadline constraint. Since the extreme cases may lead to infeasible solutions, they are not considered to fit the practical environment of the case plant. Further research may be conducted to consider some other factors in the practical production system, such as machine breakdowns. It is also worthwhile to develop a heuristic for the flow shop scheduling problem which also exists in the case plant. In our research process, we find that it is difficult to set the common deadline. Thus, it is interesting to study the relation between setting a common deadline and infeasibility of solutions for further research. References Allahverdi, A., Ng, C. T., Cheng, T. C. E., & Kovalyov, M. Y. (2008). A survey of scheduling problems with setup times or costs. European Journal of Operational Research, 187, 985–1032. Al-Salem, A. (2004). Scheduling to minimize makespan on unrelated parallel machines with sequence dependent setup times. Engineering Journal of the University of Qatar, 17, 177–187. Balasubramanian, H., Fowler, J., Keha, A., & Pfund, M. (2009). Scheduling interfering job sets on parallel machines. European Journal of Operational Research, 199, 55–67. Bruno, J., Coffman, E. G., & Sethi, R. (1974). Scheduling independent tasks to reduce mean finishing time. Communications of the ACM, 17, 382–387. Chang, P. Y., Damodaran, P., & Melouk, S. (2004). Minimizing makespan on parallel batch processing machines. International Journal of Production Research, 42, 4211–4220. Chen, J. F. (2006). Minimization of maximum tardiness on unrelated parallel machines with process restrictions and setups. The International Journal of Advanced Manufacturing Technology, 29, 557–563. Chen, Z. L., & Powell, W. B. (1999). Solving parallel machine scheduling problems by column generation. INFORMS Journal on Computing, 11, 78–94. Chuang, M. C., Liao, C. J., & Chao, C. W. (2010). Parallel machine scheduling with preference of machines. International Journal of Production Research, 48, 4139–4152. Kim, D. W., Kim, K. H., Jang, W., & Chen, F. F. (2002). Unrelated parallel machine scheduling with setup times using simulated annealing. Robotics and Computer Integrated Manufacturing, 18, 223–231. Li, K., & Yang, S. L. (2009). Non-identical parallel-machine scheduling research with minimizing total weighted completion times: Models, relaxations and algorithms. Applied Mathematical Modelling, 33, 2145–2158. Mokotoff, E. (2001). Parallel machine scheduling problems: A survey. Asia-Pacific Journal of Operational Research, 18, 193–242. Mosheiov, G. (2001). Parallel machine scheduling with a learning effect. Journal of the Operational Research Society, 52, 1165–1169. Nawaz, M., Enscore, E. E., Jr., & Ham, I. (1983). A heuristic algorithm for the mmachine, n-job flow-shop sequencing problem. OMEGA, The International Journal of Management Science, 11, 91–95. Rabadi, G., Moraga, R. J., & Al-Salem, A. (2006). Heuristics for the unrelated parallel machine scheduling problem with setup times. Journal of Intelligent Manufacturing, 17, 85–97. Weng, M. X., Lu, J., & Ren, H. (2001). Unrelated parallel machine scheduling with setup consideration and a total weighted completion time objective. International Journal of Production Economics, 70, 215–226.