Minimizing total absolute deviation of job completion times on a single machine with cleaning activities

Minimizing total absolute deviation of job completion times on a single machine with cleaning activities

Computers & Industrial Engineering 103 (2017) 242–249 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage:...

630KB Sizes 0 Downloads 76 Views

Computers & Industrial Engineering 103 (2017) 242–249

Contents lists available at ScienceDirect

Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Minimizing total absolute deviation of job completion times on a single machine with cleaning activities Ling-Huey Su a,⇑, Hui-Mei Wang b a b

Department of Industrial and Systems Engineering, Chung-Yuan Christian University, Taiwan, ROC Department of Hotel Management, Vanung University, Tao Yuan, Taiwan, ROC

a r t i c l e

i n f o

Article history: Received 1 June 2016 Received in revised form 8 November 2016 Accepted 10 November 2016 Available online 16 November 2016 Keywords: Scheduling Wafer manufacturing TADC BIP Heuristic algorithm

a b s t r a c t This paper considers a new single machine scheduling problem with several unavailability periods, where the machine has to be stopped in order to remove the dirt. The problem appears in the process in wafer manufacturing company. During the processing of a wafer on a specific machine, the dirt, including particle, organic materials and metal-salts, etc., on the surface of the wafer while processing, has to be taken away by a cleaning agent. Once the accumulation of dirt is over a threshold value, it is necessary to interrupt the machine processing and replace the cleaning agent in order to avoid damaging the wafer. The objective is to minimize the total absolute deviation of job completion times (TADC). The problem integrates production scheduling and cleaning activities and is strongly NP-hard. Many properties for solving the problem efficiently are explored. A mixed binary integer programming model is developed to find the optimal solution. Based on the properties explored, symmetry of the V-shaped rule, and the dynamic programming on scheduling the cleaning activities, an effective heuristic is developed. Computational results indicate that the performance of the heuristic is robust and significantly outperforms the modified TADC solution in the literature. Furthermore, the efficiency of the mixed binary integer programming model and the impact of the dirt accumulation as well as cleaning time are explored in detail. Ó 2016 Elsevier Ltd. All rights reserved.

1. Introduction This paper considers a single machine scheduling problem with several unavailability periods, where the machine has to be stopped in order to remove the dirt. During the processing of a wafer on a specific machine, the dirt, including particle, organic materials and metal-salts, etc., on the surface of the wafer, has to be taken away by a cleaning agent. Once the accumulation of dirt reaches a threshold value, it is necessary to interrupt the machine processing and replace the cleaning agent in order to avoid damaging the wafer. The majority of the studies in machine scheduling literature having unavailability periods often appeared in considering machine breakdown (stochastic) or preventive maintenance (deterministic). Preventive maintenances fall into two categories: (i) maintenances are required in fixed intervals or during some window times and (ii) maintenances are not carried out in fixed intervals and the starting time of each interval is a decision variable. Our study belongs to the second category since the starting time of each unavailability period is determined by the dirt ⇑ Corresponding author. E-mail addresses: [email protected] (L.-H. Su), [email protected] (H.-M. Wang). http://dx.doi.org/10.1016/j.cie.2016.11.009 0360-8352/Ó 2016 Elsevier Ltd. All rights reserved.

accumulation amount. However, this situation commonly encountered in a wafer manufacturing company cannot be solved by the methods of the second category in the literature. The problem we dealt with considers both scheduling jobs and cleaning activities for removing the dirt. The objective is to minimize the total job completion times or cycle times. According to the notation of Pinedo (1995), the problem is denoted as 1jcleaningjTADC, where the first field denotes a single machine, the second field cleaning denotes the cleaning activities. A lot of literatures are related to the first category that maintenances are required in fixed intervals or during some window times. Among them, the first study related to our research was by Yang, Hung, Hsu, and Chern (2002). They considered the problem that the machines should be stopped for a constant maintenance or resetting during the scheduling period. They demonstrated that the problem is NP-hard and provided a heuristic algorithm with complexity O(n log n) to solve the problem. Other related articles see Liao and Chen (2003), Chen (2006a, 2006b), Suliman and Jawad (2012), Yin, Ye, and Zhang (2014), and Yin, Xu, Cheng, and Wang (2016). For the second category that periodic maintenances are flexible, Kubzin and Strusevich (2006) was the first to introduce the concept of variable maintenance in the two-machine flow shop and

L.-H. Su, H.-M. Wang / Computers & Industrial Engineering 103 (2017) 242–249

