Available online at www.sciencedirect.com
European Journal of Operational Research 186 (2008) 931–952 www.elsevier.com/locate/ejor
Discrete Optimization
Minimizing due date related measures for a single machine scheduling problem with outsourcing allowed Ik Sun Lee, C.S. Sung
*
Department of Industrial Engineering, KAIST, Yuseong-gu, Daejeon 305-701, Republic of Korea Received 18 October 2005; accepted 6 February 2007 Available online 20 March 2007
Abstract This paper considers two single-machine scheduling problems with outsourcing allowed where each job can be either processed on an in-house single-machine or outsourced. They include the problem of minimizing maximum lateness and outsourcing costs, and that of minimizing total tardiness and outsourcing costs. Outsourcing is commonly required as a way to improve productivity in various companies including electronics industries and motor industries. The objective is to minimize the weighted sum of the outsourcing cost and the scheduling measure represented by either one of maximum lateness and total tardiness, subject to outsourcing budget. It is proved that the problem is NP-hard. Some solution properties are characterized to derive heuristic algorithms, and also a branch-and-bound algorithm. Numerical experiments are conducted to evaluate performance of the derived algorithms. Ó 2007 Elsevier B.V. All rights reserved. Keywords: Single-machine scheduling; Due-date related measures; Outsourcing strategy
1. Introduction and problem description Outsourcing is commonly required as a way to improve production scheduling effectively and efficiently in various companies including electronics industries and motor industries. This provides the authors with the motivation of considering the proposed scheduling problem with outsourcing allowed. The objective of the problem is to minimize the weighted sum of the outsourcing cost and the scheduling measure, subject to outsourcing budget, where the scheduling measure is represented by either one of maximum lateness and total tardiness. This paper considers an outsourcing situation where outsourcing is allowed in parallel to the associated inhouse scheduling so as to promote the overall scheduling quality in terms of due date satisfaction. For example, in a situation where demands (scheduling requests) requested from customers are too much to be taken care of by a given manufacturing (scheduling) capacity and the associated due dates are also too tight,
*
Corresponding author. Tel.: +82 42 869 3131; fax: +82 42 869 3110. E-mail addresses:
[email protected] (I.S. Lee),
[email protected] (C.S. Sung).
0377-2217/$ - see front matter Ó 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2007.02.015
932
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
outsourcing assignment may be positively considered in the way of allocating the associated portion of work substitute to another in-house manufacturing division or some other companies. In such a situation, outsourcing may incur certain charges associated with outsourcing ordering and lead-time. However, such outsourcing charges may be compensated for by fulfilling customer demands (due date satisfaction) on time so as to make more profit. In the literature, a few researches have been done in association with outsourcing strategy. For example, Cachon and Harker (2002) and Kaipia and Tanskanen (2003) have investigated reasons why various firms have adopted outsourcing in their management. Kim (2003) has considered selection of outsourcing resources (companies). Kolisch (2000) has considered a make-to-order production problem with outsourcing strategy allowed, for which he has derived a mixed-integer programming model to minimize holding and setup costs of the associated entire supply chain. However, only few papers have considered scheduling problems with outsourcing allowed. For example, Lee et al. (2002) have considered an advanced planning and scheduling (APS) problem with outsourcing allowed, for which they have derived a genetic algorithm to minimize the makespan objective measure. The proposed problem is now stated in detail as follows. There are n jobs available at time zero. Let pj, dj and oj denote processing time, due date and outsourcing cost of job j, respectively. Each job can be either processed on an in-house single-machine without preemption allowed or outsourced at cost oj. Op is defined as an outsourcing job set which is composedPof all outsourcing jobs in schedule p. Then, the total outsourcing cost OC(p) associated with schedule p is j2Op oj . The problem also considers the outsourcing budget constraint OC(p)6 K. Moreover, outsourcing lead-time lj is required for each outsourcing job j, so that the corresponding completion time of the outsourcing job is at time point lj, such as C j ¼ lj for 8j 2 Op , where Cj denotes the completion time of job j. Without loss of generality, it is assumed that K, dj, pj, oj and lj have integer values. The standard classification scheme for scheduling problems (Graham et al., 1979) ajbjc is adopted in this paper where a indicates the scheduling environment, b describes the job characteristics or restrictive requirements, and c defines the objective function to be minimized. The proposed problem is a single-machine problem, so that a ¼ 1 holds. For b, ‘‘Budget’’ represents the outsourcing budget constraint ‘‘OC(p) 6 K’’. For c, the objective cost function of the proposed problem is the weightedP sum of the outsourcing cost and the associated scheduling cost. The outsourcing cost, OC, is expressed as j2Op oj , and the scheduling cost is represented by one of the followings: Lmax ¼ max fC j d j g ðmaximum latenessÞ; 16j6n X X Tj ¼ maxf0; C j d j g ðtotal tardinessÞ: Accordingly, P the proposed problem is expressed as either one of 1jBudgetjð1 dÞLmax þ d OC and 1jBudgetjð1 dÞ T j þ d OC, where d denotes a constant cost parameter and 0 6 d 6 1. 2. Minimizing maximum lateness and outsourcing costs 2.1. Problem complexity analysis This section proves that the problem 1jBudgetjð1 dÞLmax þ d OC is NP-hard, as in Theorem 1. Theorem 1. The problem 1jBudgetjð1 dÞLmax þ d OC is NP-hard even if d = 0. Proof. The proof can be done in polynomial reduction from the Partition Problem (Garey and Johnson, 1979), which is known to be NP-hard. The Partition P Problem is stated as follows: q Given a set fa1 ; . . . ; aq g of positive integers, where i¼1 ai ¼ 2B and 0 < ai < B, for i ¼ 1; . . . ; q, does there P exist a subset S f1; . . . ; qg such that i2S ai ¼ B? Now, consider the following instance of the given problem 1jBudgetjð1 dÞLmax þ d OC; n ¼ q; K ¼ B; d ¼ 0; pj ¼ aj ; oj ¼ aj ; d j ¼ lj ¼ B;
j ¼ 1; . . . ; q:
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
933
Denote by Q a threshold value which is set as Q ¼ 0: Therewith, it will be proved that there exists a feasible schedule p for the problem instance satisfying the relation Lmax 6 Q if and only if there exists a solution to the Partition Problem. (a) For if-part; Suppose that there are two disjoint sets X and Y which comprise a solution to the Partition Problem, such as fx1 ; . . . ; xjX j g and fy 1 ; . . . ; y jY j g, where x1 þ þ xjX j ¼ y 1 þ þ y jY j ¼ B, fx1 ; . . . ; xjX j , y 1 ; . . . ; y jY j g ¼ fa1 ; . . . ; aq g and jX j þ jY j ¼ q. Then, the associated job sets X 0 ¼ fJ X1 ; . . . ; J XjX j g and Y 0 ¼ fJ Y1 ; . . . ; J YjY j g correspond to the processing times fx1 ; . . . ; xjX j g and fy 1 ; . . . ; y jY j g, respectively, and the outsourcing costs fx1 ; . . . ; xjX j g and fy 1 ; . . . ; y jY j g, respectively, where fJ X1 ; . . . ; J XjX j , J Y1 ; . . . ; J YjY j g ¼ fJ 1 ; . . . ; J q g. The total processing time of the jobs in X 0 and Y 0 is x1 þ þ xjX j ¼ y 1 þ þ y jY j ¼ B. Now, consider the schedule p as being represented by outsourcing all jobs in X 0 and processing all jobs in Y 0 on the in-house machine in arbitrary order. Then, the total outsourcing cost of the schedule p is x1 þ þ xjX j ¼ B which is equal to K, and the objective cost value of the schedule p (Lmax) is max16j6n fC j d j g ¼ ðy 1 þ þ y jY j Þ B ¼ 0 which is equal to Q, satisfying the condition Lmax 6 Q. (b) For only if-part; Suppose that a schedule p is feasible as satisfying the relation Lmax 6 Q. Denote by fJ O 1, O P P P JO ; . . . ; J g and fJ ; J ; . . . ; J g the outsourcing job set having the outsourcing costs fx ; x ; . . . ; x g 1 2 jOj 2 jOj 1 2 jP j and the non-outsourcing job set having the processing times fy 1 ; y 2 ; . . . ; y jP j g, respectively, where fx1 ; x2 ; . . . ; xjOj ; y 1 ; y 2 ; . . . ; y jP j g ¼ fa1 ; a2 ; . . . ; aq g and jOj þPjP j ¼ q. By the hypothesis, the two relations PjOj jP j Lmax 6 Q and OC(pÞ 6 K should hold. It follows that j¼1 y j B 6 0 and j¼1 xj 6 B. This implies the existence of a solution to the Partition Problem. h The following DP (dynamic programming) algorithm is derived for the problem 1jBudgetjð1 dÞ Lmax þ d OC. DP Algorithm A Indexing: Index all the jobs in EDD order. Value function: fj ðk; tÞ = cost of a partial schedule for jobs 1; . . . ; j which has the minimum value of maximum lateness such that the sum of processing P times of non-outsourcing jobs P among jobs 1; . . . ; j is t and the associated outsourcing cost is k as follows: i2fmjm62Op ;m¼1;2;...;jg pi ¼ t and i2fmjm2Op ;m¼1;2;...;jg oi ¼ k. Boundary condition: f0 ð0; 0Þ ¼ 1. Pn Optimal solution value: min06t6P sum ;06k6K fð1 dÞfn ðk; tÞ þ d kg, where P sum ¼ j¼1 pj . Recurrence relation: 8 1; if pj > t and oj > k > > > < maxflj d j ; fj1 ðk oj ; tÞg; if pj > t and oj 6 k fj ðk; tÞ ¼ > maxft d j ; fj1 ðk; t pj Þg; if pj 6 t and oj > k > > : minfmaxft d j ; fj1 ðk; t pj Þg; maxflj d j ; fj1 ðk oj ; tÞgg; if pj 6 t and oj 6 k: In the recurrence relation, the first term represents an infeasible case, since the processing time of job j exceeds over the value t and the outsourcing cost of job j exceeds over the value k. The second term represents the situation that job j is outsourced, since the processing time of job j exceeds over the value t and the outsourcing cost of job j is no more than k. The third term represents the situation that job j is not outsourced, since the processing time of job j is no more than t and the outsourcing cost of job j exceeds over the value k. Finally, the fourth term represents the situation of whether job j is outsourced or not, based on the associated cost comparison between its non-outsourcing and outsourcing. The total number of states of DP algorithm A cannot exceed over the value n K P sum , so that an optimal solution for the problem 1jBudgetjð1 dÞLmax þ d OC can be found in the pseudo-polynomial complexity order of Oðn K P sum Þ by DP Algorithm A. This implies that the proposed problem 1jBudgetjð1 dÞLmax þ d OC is NP-hard in the ordinary sense.
934
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
2.2. Solution properties Two heuristic algorithms, called Addition Heuristic and Removal Heuristic, are derived based on some solution properties as characterized in Lemmas 1–5, and Theorems 2 and 3. Note that the proposed problem has two scheduling issues including the issue of composing the set Op of the jobs to be outsourced (called the outsourcing decision issue), and the issue of sequencing the non-outsourcing jobs in the non-outsourcing job set NOp (called the job sequencing issue). As proved above, it is NP-hard, so that it is not easy to handle the two scheduling issues simultaneously. However, once the outsourcing job set is determined, the issue of sequencing the non-outsourcing jobs would be rather easier to make. This implies that, as a strategy to solve the proposed scheduling problem, the sequential approach of determining the outsourcing job set first and sequencing the non-outsourcing jobs next seems to be attractive. Once an outsourcing decision is made, the associated job sequencing can be made easily, as in Lemma 1. Lemma 1. For the problem 1jBudgetjð1 dÞLmax þ d OC, there exists an optimal schedule such that all the nonoutsourcing jobs are sequenced in EDD (earliest due date) order. Proof. It can be proved in interchange arguments.
h
Now, some solution properties associated with the outsourcing decision issue are characterized. Lemma 2. If the relation d oj > ð1 dÞpj holds for any job j, then job j should not be included in the outsourcing job set. Proof. The objective cost increment by outsourcing job j is at least d oj , while the objective cost decrement is at most ð1 dÞpj due to the results of Lemma 1. Thus, the condition d oj > ð1 dÞpj implies that the objective cost value cannot be reduced by outsourcing job j. h The outsourcing job set is to be determined in two ways including the way of extending an arbitrary initial outsourcing job set by adding any helpful jobs one by one and the way of reducing an initial outsourcing job set by removing any unhelpful jobs one by one. The next three solution properties, Lemmas 3–5, are characterized in association with the one-by-one extension way. The corresponding heuristic, called Addition Heuristic, is derived in Section 2.3. Lemma 3. Consider any feasible schedule p having its maximum lateness value b L p . If a non-outsourcing job k in p satisfies the relation Lk ¼ C k d k ¼ b L p , then any job j which is sequenced after job k should not be added to the outsourcing job set. Proof. The maximum lateness value of the schedule p cannot be reduced by outsourcing any job j which is sequenced after job k. Accordingly, the objective cost value cannot be reduced. h The results of Lemma 3 imply that any non-outsourcing jobs sequenced before job k may be added to the outsourcing job set. Lemma 4. Consider any feasible schedule p having its maximum lateness value b L p . If any non- outsourcing job j in p satisfies the relation lj d j P b L p , then job j should not be added to the outsourcing job set. Proof. The maximum lateness of the schedule p cannot be reduced by outsourcing job j. h Lemma 5. Consider any feasible schedule p having its maximum lateness value b L p , and also having an outsourcing job k with its lateness value b L p such as Lk ¼ C k d k ¼ lk d k ¼ b L p . Then, it is not necessary to add additionally any non-outsourcing jobs to the outsourcing job set. Proof. The maximum lateness of the schedule p cannot be reduced by outsourcing any non-outsourcing job additionally. h
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
935
2.3. Addition Heuristic algorithm This section derives Addition Heuristic to determine a good outsourcing job set by adding any helpful jobs one by one to an initial outsourcing job set. Consider the issue of determining an initial outsourcing job set. This issue is to be handled by employing DP algorithm B, as in Theorem 2, which is the optimal algorithm for a restricted problem 1jBudget, pj ¼ p; oj ¼ ojð1 dÞLmax þ d OC. Theorem 2. The problem 1jBudget, pj ¼ p; oj ¼ ojð1 dÞLmax þ d OC can be solved by use of the following DP algorithm B, in the complexity order of Oðn2 Þ. DP Algorithm B Indexing: Index all the jobs in EDD order. Value function: fj ðmÞ = cost of a partial schedule for jobs 1, . . . , j which has the minimum value of maximum lateness with m jobs outsourced (among jobs 1; . . . ; jÞ. Boundary condition: f0 ð0Þ ¼ 1. Optimal solution value: minfmj06m6n and mo6Kg fð1 dÞfn ðmÞ þ m d og. Recurrence relation: 8 > < maxfj p d j ; fj1 ð0Þg; if m ¼ 0; fj ðmÞ ¼ maxflj d j ; fj1 ðm 1Þg; if j ¼ m; > : minfmaxfðj mÞ p d j ; fj1 ðmÞg; maxflj d j ; fj1 ðm 1Þgg; if j > m > 0: In the recurrence relation, the first term represents the situation that job j is not outsourced, since any job is not outsourced. The second term represents the situation that job j is outsourced, since all jobs 1; . . . ; j are outsourced. The third term represents the situation of whether job j is either outsourced or not, based on cost comparison between non-outsourcing and outsourcing cases. The total number of solution states (partial schedules) of DP algorithm B cannot exceed over the value n2, so that DP algorithm B can be applied to the problem 1jBudget, pj ¼ p; oj ¼ ojð1 dÞLmax þ d OC in the complexity order of Oðn2 Þ. In this paper, DP algorithm B will be applied to determine an initial outsourcing job set for Addition Heuristic. Now, Addition Heuristic is derived, based on the results of Lemmas 1–5 and Theorem 2. Addition Heuristic Step 1: Index all the jobs in EDD order and set Index = 1. (1.1) Solve the problem 1jBudget, p0j ¼ min16j6n pj , o0j ¼ max16j6n oj jð1 dÞLmax þ d OC by applying DP algorithm B. Find the associated outsourcing job set MIN Op . P Step 2: Set B ¼ K j2MIN Op oj , Op ¼ MIN Op and m = 1. Step 3: Calculate the current maximum lateness value b L p and find the corresponding job k such that its lateness value is b L p such as Lk ¼ C k d k ¼ b L p . If k 2 Op , then go to Step 7. Step 4: (4.1) If Index = 1, then select the mth earliest due-date job, say job j, from among the job set BðkÞ [ fkg, where BðkÞ denotes the job set composed of the non-outsourcing jobs sequenced before job k. (4.2) If Index = 2, then select the mth largest processing time job, say job j, from among the job set BðkÞ [ fkg. (4.3) If Index = 3, then select the mth smallest outsourcing cost job, say job j, from among the job set BðkÞ [ fkg. (4.4) If Index = 4, then select the mth shortest outsourcing lead-time job, say job j, from among the job set BðkÞ [ fkg. Step 5: If the relations d oj 6 ð1 dÞ pj ; lj d j < b L p and oj 6 B hold, then go to Step 5.1. Otherwise, go to Step 6.
936
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
(5.1) Job j is outsourced, and B and Op are updated as B oj and Op [ fjg, respectively. If the outsourcing job j is job k, then set m = 1. If m 6 jBðk Þ [ fk gj, then go to Step 3. Step 6: If m < jBðk Þ [ fk gj, then set m ¼ m þ 1 and go to Step 3. Step 7: Find a feasible outsourcing job set Op and the P associated non-outsourcing job set NOp . Calculate the associated outsourcing cost OC as OC ¼ the maximum lateness Lmax as j2Op oj , and calculate n o nP o i Lmax ¼ max max16i6jNOp j j¼1 pðjÞ d ðiÞ ; maxi2Op fli d i g . Then, calculate the objective cost value, ð1 dÞLmax þ d OC, where pðjÞ and d ðjÞ denote the processing time and the due date of the jth earliest due date job in the job set NOp , respectively. Call the feasible schedule as SIndex and set Index = Index + 1. If Index 6 4, then go to Step 2. Step 8: Select the best schedule from among schedules S1, S2, S3 and S4. Terminate the algorithm. 2.4. Removal Heuristic algorithm This section considers another way of determining the outsourcing job set. It is to set up a large initial outsourcing job set first, and then make it reduced by removing any unhelpful jobs one by one. The corresponding heuristic is called Removal Heuristic. The remaining issue is concerned with determining a large initial job set. This issue is to be handled by employing DP algorithm B. Removal Heuristic algorithm is derived as follows: based on the results of Lemmas 1 and 2, and Theorem 2. Removal Heuristic Step 1: Index all the jobs in EDD order, set m = 1 and Index = 1. (1.1) Solve the problem 1jBudget, p0j ¼ max16j6n pj , o0j ¼ min16j6n oj jð1 dÞLmax þ d OC by applying DP algorithm B. Find the associated outsourcing job set MAX_Op. (1.2) Select the mth largest outsourcing cost job, say job j, from among the job set MAX_Op. (1.3) If d oj > ð1 dÞpj , then go to Step 1.4. Otherwise, go to Step 1.5. (1.4) Remove job j from the set MAX_Op, and if m 6 jMAX Op j, then go to Step 1.2. (1.5) If m < jMAX Op j, then set m ¼ m þ 1 and go to Step 1.2. Step 2: Set Op ¼ MAX Op . P Step 3: Calculate OC(Op) as j2Op oj . If OC(Op Þ 6 K, then go to Step 4. Otherwise, go to Step 5. Step 4: Find a feasible outsourcing job set Op and job set NOp . o Calculate the n the associated nP non-outsourcing o i maximum lateness Lmax as Lmax ¼ max max16i6jNOp j j¼1 p ðjÞ d ðiÞ ; maxi2Op fli d i g . Then, calculate the objective cost value, ð1 dÞLmax þ d OC. Call the feasible schedule as SIndex and set Index = Index + 1. If Index 6 4, then go to Step 2. Otherwise, go to Step 7. Step 5: (5.1) If Index = 1, then select the largest due-date job, say job j, from among the job set Op. (5.2) If Index = 2, then select the smallest processing time job, say job j, from among the job set Op. (5.3) If Index = 3, then select the largest outsourcing cost job, say job j, from among the job set Op. (5.4) If Index = 4, then select the longest outsourcing lead-time job, say job j, from among the job set Op. Step 6: Remove job j from the job set Op, and go to Step 3. Step 7: Select the best schedule from among schedules S1, S2, S3 and S4. Terminate the algorithm. 2.5. Numerical experiments This section conducts some numerical experiments to evaluate the performances of two derived heuristics. Several uniform distributions are considered, as commonly considered in the references including Potts and Van Wassenhove (1991), Koulamas (1994), Baker (1999) and Choi et al. (2005). The processing times pj’s, the cost parameter d, the outsourcing costs oj’s, the outsourcing lead-times lj’s and the outsourcing budget
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
937
K are generated from U[1, 10], U[0.3, 0.7], 30], U[1, 30] and U[10, 100], respectively. Denote by Psum the PU[1, n sum of the processing times, i.e., P sum ¼ j¼1 pj . Then the due dates dj’s are randomly generated from a uniform distribution depending on Psum and two parameters RDD and TF, where RDD and TF denote the range
Table 1 Summary of the computational results for each job between 10 and 60 n
Addition Heuristic (average gap (%))
Removal Heuristic (average gap (%))
DP Algorithm A Average time (seconds)
NPL
10 20 30 40 50 60
4.88 4.89 3.51 3.22 3.21 4.16
12.91 15.20 20.86 16.57 20.14 24.80
0.00 0.01 0.11 1.28 8.32 48.22
750 750 750 750 749 722
Table 2 Summary of the computational results associated with each combination of RDD and TF values for each job size RDD
0.2
0.4
0.6
0.8
TF
Addition Heuristic (average gap (%) for each job size)
Removal Heuristic (average gap (%) for each job size)
10
20
Average
10
20
6.85 10.65 17.91 0.51 0.45
2.21 4.78 10.58 0.69 0.03
1.00 1.78 8.40 0.14 0.34
1.42 2.63 3.49 0.77 0.14
0.92 1.70 16.10 0.78 0.67
1.01 1.92 5.91 0.81 0.33
2.23 3.91 10.39 0.61 0.32
6.46 19.52 43.36 5.99 2.52
5.55 10.41 69.92 3.05 4.16
Average
7.27
3.65
2.33
1.69
4.03
1.99
3.49
15.57
0.2 0.4 0.6 0.8 1.0
3.32 5.99 6.20 0.14 0.10
2.77 3.87 6.82 1.19 0.04
1.34 3.33 4.39 0.15 0.24
1.15 4.19 3.77 0.61 0.24
0.59 2.93 9.16 0.95 0.53
0.80 3.02 5.14 0.59 0.33
1.66 3.88 5.91 0.60 0.24
Average
3.15
2.93
1.89
1.99
2.83
1.97
0.2 0.4 0.6 0.8 1.0
4.98 2.71 8.21 1.92 0.64
1.37 11.24 7.46 1.40 0.70
1.20 3.42 10.06 1.54 0.51
1.81 3.04 11.37 1.45 0.60
0.84 3.83 7.20 1.22 0.40
Average
3.69
4.43
3.34
3.65
6.35 13.97 4.03 1.64 1.73
1.90 19.65 6.60 2.65 0.65
1.12 2.96 5.15 1.20 0.99
5.54
6.29
1.83 12.66 5.79 1.91 1.69 4.77
0.2 0.4 0.6 0.8 1.0
0.2 0.4 0.6 0.8 1.0 Average
1.0
0.2 0.4 0.6 0.8 1.0 Average
30
40
50
60
30
40
50
60
Average
4.95 13.86 73.73 4.67 1.44
4.75 11.67 30.61 5.97 3.11
6.00 12.83 180.4 5.55 3.16
4.59 11.00 51.31 5.20 3.23
5.38 13.21 74.88 5.07 2.93
18.61
19.73
11.22
41.58
15.06
20.29
4.86 14.13 11.92 3.59 4.56
5.47 15.84 26.15 5.73 2.75
7.02 14.20 67.13 4.78 2.84
4.82 13.79 37.71 6.36 3.53
6.37 11.34 45.79 6.16 5.31
6.15 11.20 39.19 4.61 3.44
5.78 13.41 37.98 5.20 3.73
2.46
7.81
11.18
19.19
13.24
14.99
12.91
13.22
0.79 2.74 11.52 1.89 1.06
1.83 4.49 9.30 1.57 0.65
9.15 18.96 16.10 4.75 4.36
7.48 14.47 18.10 6.76 6.31
7.94 14.50 65.33 8.83 4.80
7.15 10.54 74.09 10.85 5.12
5.24 15.48 22.83 7.58 4.22
7.49 12.85 38.79 8.40 7.19
7.40 14.46 39.20 7.86 5.33
2.69
3.60
3.57
10.66
10.62
20.28
21.55
11.07
14.94
14.85
1.32 5.37 8.99 3.17 0.66
0.85 2.05 5.21 2.03 0.78
0.42 4.15 4.39 3.08 0.97
1.99 8.02 5.72 2.29 0.96
10.66 20.13 9.83 8.91 4.31
6.88 22.42 15.95 8.93 5.65
8.22 28.23 23.21 10.01 8.44
8.73 24.24 37.84 11.95 6.25
9.96 22.68 17.76 13.02 6.54
7.35 22.38 25.81 14.93 7.99
8.63 23.34 21.73 11.29 6.53
2.28
3.90
2.18
2.60
3.80
10.76
11.96
15.62
17.80
13.99
15.69
14.30
3.58 24.38 3.03 6.43 0.91
1.65 17.34 14.56 3.50 1.52
0.79 10.03 7.27 5.12 1.56
1.62 7.11 8.61 3.51 0.77
0.26 2.03 43.12 4.64 1.19
1.62 12.20 13.73 4.18 1.27
13.78 61.72 10.62 11.88 6.53
13.90 61.90 26.38 18.25 5.76
8.36 100.4 45.68 13.42 9.89
11.75 44.91 21.11 17.93 9.87
11.67 36.98 30.83 11.87 6.89
11.05 102.9 187.3 20.55 9.52
11.75 68.14 53.66 15.65 8.07
7.66
7.71
4.95
4.32
10.24
6.61
20.90
25.23
35.55
21.11
19.64
66.28
31.45
938
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
of the due dates and the tardiness factor, respectively. Thus, dj’s are taken from U ½P sum ð1 TF RDD=2Þ; P sum ð1 TF þ RDD=2Þ. The difficulties of the problems may depend on the values of RDD and TF. Moreover, the expected fraction of late jobs may depend on the value of TF, that is, the larger the value of TF the larger number of late jobs. The values of RDD and TF are chosen from the set {0.2, 0.4, 0.6, 0.8, 1.0}, which results in 25 combinations for each job size between 10 and 60. For each combination, 30 problems are generated to gather some statistics for performances of the derived heuristics. The computational results for various job sizes are summarized as in Table 1, where 750 problem instances are generated for each job size. Table 1 includes the average gaps (%) associated with the heuristic algorithms, where the gap is represented by 100 ðTCHeu TCOPT Þ=TCOPT , and TCHeu denotes the feasible solution value generated by either one of the two derived heuristics, and TCOPT denotes the optimal solution value found by DP algorithm A in Section 2.1 and NPL denotes the number of solved problems optimally by B&B within 600 seconds (out of 750 problems). From Table 1, it is observed that Addition Heuristic performs better in average gap than Removal Heuristic. It is also observed that as the number of jobs increases, the average gap of Addition Heuristic doest not change much, but that of Removal Heuristic tends to increase. In Table 2, the performance trend in association with combinations of RDD and TF values is shown for the two heuristics. 30 problems are generated for each combination of RDD and TF values for each job size between 10 and 60. It is observed from Table 2 that the average gaps of the two heuristics are large at the TF values 0.4 and 0.6. For RDD, it can be seen that the average gaps of the two heuristics are largest not only when the RDD value is 0.2 and the job size is 10, but also when the RDD value is 1.0 and the job size is not less than 20. In Table 3, the performance trend in association with the outsourcing budget K is shown for the two heuristics. Since 30 problem instances are generated for 25 combinations of RDD and TF values, 750 problems are generated for each job size and the outsourcing budget taken from U[10, 100], U[50, 150], U[100, 200]. The rest of the cost parameters are randomly generated as in Table 1. It is observed from Table 3 that the performances of the two heuristics in average gap get worse with U[50, 150] and U[100, 200]. Thus, the performances
Table 3 Summary of the computational results associated with the outsourcing budget
U[10, 100]
U[50, 150]
U[100, 200]
n
Addition Heuristic (average gap (%))
Removal Heuristic (average gap (%))
10 20 30 40 50 60
4.88 4.89 3.51 3.22 3.21 4.16
12.91 15.2 20.86 16.57 20.14 24.8
Average
3.97
18.41
10 20 30 40 50 60
7.01 5.48 5.17 6.91 3.81 4.59
14.36 16.8 18.04 22.11 19.41 28.72
Average
5.49
19.9
10 20 30 40 50 60
4.1 6.24 6.18 3.96 3.54 3.69
12.35 22.37 30.58 20.38 20.6 19.03
Average
4.61
20.88
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
939
are good, when the associated outsourcing budget is not large. Note that any decrease in the outsourcing budget would lead to decrease the number of the outsourced jobs. By the way, for the problem 1jBudgetjð1 dÞ Lmax þ d OC, the associated EDD sequencing of the non-outsourcing jobs is optimal, so that any increase of the number of the non-outsourced jobs may get the performances of the heuristics better. Accordingly, any decrease in the outsourcing budget may get the average gap performances of the heuristics better, since any decrease in the outsourcing budget may increase the number of the non-outsourced jobs. In Table 4, the performance trend in association with the cost parameter d is shown for the two heuristics. Seven hundred and fifty problems are generated for each combination of each job size and the cost parameter taken from U[0.3, 0.4], U[0.4, 0.5], U[0.5, 0.6], U[0.6, 0.7]. The rest of the cost parameters are randomly generated as in Table 1. It is observed from Table 4 that the performances of the two heuristics in average gap get better, as d increases. By the way, any increase of d would lead to increase the number of the nonoutsourced jobs. However, for the problem 1jBudgetjð1 dÞLmax þ d OC, the associated EDD sequencing of the non-outsourcing jobs is optimal, so that any increase of the number of the non-outsourced jobs may get the performances of the heuristics better. Thus, any increase of d may get the performances of the heuristics better. In Table 5, the performance trend in association with various outsourcing costs oi is shown. Seven hundred and fifty problems are generated for each combination of each job size and the outsourcing cost taken from U[1, 10], U[10, 20], U[20, 30]. The rest of the cost parameters are randomly generated as in Table 1. It is
Table 4 Summary of the computational results associated with the cost parameter d
U[0.3, 0.4]
U[0.4, 0.5]
U[0.5, 0.6]
U[0.6, 0.7]
n
Addition Heuristic (average gap (%))
Removal Heuristic (average gap (%))
10 20 30 40 50 60
11.29 7.75 7.38 7.4 11.41 16.71
30.47 29.73 42.61 33.75 53.26 97.6
Average
10.32
47.9
10 20 30 40 50 60
6.87 4.24 4.03 4.02 2.98 3.12
13.1 18.49 19.47 20.72 18.83 20.66
Average
4.21
18.54
10 20 30 40 50 60
6.17 2.9 2.72 1.59 1.53 1.3
12.26 12.09 10.95 9.79 10.87 11.68
Average
2.7
11.27
10 20 30 40 50 60
2.37 1.95 1.59 1.39 0.8 0.77
5.5 5.72 5.58 7.2 19.61 7.26
Average
1.47
8.47
940
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
Table 5 Summary of the computational results associated with various outsourcing costs
U[1, 10]
U[10, 20]
U[20, 30]
n
Addition Heuristic (average gap (%))
Removal Heuristic (average gap (%))
10 20 30 40 50 60
8.65 9.24 7.39 10.75 11.66 9.31
37.56 42.58 51.43 38.02 72.52 36.09
Average
9.5
46.36
10 20 30 40 50 60
1.75 1.25 1.1 0.76 1.14 0.97
8.2 3.01 3.22 2.72 4.66 3.43
Average
1.16
4.2
10 20 30 40 50 60
0.01 0.06 0.13 0.11 0.02 0.05
0.02 0.08 0.03 0.11 0.04 0.03
Average
0.06
0.05
Table 6 Summary of the computational results associated with various outsourcing lead-times
U[1, 10]
U[10, 20]
U[20, 30]
n
Addition Heuristic (average gap (%))
Removal Heuristic (average gap (%))
10 20 30 40 50 60
4.95 5.86 3.28 4.61 3.7 6.52
8.46 19.19 15.18 15.95 17.21 33.74
Average
4.82
18.28
10 20 30 40 50 60
8.41 3.53 4.34 2.85 2.94 3.39
19.34 16.44 20.16 18.15 16.16 17.04
Average
4.24
17.88
10 20 30 40 50 60
3.61 5.11 3.55 7.69 5.65 4.01
15.37 16.63 19.29 26.14 22.86 17.66
Average
4.93
19.65
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
941
observed from Table 5 that the performances of the two heuristics in average gap get better, as the outsourcing cost increases. By the way, any increase of the outsourcing cost would lead to increase the number of the nonoutsourced jobs. However, for the problem 1jBudgetjð1 dÞLmax þ d OC, the associated EDD sequencing of the non-outsourced jobs is optimal, so that any increase of the number of the non-outsourced jobs may get the performances of the heuristics better. Thus, any increase of the outsourcing cost may get the performances of the heuristics better. In Table 6, the performance trend in association with various outsourcing lead-times li is shown. Seven hundred and fifty problems are generated for each combination of each job size and the outsourcing lead-time taken from U[1, 10], U[10, 20], U[20, 30]. The rest of the cost parameters are randomly generated as in Table 1. It is observed from Table 6 that the performances of the two heuristics do not depend on the outsourcing lead-time. 3. Minimizing total tardiness and outsourcing costs 3.1. Problem complexity analysis P This section derives an optimal DP algorithm for the proposed problem 1jBudgetjð1 dÞ T j þ d OC, in order to analyze the problem complexity. Recall that the proposed problem has two scheduling issues including the outsourcing decision issue and P the job sequencing issue. Pinedo (2002) has characterized some solution properties, for the problem 1k T j , which can be applied for the job sequencing issue of non-outsourcing jobs, as in Lemmas 6 and 7. Lemma 6. Consider any two jobs i and j such that pi 6 pj and d i 6 d j . In a situation where both the jobs i and j are not outsourced, job i should be scheduled before job j. Lemma 7. There exists an integer x, 0 6 x 6 m k, such that there exists an optimal sequence with job k preceded by all job j’s with j 6 k þ x and followed by all job j’s with j > k þ x, where d 1 6 d 2 6 6 d m , pk ¼ maxfp1 ; . . . ; pm g and m denotes the number of non-outsourcing jobs. Based on Lemmas 6 and 7, the following DP algorithm C is derived for the proposed P P problem 1jBudgetjð1 dÞ T j þ d OC, by referring to Pinedo’s (2002) DP algorithm for the problem 1k T j . Denote by J ðj; l; kÞ a subset of the jobs in a set fj; j þ 1; . . . ; l 1; lg with processing times smaller than or equal to the processing time pk of job k, where job k is not an element of the set J ðj; l; kÞ even when j 6 k 6 l. A value function V ðJ ðj; l; kÞ; a; b; cÞ is defined as the cost value of a partial schedule for the job set J ðj; l; kÞ which has the minimum objective cost value such that the non-outsourcing P jobs in J ðj; l; kÞ are processed during [a, b], and the associated outsourcing cost in J ðj; l; kÞ is c, that is, i2fmjm2Op ;m2J ðj;l;kÞg oi ¼ c, as depicted in Fig. 1. Now, the associated DP algorithm C is derived. DP Algorithm C Indexing: Index all the jobs in EDD order. Boundary condition: V ð/; 0; 0; 0Þ ¼ 0. P Optimal solution value: min06b6P sum ;06c6K fV ðf1; . . . ; ng; 0; b; cÞg, where P sum ¼ nj¼1 pj .
Non-outsourced jobs in J(j, l, k)
Outsourcing cost in J( j, l, k) = c
⎛ oi = c ⎝ Σi∈{m m∈Oπ , m∈J ( j ,l , k )}
b
⎛ ⎝
a
Fig. 1. An illustrative example associated with V ðJ ðj; l; kÞ; a; b; cÞ.
942
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
Recurrence relation:
8 1; if pk > b a and ok > c > > > 8 9 > > V ðJ ðj; k þ x; k Þ; a; a þ u; vÞ > > > > < = > > > Þ > þ ð1 dÞ maxð0; a þ u þ p min d ; k > k > > f06x6lk ;06u6bapk ;06v6cg > > : ; > > þ V ðJ ðk þ x þ 1; l; k Þ; a þ u þ pk ; b; c vÞ > > > > > > > if pk 6 b a and ok > c > > < V ðJ ðj; l; k Þ; a; b; c o Þ þ ð1 dÞ maxð0; l d Þ þ d o ; k k k k V ðJ ðj; l; kÞ; a; b; cÞ ¼ > if p > b a and o 6 c > k k > > 8 99 8 > > V ðJ ðj; k þ x; k Þ; a; a þ u; vÞ > > > > > < => > > > > > > > = < > dk Þ þ ð1 dÞ maxð0; a þ u þ p min > k > > f06x6lk ;06u6bapk ;06v6cg > > ; min : ; > > > þ V ðJ ðk þ x þ 1; l; k Þ; a þ u þ pk ; b; c vÞ > > > > > > > > ; : > > > V ðJ ðj; l; k Þ; a; b; c ok Þ þ ð1 dÞ maxð0; lk d k Þ þ d ok > > : if pk 6 b a and ok 6 c
where k ¼ arg maxi2J ðj;l;kÞ fpi g. In the recurrence relation, the first term represents an infeasible case, since the processing time of job k* exceeds over the period length ðb aÞ and the outsourcing cost of job k* exceeds over the value c. The second term represents the situation that job k* is processed during ½a þ u; a þ u þ pk , since the processing time of job k* is no larger than ðb aÞ and the outsourcing cost of job k* exceeds over the value c, as depicted in Fig. 2. The third term represents the situation that job k* is outsourced, since the processing time of job k* exceeds over the value (b aÞ and the outsourcing cost of job k* is no larger than c. Finally, the fourth term represents the situation of whether job k* is outsourced or not, based on the associated cost comparison between its non-outsourcing and outsourcing. In DP algorithm C, there are the total of Oðn3 P 2sum KÞ states (partial schedules) and the function value of each state is calculated in OðnP sum KÞ time, so that DP algorithm C can be applied to the problem P 2 4 3 1jBudgetjð1 dÞ T þ d OC in the pseudo-polynomial complexity j P P order of Oðn P sum K Þ. Since the problem 1k T j is known to be NP-hard, the problem 1jBudgetjð1 dÞ T j þ d OC is also NP-hard. This leads to Theorem 3. P Theorem 3. The problem 1jBudgetjð1 dÞ T j þ d OC is NP-hard in the ordinary sense. Since the complexity of DP algorithm C is relatively high, DP algorithm C may not be practical for any medium-sized or large-sized problem instances. Thus, more efficient heuristics are derived in the next sections. 3.2. Solution properties This section characterizes some more properties associated with the outsourcing decision in a situation where the non-outsourcing jobs are sequenced in an arbitrary order, as in Lemmas 8 and 9. Based on the properties, two associated heuristic algorithms (called Addition Heuristic and Removal Heuristic) are derived.
Non-outsourced jobs
Non-outsourced jobs in J(k*+ω +1, l, k*)
in J(j, k*+ω , k*) Job k*
a
a+u
a + u + pk*
b
Outsourced cost in J( j, k*+ω , k*) = v Outsourced cost in J(k*+ω +1, l, k*) = (c-v)
V(J( j, k*+ω , k*), a, a+u, v)
V(J(k*+ω +1, l, k*), a + u + pk*, b, c-v)
Fig. 2. An illustrative example associated with the second case in DP algorithm C.
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
943
Lemma 8. Consider any feasible schedule p such that the non-outsourcing jobs are sequenced in an arbitrary order. If the schedule p has a non-outsourcing job k which is the last late job in the given sequence, then any jobs sequenced after job k should not be added to the outsourcing job set. Proof. From the hypothesis, the jobs sequenced after job k are all on-time jobs. Thus, the objective cost function value of the schedule p cannot be reduced by outsourcing any jobs from among those on-time jobs. Therefore, they should not be added to the outsourcing job set. h Note that if there is no such late job in the schedule p, then outsourcing is not Pnecessary, since all the jobs in p are on-time jobs. If the schedule p has job j which satisfies the relation T j þ i2AðjÞ T i ¼ 0, then job j can be recognized as a job which is sequenced after job k, so that job j should not be added to the outsourcing job set, referring to the results of Lemma 8, where AðjÞ denotes a job set composed of the non-outsourcing jobs sequenced after job j in the schedule p. Lemma 9. Consider any feasible schedule p such that the non-outsourcing jobs are sequenced in an arbitrary order. If the schedule p has job j which satisfies the relation d oj þ ð1 dÞ maxf0; lj d j g P P ð1 dÞ T j þ i2AðjÞ minfpj ; T i g , then job j should not be added to the outsourcing job set. the resultProof. Let another schedule p0 be derived by making job j outsourced out of the schedule p.Then,P ing objective value increment is d oj þ ð1 dÞ maxf0; lj d j g but the decrement is ð1 dÞ T j þ i2AðjÞ min P fpj ; T i gÞ. Therefore, if the relation d oj þ ð1 dÞ maxf0; lj d j g P ð1 dÞ T j þ i2AðjÞ minfpj ; T i g holds, then it will not be beneficial to add job j to the outsourcing job set. h 3.3. Addition Heuristic algorithm This section derives a heuristic algorithm, called Addition Heuristic, where an initial outsourcing job set is extended by adding any helpful jobs one by one. Thus, in order to compose an initial P outsourcing job set, the optimal DP algorithm for the restricted problem 1jBudget, pj ¼ p; oj ¼ ojð1 dÞ T j þ d OC can be considered, as in Theorem 4. P Theorem 4. The problem 1jBudget, pj ¼ p; oj ¼ ojð1 dÞ T j þ d OC can be solved by use of the following DP algorithm D, in the complexity order of Oðn2 Þ.
DP Algorithm D Indexing: Index all the jobs in EDD order. Value function: fj ðmÞ = cost of a partial schedule for jobs 1; . . . ; j which has the minimum value of total tardiness with m jobs outsourced (among jobs 1; . . . ; j). Boundary condition: f0 ð0Þ ¼ 0. Optimal solution value: minfmj06m6n and mo6Kg fð1 dÞfn ðmÞ þ m d og. Recurrence relation: 8 > < maxfj p d j ; 0g þ fj1 ð0Þ; if m ¼ 0; fj ðmÞ ¼ maxflj d j ; 0g þ fj1 ðm 1Þ; if j ¼ m; > : minfmaxfðj mÞ p d j ; 0g þ fj1 ðmÞ; maxflj d j ; 0g þ fj1 ðm 1Þg; if j > m > 0: Addition Heuristic is derived, based on the results of Lemmas 8, 9 and Theorem 4. Addition Heuristic Step 1: Index all the jobs in EDD order and set Index = 1. P (1.1) Solve the problem 1jBudget, p0j ¼ min16j6n pj , o0j ¼ max16j6n oj jð1 dÞ T j þ d OC by applying DP algorithm D. Find the associated outsourcing job set MIN Op .
944
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
P Step 2: Set B ¼ K j2MIN Op oj , Op ¼ MIN Op and m = 1. Step 3: Compute all the tardiness values Tj’s. Step 4: If m > n, then go to Step 7. (4.1) If Index = 1, then select the mth earliest due-date job, say job k. (4.2) If Index = 2, then select the mth largest processing time job, say job k. (4.3) If Index = 3, then select the mth smallest outsourcing cost job, say job k. (4.4) If Index = 4, then select the mth shortest outsourcing lead-time job, job k. sayP P Step 5: If k 2 Op , T k þ i2AðkÞ T i ¼ 0, d ok þ ð1 dÞ maxf0; lk d k g P ð1 dÞ T k þ i2AðkÞ minfpk ; T i g or ok > B, then update m as m + 1 and go to Step 4. Step 6: Outsource job k, and update B and Op as B ok and Op [ fkg, respectively. Update m as m + 1 and go to Step 3. Step 7: Find a feasible outsourcing job set Op and the associated non-outsourcing job set NOp . Calculate the P associated noutsourcing costo OC as OC ¼ j2Op oj , and calculate the total tardiness as Pi P PjNOp j i¼1 max 0; j¼1 p ðjÞ d ðiÞ þ i2Op maxf0; li d i g. Then, calculate the objective cost value, P ð1 dÞ T j þ d OC. Call the feasible schedule as SIndex and set Index = Index + 1. If Index 6 4, then go to Step 2. Step 8: Select the best schedule from among schedules S1, S2, S3 and S4. Terminate the algorithm. Note that this paper focuses on deriving the effective and efficient outsourcing decision rule, so that a simple sequencing rule (EDD order) is used in Step 1. 3.4. Removal Heuristic algorithm This section derives a heuristic algorithm, called Removal Heuristic, where a large initial outsourcing job set is reduced by removing any unhelpful jobs one by one. Thus, in order to compose aP large initial outsourcing job set, the optimal DP algorithm E for the restricted problem 1jpj ¼ pjð1 dÞ T j þ d OC, can be considered. P Theorem 5. The problem 1jpj ¼ pjð1 dÞ T j þ d OC can be solved by use of the following DP algorithm E, in the complexity order of Oðn2 Þ.
DP Algorithm E Indexing: Index all the jobs in EDD order. Value function: fj ðmÞ = cost of a partial schedule for jobs 1, . . . , j which has the minimum objective cost value with m jobs outsourced (among jobs 1; . . . ; jÞ. Boundary condition: f0 ð0Þ ¼ 0. Optimal solution value: min06m6n fn ðmÞ. Recurrence relation: 8 ð1 dÞ maxfj p d j ; 0g þ fj1 ð0Þ; if m ¼ 0; > > > < ð1 dÞ maxfl d ; 0g þ d o þ f ðm 1Þ; if j ¼ m; j j j j1 fj ðmÞ ¼ > minfð1 dÞ maxfðj mÞ p d j ; 0g þ fj1 ðmÞ; ð1 dÞ maxflj d j ; 0g > > : þ d oj þ fj1 ðm 1Þg; if j > m > 0: Removal Heuristic is derived, based on the results of Lemma 9 and Theorem 5. Removal Heuristic Step 1: Index all the jobs in EDD order, set m = 1 and Index P = 1. (1.1) Solve the problem 1jp0j ¼ max16j6n pj jð1 dÞ T j þ d OC by applying DP algorithm E. Find the associated outsourcing job set MAX_Op.
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
945
Step 2: Set Op ¼ MAX Op andPm = 1. Step 3: Calculate OCðOp Þ as j2Op oj . If OCðOp Þ 6 K, then go to Step 3.1. Otherwise, go to Step 4. (3.1) Find a feasible outsourcing job set Opnand the associated job set NOp . Calcuo non-outsourcing PjNOp j Pi P late the total tardiness as i¼1 max 0; j¼1 pðjÞ d ðiÞ þ i2Op maxf0; li d i g. Then, calcuP late the objective cost value, ð1 dÞ T j þ d OC. Call the feasible schedule as SIndex and set Index = Index + 1. If Index 6 4, then go to Step 2. Otherwise, go to Step 7. Step 4: (4.1) If Index = 1, then select the mth largest due-date job earliest due-date job, say job j, from among the job set Op. (4.2) If Index = 2, then select the mth smallest processing time job, say job j, from among the job set O p. (4.3) If Index = 3, then select the mth largest outsourcing cost job, say job j, from among the job set O p. (4.4) If Index = 4, then select the mth longest outsourcing lead-time job, say job j, from among the job set Op. P Step 5: Calculate the total tardiness value T_Value as T j. (5.1) Assume that job j is not outsourced, and calculate another total tardiness value New_T_Value P 0 as T j. (5.2) If ð1 dÞ ðNew T Value T ValueÞ 6 d oj , then (5.2.1) job j is removed from the job set Op and go to Step 3. (5.3) If m < jOp j, then update m as m + 1 and go to Step 3. Step 6: (6.1) If Index = 1, then select the largest due-date job, say job j, from among Op. (6.2) If Index = 2, then select the smallest processing time job, say job j, from among Op. (6.3) If Index = 3, then select the largest outsourcing cost job, say job j, from among Op. (6.4) If Index = 4, then select the longest outsourcing lead-time job, say job j, from among Op. (6.5) Go to Step 5.2.1. Step 7: Select the best schedule from among schedules S1, S2, S3 and S4. Terminate the algorithm. 3.5. Branch-and-bound (B&B) algorithm In order to evaluate the performances of Addition Heuristic and Removal Heuristic, this paper considers comparing their solutions with optimal solutions. Thus, this section derives P the branch-and-bound algorithm to find the optimal solutions for the proposed problem 1jBudgetjð1 dÞ T j þ d OC. 3.5.1. Branching rule In the branch-and-bound tree, each node is defined by a scheduled job set, an unscheduled job set, and the associated sequence of the scheduled jobs. The scheduled and unscheduled job sets denote the job sets being composed of non-outsourcing and outsourcing jobs at the associated node, respectively. Moreover, the associated sequence of the scheduled jobs denotes the production sequence of the non-outsourcing (scheduled) jobs at the associated node. Note that if the outsourcing cost sum of the unscheduled jobs at a node is no greater than the outsourcing budget K, then the schedule at the associated node is feasible. At each branching stage, a subproblem (i.e., node) is selected and partitioned into one or more subproblems (schedules) that are defined by attaching one unscheduled job to the end of the sequence associated with the associated subproblem. To select a node to generate branches from, a depth first rule is adapted in branching. 3.5.2. Lower bound at each node This section discusses about how to derive a lower bound at each node in the branch-and-bound tree. Denote by SJk and UJk the scheduled job set and the unscheduled job set at node k, respectively, where jSJk [ UJk j ¼ n. Denote by TCðSJk Þ the total tardiness value for the sequence of jobs in SJk, and LBðUJk Þ
946
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
the lower bound value for the job set UJk, which is derived by use of the LB scheme. The following lower bound (LB) scheme will be used in the branch-and-bound algorithm. LB scheme Step 0: Calculate the total tardiness value TC(SJk Þ for the sequence of jobs in SJkP . Step 1: Solve the problem 1jBudget, p0j ¼ min16j6n pj , o0j ¼ min16j6n oj , UJk jð1 dÞ T j þ d OC by the following DP algorithm F, and then find the resulting optimal solution value, LB(UJk Þ. Step 2: Find the lower bound value, LBk, at node k as LBk ¼ ð1 dÞ TCðSJk Þ þ LBðUJk Þ. P In order to solve the problem 1jBudget, pj ¼ pmin , oj ¼ omin , UJk jð1 dÞ T j þ d OC, DP algorithm F is derived, which is similar to DP algorithm E in Section 3.4. Denote by Sump the sum of the processing times of P jobs in the set SJk, i.e., Sump ¼ j2SJk pj . DP Algorithm F Optimal solution value: minfmj06m6jUJk j and momin 6Kg fð1 dÞfjUJk j ðmÞ þ m d omin g. Recurrence relation: 8 maxfSump þ j pmin d j ; 0g þ fj1 ð0Þ; if m ¼ 0 > > > < maxfl d ; 0g þ f ðm 1Þ; if j ¼ m j j j1 : fj ðmÞ ¼ > minfmaxfSump þ ðj mÞ pmin d j ; 0g > > : þ fj1 ðmÞ; maxflj d j ; 0g þ fj1 ðm 1Þg; if j > m > 0 3.5.3. Upperbound at each node Recall that the associated schedule at any node may be feasible or not. For example, if the outsourcing cost sum of the unscheduled jobs at the associated node is no greater than the outsourcing budget K, then the schedule is feasible. If the associated schedule is feasible, then the following Upperbound procedure can be tried to find a more cost-effective schedule. Meanwhile, if the associated schedule is not feasible, then the Upperbound procedure can be tried to find a feasible schedule. Upperbound procedure P P Step 0: Set m=1, OC value = 0, Sump ¼ j2SJk pj and T value ¼ j2SJk T j . Step 1: If m > jUJk j, then go to Step 4. Otherwise, select the mth earliest due date job, say job j from among the job set UJk. Step 2: If ð1 dÞ maxðSump þ pj d j ; 0Þ < ð1 dÞ maxðlj d j ; 0Þ þ d oj , then (2.1) set T value ¼ T value þ maxfSump þ pj d j ; 0g, Sump ¼ Sump þ pj , m ¼ m þ 1, and go to Step 1. Step 3: If OC value þ oj 6 K, then set T value ¼ T value þ maxflj d j ; 0g, OC value ¼ OC value þ oj , m ¼ m þ 1, and go to Step 1. Otherwise, go to Step 2.1. Step 4: Calculate the upperbound value, UBk, at node k as UBk ¼ ð1 dÞ T value þ d OC value. 3.5.4. Fathoming rules Two fathoming rules are considered. The first fathoming rule is based on the results of Lemma 6 in Section 3.1, such that any node not satisfying the results of Lemma 6 will be fathomed, called Fathom1. The second fathoming rule is derived, called Fathom2, as in Lemma 10. Lemma 10. Consider the last-sequenced job zk among the job set SJk at any node k. If the relations nP o P ð1 dÞ max j2SJk p j d zk ; 0 > d ozk þ ð1 dÞ maxflzk d zk ; 0g and ozk þ j2UJk oj 6 K hold, then the associated node k will be fathomed. nP o Proof. Since the relation ð1 dÞ max p d ; 0 > d ozk þ ð1 dÞ maxflzk d zk ; 0g holds, it z j k j2SJk will be more cost-effective by outsourcing the last-sequenced job zk. Moreover, since the relation
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
947
P ozk þ j2UJk oj 6 K holds, the outsourcing budget constraint is not violated. Therefore, it is not necessary to consider the associated node k in any further branching. h Table 7 Summary of the computational results n
6 8 10 12 14 16 18
Addition Heuristic (average gap (%))
Removal Heuristic (average gap (%))
Branch-and-bound algorithm Average time (seconds)
NPL
9.68 8.42 8.58 11.34 11.59 11.58 11.94
9.19 8.91 8.48 9.73 9.78 9.80 9.93
0.00 0.01 0.06 0.80 11.36 143.36 337.98
750 750 750 750 750 679 374
Table 8 Summary of the computational results associated with each combination of RDD and TF values for each job size RDD
0.2
TF
Addition Heuristic (average gap (%) for each job size)
Removal Heuristic (average gap (%) for each job size)
6
8
10
12
14
16
Average
6
8
10
12
14
16
Average
0 2.71 7.07 19.42 19.37
0 3.33 12.4 15.24 19.53
0 0.67 4.81 18.84 16.71
0 0 15.1 21.59 29.48
0 0 16.57 21.89 22.12
0 0 8.22 24.12 30.75
0 1.11 10.69 20.18 22.99
0 0.21 7.16 22.13 21.36
0 3.33 12.5 16.68 20.77
0 0.67 3.73 16.18 16.85
0 0 6.49 20.72 32.81
0 0 7.05 19.66 22.68
0 0 2.71 16.26 30.72
0 0.70 6.60 18.60 24.19
9.71
10.10
8.20
13.23
12.11
12.61
10.99
10.17
10.65
7.48
12.00
9.87
9.93
10.02
0 1.11 8.38 17.46 18.22
0 0.81 3.73 14.1 19.8
0 0 9.04 20.78 20.56
0 0 15.72 17.11 24.84
0 0 10.44 21.22 32.49
0 0 13.72 20.79 30.23
0 0.32 10.17 18.57 24.35
0 1.11 8.38 17.99 18.84
0 2 6.25 14.91 21.89
0 0 9.62 23.39 21.9
0 0 8.73 20.25 26.17
0 0 3.82 20.15 33.82
0 0 7.65 18.69 29.08
0 0.51 7.40 19.23 25.28
9.03
7.68
10.07
11.53
12.83
12.94
10.68
9.26
9.01
10.98
11.03
11.55
11.08
10.48
0.35 3.42 10.87 12.62 17.86
0 0.42 9.09 14.48 21.06
0 2.59 9.17 13.28 17.09
0 0.49 15.1 17.96 21.27
0 0 12.86 19.65 28.77
0 0 6.55 20.41 27.67
0.05 1.15 10.60 16.40 22.28
0.35 3.42 10.69 12.68 21.83
0 0.42 10.04 13.91 22.53
0 0.28 7.83 16.06 18.52
0 0.49 6.85 18.07 21.31
0 0.03 5.65 17.97 29.44
0 0 4.59 16.32 24.11
0.05 0.77 7.60 15.83 22.95
9.02
9.01
8.42
10.96
12.25
10.92
10.10
9.79
9.38
8.53
9.34
10.61
9.00
9.44
0 0.59 9.55 13.95 25.84
0 0.72 10.81 8.79 19.17
0 1.38 8.95 13.16 19.83
0 0 28.01 14.69 21.67
0 2.17 16.37 18.04 19.29
0 1.67 18.31 18.86 33.26
0 1.08 15.33 14.58 23.17
0 0.59 11.42 13.73 27.31
0 0.55 9.69 10.07 21.2
0 1.38 7.13 11.02 19.77
0 0 12.72 12.63 18.88
0 1.83 12.58 14.15 16.26
0 0 10 26.49 27.65
0 0.72 10.59 14.68 21.84
9.98
7.89
8.66
12.87
11.17
14.42
10.83
10.61
8.30
7.86
8.84
8.96
12.82
9.56
0.2 0.4 0.6 0.8 1.0
0.48 3.37 14.16 19.06 16.11
0 4.49 6.75 9.71 16.16
0 2.26 7.07 11.67 16.72
0 3.03 5.28 14.67 17.37
0 0.61 9.62 16.87 20.77
0 3.96 9.31 15.62 19.56
0.08 2.95 8.69 14.60 17.78
0.48 5.25 14.24 19.47 16.2
0 4.49 5.48 10.44 15.73
0 2.03 5.93 12.29 17.32
0 3.13 6.61 12.09 15.26
0 0.46 5.89 16.36 16.71
0 4.47 5.61 15.32 19.4
0.08 3.30 7.29 14.32 16.77
Average
10.63
7.42
7.54
8.07
9.57
9.69
8.82
11.12
7.22
7.51
7.41
7.88
8.96
8.35
0.2 0.4 0.6 0.8 1.0 Average
0.4
0.2 0.4 0.6 0.8 1.0 Average
0.6
0.2 0.4 0.6 0.8 1.0 Average
0.8
0.2 0.4 0.6 0.8 1.0 Average
1.0
948
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
3.6. Numerical experiments This section conducts some numerical experiments to evaluate the performances of two derived heuristics. All the cost parameters are randomly generated as in Table 1. The computational results are summarized as in Table 7, which includes the average gaps (%) associated with the heuristic algorithms, where the gap is represented by 100 ðTCHeu TCOPT Þ=TCOPT , and TCHeu denotes the feasible solution value generated by either one of the two derived heuristics, and TCOPT denotes the optimal solution value found by the derived branchand-bound algorithm within 600 seconds. The derived branch-and-bound algorithm spends more than 600 seconds in finding the optimal solutions for problem instances of more than 18 jobs. Therefore, the associated algorithm performance comparison is made with problem instances of no more than 18 jobs. It is observed from Table 7 that the performance of Removal Heuristic in average gap is better than that of Addition Heuristic. As the number of jobs increases, the average gaps of the two heuristics tend to increase. In Table 8, the performance trend in association with combinations of RDD and TF values is shown for the two heuristics. Thirty problems are generated for each combination of RDD and TF values for each job size. It is observed from Table 8 that the performances of the two heuristics in average gap do not depend on the value of RDD, while they get worse, as the value of TF increases. In Table 9, the performance trend in association with the outsourcing budget K is shown for the two heuristics. Seven hundred and fifty problems are generated for each combination of each job size and the outsourcing budget taken from U[10, 100], U[50, 150], U[100, 200]. The rest of the cost parameters are randomly generated as in Table 7. It is observed from Table 9 that the performances of the two heuristics in average gap get worse, as the outsourcing budget decreases. Note that any decrease in the outsourcing budget would leadPto decrease the number of the outsourced jobs. By the way, for the problem 1jBudgetjð1 dÞ T j þ d OC, the associated EDD sequencing of the non-outsourcing jobs is not effective, so that any increase of the number of the non-outsourced jobs may get the performances of the heuristics worse. Thus, any decrease in the outsourcing budget may get the performances of the heuristics worse, since any decrease in the outsourcing budget may increase the number of the non-outsourced jobs. Table 9 Summary of the computational results associated with the outsourcing budget
U[10, 100]
U[50, 150]
U[100, 200]
n
Addition Heuristic (average gap (%))
6 8 10 12 14 16
9.68 8.42 8.58 11.34 11.59 11.58
9.19 8.91 8.48 9.73 9.78 9.8
Average
10.19
9.31
6 8 10 12 14 16
9.03 8.65 7.39 8.37 9.27 9.35
9.39 8.67 6.88 6.26 5.99 6.01
Average
8.67
7.2
6 8 10 12 14 16
9.65 7.76 8.25 8.39 8.87 8.98
10.05 7.94 7.1 6.56 6 5.62
Average
8.65
7.21
Removal Heuristic (average gap (%))
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
949
In Table 10, the performance trend in association with the cost parameter d is shown for the two heuristics. Seven hundred and fifty problems are generated for each combination of each job size and the cost parameter taken from U[0.3, 0.4], U[0.4, 0.5], U[0.5, 0.6], U[0.6, 0.7]. The rest of the cost parameters are randomly generated as in Table 7. It is observed from Table 10 that with each number of the jobs including 6, 8 and 10, the performances of the two heuristics get worse, as d increases, while with each number of the jobs including 12, 14 and 16, the performances get better, as d increases. This implies that the associated performance depends on the number of jobs. In Table 11, the performance trend in association with various outsourcing costs oi is shown. Seven hundred and fifty problems are generated for each combination of each job size and the outsourcing cost taken from U[1, 10], U[10, 20], U[20, 30]. The rest of the cost parameters are randomly generated as in Table 7. It is observed from Table 11 that the performances of the two heuristics get worse, as the outsourcing cost increases. However, any increase of the outsourcing cost would P lead to increase the number of the non-outsourced jobs. By the way, for the problem 1jBudgetjð1 dÞ T j þ d OC, the associated EDD sequencing of the non-outsourcing jobs is not effective, so that any increase of the number of the non-outsourced jobs may get the performances of the heuristics worse. Thus, any increase of outsourcing cost may get the performances of the heuristics worse. In Table 12, the performance trend in association with various outsourcing lead-times li is shown. Seven hundred and fifty problems are generated for each combination of each job size and the outsourcing lead-time
Table 10 Summary of the computational results associated with the cost parameter d
U[0.3, 0.4]
U[0.4, 0.5]
U[0.5, 0.6]
U[0.6, 0.7]
n
Addition Heuristic (average gap (%))
Removal Heuristic (average gap (%))
6 8 10 12 14 16
7.16 7.65 8.85 12.04 14.73 16.86
7.75 7.24 7.38 9.82 11.46 13.12
Average
11.21
9.46
6 8 10 12 14 16
9.17 7.65 8.65 10.94 11.87 14.22
9.25 7.94 8.49 9.28 10.16 10.78
Average
10.41
9.31
6 8 10 12 14 16
10.17 9.27 8.73 10.22 10.8 12.04
10.56 9.38 8.83 9.07 9.31 10.02
Average
10.20
9.52
6 8 10 12 14 16
13.78 11.17 10.17 10.33 10.39 10.06
14.07 11.27 10.36 10.29 9.54 8.67
Average
10.98
10.7
950
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
Table 11 Summary of the computational results associated with various outsourcing costs
U[1, 10]
n
Addition Heuristic (average gap (%))
6 8 10 12 14 16
5.59 5.85 7.84 9.4 10.73 12.21
5.95 4.84 4.77 4.39 4.49 5.12
8.6
4.92
12.04 10.19 8.54 8.4 8.21 10.65
12.53 10.62 8.36 7.26 6.96 8.34
9.67
9.01
6 8 10 12 14 16
17.61 15.49 12.84 12.48 12.83 13.92
15.02 15.94 13.72 12.38 11.96 12.54
Average
14.19
13.59
Average U[10, 20]
6 8 10 12 14 16 Average
U[20, 30]
Removal Heuristic (average gap (%))
Table 12 Summary of the computational results associated with various outsourcing lead-times
U[1, 10]
n
Addition Heuristic (average gap (%))
Removal Heuristic (average gap (%))
6 8 10 12 14 16
6.69 7.42 7.97 11.08 12.46 13.81
7.18 7.19 7.72 9.65 10.25 11.52
9.90
8.91
6 8 10 12 14 16
12.25 9.72 8.92 10.02 10.74 12.01
12.62 10.08 8.67 9.65 9.8 10.07
Average
10.61
10.14
6 8 10 12 14 16
16.96 14.18 11 11.38 11.53 12.29
13.26 11.83 11.46 11.55 11.37 10.93
Average
12.89
11.73
Average U[10, 20]
U[20, 30]
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
951
taken from U[1, 10], U[10, 20], U[20, 30]. The rest of the cost parameters are randomly generated as in Table 7. It is observed from Table 12 that the performances of the two heuristics get worse, as the outsourcing leadtime increases. However, any increase of the outsourcing lead-time would P lead to increase the number of the non-outsourced jobs. By the way, for the problem 1jBudgetjð1 dÞ T j þ d OC, the associated EDD sequencing of the non-outsourcing jobs is not effective, so that any increase of the number of the non-outsourced jobs may get the performances of the heuristics worse. Thus, any increase in the outsourcing lead-time may get the performances of the heuristics worse. 4. Conclusion This paper considers two single-machine scheduling problems with outsourcing allowed. They include the problem of minimizing maximum lateness and outsourcing costs, and that of minimizing total tardiness and outsourcing costs. The objective is to minimize the weighted sum of the outsourcing cost and the scheduling measure, subject to outsourcing budget, where the scheduling measure is represented by either one of maximum lateness and total tardiness. For the first problem 1jBudgetjð1 dÞLmax þ d OC, it is proved that the problem is NP-hard in the ordinary sense. Some associated solution properties are characterized and used to derive two associated heuristic algorithms including Addition Heuristic and Removal Heuristic. The associated numerical experiments show that Addition Heuristic is more effective than Removal Heuristic. Moreover, it is observed that in the problem 1jBudgetjð1 dÞLmax þ d OC, as the outsourcing budget decreases, but as both d and the outsourcing cost do increase, the performances of the two heuristics may get better. This is because any decrease in the outsourcing budget, any increase in d value, and any increase in the outsourcing cost may lead to increase the number of the non-outsourced jobs. Moreover, for the problem, the associated EDD sequencing of the non-outsourced jobs is optimal, so that any increase of the number of the non-outsourced jobs may get the performances of the heuristics better. P For the second problem 1jBudgetjð1 dÞ T j þ d OC, it is proved that the problem is NP-hard in the ordinary sense. Some associated solution properties are also characterized to derive two associated heuristic algorithms including Addition Heuristic and Removal Heuristic. The associated numerical experiments show that Removal Heuristic isP more effective than Addition Heuristic. Moreover, it is observed that in the second problem 1jBudgetjð1 dÞ T j þ d OC, as the outsourcing budget decreases, but both the outsourcing cost and the outsourcing lead-time do increase, the performances of the two heuristics may get worse. This is because any decrease in the outsourcing budget, any increase in the outsourcing cost, and any increase in the outsourcing lead-time may lead to increase the number of the non-outsourced jobs. Moreover, for the problem, the associated EDD sequencing of the non-outsourced jobs is not effective, so that any increase of the number of the non-outsourced jobs may get the performances of the heuristics worse. It may be interesting to derive any better tight lower bounds or a more efficient optimal algorithm which could solve much larger problem instances. It may also be interesting to do further research on various production systems including two-machine flow shops and parallel shops as its immediate extension. Acknowledgement This work was supported by the Korea Research Foundation Grant funded by the Korean Government (KRF-2005-041-D00892). References Baker, K.R., 1999. Heuristic procedures for scheduling job families with set-ups and due dates. Naval Research Logistics 46, 978–991. Cachon, G.P., Harker, P.T., 2002. Competition and outsourcing with scale economies. Management Science 48, 1314–1333. Choi, S.W., Kim, Y.D., Lee, G.C., 2005. Minimizing total tardiness of orders with reentrant lots in hybrid flowshop. International Journal of Production Research 43, 2149–2167. Garey, M.R., Johnson, D.S., 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, San Francisco, CA.
952
I.S. Lee, C.S. Sung / European Journal of Operational Research 186 (2008) 931–952
Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy, Kan A.H.G., 1979. Optimization and approximation in deterministic machine scheduling: a survey. Annals of Discrete Mathematics 5, 287–326. Kaipia, R., Tanskanen, K., 2003. Vendor managed category management – an outsourcing solution in retailing. Journal of Purchasing and Supply Management 9, 165–175. Kim, B., 2003. Dynamic outsourcing to contract manufacturers with different capabilities of reducing the supply cost. International Journal of Production Economics 86, 63–80. Kolisch, R., 2000. Integration of assembly and fabrication for make-to-order production. International Journal of Production Economics 68, 287–306. Koulamas, C., 1994. The total tardiness problem: Review and extensions. Operations Research 42, 1025–1041. Lee, Y.H., Jeong, C.S., Moon, C., 2002. Advanced planning and scheduling with outsourcing in manufacturing supply chain. Computer & Industrial Engineering 43, 351–374. Pinedo, M., 2002. Scheduling: Theory, Algorithms, and Systems. Prentice Hall, New Jersey. Potts, C.N., Van Wassenhove, L.N., 1991. Single machine tardiness sequencing heuristics. IIE Transactions 23, 346–354.