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 ChengHsiung Lee a, ChingJong Liao b,⇑, ChienWen 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 signiﬁcant improvements and can be used to solve largesize problems in reasonable computational times. Ó 2014 Elsevier Ltd. All rights reserved.
1. Introduction In this paper we address a reallife 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. Email address:
[email protected] (C.J. Liao). http://dx.doi.org/10.1016/j.cie.2014.05.012 03608352/Ó 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 maketostock environment. Whenever a job is ﬁnished, 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 ﬁxed 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 ﬁxed 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 a > 1. There is a sequencedependent 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 insigniﬁcant 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ﬁeld 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 NPhard in the ordinary sense, since the special case when there are only two identical machines with no setup times is NPhard 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 ﬁxed 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 ﬁxed at 168 h. Because the attribute setup time of diameter (8 h) is quite signiﬁcant 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 nonincreasing order of levels of diameter for each extruder.
163
Step 2: For jobs with the same level of diameter, sequence them in nodecreasing 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 ﬁrst 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 classiﬁed 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 speciﬁcations 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 nonincreasing 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 nondecreasing 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 ﬁrst 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 reﬂect 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 reallife scheduling problem, several constructive heuristics are proposed based on the main ideas of a wellknown 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 NEHbased 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 DMH1) 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 nonincreasing 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 brieﬂy explain the steps of the proposed DMH1. We ﬁrst 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 nonincreasing 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 speciﬁc 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 ﬁrst three steps of the dedicated machine heuristic 2 (DMH2) are exactly the same as the ﬁrst three steps of DMH1; the remaining steps of DMH2 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 ﬁrst 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 ﬁrst 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 ﬁrst 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 DMH1 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 ﬁrst two steps of the dedicated machine heuristic 3 (DMH3) are exactly the same as the ﬁrst two steps of DMH1, the remaining steps of DMH3 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 DMH1 and DMH2 that assign jobs in the nonincreasing order of their average processing times, the order by which DMH3 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 DMH2. Since the procedure of DMH2 is slightly more complicated than the procedures of DMH1 and DMH3, so we only choose DMH2 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 nonincreasing 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 DMH1–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 ﬁnal 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 DMH1 and P12 DMH3, 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 DMH1 and DMH2, and Cj = 965 h obtained by DMH3, which signiﬁcantly outperform in ﬁnding 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 reﬂect 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 smallsize of instances n = {20, 50} and 10 for largesize 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 ﬁrst 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 efﬁciency. 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 DMH1; DMH2 or DMH3Þ solution of CM 100%
The PI represents how many percentages of the CM’s solution can be improved by implementing DMH1–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
DMH1 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
DMH3
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
DMH2
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, DMH1 takes the least time (0.163 s); DMH2 and DMH3 take 1.049 and 0.804 s on overall average, respectively. Although DMH2 takes the longest overall average time among the heuristics, DMH2 can take less time than DMH3 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 DMH2 can perform better than the others except DMH1 under n = 20/m = 10 and DMH3 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 DMH1, DMH2 and DMH3 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 DMH1 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 DMH1–3 are 18.35, 18.94 and 17.18, respectively. DMH2 still performs better than the others on overall average except DMH1 under n = 20/m = 15, and DMH3 under n = 20/m = 5 and n = 100/m = 5. Although DMH1 and DMH2 still perform better than DMH3 in terms of PI, we notice that the difference of PI between DMH3 and the others, compared to pj,k dominant situation, has become smaller in this experiment. In summary, DMH2 is the most effective one; DMH1 has the advantage of efﬁciency and can obtain a slightly smaller PI than DMH2. 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 DMH1 takes 0.167 s on overall average which is still the most efﬁcient one. DMH2 and DMH3 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 signiﬁcantly larger
CM
PI
Average
a
DMH2
Time
Average 200
DMH2 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
DMH1
n = 20/m = 5. In pj,k dominant situation, DMH1 is the most efﬁcient method; however, DMH2 can provide the best effect among the heuristics. Both of them are apparently better than DMH3. In summary, since the difference of PI between DMH1 and DMH2 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
DMH2
DMH3
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
DMH1 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. DMH3 can perform better than the others except DMH1 under n = 20/m = 15, and DMH2 under n = 20/m = 10 and n = 50/m = 15. Especially in n P 100, DMH3 can apparently outperform the others. But, DMH3 performs much worse than DMH1 and DMH2 with signiﬁcant differences under n = 20/m = 15 and n = 20/ m = 10. This leads to the slightly smaller overall average PI compared to DMH1 and DMH2. This experiment shows that DMH3 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 NPhard 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 (DMH1, DMH2 and DMH3) outperform the current scheduling method with signiﬁcant improvements and can be used to solve largesize 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. DMH1 is always the most efﬁcient and stable in terms of the computational times among the heuristics. DMH2 always has the best overall average effect, especially performing well in pj,k dominant and pj,k, si,j balanced situations. As to DMH3, 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, DMH3 can perform best under si,j dominant situation, especially for the
largesize instances. From an application viewpoint, the scheduler in the PVC pipe plant is satisﬁed with the results of DMH1 and DMH2 since the case plant has pj,k dominant situation. The scheduler considers that DMH2 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 ﬁt 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 ﬂow shop scheduling problem which also exists in the case plant. In our research process, we ﬁnd that it is difﬁcult 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. AlSalem, 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 ﬁnishing 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). Nonidentical parallelmachine 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. AsiaPaciﬁc 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, njob ﬂowshop sequencing problem. OMEGA, The International Journal of Management Science, 11, 91–95. Rabadi, G., Moraga, R. J., & AlSalem, 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.