two-machine open shop. Ni, Gu, and Jin (2015) investigated a dynamic time window for performing the preventive maintenance during production time. They estimated the active maintenance opportunity window to guide how machine can be strategically shut down for preventive maintenance. Compare, Martini, and Zio (2015) evaluated different techniques for maintenance optimization based on Genetic algorithms. The GA-based methods are also developed to handle the uncertainty and fitness of the model. Ying, Lu, and Chen (2016) dealt with four single machine scheduling problems with variable machine maintenance. They proposed an exact algorithm with the computational complexity Oðn2 Þ for each of the four objectives including mean lateness, maximum tardiness, total flow time and mean tardiness. Yin, Xu, Wu, Cheng, and Wu (2014) investigated a single-machine scheduling problem with due-date assignment, generalized position-dependent deteriorating jobs and deteriorating multi-maintenance activities simultaneously. The objective is to minimize an objective function including the cost of due-date assignment, the cost of discarding jobs and the earliness of the scheduled jobs. Yin, Cheng, and Wang (2016) introduced a rescheduling model in which both the original scheduling objective, the total completion time, and the deviation cost associated with a disruption of the original schedule in the presence of machine breakdowns are taken into account. Many variants are considered and solved. Kanet (1981) was the first to introduce the measure of TADC in single machine scheduling problem, denoted as 1kTADC. He presented a V-shaped arrangement for minimizing this measure. A sequence is said to be V-shaped if all jobs to be processed before the job with the smallest processing time are scheduled in decreasing order of their processing times and all jobs to be processed after the job with the smallest processing time are processed in increasing order of their processing times. The TADC scheduling problem was extended by considering variations in processing time. Wang and Xia (2007) studied the TADC problem with controllable processing time. They solved the problem by formulating it as an assignment problem. Li, Li, Sun, and Xu (2009) considered Kanet’s (1981) problem with deteriorating jobs and provided some properties and two heuristics to solve the problem. The same problem with linear function of a job-dependent growth rate and job’s starting time was considered by Oron (2008), where the property of V-shaped with respect to job growth rates was proposed. Huang and Wang (2011) extended the single machine problem of Li et al. (2009) to the parallel machines problem. Mosheiov (2008) extended the TADC of Kanet’s problem to multiple machines and position-dependent processing times. Mor and Mosheiov (2011) further extended the work of Mosheiov (2008) to bicriteria objective consisting of a linear combination of total job completion times and TADC. Mor and Mosheiov (2012) again studied the problem of scheduling a maintenance activity and due-window assignment based on common flow allowance. As to the TADC problem provides approximately the same degree of service to each customer, Li, Zhang, Zhong, and Zhai (2014) modeled the maintenance effect of servicing, analyzed the deterioration characteristics of system under scheduled servicing, and then established the deterioration model from the failure mechanism by compound Poisson process. Öhman et al. (2015) presented a statistical process control based measure that utilizes data typically available in preventive maintenance to improve service productivity. The main contribution of this paper is the extension of the problem on the conventional machine unavailability by taking into the consideration of dirt constraint, a common practice in IC manufacturing industry. To the best of our knowledge, such a problem has not been studied in the scheduling literature. The complexity of our heuristic is very low, but the algorithm can quickly obtain a near or optimal schedule to satisfy the quick response requirement of the dynamic scheduling environment.

243

2. Notation and problem setting We consider a single-machine problem where jobs are nonresumable, i.e., once a job is started it cannot be interrupted till its completion. The setup time of job is sequence independent and included in the processing time. All n jobs are ready for processing at time zero. Each job has a processing time pi and an amount of dirt t i , i = 1, 2, . . . , n, left on the machine. A cleaning activity with time w is carried out before the accumulation of dirt reaches a threshold value T, where t i 6 T. The additional notation will be used throughout this paper: J i job number i ði ¼ 1; 2; . . . ; nÞ. C j the completion time of the job at the jth position in a given sequence ðj ¼ 1; 2; . . . ; nÞ. kj 1, if cleaning activity is taken immediately following the jth position job; 0, otherwise. xij 1, if J i is scheduled at position j; 0, otherwise. In addition, J ½j denotes the job placed in the jth position, p½j denotes its processing time, and t½j denotes the dirt accumulation between the completion of the last cleaning activity and the completion of the jth job. The objective is to find a schedule that minimizes the total absolute deviation of job completion times (TADC), represented as

TADC ¼

n X n X jC j  C i j i¼1 j¼i

Denote a schedule p containing a sequence of jobs and several cleaning activities inserted in job sequence. In a schedule, those jobs processed between two adjacent cleaning activities form a batch, denoted as Bi , i ¼ 1; . . . ; L. Thus a schedule p can be denoted as p ¼ ðB1 ; w; B2 ; w; . . . ; BL Þ. Note L is a decision variable in our problem. Fig. 1 illustrates the representation of a schedule involving jobs and cleaning activities. Theorem 1. The problem 1jcleaningjTADC is strongly NP-hard. Proof. Consider a bin packing problem which considers a set of bins of limited capacity and a set of items of known weight, and the task is to assign items to bins in such a way that the sum of weights of items in each bin does not exceed the bin capacity and as few bins as possible are used. It is known that bin packing is strongly NP-hard (Coffman, Garey, & Johnson, 1996). The 1jcleaningjTADC problem is reduced to a bin packing problem if the processing time pi of each job is ignored, and the dirt t i left is treated as the weight of each item and the upper limit of dirt T corresponds to bin capacity. h Obviously, there are at least (L0  1) times of cleaning activities in an optimal schedule, where L0 is the minimum bin in the bin packing problem. It is worth mentioning when the processing time and the dirt left are agreeable, i.e., pi 6 pj implies t i 6 t j , the problem 1jcleaning; agreeablejTADC is also NP-hard. For the problem 1jcleaningjTADC, the optimal schedule may have a larger number of batches than the schedule which contains the minimum number of batches. Therefore, the optimal schedule may need more times of cleaning activities to achieve less TADC. The following is a simple example. Example 1. Let n = 4, p1 ¼ 7, p2 ¼ 6, p3 ¼ 1, p4 ¼ 5, t 1 ¼ 2, t2 ¼ 1, t3 ¼ 2, t 4 ¼ 3, w = 1, T = 4. The schedule p1 with the minimum number of batches is p1 ¼ ðJ 1; J 3 ; w; J 4 ; J 2 Þ with L = 2 and TADC = 45.

244

L.-H. Su, H.-M. Wang / Computers & Industrial Engineering 103 (2017) 242–249

Fig. 1. An example for the 1jcleaningjTADC problem.

Consider the schedule p2 ¼ ðJ 1 ; w; J 4 ; w; J 3 ; J 2 Þ with L = 3 and TADC = 44. When w < 4/3, we have TADC ðp2 Þ < TADCðp1 Þ and p2 is optimal. Therefore, in the optimal schedule, the cleaning activity may be carried out even if the machine can process more jobs within the batch. P P Kanet (1981) showed the equation TADC = ni¼1 nj¼i jC j  C i j is equivalent to the equations as follows.

