Computers & Industrial Engineering xxx (2013) xxx–xxx
Contents lists available at SciVerse ScienceDirect
Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie
On the identical parallel-machine rescheduling with job rework disruption q Le Liu, Hong Zhou ⇑ School of Economics and Management, Beihang University, Beijing 100191, People’s Republic of China
a r t i c l e
i n f o
Article history: Received 22 September 2011 Received in revised form 25 July 2012 Accepted 23 February 2013 Available online xxxx Keywords: Scheduling Rescheduling Identical parallel machine Rework disruption Bi-criteria scheduling
a b s t r a c t This paper investigates an issue of rescheduling on identical parallel machines where the original jobs have already been scheduled to minimize the total completion time, when a single set of jobs to be reworked re-arrives and creates a job rework disruption. Two conflicting rescheduling criteria are considered: the total completion time, as the measure of scheduling cost (efficiency); and the number of jobs assigned to different machines in the original schedule and newly generated schedule, as the measure of disruption cost (stability). Further, the rescheduling problem is defined as a bi-criteria scheduling problem. Two polynomial time algorithms are proposed to lexicographically optimize the two criteria. Besides, the set of all efficient schedules with respect to the two criteria can be also generated in polynomial time. Ó 2013 Elsevier Ltd. All rights reserved.
1. Introduction In this study, we address the rescheduling problems on identical parallel machines related to the job rework disruption. In classical scheduling studies, the vast majority of scheduling literature assumes an ideal processing environment that no disruptions occur. In real manufacturing, however, unpredictable disruptions make it unlikely that the previously planned schedule will be executed as smoothly and efficiently as anticipated. This inevitably leads to an unwilling but pressing need for rescheduling. To some extent, the outcome of rescheduling is related to the performance of a manufacturing company in terms of revenue, efficiency, market competitiveness, and even customer’s goodwill. It frequently occurs in the process of manufacturing that a rescheduling task is directly driven by a disruption. Roughly speaking, depending on what has been disrupted, real-time disruptions that make rescheduling necessary can be classified into two main categories (Cowling & Johansson, 2002; Ouelhadj & Petrovic, 2009; Suresh & Chaudhuri, 1993): Resource-related: machine breakdowns or suspensions, blocking or deadlock, material shortages or delays in supply, defective materials, operator absenteeism, tool failures, etc. q
This manuscript was processed by Area Editor Subhash C. Sarin.
⇑ Corresponding author. Address: School of Economics and Management, Beihang University, Xue Yuan Road No. 37, Hai Dian District, Beijing 100191, People’s Republic of China. Tel./fax: +86 10 82339458. E-mail addresses:
[email protected] (L. Liu),
[email protected] (H. Zhou).
Job-related: the arrival of new (rush) jobs, job cancellations, changes in due or release dates, changes in job priority, changes in job processing times, rework/rejects, etc. To make an effective response to a substantial disruption, rescheduling procedures generally seek to repair or adjust the schedule planned before the disruption, which trades-off between efficiency in terms of certain scheduling costs and stability in terms of certain disruption cost. The cost of disruption is often a statistic which measures the deviations or changes between original and new schedules for the same job set. In effect, any alteration or adjustment to the original schedule after disruption could have negative impacts on earlier preparations. It is especially critical for the newly generated schedule to minimize or control the deviation from the original schedule. Typical surrogate measures of the disruption cost include the deviations of job sequence (e.g., Abumaizar & Svestka, 1997; Hall & Potts, 2004; Wu, Storer, & Chang, 1993; Yuan & Mu, 2007; Yuan, Mu, Lu, & Li, 2007; Zhao & Tang, 2010), completion time (e.g., Hall & Potts, 2004, 2010; Hall, Liu, & Potts, 2007; Lee, Leung, & Yu, 2006; Tang & Zhang, 2009; Zhao & Tang, 2010), and starting time (e.g., Abumaizar & Svestka, 1997; Rangsaritratsamee, FerrellJr, & Kurz, 2004; Wu et al., 1993; Yang, 2007; Van de Vonder, Ballestin, Demeulemeester, & Herroelen, 2007), as well as the number of jobs assigned to different machines in the original and new schedules (e.g., Alagoz & Azizoglu, 2003; Azizoglu & Alagoz, 2005; Curry & Peters, 2005; Ozlen & Azizoglu, 2009, 2011), etc. The job rework disruption arises when a set of completed jobs re-enter for additional processing. This job-related disruption is a
0360-8352/$ - see front matter Ó 2013 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.cie.2013.02.018
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
2
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
common rescheduling factor (Li, Shyu, & Adiga, 1993; Vieira, Herrmann, & Lin, 2003), which could be caused by quality issues, misoperations from labor or programs, additional technical requirements from clients, or changes in industry specifications. Indeed, the rework of jobs that do not meet basic standards is frequently encountered in many manufacturing situations. As an example in the customized manufacturing and service, it is common that the customers might frequently update their product requirements at each stage of a purchasing order. Another example can be found in technically demanding production situations where jobs have to be processed twice or more to satisfy the stringent standard. Nevertheless, the rescheduling literature that takes the job rework disruption into account is relatively rare. Among the few examples are due to Szelke and Markus (1994) and Li, Li, Li, and Hu (2000). The deficiency shared by their studies is lack of contributions in formal modeling and effective solution methods. To the best of our knowledge, there have been no reported computational complexity results for rescheduling problems with the job rework disruption. Motivated by this observation, in this study, we are devoted to addressing the rescheduling problem with job rework disruption on parallel machines, and exploring its solving methods. The satisfaction of both scheduling cost and disruption cost is required for rescheduling. In our work, the scheduling cost is measured in terms of the total completion time. To some extent, decreasing the total completion time leads to the reduction in the total work-in-process inventory, and also could be an effective way of reducing job tardiness. On the other hand, the disruption cost is measured in terms of the number of jobs processed on different machines in the original and new schedules (i.e., disrupted jobs). The importance of such a measure of disruption cost can be found in logistics, manufacturing and service environments with the presence of transportation time and cost between facilities at different locations (Azizoglu & Alagoz, 2005). Since the goods/services are originally delivered to facilities/organizations distributed geographically, changes in distributions and placements due to unexpected disruptions between the original and revised plans inevitably cause extra expenses in transportation. Even if in the co-located manufacturing systems, the re-setups/retoolings resulting from changes in job assignments could bring additional costs (Alagoz & Azizoglu, 2003). Besides, materials required by a job may be large in bulk, heavy in weight (e.g., steel plate, lumber). In such a case, the change of a job from one machine to another is rather cumbersome albeit with the near distance. With the above measures of scheduling and disruption cost, we address in this paper the parallel-machine rescheduling problems with bi-criteria optimization. There primarily exist two concepts for bi-criteria scheduling problems (Hoogeveen, 2005; T’kindt & Billaut, 2005): hierarchical or lexicographical optimization, and simultaneous optimization. In hierarchical optimization, the less important criterion is optimized subject to the constraint that the value of more important criterion remains its optimum. If no criterion is dominant, simultaneous optimization appears to be a better choice. In simultaneous optimization, a posteriori variant is generally considered without a further specification, which is characterized by finding all efficient (nondominated) solutions relative to two criteria (Evans, 1984; Hoogeveen, 2005). An important contribution of our work is the development of efficient polynomial algorithms for finding the optimal reschedules with respect to the two conflicting criteria (i.e., total completion time and number of disrupted jobs) by both hierarchical and simultaneous optimization approach. The rest of this paper is organized as follows. In the next section, we review the related literature. We introduce the notation used and problem assumptions, and then define the concerned identical parallel-machine rescheduling problems in Section 3. After that,
we explore the solution algorithm for each of the proposed problems in Section 4. In Section 5, we demonstrate our rescheduling procedures through an illustrative example. Finally, Section 6 presents the conclusions and the possible directions for future research.
2. Literature review As one of new scheduling formats (Pinedo, 2008), rescheduling deserves considerable attention from both theoretical and practical aspects. Nelson, Holloway, and Wong (1977), Muhlemann, Lockett, and Farn (1982), Chang, Sullivan, and Bagchi (1984), Yamamoto and Nof (1985), and Tabe and Salvendy (1988) are the pioneers who recognized the issue of rescheduling. Their introductory works provide valuable insights into later research on rescheduling. Note that, the majority of rescheduling literature is of relatively recent origin. As for the surveys on rescheduling literature, we refer readers to the work of Vieira et al. (2003), Aytug, Lawley, Mckay, Mohan, and Uzsoy (2005), and more recently Ouelhadj and Petrovic (2009). Manufacturing type is one of the main criteria to classify the rescheduling literature (Dong & Jang, 2012). Different manufacturing types allow different rescheduling procedures. Wu et al. (1993), Unal, Uzsoy, and Kiran (1997), Hall and Potts (2004), Hall et al. (2007), Yang (2007), Yuan and Mu (2007), Yuan et al. (2007), Zhao and Tang (2010), and Hall and Potts (2010) studied the rescheduling problems on a single machine. Among the existing rescheduling studies in the configuration of parallel machines are the works by Alagoz and Azizoglu (2003), Azizoglu and Alagoz (2005), Curry and Peters (2005), Duenas and Petrovic (2008), Ozlen and Azizoglu (2009, 2011), Tang and Zhang (2009), Shangguan, Li, and Shi (2012), etc. The readers who are interested in rescheduling under multi-stage shop environments can refer to Guo and Nonaka (1999) and Akturk and Gorgulu (1999) on flow shops, Li and Shaw (1996, 1998), Abumaizar and Svestka (1997), Li et al. (2000), Rangsaritratsamee et al. (2004), Mason, Jin, and Wessels (2004), Suwa and Sandoh (2007), Dong and Jang (2012), Zhao, Wang, Wang, and Jonrinaldi (2012) on job shops, and Li et al. (1993), Jain and Elmaraghy (1997), Fahmy, Balakrishnan, and ElMekkawy (2009), and Zakaria and Petrovic (2012) on flexible manufacturing shops. In the rescheduling literature, there are also several studies which consider practical rescheduling problems in specific fields, the most noteworthy of which are due to Zweben, Davis, Daun, and Deale (1993) for coordinating Space Shuttle Ground Processing, Yu, Arguello, Song, Mccowan, and White (2003) for crew recovery, Wong, Leung, and Au (2005) for apparel manufacturing, as well as Budai, Maroti, Dekker, Huisman, and Kroon (2010) for rolling stock rebalancing problem in railway planning. In what follows, due to space limitations we focus on literature dealing with identical parallel-machine rescheduling under random disruptions, which are relatively pertinent to our present work. Duenas and Petrovic (2008) presented a novel predictive–reactive approach to solving identical parallel machines under the uncertain disruptions of materials shortage. In their work, once the impacts of the disruption were too high to be absorbed by the predictive schedule, the rescheduling procedures were used. Two proposed rescheduling approaches, called ‘Left-shifting’ and ‘Building new schedules’, were successfully applied to the realworld scheduling of a pottery company when substantial disruptions occurred. Tang and Zhang (2009) addressed a rescheduling problem on identical parallel machines with the disruption caused by machine breakdown. They optimized both the total weighted completion time and the deviation of the completion time of jobs from the pre-
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
viously planned one, and formulated this rescheduling problem as an integer programming model. A Lagrangian Relaxation (LR)based method that relaxes the machine capacity constraints was developed for solving this model. Azizoglu and Alagoz (2005) considered the rescheduling problems with a period of unavailability on one machine due to disruptions. They trade off between two conflicting criteria: total flow time, and number of disrupted jobs. They also illustrated that the set of all efficient schedules with respect to the two criteria can be found in polynomial time. The work of Alagoz and Azizoglu (2003) is a further study relative to that of Azizoglu and Alagoz (2005). Alagoz and Azizoglu’s (2003) problem is differentiated in that they considered rescheduling problem under machine eligibility constraints. They proposed a branch-and- bound procedure for minimizing the number of disrupted jobs subject to the constraint that the total flow time value is at its minimum. Moreover, they proposed three heuristic procedures to generate a set of approximate efficient schedules. Our present work distinguishes itself from the above studies by dealing with the job rework disruption, rather than the resourcerelated disruptions. In spite of the change in disruption circumstances, the trade-off between efficiency and stability is still investigated, and novel but polynomial efficient algorithms are proposed. Due to the polynomial complexity, our proposed algorithms can serve as efficient optimizers to solve large-sized practical problems. 3. Problem statement We introduce the following notation that will be used throughout this paper. Index j, i, r, d, l
[i, l] [i]
Indices of the job, the machine, the rework job, the disrupted job, and the position from the last (final) one Index of the rescheduled job assigned to the lth position from the last one on machine i Index of the partial schedule over the jobs assigned to machine i
Notation known before the rework disruption M The number of identical parallel machines O The set of jobs to be scheduled at time zero nO The number of jobs in O, nO = jOja p The original schedule over jobs in O p⁄ The original schedule planned by minimizing the total completion time pj The processing time of job j 2 O Notation known at or after the rework disruption DT The time at which the rework disruption occurs R The set of originally finish jobs to be reworked nR The number of the rework jobs in R, nR = jRj nRS The number of jobs to be rescheduled p0j The rework processing time of job j 2 R
r r⁄ r⁄⁄ lmax
A reschedule with nRS jobs on m machines The reschedule with nRS jobs by minimizing of the total completion time The obtained reschedule with nRS jobs by special rescheduling algorithm The maximum of m numbers of jobs assigned to each machine in r⁄
3
Rr 2 R
One job that needs rework, where r = 1, 2, . . . , nR ND(r) The number of disrupted jobs in r. A job in r is called disrupted if it is assigned to different machines in the original schedule and r ai The initial available time for machine i Notation based on the general schedule S S A general schedule that can take form of p, or r, and etc. S[i] The partial schedule of the jobs assigned to machine i in S S[l] The partial schedule of jobs taking the lth position from the last one in S S[i,l] The job taking the lth position from the last one on machine i in schedule S p (S[i,l]) The processing time of the job S[i,l] Cj(S) The completion time of job j in schedule S P TCðSÞ ¼ j C j ðSÞ The total completion time of schedule S The total completion time of jobs in TC(S[i]) schedule S[i] a
Hereafter, we will denote the size of set W as jWj.
For further simplicity, when there is no ambiguity, we abbreviate ND(r), p(S[i,l]), Cj(S), TC(S), and TC(S[i]) to ND, p[i, l], Cj, TC, and TC[i], respectively. The basic assumptions made in this study are illustrated as follows: All nO jobs are available at time zero. A machine can process at most one job at a time. The jobs are independent of each other, no pre-emption of jobs is allowed, and no machine eligibility constraints are imposed. The original schedule has been planned by optimizing the total completion time (i.e., p⁄). At most one rework disruption occurs after the planning of the optimal original schedule.1 The rework jobs come from jobs those start at or after time zero, and are completed before time DT. In manufacturing practice, it is not difficult to identify a relatively fixed rework rate l 2 (0, 1], which is the ratio of nR to the number of jobs completed before time DT. Clearly, nR 6 nO. The processing times of the rework jobs are independent of the previous processings. No other disruptions are observed before the concerned rework disruption is recovered. The description of the rescheduling issue under investigation is as follow. Beginning at time zero, the original schedule p⁄ is executed smoothly in the identical parallel-machine environment until the time DT > 0. At this point of DT, a set of nR originally finish jobs (R={Rr, r = 1, 2, . . . , nR}) re-arrives to be reworked with no warning, thereby leading to the unexpected job rework disruption. Rescheduling procedures are necessary to accommodate the rework jobs. The jobs that have not started by time DT and the nR rework jobs together form the set of nRS jobs to be rescheduled, thus implying that nR 6 nRS 6 nO. The total completion time (TC) and the number of disrupted jobs (ND) are considered as the measures of efficiency and stability, respectively. A principle of effective rescheduling (Wu et al., 1993; Vieira et al., 2003; Azizoglu & Alagoz, 2005), is that inserting the rework jobs into the original schedule should not lead to excessive differences in job assignments 1
Thus, our study falls within the scope of rescheduling with single-disruption.
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
4
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
and major sacrifices in scheduling efficiency. Therefore, the main objective of our rescheduling problem is to find efficient reschedule(s) in order to make a trade-off between TC and ND. Note that, with respect to the criteria TC and ND, schedule r is referred to as an efficient schedule if and only if r is a feasible schedule, and there exists no other feasible schedule r0 such that TC(r0 ) 6 TC(r) and ND(r0 ) 6 ND(r), where at least one strict inequality holds. In our study, the rescheduling is formulated as one of three bicriteria scheduling problems, the first two problems are the hierarchical optimization problems and the latter one is a simultaneous optimization problem. By extending the three-field classification scheme ajbjc for scheduling by Graham, Lawler, Lenstra, and Rinnooy Kan (1979) and using special representations for multi-criteria scheduling (T’kindt & Billaut, 2005), we formally define our rescheduling problems below. Before entering into details, specifications on the field b are provided. Since the rework disruption occurs unpredictably, there are probably some non-preemptive jobs that start before the occurring time DT but completed after DT. In the rescheduling process, it is necessary to consider different initial available times of the machines. To accommodate this, notation ai is included into the field b, which means arbitrary initial machine available time. Indeed, the value of ai(i = 1, 2, . . . , m) is equal to either the time DT at which the disruption occurs, or the completion time of the job in process at time DT on the machine i (ai P DT). Moreover, to indicate the job rework disruption explicitly, we add a new entry used as rew into the field b. Pjai, rewjLex(ND, TC)2 or Pjai, rew, ND = 0jTC: under the disruption rew that occurs at time DT with the re-arrival of jobs for rework, the identical parallel-machine rescheduling problem of minimizing the total completion time subject to arbitrary machine initial available times and the minimum number of disrupted jobs (i.e., ND = 0). Pjai, rewjLex(TC, ND): under the disruption rew, the identical parallel-machine rescheduling problem of minimizing the number of disrupted jobs subject to arbitrary machine initial available times and the minimum of the total completion time. Pjai, rewj#(TC, ND): under the disruption rew, the identical parallel-machine rescheduling problem of generating all efficient schedules with respect to the total completion time and the number of disrupted jobs subject to arbitrary machine initial available times. Note that, the total completion time is a regular performance criterion, removing any idle time in a feasible schedule r maintains feasibility, and does not increase the value of TC. On the other hand, less machine idle time does not result in the larger value of ND. Hence, the three rescheduling problems belong to the class of no-idle scheduling. 4. Solution procedures In this section, we address the proposed three rescheduling problems with bi-criteria of total completion time and number of disrupted jobs in turn, and explore their respective solutions. 4.1. Preliminaries Consider the problem Pj jTC on m identical parallel machines with n jobs, where all machines are available at time zero. The ordering by the Shortest Processing Time first (SPT) rule generates an optimal schedule (Smith, 1956). With the assumption that p1 2
The criterion listed first in the argument of Lex is the more important one.
6 p2 6 . . . 6 pn, in the SPT schedule, without loss of generality, the job with the smallest processing time (i.e., job 1) starts on machine 1 at time zero, the job with the second smallest processing time (i.e., job 2) starts on machine 2 at time zero, and so on; afterwards, the job (m + 1) with the processing time of pm+1 follows job 1 on machine 1, the job (m + 2) with the processing time of pm+2 follows job 2 on machine 2, and so on. When it allows the machines to become initially available at arbitrary times (i.e., ai for i = 1, 2, . . . , m), the SPT rule remains its optimality whereby the job with the smallest processing time among the unscheduled jobs is iteratively assigned to the machine with the smallest already assigned load (Conway, Maxwell, & Miller, 1967; Kaspi & Montreuil, 1988; Baker & Trietsch, 2009). These ideas directly lead to the following lemma for problem PjaijTC. Lemma 1. Problem PjaijTC is polynomially solvable, and the time complexity is O(nlogn). Note that, The computational complexity depends only on sequencing n jobs in SPT order. Note also that, there is more than one schedule that is optimal for problem PjaijTC. These alternative optima can be observed when the total completion time is written as the sum of its parts in terms of job positions and assigned machines. Specifically, by means of the symbol [i, l] and the number ni of jobs on machine i, the total completion time can be expressed as:
TC ¼ TC ½1 þ TC ½2 þ . . . þ TC ½i þ . . . þ TC ½m
ð1Þ
TC ½i ¼ ni ai þ ni p½i;ni þ ðni 1Þp½i;ni 1 þ ðni 2Þp½i;ni 2 þ . . . þ 2p½i;2 þ p½i;1 ;
i ¼ 1; 2; . . . ; m
ð2Þ
From Eq. (2), the contribution of the job occupying the lth position from the last on machine i to the total processing time is due to the product of l p[i,l], where ‘l’ is its coefficient. Further, for a certain job, assigning it to the same position from the final one but on a different machine results in the identical contribution to the objective of TC. Hence, in an optimal schedule for problem PjaijTC, taking any interchange among the jobs with identical coefficient in their corresponding products would maintain the optimality. This supports the existence of alternative optimal solutions. 4.2. On the solution of Pjai, rewjLex(ND, TC) As is assumed, the original schedule p⁄ is planned by solving problem Pj jTC, and the nO original jobs in it are ordered by the SPT rule. With a close look at the SPT-ordered p⁄, the jobs on the same machine are also scheduled in SPT order. When the job rework disruption occurs, in case of forcing ND to its minimum value of zero, each job of the set R is assigned to the machine on which its previous processing was done. Moreover, due to the minimization of the total completion time, there should be no violation of the SPT rule in the new generated schedule after rescheduling. Algorithm 1 implements these ideas formally. Algorithm 1. Solution procedures to Pjai, rewjLex(ND, TC) Step 0. Let p½i denote the partial schedule of p⁄ over the jobs assigned to machine i, where i = 1, 2, . . . , m. R = {Rr; r = 1, 2, . . . , nR}. Step 1. For each of the m machines (with index i from 1 to m), ~ ½i , where identify the partial schedule of p½i , denoted as p each job starts at or after ai, and the SPT order is retained. Step 2. If job set R = ;, then go to Step 3. Otherwise, set r 1. Step 2.1. Identify the machine to which job Rr was previously assigned in p⁄, and note it as mr 2 {1, 2, . . . , m}.
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
Step 2.2. Reassign job Rr to machine mr, and insert job Rr into p~ ½mr such that the SPT ordering is retained. Update ~ ½mr . the incumbent p Step 2.3. Set r r + 1. If r 6 nR, then go to Step 2.1. Step 3. Collect the resulting partial schedules into the final sche~ ½i , for i = 1, 2, . . . , m). Output r⁄⁄. dule r⁄⁄. (i.e., r p ½i Stop.
Theorem 1. Algorithm 1 provides an optimal schedule for problem Pjai, rewjLex(ND, TC), and the time complexity is O(nR (nO + nRS)). Proof. Step 2.2 iteratively assigns the rework job to the same machine that previously processed it, which results in no disrupted rework jobs. On the other hand, as is shown in Step 3, for each of the jobs that do not start before time DT, there is no change of machine assignment in p⁄ and r⁄⁄. Hence, the value of ND(r⁄⁄) is kept at its minimum value of zero. On the basis of ND(r⁄⁄) = 0, the assignment of all jobs to be rescheduled can be uniquely determined. By taking into account the secondary criterion, i.e., the total completion time, the SPT ordering of the assigned jobs to each machine is maintained. Therefore, the optimality of the criterion TC is preserved by this algorithm subject to no disrupted jobs. With respect to the computational complexity, Step 1 deter~ ½i ði ¼ 1; 2; . . . ; mÞ by means of the mining m partial schedules p part of p⁄ prior to time DT requires O(m) time. If the job set R is not empty, Step 2 is run repeatedly for nR times. In each iteration, Step 2.3 only consumes constant time; Step 2.1 finding the machine to which the rework job is previously assigned in p⁄ requires at most O(nO) time; The time of Step 2.2 is upper-bounded by O(nRS). Clearly, Step 3 requires at most O(m) time. Therefore, the overall time complexity of Algorithm 1 is O(nR (nO + nRS)), as desired. This completes the proof. h
4.3. On the solution of Pjai, rewjLex(TC, ND) As mentioned in Section 4.1, problem PjaijTC can be solved in O(n log n) time by using the SPT rule. As an extension of it, the rescheduling problem Pjai, rewjTC is solvable in O(nRS log nRS) time. However, the resulting schedule by the SPT sequence over nRS jobs may not be optimal for the criterion of Lex(TC, ND), since there may exist other schedules with the same minimum value of TC, but less disrupted jobs. With an observation of the expression of the total completion time (i.e., Eqs. (1) and (2)), these desired schedules can be obtained by taking appropriate interchanges among the jobs occupying the same position from the final one but on different machines. If not so, arbitrary job interchanges likely lead to the increase of the TC value, due to possible changes in the coefficients of component products. The above discussions directly result in Algorithm 2 below, by which the optimal solution to problem Pjai, rewjLex(TC, ND) is derived. Algorithm 2. Solution procedures to Pjai, rewjLex(TC, ND) Step 1. Generate the schedule r⁄by solving problem Pjai, rewjTC over nRS jobs. Step 2. Count the number of jobs assigned to each machine in r⁄, and note the maximum number as lmax. Step 3. Let Ml(r⁄) be the set of machines that process at least l jobs in r⁄. Construct a series of machine sets of {Ml(r⁄); l = 1, 2, . . . , lmax}. Similarly, let Jl(r⁄) be the set of jobs ordered at the l-th position from the final one in r⁄, thereby constructing a series of job sets of {Jl(r⁄); l = 1, 2, . . . , lmax}.
5
Step 4. Let Ol(p⁄) be the set of machines that process at least one job of set Jl(r⁄) in the original schedule p⁄. Construct another series of machine sets of {Ol(p⁄); l = 1, 2, . . . , lmax}. Set l 1. Step 5. If l > lmax, then go to Step 7. Otherwise, Step 5.1. Reassign jMl(r⁄) \ Ol(p⁄)j jobs in set Jl(r⁄) such that they are processed on their originally assigned machine. Step 5.2. Reassign the remaining jJl(r⁄)j jMl(r⁄) \ Ol(p⁄)j jobs in set Jl(r⁄) each to a machine in Ml(r⁄)nOl(p⁄), thereby resulting in the partial schedule r ½l . Step 6. Set l l + 1, and go to Step 5. Step 7. Collect the resulting partial schedules into the final reschedule r⁄⁄. Output r⁄⁄. Stop. Before presenting the correctness of Algorithm 2, we present several relationships between the machine/ job sets defined in it, which will be used hereafter. Remark 1. By definitions, jMl(r⁄)j = jJl(r⁄)j 6 m for l = 1, 2, . . . , lmax.
Remark 2. By regarding jMl(r⁄) \ Ol(p⁄)j 6 jMl(r⁄)j and Remark 1, it follows that jMl(r⁄)\Ol(p⁄)j 6 jJl(r⁄)j for l = 1, 2, . . . , lmax. Remark 3. Although the set Ol(p⁄) may differ from Ml(r⁄) in membership, it is true that jOl(p⁄)j 6 jMl(r⁄)j for l = 1, 2, . . . , lmax. Remark 4. By the nature of positions from the final one, it is true that Ml+1(r⁄) # Ml(r⁄) for l = 1, 2, . . . , lmax 1. Theorem 2. Algorithm 2 provides an optimal schedule for problem Pjai, rewj Lex(TC, ND), and the time complexity is O(nO nRS). Proof. As is known, r⁄ corresponds to an optimal solution to problem Pjai, rewjTC, and its total completion time value is the minimum. On the basis of r⁄, taking any interchange within job set Jl(r⁄) (l 2 {1, 2, . . . , lmax}) between the according machines will produce a new reschedule, which has the same total completion time value as that of r⁄. In this principle, the iterative running of Steps 5 and 6 minimizes the number of disrupted jobs as possible by taking appropriate interchanges among jobs of Jl(r⁄). Specifically, focused on the resulting partial reschedule r ½l , the number of disrupted jobs cannot be less than jJl(r⁄)j jMl(r⁄)\ Ol(p⁄)j since there can be at most jMl(r⁄) \ Ol(p⁄)j jobs assigned to their respective original machines (see Step 5.1); whereas, the reassignment of Step 5.2 exactly produces jJl(r⁄)j jMl(r⁄) \ Ol(p⁄)j disrupted jobs. Therefore, the correctness of Algorithm 2 is justified. We now discuss the complexity of Algorithm 2. Step 1 solving problem Pjai, rewjTC requires O(nRS lognRS) time. Step 2 achieving the value of lmax takes at most O(nRS) time. Step 3 constructing sets Ml(r⁄) and Jl(r⁄) for l = 1, 2, . . . , lmax can be executed in O(nRS) time. Step 4 constructing the machine sets Ol(p⁄) for l = 1, 2, . . . , lmax based on p⁄ requires O(nO nRS) time. The reassignment of jobs to be rescheduled is done by running Steps 5 and 6 iteratively, and requires at most O(nRS m) time. Step 7 consumes O(nRS) time. Since nO P nRS and nO P m, the overall time complexity of Algorithm 2, dependent on Step 4, amounts to O(nO nRS). h
4.4. Generation of all efficient schedules to Pjai, rewj#(TC, ND) Lexicographical optimizations between the two criteria TC and ND have been achieved by Algorithms 1 and 2. Indeed, the two
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
6
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
schedules obtained by Algorithms 1 and 2 together determine the ranges for both ND and TC values over all efficient schedules. Let ND0 be the ND value of the optimal schedule for problem P j ai, rewjLex(TC, ND). Then, the ND range over all efficient schedules is [0, ND0 ]. On the other hand, let TC0 be the total completion time value of the schedule (with no disrupted jobs) obtained by Algorithm 1, and TC⁄ be the total completion time value of an optimal solution to problem Pjai, rewjTC (i.e., r⁄). Then, the range of the total completion time value over all efficient schedules is [TC⁄, TC0 ]. Due to the conflicting nature of bi-criteria TC and ND, the following lemma is a straightforward result. Lemma 2. For the optimal schedule r for problem Pjai, rew, k ND = kjTC, where k 2 [0, ND0 ], there exists no schedule r0 such that either ND(r0 ) 6 k and TCðr0 Þ < TC r or ND(r0 ) < k and k 0 TCðr Þ 6 TCðrk Þ. Thus, all efficient schedules for problem Pjai, rewj#(TC, ND) can be generated through solving a group of problems Pjai, rew, ND = kjTC with varying k over the range [0, ND0 ]. In what follows, we will confirm the existence of an efficient schedule for each ND value over [0, ND0 ], and show how to generate these efficient schedules. Lemma 3. There is an optimal schedule to problem Pjai, rew, ND = kjTC, where k 2 {0, 1, . . . , ND0 }. Proof. An optimal schedule to problem Pjai, rew, ND = ND0 1jTC can be obtained by moving one of the disrupted jobs in an optimal schedule to problem Pjai, rew, ND = ND0 jTC (i.e., Pjai, rewjLex(TC, ND)) to its original machine. This desired schedule is to be found by enumeration of all possible moves. Specifically, by tentatively moving each of these ND0 disrupted jobs to its original machine such that the SPT ordering on the machine is retained, the one chosen for formal moving should produce the minimum increasing amount of the total completion time. Similarly, an optimal schedule to problem Pjai, rew, ND = ND0 2jTC can be obtained by moving one of the disrupted jobs in an optimal schedule to problem Pjai, rew, ND = ND0 1jTC to its original machine. By extending the above ideas, an optimal schedule to problem Pjai, rew, ND = kjTC where k 2 {ND0 -3, . . ., 1, 0} can be obtained in turn. This completes the proof. h With Lemmas 2 and 3 in mind, we can directly obtain the following theorem. Theorem 3. There exists an efficient solution to problem Pjai, rewj# (TC, ND) for each ND value over [0,ND0 ]. Now, it is clear that all efficient schedules of problem Pjai, rewj# (TC, ND) can be obtained through solving a series of problems Pjai, rew, ND = kjTC for k = 0, 1, . . . , ND0 . Theorem 4. There exists an optimal schedule to problem Pjai, rewjTC, where apart from the jobs of R, other jobs planned to start processing at or after time DT in p⁄ are assigned to their original machines. Proof. To prove this theorem, it suffices to find another reschedule over nRS jobs with the same total completion time value as that of r⁄, and especially the jobs that start at or after DT in p⁄ are processed on their respective original machines in it. Without loss of generality, although r⁄ is a optimal schedule to problem Pjai, rewjTC, several jobs in it may be not assigned to their original machines. Due to this proof very related to Algorithm 2, the set notations Jl(r⁄) and Ml(r⁄) for l = 1, 2, . . . , lmax are inherited. Besides, for ease of exposition, we let Ol(p⁄, J) be the set of machines that process the jobs of J # Jl(r⁄) in p⁄, and when there is no ambiguity, Ol(p⁄, Jl(r⁄)) is simplified to Ol(p⁄).
It is noted that Ml(r⁄) could be different from Ol(p⁄) in size or membership. Regarding this, our reasoning begins with the following two disjunctive cases about Ml(r⁄) and Ol(p⁄). h Case 1: jMl(r⁄) \ Ol(p⁄)j = m In such a case, it follows that jMl(r⁄)j = jOl(p⁄)j = m, thus implying Ml(r⁄) = Ol(p⁄). By using Algorithm 2, all jobs of Jl(r⁄) (including jobs of Jl(r⁄)nR) are reassigned to their respective original machines without increasing the total completion time value. Case 2: jMl(r⁄) \ Ol(p⁄)j < m By further considering whether the size of Ml(r⁄) is equal to m or not, this case includes two subcases. Case 2.1: jMl(r⁄)j = m, and Ol(p⁄) Ml(r⁄) In this subcase, it is true that jJl(r⁄)j = jMl(r⁄)j = m, jJl(r⁄)nRj 6 m, and jOl(p⁄)j < m. Further, we distinguish three possibilities by considering the relationship between jJl(r⁄)nRj and jOl(p⁄)j. Case 2.1.1: jJl(r⁄)nRj = jOl(p⁄)j. By performing Algorithm 2 in a particular manner, jobs of Jl(r⁄)nR can be accordingly reassigned to their original jOl(p⁄)j machines with no increase in the total completion time value. Case 2.1.2: jJl(r⁄)nRj > jOl(p⁄)j. Since jOl(p⁄)j P jOl(p⁄, Jl(r⁄)nR)j, it follows that jJl(r⁄)nRj > jOl(p⁄, Jl(r⁄)nR)j, thereby implying that at least two jobs of Jl(r⁄)nR are assigned to one single machine in the original schedule p⁄. Indeed, the case is unavailable, which can be justified by contradiction. Assume that Ja and Jb are the two jobs of Jl(r⁄)nR. In the SPT-ordered p⁄, there are at least m 1 jobs with the processing times which lie between that of Ja and Jb. Note that, these m 1 jobs remain in schedule r⁄. Also, it is likely that the processing time of some rework job lies between that of Ja and Jb. Thus, the number of jobs in r⁄ whose processing times lie between that of Ja and Jb is not less than m 1. As known, the size of set Jl(r⁄) cannot exceed m. It is impossible for jobs Ja and Jb to be included into a single set Jl(r⁄) at the same time, which contradicts the assumption of jobs Ja and Jb. Hence, the case where jJl(r⁄)Jl(r⁄)nRj > jOl(p⁄)j cannot exist. Case 2.1.3: jJl(r⁄)nRj < jOl(p⁄)j. More specifically, Case 2.1.3.1: jOl(p⁄, Jl(r⁄)nR)j = jJl(r⁄)nRj < jOl(p⁄)j. By performing Algorithm 2 in a particular way, jobs of Jl(r⁄)nR can be accordingly reassigned to their original jOl(p⁄, Jl(r⁄)nR)j machines in p⁄ without increase in the total completion time value. Case 2.1.3.2: jJl(r⁄)nRj < jOl(p⁄, Jl(r⁄)nR)j. This contradicts the fact that one job is assigned to at most one machine. Hence, the case cannot exist. Case 2.1.3.3: jOl(p⁄, Jl(r⁄)nR)j < jJl(r⁄)nRj < jOl(p⁄)j. We can now resort to a similar reasoning as that in Case 2.1.2 to show the contradiction. This case is also unavailable. Case 2.2: jMl(r⁄)j < m By considering whether set Ml(r⁄) is identical with Ol(p⁄) or not, this subcase can be further distinguished by two disjunctive possibilities. Case 2.2.1: Ml(r⁄) = Ol(p⁄). It follows that jJl(r⁄)j = jOl(p⁄)j from jJl(r⁄)j = jMl(r⁄)j. By applying Algorithm 2, jobs of Jl(r⁄) are reassigned to their original machines such that no jobs are disrupted. It is guaranteed that all jobs of Jl(r⁄)nR are reassigned to their original machines, causing no increase in the total completion time value.
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
7
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
Case 2.2.2: Ml(r⁄) – Ol(p⁄). With an observation of r⁄, there may exist some rework jobs in the job set Jl(r⁄) ⁄ ⁄ ⁄ l(r ) [ Jl+1(r ) [ . . . [ Jlmax(r ). For any job in set Jl(⁄ r )nR –;, it is necessarily processed on a machine of set Ml(r⁄) [ Ml+1(r⁄) [ . . . [ Mlmax(r⁄) in p⁄. From Remark 4, we obtain that Ol(p⁄, Jl(r⁄)nR) # Ml(r⁄). It is safe that Ol(p⁄, Jl(r⁄)nR) # Ml(r⁄) \ Ol(p⁄) by taking Ol(p⁄, Jl(r⁄)nR) # Ol(p⁄) into account, thus implying jOl(p⁄, Jl(r⁄)nR)j < m. Similar to Case 2.1.3, there are three possibilities for the relationship between jJl(r⁄)nRj and jOl(p⁄, Jl(r⁄)nR)j. Case 2.2.2.1: jOl(p⁄, Jl(r⁄)nR)j = jJl(r⁄)nRj. Jobs of Jl(r⁄)nR can be reassigned to jOl(p⁄, Jl(r⁄)nR)j machines by using Algorithm 2. Since Ol(p⁄, Jl(r⁄)nR) # Ml(r⁄) \ Ol(p⁄), # Ml(r⁄) \ Ol(p⁄), the jobs of Jl(r⁄)nR are processed on their respective original machines in the resulting schedule. Case 2.2.2.2: jOl(p⁄, Jl(r⁄)nR)j > jJl(r⁄)nRj. Again, this case is not available since it contradicts the fact that one job is assigned to at most one machine. Case 2.2.2.3: jOl(p⁄, Jl(r⁄)nR)j < jJl(r⁄)nRj. We can use the same reasoning as in Case 2.1.3.3 to show this contradiction. This case is also unavailable.
It is noteworthy that, in each of available cases, the schedule obtained by using Algorithm 2 has the same total completion time value as r⁄, while those jobs other than the jobs of R can be assigned to their original machines. This completes the proof. h As a direct consequence of Theorem 4, the following corollary can be established. Corollary 1. By performing Algorithm 2, an optimal solution to problem Pjai, rew, ND = ND0 jTC(or Pjai, rewjLex(TC,ND)) can be derived, where the ND0 disrupted jobs come from the rework job set R, and ND0 6 nR.
Theorem 5. There exists an optimal schedule to problem Pjai, rew, ND = kjTC(k 2 {0, 1, 2, . . . , ND0 }), in which all of the k disrupted jobs are from the set R.
Proof. As discussed in the proof of Theorem 3, the optimal schedule to problem Pjai, rew, ND = kjTC can be generated from the solution of problem Pjai, rew, ND = k + 1jTC for k = 0, 1, . . . , ND0 1. During the generation process, only one particular disrupted job is moved to its original machine, and no other changes in job assignment take place. From Corollary 1, by using Algorithm 2, we can obtain an optimal schedule to problem Pjai, rew, ND = ND0 jTC, where all ND0 disrupted jobs are from the rework jobs set R. Based on this resulted schedule, moving particular ND0 k disrupted jobs to their original machines, meantime remaining jobs that are processed on each machine in SPT order, will produce the optimal solution to problem Pjai, rew, ND = kjTC for k = ND0 1, ND0 2, . . ., 0, in which, of course, other jobs in addition to those of set R are assigned to their respective original machines. This completes the proof. h Note that, in an optimal schedule to problem Pjai, rew, ND = kjTC, where k 2 {1, 2, . . . , ND0 }, moving each of the k disrupted jobs to its original machine necessarily leads to a certain increasing amount of the total completion time. The following theorem shows how to calculate the increasing amount after moving one disrupted job to its original machine. Theorem 6. Given the optimal schedule r0 to problem Pjai, rew, ND = kjTC (k 2 {1, 2, . . . , ND0 }). In r0 , a disrupted job JD takes the l0 th position from the last one on machine A, and its processing time and original machine are pD and B, where B – A and A, B 2 {1, 2, . . . , m}. Besides, the numbers of jobs assigned to machines A and B in r0 are noted as nA and nB, respectively. After moving job JD to machine B and keeping all the jobs on machine B sequenced in SPT order, a new schedule r00 is obtained (see Fig. 1), where the position from the last one of job JD on machine B is l00 6 nB + 1. Then, the increasing amount of the total completion time from r0 to r00 can be calculated as 00
0
TCðr00 Þ TCðr0 Þ ¼ ðaB aA Þ þ ðl l ÞpD nA nX B þ1 X þ p r00½B;x p r0½A;x x¼l00 þ1
ð3Þ
x¼l0 þ1
Proof. The difference between r0 and r00 lies in the partial schedules on machines A and B. It follows that
Fig. 1. Illustration of the change from r0 to r00 .
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
8
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
TC ðr00 Þ TC ðr0 Þ ¼ TC r00½A þ TC r00½B TC r0½A TC r0½B
ð4Þ
With regards to the schedule r0 , the total completion time values for partial schedules r0½A and r0½B can be calculated by
TC r0½A ¼ aA þ p r0½A;nA þ aA þ p r0½A;nA þ p r0½A;nA 1 ! nA X 0 þ þ aA þ p r½A;x x¼l0 þ1
þ aA þ
nA X p r0½A;x þ pD x¼l0 þ1
þ aA þ
nA X p r0½A;x
! þ
x¼l00 þ1 nA X p r0½A;x
x¼1
ð5Þ
TC r0½B ¼ aB þ p r0½B;nB þ aB þ p r0½B;nB þ p r0½B;nB 1 ! nB X 0 þ p r½B;x þ þ aB þ x¼l00
!
x¼1
¼ nB aB þ nB p r0½B;nB þ ðnB 1Þp r0½B;nB 1 þ 00 þ l p r0½B;l00 þ þ p r0½B;1
ð13Þ
x¼l0 þ1
and
nB X þ aB þ p r0½B;x
TC ðr00 Þ TC ðr0 Þ ¼ TC r00½A TC r0½A þ TC r00½B TC r0½B 0 ¼ aA l pD p r0½A;nA p r0½A;nA 1 00 p r0½A;l0 þ1 þ aB þ l pD þ p r00½B;nB þ1 þ p r00½B;nB þ þ p r00½B;l00 þ1 nX B þ1 00 0 p r00½B;x ¼ ðaB aA Þ þ l l pD þ
!
¼ nA aA þ nA p r0½A;nA þ ðnA 1Þp r0½A;nA 1 þ 0 0 þ l þ 1 p r0½A;l0 þ1 þ l pD þ þ p r0½A;1
Substituting Eqs. (11) and (12) into Eq. (4), it is easy to deduce that
ð6Þ
This completes the proof. h Theorems 3–6 as well as Corollary 1 together lead to the following algorithm that generates all efficient schedules to problem Pjai, rewj# (TC, ND). Before entering into details, to facilitate the presentation, let rEnd be the efficient schedule with nd 2 {0, 1, . . . , ND0 } disðdÞ rupted jobs, rnd1 (d 2 {1, 2, . . . , nd}) be a temporary schedule in the generation process of rEnd1 , and DTCnd1(d) be the increasing ðdÞ amount of the time from rEnd total completion to rnd1 . Besides, we use DJ rEnd ¼ DJd rEnd ; d ¼ 1; 2; . . . ; nd and OM rEnd ¼ E OM d rnd ; d ¼ 1; 2; . . . ; nd to collect all nd disrupted jobs in rEnd , and their original machines, respectively. Algorithm 3. Generating all efficient schedules to Pjai, rewj# (TC, ND)
Similarly, with regards to r00
TC r00½A ¼ ðnA 1ÞaA þ ðnA 1Þp r00½A;nA 1 þ ðnA 0 2Þp r00½A;nA 2 þ þ l p r00½A;l0 þ þ p r00½A;1
ð7Þ
and
TC r00½B ¼ ðnB þ 1ÞaB þ ðnB þ 1Þp r00½B;nB þ1 þ nB p r00½B;nB 00 00 þ þ l þ 1 p r00½B;l00 þ1 þ l pD þ þ p r00½B;1
ð8Þ
With a careful observation on schedules r0 and r00 , we can find that
8 0 > < p r00½A;x ; if x ¼ 1; 2; . . . ; l 1; ¼ > : p r00½A;x1 ; if x ¼ l0 þ 1; l0 þ 2; . . . ; nA :
8 00 > < p r00½B;x ; if x ¼ 1; 2; . . . ; l 1; ¼ > : p r00½B;xþ1 ; if x ¼ l00 ; l00 þ 1; . . . ; nB :
p r0½A;x
p r0½B;x
ð9Þ
ð10Þ
By means of Eqs. (9) and (10), we obtain the following equations:
0 TC r00½A TC r0½A ¼ aA l pD p r0½A;nA p r0½A;nA 1 p r0½A;l0 þ1
ð11Þ
00 TC r00½B TC r0½B ¼ aB þ l pD þ p r00½B;nB þ1 þ p r00½B;nB þ þ p r00½B;l00 þ1
ð12Þ
Step 1. Reschedule nRS jobs on m machines by using Algorithm 2 such that all of the disrupted jobs are from the rework job set R, and note the resulting schedule as rEND0 . Step 2. Identify the ND0 disrupted jobs of rEND0 , and store them and their corresponding original machines in DJðrEND0 Þ ¼ fDJd ðrEND0 Þ; d ¼ 1; 2; . . . ; ND0g and OMðrEND0 Þ ¼ fOMd ðrEND0 Þ; d ¼ 1; 2; . . . ; ND0 g, respectively. Initialize the variable nd by ND0 . Step 3. If nd = 0, then go to Step 5. Otherwise, set d 1. Step 3.1. Move job DJ d rEnd to its original machine OM d rEnd such that the SPT order is kept on this machine, thus ðdÞ resulting in a temporary schedule rnd1 . ðdÞ Step 3.2. By Eq. (3), compute D TC nd1 ðdÞ ¼ TC rnd1 TC rEnd . Step 3.3. d d + 1. If d 6 nd, then go to Step 3.1. ðd Þ Step 4. Find the schedule rnd1 such that d⁄ arg min{ DTC (d); nd1 ðd Þ E E d = 1, 2, . . . , nd}. Then, set r r , DJ r nd1 nd1 nd1 DJ rEnd n DJ d rEnd ; OM rEnd1 OM rEnd n OM d rEnd . Set nd nd 1, and go to Step 3. Step 5. Collect all efficient schedules into {rEnd ; nd = 0, 1, . . . , ND0 }, and output them. Stop. Turn to the time complexity of Algorithm 3. In Step 1, by applying Algorithm 2, rEND0 can be obtained in O(nRS nO) time. Step 2 identifying the disrupted jobs of rEND0 requires at most O(nRS nO) time. Steps 3 and 4 are repeated for ND0 times. In each iteration, Steps 3.1–3.3 are repeated for nd 6 ND0 times; Step 4 can be executed in O(nd) time. More specifically, Step 3.1 moving a job into a SPT job list and forming a new SPT list requires at most O(nRS) time; Step 3.2 computing the increasing amount of the total completion time by Eq. (3) also requires at most O(nRS) time; Step 3.3
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
just consumes constant time. In view of that ND0 6 nR, the overall time complexity of Algorithm 3 can be upper-bounded by Oð nO þ n2R nRS Þ. Theorem 7. Algorithm 3 produces an optimal schedule for problem Pjai, rewj# (TC,ND) with the time complexity of O ðnO þ n2R Þ nRS .
9
is the minimum of 757; but the number of disrupted jobs is up to 21. After performing the steps of set construction (i.e., Steps 3 and 4) in Algorithm 2 based on the Gantt chart of Fig. 4, we obtain that
M 1 ðr Þ ¼ f1; 2; 3; 4g J 1 ðr Þ ¼ f24; 25; 26; 27g O1 ðp Þ ¼ f4; 1; 2; 3g M 2 ðr Þ ¼ f1; 2; 3; 4g J 2 ðr Þ ¼ f20; 21; 22; 23g O2 ðp Þ ¼ f4; 1; 2; 3g M 3 ðr Þ ¼ f1; 2; 3; 4g J 3 ðr Þ ¼ f6; 17; 18; 19g O3 ðp Þ ¼ f1; 2; 3g M 4 ðr Þ ¼ f1; 2; 3; 4g J 4 ðr Þ ¼ f14; 15; 5; 16g O4 ðp Þ ¼ f2; 3; 1; 4g
5. An illustrative example In this section, we illustrate the proposed rescheduling algorithms through a sample instance. In this example, there are four identical parallel machines and 27 original jobs. The processing times of the original jobs are provided in Table 1. Initially, all original jobs are necessarily scheduled by using the SPT rule so as to minimize the total completion time. The original schedule over 27 jobs on 4 machines corresponds to the Gantt chart of Fig. 2, where the total completion time value is 636. It is assumed that the single job rework disruption occurs at time 6, and jobs of setR = {1, 2, 3, 5, 6} have to be reworked, thus implying that DT = 6 and nR = 5. The rework processing time of each job of set R is also known at time 6, i.e., p01 ¼ 2, p02 ¼ 2, p03 ¼ 6; p05 ¼ 8; p06 ¼ 9. From Fig. 2, at the point of time 6, jobs 7, 8, 9, and 10 are being processed. Since preemption is not allowed, the initially available times of four machines for rescheduling are: a1 = 9 (completion time of job 9), a2 = 9 (completion time of job 10), a3 = 7 (completion time of job 7), a4 = 7 (completion time of job 8), respectively. Further, jobs over {11, 12, . . . , 27} [ R are to be rescheduled in this example, implying that nRS = 22. At time 6, by applying Algorithm 1 over the nRS = 22 jobs to be rescheduled on m machines, we can obtain an optimal schedule to problem Pjai, rewjLex(ND, TC) of this example (see the Gantt chart in Fig. 3). It has no disrupted job but a rather large total completion time value of 767, i.e., ND = 0 and TC0 = 767. Again, at the same time DT = 6, an optimal schedule for problem Pjai, rewjTC of this example can be generated by the SPT rule, as shown in Fig. 4. In this reschedule, its total completion time value
Table 1 Processing times of the original jobs in the example. j
Pj
j
Pj
j
Pj
1 2 3 4 5 6 7 8 9
2 2 3 3 3 3 4 4 4
10 11 12 13 14 15 16 17 18
4 5 6 6 7 7 9 10 11
19 20 21 22 23 24 25 26 27
12 13 15 16 16 17 18 19 20
M 5 ðr Þ ¼ f1; 2; 3; 4g J 5 ðr Þ ¼ f11; 3; 12; 13g O5 ðp Þ ¼ f3; 4; 1g M 6 ðr Þ ¼ f3; 4g J 6 ðr Þ ¼ f1; 2g O6 ðp Þ ¼ f1; 2g Subsequently, by applying the systematic reassignment procedures of Algorithm 2 (i.e., Steps 5 and 6), the optimal schedule to problem Pjai, rewjLex(TC, ND) of this example can be resulted. The Gantt charts of Figs. 5 and 6 correspond to two alternative optimal solutions. In both of them, the number of disrupted jobs reduces from 21 to 4, while the total completion time value remains the minimum of 757. It is noted that all of the four disrupted jobs (i.e., {1, 2, 3, 6}) in the Gantt chart of Fig. 6 are from the rework job set R. With respect to problem Pjai, rewj#(TC, ND) of this example, there is an efficient schedule for each ND value of {0, 1, 2, 3, 4}, thus implying that ND0 = 4. Beginning with the Gantt chart of Fig. 6, we can generate all efficient solutions to problem Pjai, rewj#(TC, ND) of this example by using Algorithm 3. Fig. 7 schematically illustrates the generation process of all efficient solutions. More specifically, the efficient solutions to problem Pjai, rewj#(TC, ND) of this example with ND = 3, 2 and 1 are depicted in Figs. 8–10, respectively. Finally, the TC and ND values of all the efficient schedules to problem Pjai, rewj#(TC, ND) of this example are summarized in Fig. 11. 6. Conclusions and future work In this paper, we address the issue of identical parallel-machine rescheduling subject to the job rework disruption. We consider two conflicting criteria of the total completion time and the number of disrupted jobs, where the latter one optimizes the stability of the generated schedule after disruption. The addressed rescheduling issue is modeled as three bi-criteria scheduling problems by both lexicographical and simultaneous optimization approaches. Polynomial-time algorithm is proposed for each bi-criteria model. It is surprising to note that generation of all efficient schedules for both criteria can be also achieved in polynomial time. We hope that our present work can stimulate potential extensions in rescheduling with the job rework disruption, the most noteworthy of which include: (1) extending the relevant results to more general and complex manufacturing configurations, such
Fig. 2. The original schedule before disruption in this example problem.
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
10
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
Fig. 3. The optimal schedule to problem Pjai, rewjLex(ND, TC) of this present example.
Fig. 4. An optimal schedule to problem Pjai, rewjTC of this present example without applying Algorithm 2.
Fig. 5. An optimal schedule to problem Pjai, rewjLex(TC, ND) of this present example.
Fig. 6. An efficient schedule of this present example for ND = 4.
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
11
Fig. 7. The generation process of all efficient solutions to problem Pjai, rewj#(TC, ND) of this example.
Fig. 8. An efficient schedule of this present example for ND = 3.
Fig. 9. An efficient schedule of this present example for ND = 2.
as uniform, unrelated parallel machines, flow shop, and even job shop; (2) extending the results to problems under multiple job rework disruptions; and (3) providing possible complexity results for problems with other classical scheduling criteria, besides the total completion time that we consider.
Acknowledgements The authors are grateful to the editor and the anonymous referees for their constructive and helpful suggestions on the earlier
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
12
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx
Fig. 10. An efficient schedule of this present example for ND = 1.
Fig. 11. All efficient solutions to problem Pjai, rewj#(TC, ND) of this example.
version of this paper. This work has been financially supported by the Natural Science Foundation of China under Grant Nos. 70771003, 70821061 and 71071008.
References Abumaizar, R. J., & Svestka, J. A. (1997). Rescheduling job shops under random disruptions. International Journal of Production Research, 35, 2065–2082. Akturk, M. S., & Gorgulu, E. (1999). Match-up scheduling under a machine breakdown. European Journal of Operational Research, 112, 81–97. Alagoz, O., & Azizoglu, M. (2003). Rescheduling of identical parallel machines under machine eligibility constraints. European Journal of Operational Research, 149, 523–532. Aytug, H., Lawley, M. A., Mckay, K. N., Mohan, S., & Uzsoy, R. (2005). Executing production schedules in the face of uncertainties: A review and some future directions. European Journal of Operational Research, 161, 86–110. Azizoglu, M., & Alagoz, O. (2005). Parallel-machine rescheduling with machine disruptions. IIE Transactions, 37, 1113–1118. Baker, K. R., & Trietsch, D. (2009). Principles of sequencing and scheduling. New York: Wiley. Budai, G., Maroti, G., Dekker, R., Huisman, D., & Kroon, L. (2010). Rescheduling in passenger railways: The rolling stock rebalancing problem. Journal of Scheduling, 13, 281–297. Chang, Y. L., Sullivan, R. S., & Bagchi, U. (1984). Experimental investigation of quasirealtime scheduling on flexible manufacturing systems. In Proceedings of the 1st ORSA/ TIMS special interest conference on flexible manufacturing systems, Ann Arbor, MI (pp. 307–312). Conway, R. W., Maxwell, W. L., & Miller, L. W. (1967). Theory of scheduling. MA: Addison-Wesley, Reading. Cowling, P., & Johansson, M. (2002). Using real time information for effective dynamic scheduling. European Journal of Operational Research, 139, 230–244. Curry, J., & Peters, B. (2005). Rescheduling parallel machines with stepwise increasing tardiness and machine assignment stability objectives. International Journal of Production Research, 43, 3231–3246. Dong, Y. H., & Jang, J. (2012). Production rescheduling for machine breakdown at a job shop. International Journal of Production Research, 50, 2681–2691.
Duenas, A., & Petrovic, D. (2008). An approach to predictive–reactive scheduling of parallel machines subject to disruptions. Annals of Operations Research, 159, 65–82. Evans, G. W. (1984). An overview of techniques for solving multiobjective mathematical programs. Management Science, 30, 1268–1282. Fahmy, S. A., Balakrishnan, S., & ElMekkawy, T. Y. (2009). A generic deadlock-free reactive scheduling approach. International Journal of Production Research, 47, 5657–5676. 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. Guo, B., & Nonaka, Y. (1999). Rescheduling and optimization of schedules considering machine failures. International Journal of Production Economics, 60–61, 503–513. Hall, N. G., & Potts, C. N. (2004). Rescheduling for new orders. Operations Research, 52, 440–453. Hall, N. G., & Potts, C. N. (2010). Rescheduling for job unavailability. Operations Research, 58, 746–755. Hall, N. G., Liu, Z., & Potts, C. N. (2007). Rescheduling for multiple new orders. INFORMS Journal on Computing, 19, 633–645. Hoogeveen, H. (2005). Multicriteria scheduling. European Journal of Operational Research, 167, 592–623. Jain, A. K., & Elmaraghy, H. A. (1997). Production scheduling/rescheduling in flexible manufacturing. International Journal of Production Research, 35, 281–309. Kaspi, M., & Montreuil, B., 1988. On the scheduling of identical parallel processors with arbitrary initial processor available times. Research memorandum no. 88-12, USA: School of Industrial Engineering, Purdue University. Lee, C. Y., Leung, J. Y. T., & Yu, G. (2006). Two machine scheduling under disruptions with transportation considerations. Journal of Scheduling, 9, 35–48. Li, H., Li, Z., Li, L. X., & Hu, B. (2000). A production rescheduling expert simulation system. European Journal of Operational Research, 124, 283–293. Li, R. K., Shyu, Y. T., & Adiga, S. (1993). A heuristic rescheduling algorithm for computer-based production scheduling systems. International Journal of Production Research, 31, 1815–1826. Li, Y. C. E., & Shaw, W. H. (1996). Flow-time performance of modified scheduling heuristics in a dynamic rescheduling environment. Computers & Industrial Engineering, 31, 213–216. Li, Y. C. E., & Shaw, W. H. (1998). Simulation modeling of a dynamic job shop rescheduling with machine availability constraints. Computers & Industrial Engineering, 35, 117–120. Mason, S. J., Jin, S., & Wessels, C. M. (2004). Rescheduling strategies for minimizing total weighted tardiness in complex job shops. International Journal of Production Research, 42, 613–628. Muhlemann, A. P., Lockett, A. G., & Farn, C. K. (1982). Job shop scheduling heuristics and frequency of scheduling. International Journal of Production Research, 20, 227–241. Nelson, R. T., Holloway, C. A., & Wong, R. M. L. (1977). Centralized scheduling and priority implementation heuristics for a dynamic job shop model. IIE Transactions, 9, 95–102. Ouelhadj, D., & Petrovic, S. (2009). A survey of dynamic scheduling in manufacturing systems. Journal of Scheduling, 12, 417–431. Ozlen, M., & Azizoglu, M. (2009). Generating all efficient solutions of a rescheduling problem on unrelated parallel machines. International Journal of Production Research, 47, 5245–5270. Ozlen, M., & Azizoglu, M. (2011). Rescheduling unrelated parallel machines with total flow time and total disruption cost criteria. Journal of the Operational Research Society, 62, 152–164. Pinedo, M. L. (2008). Scheduling: Theory, algorithms, and systems (3rd ed.). New York: Springer. Rangsaritratsamee, R., FerrellJr, W. G., & Kurz, M. B. (2004). Dynamic rescheduling that simultaneously considers efficiency and stability. Computers & Industrial Engineering, 46, 1–15. Shangguan, C., Li, J., & Shi, R. (2012). Rescheduling of parallel machines under machine failures. Advanced Materials Research, 724–730. Smith, W. E. (1956). Various optimizers for single-stage production. Naval Research Logistics Quarterly, 3, 59–66.
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018
L. Liu, H. Zhou / Computers & Industrial Engineering xxx (2013) xxx–xxx Suresh, V., & Chaudhuri, D. (1993). Dynamic scheduling – A survey of research. International Journal of Production Economics, 32, 53–63. Suwa, H., & Sandoh, H. (2007). Capability of cumulative delay based reactive scheduling for job shops with machine breakdowns. Computers & Industrial Engineering, 53, 63–78. Szelke, E., & Markus, G. (1994). A black board based perspective of reactive scheduling. In Artificial intelligence in reactive scheduling (pp. 60–77). London: Chapman & Hall. Tabe, T., & Salvendy, G. (1988). Toward a hybrid intelligent system for scheduling and rescheduling of FMS. International Journal of Computer Integrated Manufacturing, 1, 154–164. Tang, L., & Zhang, Y. (2009). Parallel machine scheduling under the disruption of machine breakdown. Industrial & Engineering Chemistry Research, 48, 6660–6667. T’kindt, V., & Billaut, J. C. (2005). Multicriteria scheduling: Theory, models and algorithms (2nd ed.). Berlin: Springer. Unal, A. T., Uzsoy, R., & Kiran, A. S. (1997). Rescheduling on a single machine with part-type dependent setup times and deadlines. Annals of Operations Research, 70, 93–113. Van de Vonder, S., Ballestin, F., Demeulemeester, E., & Herroelen, W. (2007). Heuristic procedures for reactive project scheduling. Computers & Industrial Engineering, 52, 11–28. Vieira, G. E., Herrmann, J. W., & Lin, E. (2003). Rescheduling manufacturing systems: A framework of strategies, policies, and methods. Journal of Scheduling, 6, 39–62. Wong, W. K., Leung, S. Y. S., & Au, K. F. (2005). Real-time GA-based rescheduling approach for the pre-sewing stage of an apparel manufacturing process. International Journal of Advanced Manufacturing Technology, 25, 180–188.
13
Wu, S. D., Storer, R. H., & Chang, P. C. (1993). One-machine rescheduling heuristics with efficiency and stability as criteria. Computers & Operations Research, 20, 1–14. Yamamoto, M., & Nof, S. Y. (1985). Scheduling/rescheduling in the manufacturing operating system environment. International Journal of Production Research, 23, 705–722. Yang, B. B. (2007). Single machine rescheduling with new jobs arrivals and processing time compression. International Journal of Advanced Manufacturing Technology, 34, 378–384. Yu, G., Arguello, M., Song, G., Mccowan, S. M., & White, A. (2003). A new era for crew recovery at continental airlines. Interfaces, 33, 5–22. Yuan, J., & Mu, Y. (2007). Rescheduling with release dates to minimize makespan under a limit on the maximum sequence disruption. European Journal of Operational Research, 182, 936–944. Yuan, J., Mu, Y., Lu, L., & Li, W. (2007). Rescheduling with release dates to minimize total sequence disruption under a limit on the makespan. Asia-Pacific Journal of Operational Research, 24, 789–796. Zakaria, Z., & Petrovic, S. (2012). Genetic algorithms for match-up rescheduling of the flexible manufacturing systems. Computers & Industrial Engineering, 62, 670–686. Zhao, C., & Tang, H. (2010). Rescheduling problems with deteriorating jobs under disruptions. Applied Mathematical Modelling, 34, 238–243. Zhao, F., Wang, J., Wang, J., & Jonrinaldi, J. (2012). A dynamic rescheduling model with multi-agent system and its solution method. Journal of Mechanical Engineering, 58, 81–92. Zweben, M., Davis, E., Daun, B., & Deale, M. J. (1993). Scheduling and rescheduling with iterative repair. IEEE Transactions on Systems, Man and Cybernetics, 23, 1588–1596.
Please cite this article in press as: Liu, L., & Zhou, H. On the identical parallel-machine rescheduling with job rework disruption. Computers & Industrial Engineering (2013), http://dx.doi.org/10.1016/j.cie.2013.02.018