TADC ¼

n X

n X

j¼1

j¼1

½ðj  1Þ  ðn  j þ 1Þp½j ¼

2

ðj þ nj þ 2j  n  1Þp½j :

Based on the result of Kanet, we further show the TADC of a schedule p containing both jobs and cleaning activities as follows. Theorem 2. The TADC value of a given schedule and cleaning activities can be calculated as

TADCðpÞ ¼

p containing jobs

n X n  n X  X C j  C i  ¼ ½ðj  1Þ  ðn  j þ 1Þp½j  i¼1 j¼i

þ

n X

j¼1

½j  ðn  jÞ  kj  w;

j¼1

¼

n X

2

½ðj þ nj þ 2j  n  1Þp½j 

j¼1

þ

n X

2

½ðj þ njÞ  kj  w

ð1Þ

TADCðpÞ ¼ 0  32 þ 5  16 þ 8  4 þ 9  1 þ 8  2 þ 5  8 þ 1  8 þ 1  9 þ 1  8 ¼ 202 By Theorem 2, the positional weight of the cleaning activity is equal to that of the job immediately following it and thus the problem can be solved polynomially when each cleaning activity is carried out after a fixed number of jobs. Lemma 1. The positional weights in a sequence for 1jcleaningjTADC are K-shaped, i.e., the positional weight is quadratic and concave with (Here x ¼ maxfyjy 6 a maximum for the jth job, wherej ¼ nþ2 2 x; y integerg).

Proof. According to Kanet, the positional weights for 1kTADC are K-shaped (V-shaped with respect to processing time). Since the positional weight of the cleaning activity is equal to that of the job immediately following it, therefore the positional weights in a given sequence including processing and cleaning activities are K-shaped. Fig. 2 shows the positional weights of each job and each activity in a schedule. h Lemma 2. In the optimal schedule, the job sequence in the batch con, is V-shaped with respect to processing times. taining the jth job, j ¼ nþ2 2 In this batch, the jobs lies left on the jth job are sequenced in LPT (sequencing jobs in nonincreasing order of pi ) rule and the jobs lies right are sequenced in SPT (sequencing jobs in nondecreasing order of pi ) rule.

j¼1 2

where the former factor ðj þ nj þ 2j  n  1Þ is the positional weight 2

independent of pj and the latter factor ðj þ njÞ  kj is the positional weight of cleaning activity immediately following the jth job. Proof. The former factor of Eq. (1) is the same as Kanet’s expression of TADC and the latter factor is calculated as follows. Consider a cleaning activity w immediately following the jth position job of a given sequence p. Let Bw and Aw represent the set of j jobs and remaining n-j jobs that precedes and follows this cleaning activity w in p, respectively. The cleaning activity w participates in TADCðpÞ by separating the completion time of the jobs in Bw from the completion time of the jobs in Aw by an amount w. Thus the cleaning activity’s participation in TADCðpÞ is jðn  jÞw. Expanding and summing over all w yields the latter factor of Eq. (1). h Example 2. Let n = 6, p1 ¼ 32, p2 ¼ 16, p3 ¼ 8, p4 ¼ 4, p5 ¼ 2, p6 ¼ 1, t1 ¼ 2, t 2 ¼ 1, t3 ¼ 2, t 4 ¼ 3, t 5 ¼ 1, t6 ¼ 3, w = 1, T = 4. The TADCðpÞ value of a schedule, p ¼ ðJ 1 ; J 2 ; w; J 4 ; w; J 6 ; w; J 5 ; J 3 Þ, is calculated as follows.

Fig. 2. Quadratic positional weight.

245

L.-H. Su, H.-M. Wang / Computers & Industrial Engineering 103 (2017) 242–249

Proof. The result can be directly drawn from Theorem 2 and Lemma 1. h 3. Mixed binary integer programming models In this section we present a mixed BIP model for solving the 1jcleaningjTADC problem. This model finds an optimal solution for the problem of n 6 50 within two hours and is used as a benchmark for the heuristic. Recall that kj equals 1 if cleaning activity is performed immediately following the jth position job and otherwise equals 0. The following model employs the concept of one-job-one-position for describing the problem 1jcleaningjTADC.

Min

n n X X ½ðj  1Þ  ðn  j þ 1Þ  p½j þ w  j  ðn  jÞkj  þ e  Cj j¼1

j¼1

ð2Þ

4. A heuristic algorithm

i ¼ 1; 2; . . . ; n

ð3Þ

Before proposing a heuristic to solve the large-sized problem, we develop a dynamic programming (DP) algorithm to optimally schedule the cleaning activities providing the job sequence is known. Some additional notations are defined as follows.

j ¼ 1; 2; . . . ; n

ð4Þ

X: a sequence of all n jobs; X ¼ fJ½1 ; J½2 ; . . . ; J½k ; . . . ; J½n1 ; J½n g.

Subject to: n X xij ¼ 1; j¼1 n X xij ¼ 1; i¼1

p½j ¼

Dk : a sub-sequence of the first k jobs in X; Dk ¼ fJ ½1 ; J ½2 ; . . . ; J ½k g. n X pi xij ;

j ¼ 1; 2; . . . ; n

ð5Þ

i¼1

C1 ¼

where the notation e represents an arbitrarily small number. Constraint set (3) ensures that each job must be placed in a unique position, while constraint set (4) restricts that each position must perform a unique job. Constraint (5) defines the processing time of the jth position job. Constraint (6) defines the completion time of the first position job. Incorporating binary variable kj1 and a very large positive number M in the model, constraints (7) and (8) together define the completion times of the jobs following the first one. If cleaning activity is performed immediately after the ðj  1Þth job, then the cleaning time w is added to the completion time of the jth job. Constraints (9)–(11) define the dirt accumulation between the completion of the last cleaning activity and the completion of the jth job, as shown in Fig. 1. Constraints (12) ensure the accumulation of dirt in each batch cannot exceed the threshold value. Finally, constraints (13)–(15) specify the non-negativity of t½j and C j , and establish the binary restrictions for xij and kj .

n X

ð6Þ

pi xi1

i¼1

rkg :

C j1 þ

j ¼ 2; . . . ; n

j ¼ 2; . . . ; n

n X

ð7Þ

ð8Þ

ð9Þ

t i xi1

i¼1

t ½j1 þ

n X

t i xij 6 t½j þ M  kj1 ;

j ¼ 2; . . . ; n

ð10Þ

i¼1 n X t i xij 6 t ½j þ M  ð1  kj1 Þ;

j ¼ 2; . . . ; n

ð11Þ

i¼1

T P t ½j ;

j ¼ 1; . . . ; n  1

t ½j P 0; C j P 0; X ij is binary; kj is binary;

j ¼ 1; 2; . . . ; n i ¼ 1; 2; . . . ; n j ¼ 1; 2; . . . ; n j ¼ 1; . . . ; n  1

last

g

jobs

in

Dk ;

j¼1

i¼1

t ½1 ¼

the

n X 2 ½ðj þ nj þ 2j  n  1Þ  p½j ;

and

Z 2 ð Dn Þ ¼

pi xij 6 C j þ M  kj1 ;

of

Recall Theorem 2, TADCðpÞ ¼ Z 1 ðXÞ þ Z 2 ðDn Þ, where

i¼1 n X

sub-sequence

r ¼ fJ½kgþ1 ; J½kgþ2 ; . . . ; J½k g.

Z 1 ðXÞ ¼

n X pi xij þ w 6 C j þ M  ð1  kj1 Þ; C j1 þ

a

k g

ð12Þ

n X 2 ½ðj þ njÞ  kj  w: j¼1

The value of Z 1 ðXÞ is constant due to the sequence of jobs is known in advance. The following recursive relationship optimally schedule the cleaning activities to X.

Z 2 ðDk Þ ¼ min ff ðrkg ; Z 2 ðDkg ÞÞg 16g6k X 8 2 tq 6 T Z 2 ðDkg Þ þ ðnk  k ÞDw if > > > < q2rkg k kg X f ðrg ; Z 2 ðD ÞÞ ¼ > tq > T 1 if > > : q2rkg

Boundary condition: D0 ¼ £, Z 2 ð£Þ ¼ 0. The following numerical example is given to illustrate the DP algorithm.

ð13Þ ð14Þ ð15Þ

The former summation of the objective function (2) describes the minimum TADC of the 1jcleaningjTADC problem according to Theorem 2 and the latter expression ensures the assignments of jobs as early as possible due to the fact that TADC remains the same if all jobs and cleaning activities are shifted to as left as could be,

Example 3. The data in Example 2 is considered. Suppose a schedule X ¼ ðJ 1 ; J 2 ; J 4 ; J 6 ; J 5 ; J 3 Þ is obtained with Z 1 ðXÞ ¼ 177 using Kanet’s V-shaped procedure. Initialization: D0 ¼ £, Z 2 ð£Þ ¼ 0 Iteration 1. k ¼ 1, D1 ¼ fJ 1 g;

r11 ¼ fJ1 g; g ¼ 1, w ¼ 0 þ 5  1 ¼ 5.

2

f ðr11 ; Z 2 ðD0 ÞÞ ¼ Z 2 ðD0 Þ þ ðnk  k Þ

Z 2 ðD1 Þ ¼ min16g61 ff ðr1g ; Z 2 ðD1g ÞÞg ¼ f ðr11 ; Z 2 ðD0 ÞÞ ¼ 5.

246

L.-H. Su, H.-M. Wang / Computers & Industrial Engineering 103 (2017) 242–249

Iteration 2. k ¼ 2, D2 ¼ fJ 1 ; J 2 g;

D3 ¼ 2

g ¼ 1, r21 ¼ fJ 2 g; f ðr21 ; Z 2 ðD1 ÞÞ ¼ Z 2 ðD1 Þ þ ðnk  k Þ  w ¼ 13. 2 f ð 22 ; Z 2 ðD0 ÞÞ ¼ Z 2 ðD0 Þ þ ðnk  k Þ  w 2 2g ÞÞg ¼ min16g62 f13; 8g ¼ 8. g ; Z 2 ðD

g ¼ 2, r ¼ fJ 1 ; J 2 g,

r

2 2

¼8

Z 2 ðD Þ ¼ min16g62 ff ðr 2

Iteration 3. k ¼ 3, D3 ¼ fJ 1 ; J 2 ; J 4 g; 2

g ¼ 1, r31 ¼ fJ 4 g; f ðr31 ; Z 2 ðD2 ÞÞ ¼ Z 2 ðD2 Þ þ ðnk  k ÞDw ¼ 17. 2 g ¼ 2, ¼ fJ 2 ; J 4 g, f ð 32 ; Z 2 ðD1 ÞÞ ¼ Z 2 ðD1 Þ þ ðnk  k ÞDw ¼ 14. 3 0 ¼ fJ 1 ; J 2 ; J 4 g, f ð 3 ; Z 2 ðD ÞÞ ¼ 1. g ¼ 3, Z 2 ðD3 Þ ¼ min16g63 ff ð 3g ;Z 2 ðD3g ÞÞg ¼ min16g63 f17; 14;1g ¼ 14.

r r

r

3 2 3 3

r

r

In the similar manner, we obtain

Z 2 ðD6 Þ ¼ min ff ðr6g ; Z 2 ðD6g ÞÞg ¼ min f19; 22; 1; 1; 1; 1g ¼ 19 16g66

16g66

Therefore, the sequence ðJ 1 ; w; J 2 ; J 4 ; w; J 6 ; J 5 ; w; J 3 Þ is obtained with

TADCðpÞ ¼ Z 1 ðXÞ þ Z 2 ðD6 Þ ¼ 177 þ 19 ¼ 196: The LOE (last-only-empty) approach, a well-known and commonly encountered in practice, is introduced as a contrast to the DP algorithm. LOE: batching in which the accumulated dirt of each batch is kept full whenever possible except the last one. The LOE rule gives the following result.

TADCðpÞ ¼ ðJ 1 ; J 2 ; w; J 4 ; w; J 6 ; J 5 ; w; J 3 Þ ¼ 199 According to Theorem 2, the positional weight of each cleaning activity’s participation in TADC equals to that of the job immediately following it, the following Theorem is established and used in the heuristic. Theorem 3. Consider a sequence where J ½j is to be shifted to the position immediately preceding J ½i , i < j, without violation of the dirt constraint and suppose there are k cleaning activities between J ½i and

J ½j . Let lv (v ¼ 1; . . . ; k) be the positional index of the job following each of the k cleaning activities. If D is negative, then TADC is decreased by this shift, where D is 2

2

D ¼ ðni  nj þ j  i þ 2i  2jÞp½j þ þ

lk X

v ¼l1

j1 X

ðn  2u þ 1Þp½u

u¼i

ðn  2v þ 1Þw

Proof. When J ½j is shifted to the position immediately preceding J ½i , the TADC difference due to J ½j itself is

D1 ¼ ði  1Þðn  i þ 1Þp½j  ðj  1Þðn  j þ 1Þp½j 2

2

¼ ðni  nj þ j  i þ 2i  2jÞp½j The TADC difference due to jobs between J½i and J½j1 being shifted one position back is

D2 ¼

j1 X

fðu þ 1  1Þ½ðn  ðu þ 1Þ þ 1  ðu  1Þðn  u þ 1Þgp½u

u¼i

¼

j1 X

ðn  2u þ 1Þp½u

u¼i

Finally, the TADC difference by shifting each of the cleaning activities between J½i and J ½j one position back is

lk X

v ¼l1

½v ðn  v Þ  ðv  1Þðn  v þ 1Þw ¼

lk X

v ¼l1

ðn  2v þ 1Þw

D ¼ D1 þ D2 þ D3 This completes the proof. h Example 4. To illustrate Theorem 3, the data in Example 2 is considered. Suppose a schedule p1 ¼ ðJ 1 ; J 2 w; J 4 ; w; J 6 ; w; J 5 ; J 3 Þ with TADC = 202 is obtained using Kanet’s V-shaped procedure. If we shift J 5 in the 5th position to the 3rd position immediately preceding J 4 , that is p2 ¼ ðJ 1 ; J 2 w; J 5 J 4 ; w; J 6 ; w; J 3 Þ, then D is calculated as follows. Since n = 6, i = 3, and j = 5; therefore

D1 ¼ ð6  3  6  5 þ 25  9 þ 6  10Þp5 ¼ 0. D2 ¼ ð6  6 þ 1Þ  4 þ ð6  8 þ 1Þ  1 ¼ 3. D3 ¼ ½ð6  8 þ 1Þ  1 þ ð6  10 þ 1Þ  1 ¼ 4. D ¼ 1, which implies that p2 with TADC = 201 is obtained. The heuristic algorithm proposed uses the symmetric property of the V-shaped rule to perform binary search. It follows that the positional weight of the second job is the same as that of the last one, the positional weight of the third job is the same as that of the second from the last one, etc. The heuristic algorithm first sequences jobs according to Kanet’s V-shaped property, then interchanges the jobs with the same positional weight, and finally interchange the jobs with the same processing time but different dirt amount. Whenever an interchanging is performed, the DP is applied to find the optimal schedule of cleaning activities. The steps of the proposed heuristic are outlined as follows: 4.1. The heuristic algorithm Step 1: Sequence all jobs according to Kanet’s algorithm and indexed as J ½1 ; J ½2 ; . . . ; J ½n . Apply DP to insert the cleaning activities. Set j = 2. Step 2: Interchange J ½j with J ½njþ2 and apply DP to insert the cleaning activities, j = j + 1. Repeat Step 2 until j = (n/ 2) if n is even or j = (n + 1)/2 if n is odd. Step 3: If there are jobs with the same processing time, interchange each pair of them and apply DP to insert the cleaning activities. Step 4: Among the sequences obtained in Steps 2 and 3, accept the one with minimum TADC. Step 5: Find the first batch with dirt accumulation less than T. Iteratively apply Theorem 3 to find the job in the following batch to be shifted to this batch. Accept the sequence with minimum TADC. The procedure is continued until the last batch has been considered. Output the sequence with minimum TADC. In order to evaluate the solution quality of our heuristic, we modify the V-shaped sequence of Kanet’s (1981), called ModTADC, in the hope to improve its TADC value for 1jcleaningjTADC. The ModTADC algorithm first applies Kanet’s procedure to find the V-shaped sequence, then uses LOE rule to insert the cleaning activities, and lastly applying Theorem 3 to iteratively improve the schedule. 4.2. The ModTADC algorithm Step 1: Sequence all jobs in V-shaped according to Kanet’s algorithm. Insert the cleaning activities accordingly to LOE rule. Step 2: The same as step 5 of the heuristic algorithm.

247

L.-H. Su, H.-M. Wang / Computers & Industrial Engineering 103 (2017) 242–249 Table 1 Data for computational experiments. n

Small problem 8

Large problem 10

15

20

50

100

200

U [1, pmax ], pmax ¼ 10; 100 U [1, a  pi ], a ¼ 0:2; 0:4 c  tmax , c ¼ 2; 4  P  p int b  N i , b ¼ 1:5; 2:5

pi ti T w

5. Computational experiments The objectives of the computational experiments are to evaluate the efficiency of the Mixed Binary Integer Programming (BIP) model and the effectiveness of the heuristic algorithm. The proposed BIP model is implemented using CPLEX 12.5 software and the heuristic algorithm as well as ModTADC are coded in C++. All experimental tests are run on PC with i3-530 CPU. Two sets of experiments are carried out. The first set aims to evaluate the efficiency of the BIP model and the effectiveness of the heuristic algorithm for small problem. Another set compares the solution of the heuristic algorithm with ModTADC for large problem. The setting of parameters composes of n, pi , ti , T, and w for small and large problems are shown in Table 1, where the parameters a, b and c controls the amount of dirt left by each job, the length of cleaning time, and the threshold of dirt, respectively. The experimental procedure consists of a design of dirt with two setting of aða ¼ 0:2; 0:4Þ, two settings of c (c = 2, 4), and two settings of bðb ¼ 1:5; 2:5) which refers to the maintenance time of Liao and Chen (2003).

For each combination of n, pi , ti , T, and W, ten instances are generated, yielding 1120 instances for the problem. The formula, h i devð%Þ ¼ heuristicoptimum , is used to determine the deviation of optimum our heuristic solution over the optimal solution for small problem   instances. On the other hand, the formula devð%Þ ¼ ModTADCheuristic heuristic is employed to determine the deviation of ModTADC over our heuristic. 5.1. Comparison of our heuristic with BIP for small problems For small problems with n = 10, 20 and 50, the computational results are summarized in Tables 2 and 3 for the processing time distribution U(1, 10) and U(1, 100), respectively. Both tables show the average CPU time in seconds for the BIP model and the heuristic algorithm, as well as the average deviation of the heuristic solution over the optimal solution. The results in Tables 2 and 3 indicate that the BIP model solves all the instances within three seconds when the number of jobs n is not larger than 20. However, the execution time increases to

Table 2 The computational results of pi ¼ U½1; 10 for small problems. pi [1, 10]

n = 10

a

c

b

BIP Time (s)

Heuristic Time (s)

n = 15

0.2

2

1.5 2.5 1.5 2.5

0.92 0.66 0.86 0.61

1.5 2.5 1.5 2.5

n = 20

dev%

BIP Time (s)

Heuristic Time (s)

0.000025 0.000019 0.000017 0.000018

0.75 0.06 1.12 0.22

1.19 1.40 1.32 1.08

0.79 0.55 0.90 0.56

0.000022 0.000024 0.000032 0.000025

1.56 0.68 2.15 1.16

Average

0.73

0.000023

0.96

Average dev (%)

1.2125

4 0.4

2 4

n = 50

dev%

BIP Time (s)

Heuristic Time (s)

dev%

BIP Time (s)

Heuristic Time (s)

dev%

0.000056 0.000048 0.000077 0.000047

1.02 0.51 1.72 0.93

2.02 1.55 2.05 1.58

0.00026 0.00011 0.00028 0.00015

0.75 0.54 1.87 0.95

5124.81 298.99 4348.84 222.30

0.01763 0.01376 0.01462 0.01248

0.93 0.58 1.98 1.13

1.40 0.989 1.37 1.12

0.000022 0.000081 0.000099 0.000013

1.32 0.56 2.48 0.87

2.22 1.61 2.39 1.66

0.00032 0.00025 0.00042 0.00042

1.49 0.80 2.64 1.12

7204.05 876.70 7202.98 1378.41

0.03158 0.02577 0.03603 0.02143

1.61 0.80 2.99 1.50

1.23

0.000055

1.18

1.89

0.000264

1.27

3332.14

0.02166

1.44

Table 3 The computational results of pi ¼ U½1; 100 for small problems. pi [1, 100]

n = 10

a

c

b

BIP Time (s)

Heuristic Time (s)

n = 15

0.2

2

1.5 2.5 1.5 2.5

0.90 0.61 0.91 0.53

1.5 2.5 1.5 2.5

n = 20

dev%

BIP Time (s)

Heuristic Time (s)

0.000029 0.000026 0.000026 0.000019

1.26 0.47 2.52 1.55

1.26 1.07 1.37 1.17

0.90 0.56 0.76 0.62

0.000027 0.000024 0.000022 0.000024

4.25 0.87 3.42 0.55

Average

0.72

0.000025

1.86

Average dev (%)

2.255

4 0.4

2 4

n = 50

dev%

BIP Time (s)

Heuristic Time (s)

dev%

BIP Time (s)

Heuristic Time (s)

dev%

0.000077 0.000042 0.000079 0.000061

2.02 1.07 4.67 1.94

2.05 1.33 2.02 1.59

0.00027 0.00014 0.00026 0.00019

3.04 1.56 3.61 2.16

7202.84 931.34 7202.44 1403.47

0.01075 0.00869 0.01043 0.00907

2.61 1.21 4.40 2.11

1.15 1.09 1.26 1.12

0.000079 0.000042 0.000072 0.000042

1.39 0.78 3.75 1.97

2.17 1.39 2.07 1.45

0.00028 0.00015 0.00027 0.00016

2.27 1.13 3.93 1.60

7202.91 1433.78 7203.53 1489.81

0.01218 0.01075 0.01084 0.00888

2.63 1.25 4.20 2.01

1.19

0.000062

2.20

1.76

0.00022

2.41

4258.77

0.01020

2.55

248

L.-H. Su, H.-M. Wang / Computers & Industrial Engineering 103 (2017) 242–249

Fig. 3, we observe that the deviation of the heuristic from the optimal solution appears in slightly descending trend as the value of a increases. The parameter b serves as the influences of cleaning time on solution quality. The larger the b is, the smaller the deviation of the heuristic over the optimum is. The reason is that the denominator of deviation formula increases, whereas the deviation of the heuristic solution from the optimal solution may not increase in proportion to the denominator. Finally, the impact of c which controls the amount of dirt threshold. Higher value of c allows higher limit of dirt threshold. Fig. 3 shows the smaller the c is, the better the quality of the heuristic is. It is because when the dirt threshold increases, each batch can accommodate more jobs and the V-shaped rule has a better chance to be implemented. 5.2. Comparison of the heuristic with ModTADC for large problems Fig. 3. The impacts of processing time distribution, a, b and c on solution quality for small problems.

almost one hours on average when n increases to 50. The instance of widely dispersed job processing time U(1, 100) takes more execution time and more solution deviation. The execution time of the heuristic is almost zero as n is not greater than 20 and only 0.01 s on average as n is equal to 50. As to the quality of the heuristic, the deviation of the heuristic from the optimal solution is 1.21% and 2.26% on average for the processing time distributions U(1, 10) and U(1, 100), respectively. Fig. 3 depicts the influences of the two processing time distributions on solution quality. The impacts of the parameters a, b and c on solution quality are analyzed and also depicted in Fig. 3. The parameter a serves as the amount of dirt left by a job on the machine. The larger the a is, the more the dirt is left by a job. From

We compare the proposed heuristic with the modified TADC (ModTADC) for large instances with n = 100 and 200. The computational results are summarized in Tables 4 and 5 for the processing time distributions U(1, 10) and U(1, 100), respectively. Tables 4 and 5 show that both our heuristic and ModTADC perform efficiently for large problem with execution times 1.30 s and 2.35 s on average for U(1, 10) and U(1, 100), respectively. Nevertheless, our heuristic significantly outperform ModTADC for all problem instances with deviation of 19.85% and 20.78% on average for U(1, 10) and U(1, 100), respectively. Fig. 4 shows the influences of the parameters a, b and c on the solution quality. From Fig. 4, we see the deviation increases as a increases, implying that the heuristic is superior to ModTADC when more dirt is left by each job and thus more cleaning activities are incurred. The parameter b that serves as the influence of cleaning time on solution quality is analyzed. The smaller the b is, the superior the heuristic is to

Table 4 The computational results of pi ¼ U½1; 10 for large problems. pi [1, 10]

n = 100

a

c

b

ModTADC Time (s)

Heuristic Time (s)

n = 200

0.2

2

1.5 2.5 1.5 2.5

1.23 1.26 1.25 1.06

1.5 2.5 1.5 2.5

dev%

ModTADC Time (s)

Heuristic Time (s)

dev%

1.59 1.63 1.70 1.62

20.89 16.18 22.81 20.69

1.42 1.29 1.29 1.34

1.71 1.72 1.75 1.72

17.97 16.38 17.14 19.86

1.31 1.49 1.15 1.16

1.69 1.71 1.64 1.47

19.67 17.11 18.99 18.18

1.24 1.41 1.47 1.45

1.70 1.75 1.71 1.73

23.84 19.53 23.69 24.63

Average

1.24

1.63

19.32

1.36

1.72

20.38

Average dev (%)

19.85

4 0.4

2 4

Table 5 The computational results of pi ¼ U½1; 100 for large problems. pi [1 100]

n = 100

n = 200

a

c

b

ModTADC Time (s)

Heuristic Time (s)

dev%

ModTADC Time (s)

Heuristic Time (s)

dev%

0.2

2

1.5 2.5 1.5 2.5

2.40 2.24 2.23 2.31

2.55 2.37 2.39 2.58

15.25 14.96 22.47 19.05

2.41 2.40 2.39 2.42

2.61 2.60 2.60 2.62

20.39 18.18 26.48 24.40

1.5 2.5 1.5 2.5

2.24 2.30 2.27 2.31

2.40 2.46 2.53 2.53

20.41 16.06 16.79 20.53

2.40 2.44 2.40 2.44

2.63 2.62 2.63 2.66

28.16 20.18 26.70 22.49

Average

2.29

2.48

18.19

2.41

2.62

23.37

Average dev (%)

20.78

4 0.4

2 4

L.-H. Su, H.-M. Wang / Computers & Industrial Engineering 103 (2017) 242–249

249

developing a bound used in the optimal solution method to curtail many inefficient searching will be worthwhile. References

Fig. 4. The impacts of processing time distribution, a, b and c on solution quality for large problems.

ModTADC. The reason is that the denominator of deviation formula increases, whereas the deviation of the heuristic solution from the optimal solution may not increase in proportion to the denominator. Finally, the impact of c which control the value of dirt threshold is examined. Higher value of c allows higher level of dirt threshold, therefore incurs less batches accordingly. Fig. 4 shows that the larger the c is, the superior the heuristic is to ModTADC. 6. Conclusion and future research We study a new single machine scheduling problem with machine unavailability for replacing cleaning agent in the wafer manufacturing company. The objective is to minimize the total absolute differences in completion times. During the processing of a wafer on a specific machine, the dirt, including particle, organic materials and metal-salts, etc., on the surface of the wafer while processing, has to be taken away by a cleaning agent. Once the accumulation of dirt reaches a threshold value, it is necessary to interrupt the machine processing and replace the cleaning agent in order to avoid damaging the wafer. Since the problem is NPhard, a BIP model is formulated to obtain the optimal solution and a heuristic is developed to obtain near optimal solution. From the computational experiments with problem sizes n 6 50, the deviation of the heuristic from the optimal solution is 1.21% and 2.26% on average for the processing time distributions U(1, 10) and U(1, 100), respectively. To test the proposed heuristic for large problem with n = 100 and 200, an algorithm named ModTADC by improving Kanet’s V-shaped procedure is developed. Extensive experiments have showed that our heuristic outperform ModTADC by 19.85% and 20.78% on average for U(1, 10) and U(1, 100), respectively. The main contribution of this paper is the extension of the problem on the conventional machine unavailability by taking into the consideration of dirt constraint, a common practice in IC manufacturing industry while seldom discussed in the scheduling literature. Future research may be conducted in the following direction. First, we will attempt to extend the problem to other machine environments such as identical or unrelated parallel machines. Second, the study will be extended to the problem with a due date related objective function which is important because due dates are also the concern in the practical situation. Finally,

Chen, W. (2006a). Minimizing total flow time in the single-machine scheduling problem with periodic maintenance. Journal of the Operational Research Society, 57(4), 410–415. Chen, J.-S. (2006b). Optimization models for the machine scheduling problem with a single flexible maintenance activity. Engineering Optimization, 38(1), 53–71. Coffman, E. G., Jr., Garey, M. R., & Johnson, D. S. (1996). Approximation algorithms for bin packing: A survey. In Approximation algorithms for NP-hard problems (pp. 46–93). PWS Publishing Co. Compare, M., Martini, F., & Zio, E. (2015). Genetic algorithms for condition-based maintenance optimization under uncertainty. European Journal of Operational Research, 244(2), 611–623. Huang, X., & Wang, M.-Z. (2011). Parallel identical machines scheduling with deteriorating jobs and total absolute differences penalties. Applied Mathematical Modelling, 35(3), 1349–1353. Kanet, J. J. (1981). Minimizing variation of flow time in single machine systems. Management Science, 27(12), 1453–1459. Kubzin, M. A., & Strusevich, V. A. (2006). Planning machine maintenance in twomachine shop scheduling. Operations Research, 54, 789–800. Li, Y., Li, G., Sun, L., & Xu, Z. (2009). Single machine scheduling of deteriorating jobs to minimize total absolute differences in completion times. International Journal of Production Economics, 118(2), 424–429. Li, D., Zhang, Z., Zhong, Q., & Zhai, Y. (2014). Performance deterioration modeling and optimal preventive maintenance strategy under scheduled servicing subject to mission time. Chinese Journal of Aeronautics, 27(4), 821–828. Liao, C., & Chen, W. (2003). Single-machine scheduling with periodic maintenance and nonresumable jobs. Computers & Operations Research, 30(9), 1335–1347. Mor, B., & Mosheiov, G. (2011). Total absolute deviation of job completion times on uniform and unrelated machines. Computers & Operations Research, 38(3), 660–665. Mor, B., & Mosheiov, G. (2012). Scheduling a maintenance activity and due-window assignment based on common flow allowance. International Journal of Production Economics, 135(1), 222–230. Mosheiov, G. (2008). Minimizing total absolute deviation of job completion times: Extensions to position-dependent processing times and parallel identical machines. Journal of the Operational Research Society, 59(10), 1422–1424. Ni, J., Gu, X., & Jin, X. (2015). Preventive maintenance opportunities for large production systems. CIRP Annals-Manufacturing Technology, 64(1), 447–450. Öhman, M., Finne, M., & Holmström, J. (2015). Measuring service outcomes for adaptive preventive maintenance. International Journal of Production Economics, 170, 457–467. Oron, D. (2008). Single machine scheduling with simple linear deterioration to minimize total absolute deviation of completion times. Computers & Operations Research, 35(6), 2071–2078. Pinedo, M. (1995). In Scheduling: Theory, algorithms and applications. Englewood Cliffs, NJ: Prentice-Hall. Suliman, S. M., & Jawad, S. H. (2012). Optimization of preventive maintenance schedule and production lot size. International Journal of Production Economics, 137(1), 19–28. Wang, J.-B., & Xia, Z.-Q. (2007). Single machine scheduling problems with controllable processing times and total absolute differences penalties. European Journal of Operational Research, 177(1), 638–645. Yang, D.-L., Hung, C.-L., Hsu, C.-J., & Chern, M.-S. (2002). Minimizing the makespan in a single machine scheduling problem with a flexible maintenance. Journal of the Chinese Institute of Industrial Engineers, 19(1), 63–66. Yin, Y., Cheng, T. C.-E., & Wang, D.-J. (2016). Rescheduling on identical parallel machines with machine disruptions to minimize total completion time. European Journal of Operational Research, 252, 737–749. Yin, Y., Xu, J., Cheng, T. C.-E., & Wang, D.-J. (2016). Approximation schemes for single-machine scheduling with a fixed maintenance activity to minimize the total amount of late works. Naval Research Logistics, 63, 172–183. Yin, Y., Xu, J., Wu, W.-H., Cheng, T. C.-E., & Wu, C.-C. (2014). Due-date assignment and single-machine scheduling with generalized position-dependent deteriorating jobs and deteriorating multi-maintenance activities. International Journal of Production Research, 52(8), 2311–2316. Yin, Y., Ye, D., & Zhang, G. (2014). Single machine batch scheduling to minimize the sum of total flow time and batch delivery cost with an unavailability interval. Information Sciences, 274, 310–322. Ying, K.-C., Lu, C.-C., & Chen, J.-C. (2016). Exact algorithms for single-machine scheduling problems with a variable maintenance. Computers & Industrial Engineering, 98, 427–433.