Proceedings of the 13th IFAC Symposium on Information Control Problems in Manufacturing Moscow, Russia, June 3-5, 2009
Rescheduling for new orders on a single machine with setup times H. Hoogeveen ∗ C. Lent´ e ∗∗ V. T’kindt ∗∗∗ ∗
Utrecht University, PO Box 80.089, 3508TB Utrecht, The Netherlands (e-mail:
[email protected]). ∗∗ Universit´e Francois Rabelais Tours, Laboratory of Computer Sciences, 64 avenue Jean Portalis, 37230 Tours, France (e-mail:
[email protected]) ∗∗∗ Universit´e Francois Rabelais Tours, Laboratory of Computer Sciences, 64 avenue Jean Portalis, 37230 Tours, France (e-mail:
[email protected]) Abstract: We focus on some single machine scheduling problems for which a set of new jobs have to be scheduled after a schedule of old jobs has been set. Each new and old job belongs to a family and changing the production from one family to another requires a setup. The initial schedule of old jobs is assumed to minimize the sum of setup times. The new jobs can be either scheduled after the old jobs or inserted within the existing schedule, which results in a disruption cost that has to be minimized together with the sum of setup times of the overall schedule. In this paper we tackle several simple setup time configurations yielding different scheduling problems for which we propose optimal polynomial time algorithms or provide N P -hardness proofs. In the former case we consider the problem of enumerating the set of strict Pareto optima for the sum of setup times and disruption cost criteria. Keywords: Scheduling, New orders, Multicriteria, Exact algorithms, Complexity proofs. 1. INTRODUCTION AND PROBLEM FORMULATION Consider a short-term scheduling problem for which a set of jobs has been scheduled for execution, but has not been processed yet by the production resources. A new set of jobs enters the shop and has to be scheduled, taking into account the scheduling decisions that have already been taken. This kind of problem is referred to as a Rescheduling problem for new orders (Hall and Potts (2004)) and has appeared in the literature only quite recently. This situation may occur in industries for which the short-term schedule is meant for a longer period than the actual real production period. This is the case, for instance, in a shampoo packing system in which a short-term schedule is calculated for a period of 36 hours, knowing that it is daily updated. When doing so, the scheduler has 12 hours of remaining unproduced but scheduled jobs. New jobs, corresponding to 24 hours of production, have to be scheduled taking this remaining schedule into account. Therefore, the aim of the scheduler is to schedule the new jobs such that the objective function is minimized, together with the disruption cost induced by inserting new jobs into the remaining schedule. The problem tackled in this paper can be formally stated as follows. A single machine is available for processing jobs, from time 0 onwards. Let J0 be the set of the n0 jobs already scheduled, the so-called ‘old’ jobs, and JN be the set of the nN new incoming jobs. Each job j is defined by a processing time pj and belongs to a single family fk .
978-3-902661-43-2/09/$20.00 © 2009 IFAC
528
Switching processing from family k to family ℓ requires a setup time, which we assume to depend on family ℓ only and not on family k: this setup time is denoted by sℓ . The objective, for both sets of jobs, is to minimize the sum of setup times which is equivalent to minimize the makespan of the overall schedule, referred to as Cmax . The input of the problem consists of the sets of jobs (old and new) and the initial schedule (sequence) α for the jobs in J0 , which is assumed to be optimal for the makespan criterion. We are asked to find a schedule for all jobs. We are allowed to disturb the original schedule α, but this will incur a disruption cost, which is measured either by a change in the scheduling positions of the old jobs, or by a change in the completion times of the old jobs. Let π denote a schedule for the old and new jobs. Then we define Pj (π) as the position of job j in schedule π and Cj (π) as its completion time in schedule π. We consider in this paper three disruption measures: • Dj (α, π): the absolute positional disruption. For each job j ∈ J0 we define Dj (α, π) as the absolute difference between its position in α and its position in π. We have Dj (α, π) = |Pj (π) − Pj (α)|. • Pj (α, π): the positional disruption. For each job j ∈ J0 we define Pj (α, π) as the difference between its position in α and its position in π. We have Pj (α, π) = Pj (π) − Pj (α). • ∆j (α, π): the absolute completion time disruption. For each job j ∈ J0 we define ∆j (α, π) as the absolute difference between its completion time in α and its
10.3182/20090603-3-RU-2001.0266
13th IFAC INCOM (INCOM'09) Moscow, Russia, June 3-5, 2009
completion time in π. We have ∆j (α, π) = |Cj (π) − Cj (α)|. Henceforth, the disruption cost Z can be measured P P by Dmax = maxj∈J0 Dj , j Dj , Pmax = maxj∈J0 Pj , j Pj , P ∆max = maxj∈J0 ∆j or j ∆j . We focus on the calculation of strict Pareto optima for the makespan and a disruption cost Z. A schedule s is a strict Pareto optimum iff there does not exist another schedule s′ such that Cmax (s′ ) ≤ Cmax (s) and Z(s′ ) ≤ Z(s) with at least one strict inequality. We say that s is a weak Pareto optimum if, in the above definition, the inequalities are strict inequalities. Table 1 presents a summary of the notations used throughout this paper. Table 1. The used notations Notation n0 J0 α nN JN pj fk sk nf0 fk0 nfN
Meaning The number of old jobs The set of old jobs The initial schedule (sequence) of old jobs The number of new jobs The set of new jobs Processing time of job j Set of jobs of family number k Setup time changing the production to family k the number of distinct families in J0 Family number k restricted to the old jobs The number of distinct families in JN
fkN
Family number k restricted to the new jobs
|fk0 |
The number of jobs in family fk0
|fkN |
The number of jobs in family fkN
nf0∩N
The number of families in JN that are also in J0
k → ℓ/α
The families that precede family fℓ in schedule α
Research on this topic is related to rescheduling problems which have been the matter of numerous studies (see Vieira et al. (2003) for a review). However, the approach consider here is relatively new, and only a few papers on this subject have appeared so far. The first one is by Unal et al. (1997). They consider the single machine problem with sequence dependent family setup times. The aim is to obey deadlines for old jobs and minimize the makespan of the new jobs. They propose a polynomial procedure to check whether there exists a solution in which no additional setups are required, while obeying the deadlines and the order of the old jobs in the initial schedule. They further show that the problem of minimizing total weighted completion time is N P -hard in general, but polynomial when the processing times are unit. A major contribution is due to Hall and Potts (2004), who proposed a seminal paper in the field. They define the disruption measures Dj and ∆j , and study several single machine scheduling problems. In each of these problems, the objective function contains a component that is equal to the total completion time or the maximum completion time, which has to be minimized in combination with or subjectP to a disruption cost, P which is modelled by either Dmax , j Dj , ∆max or j ∆j . Among the tackled problems, they consider those for which the scheduling criterion is minimized under the constraint that the disruption cost
529
is bounded by a threshold value ǫ. This is equivalent to compute a weak Pareto optimum for these two criteria. Hall and Potts proposed either polynomial time algorithms or showed N P -hardness. It is important to notice that for almost all of the studied problems, the initial sequence α is assumed to be optimal for the scheduling criterion. Nevertheless, at the end of their paper they briefly discuss the multiple disruptions situation, which means that α is the result of multiple job insertions and is thus no longer optimal for the scheduling criterion. Hall et al. (2007) consider a rescheduling problem with a single machine and multiple disruptions. They proposed a branch-and-bound algorithm which solves instances with up to 1000 jobs in size. Furthermore, Yuan and Mu (2007) study four single machine rescheduling problems with the assumption that sequence α is optimal for the makespan criterion and that each job has a release date. They consider the problem of minimizing this objective subject to the constraint that the disruption criterion is bounded by a value ǫ. The two problems for which the disruption criterion is either ∆max P or j ∆j are shown to be N P -hard. This is not the case of the problem with Dmax criterion which can be solved in polynomial time. In this paper we provide results and algorithms for various single machine scheduling problems. We will use the classical three-field notation scheme introduced by Graham et al. (1979), where we use the notation introduced by T’kindt and Billaut (2006) to denote bicriteria problems. In Section 2 we focus on the 1|sf = s|Pmax , Cmax problem. The setup times between jobs from different families are all equal and the objective is to find the set of Pareto optimal points for the objectives of minimizing the makespan and minimizing the disruption cost, which is computed as the maximum of the relative positional disruptions. We propose a polynomial time algorithm for enumerating the set of strict Pareto optima for these two criteria. The problem remains polynomially solvable even in the case of the maximum absolute completion time disruption. This problem, referred to as 1|sf = s|∆max , Cmax , is tackled in Section 3. We next consider in Section 4 the 1|sf |Pmax , Cmax problem with family dependent, but not sequence dependent, setup times for which we propose a polynomial time dynamic programming algorithm for enumerating the set of strict Pareto optima. In Section 5 we show that, for the ∆max criterion, this enumeration cannot be achieved in polynomial time since the 1|sf |∆max , Cmax problem is shown to be N P -hard in the weak sense. We P show, in Section 6, that this result also holds for the 1|sf | j ∆j , Cmax problem. Table 2 summarizes the tackled enumeration problems and the corresponding complexity. For conciseness purposes, all proofs of the proposed results are omitted. 2. THE 1|SF = S|PMAX , CMAX PROBLEM We assume in this section that the setup times are family independent and that the disruption criterion is Pmax . The goal is to enumerate the set of strict Pareto optima for the Cmax and Pmax criteria. Before giving the main solution
13th IFAC INCOM (INCOM'09) Moscow, Russia, June 3-5, 2009
lines, we focus on a particular subproblem in which the families fkN inserted in the sequence α are known. The makespan is then minimized by grouping jobs by families: the minimal makespan value is equal to the sum of job processing times and the number of family changes times the value s. To minimize Pmax , given that the makespan is minimum, we must sequence the jobs inside each family such that the old jobs are scheduled before the new jobs. Finally, we have to sequence the families optimally. Hence, this hierarchical minimization problem, referred to as 1|sf = s, f ix|Lex(Cmax , Pmax ) according to the notation introduced in T’kindt and Billaut (2006), is equivalent to the problem of sequencing families to minimize the maximum disruption. Lemma 1. Let dk be the due date assigned to family fk P and defined by dk = |fkN | + |fk0 | + i→k/alpha |fi0 |. An optimal sequencing for the 1|sf = s, f ix|Lex(Cmax , Pmax ) problem is obtained by sequencing families in ascending order of the dk ’s (EDD order). Note that the due date of family fk is equal to the position of the last job in this family in α plus the number of new jobs in family fk . We now focus on the enumeration of the set of strict Pareto optima and provide a first result on the cardinality of this set. Lemma 2. There are exactly optima in criteria space.
(nf0∩N
+ 1) strict Pareto
Each strict Pareto optimum is calculated by solving the ǫconstraint problem referred to as 1|sf = s|ǫ(Cmax /Pmax ), i.e. by minimizing the makespan under the constraint that Pmax ≤ ǫ with ǫ a given value. The general outline of the enumeration algorithm is to solve iteratively ǫconstraint problems, starting with an initial ǫ value that is large enough to be non-constraining (for instance infinity). The corresponding problem is solved to optimality and, 0 if Pmax refers to the obtained disruption criterion value, 0 then the next ǫ value is fixed to Pmax − 1. After that the 1 1|sf = s|ǫ(Cmax /Pmax ) is solved again to obtain Pmax , which is similarly used to determine the ǫ value for the next iteration. This process is repeated until a value of 0 is obtained for the disruption criterion. We now show how to solve the ǫ-constraint problem when ǫ is fixed. Lemma 3. Consider a strict Pareto optimal schedule β; let the last old job in β belong to family fk . Then Pmax (α, β) = Pk (α, β). The above lemma states that the maximum disruption is achieved for the family of J0 scheduled last in β. This implies that the maximum increase in the disruption is equal to the number of jobs from JN inserted in α, that is, before the last old job. Given the identity of the family of old jobs scheduled last, we can easily compute how many Table 2. The tackled problems Problem 1|sf = s|Pmax , Cmax
Complexity O(nf0∩N nf0 (nfN + log(nf0 )))
1|sf = s|∆max , Cmax
O(nf0∩N nf0 + nfN log(nfN ))
1|sf |Pmax , Cmax 1|sf |∆max , Cmax
O((nf0 )2 × nN ) N P -hard in theP weak sense (O((nf0 )2 × p )) j j N P -hard
1|sf |
P
j
∆j , Cmax
530
new jobs can be inserted before it to meet the bound ǫ on Pmax ). Since splitting a family induce an additional setup time, we want to insert as many entire new families before the last old job as possible, where the new jobs are then put immediately behind the old jobs of the same family. The remaining new families are split off from the old jobs in the same family and put at the end of the schedule, where they do not contribute to the disruption. In the next theorem, βi is assumed to be the schedule with family fi0 scheduled last. Besides, in βi the ℓ families (excluding fiN ) fℓN with minimum cardinality |fℓN | and Pℓ Pℓ+1 N N such that j=1 |f[j] | ≤ ǫ and j=1 |f[j] | > ǫ are added before fi0 . Henceforth, for all these families the corresponding 1|sf = s, f ix|Lex(Cmax , Pmax ) problem is solved to optimality as indicated in lemma 1. The families of JN not scheduled before fi0 are scheduled after (and thus do not create any disruption) in any order, except that family fiN if not empty is scheduled just after fi0 . Theorem 4. The 1|sf = s|ǫ(Cmax /Pmax ) problem is solved to optimality by selecting among the nf0 schedules βi the one which solves problem 1|sf = s, Pmax ≤ ǫ|Lex(Cmax , Pmax ). For a fixed ǫ value, the current strict Pareto optimal schedule can be built in O(nf0 (nfN + log(nf0 ))) time, thus leading to an enumeration procedure running in O(nf0∩N nf0 (nfN + log(nf0 ))) time.
3. THE 1|SF = S|∆MAX , CMAX PROBLEM In this section, we extend the results of section 2 to the case where the disruption criterion is the maximum absolute completion time disruption ∆max . Again, consider the subproblem in which the families fkN inserted in the sequence α are known, i.e. the 1|sf = s, f ix|Lex(Cmax , ∆max ) problem. To minimize the makespan all jobs of the same family are scheduled consecutively and the maximum disruption is locally minimized inside a family by scheduling first old jobs (in the same order than in α) and next new jobs. The latter point is a consequence of the following lemma which states that, except for the last family, the family order in an optimal schedule for the lexicographic problem is the same than in α. Lemma 5. Let fk0 and fℓ0 be two families such that none of them is the last family and fk0 precedes fℓ0 in α. There exists an optimal schedule with new job families inserted for the lexicographic problem in which fk0 and fℓ0 are not swapped. Lemma 6. Let fk0 be a family which is not the last family in α. There exists an optimal schedule with new job families inserted for the lexicographic problem in which fk is not moved to another position regarding families in α. Lemma 7. Let fL0 be the last family in α and let fk0 be any other family in α. Let α1 be the schedule in which fL0 and fk0 are swapped, and let α2 be the schedule in which fk0 is inserted after fL0 . Schedule α2 is always preferable to schedule α1 for the insertion of new job families.
13th IFAC INCOM (INCOM'09) Moscow, Russia, June 3-5, 2009
The three lemmas above imply that an optimal schedule for the 1|sf = s, f ix|Lex(Cmax , ∆max ) problem can be calculated in polynomial time by building nf0 schedules in which a family fi is inserted in the last position and all others are sequenced in the same order as in α. Among these nf0 schedules the one that minimizes the maximum disruption is the optimal schedule. We now turn to the problem of enumerating the strict Pareto optima for the 1|sf = s|Cmax , ∆max problem, for which we use the ǫ-constraint approach just like in section 2. Henceforth, at each iteration a 1|sf = s|ǫ(Cmax /∆max ) problem has to be solved. Lemma 8. Let fk0 be the last scheduled family of J0 in a strict Pareto optimal schedule β. We have ∆max (α, β) = ∆k (α, β). If we denote by αi the schedule of old jobs families fj0 in which family fi0 is scheduled last, then deciding the best possible insertion of new job families reduces to a particular knapsack problem: we know the remaining capacity for insertion, P P which is given by ǫi = ǫ − max( k→ℓ→L,j∈f 0 pj ; j∈f 0 pj ) and we have to maximize ℓ k the number of new jobs families to insert such that the sum of the processing times of the inserted jobs does not exceed ǫi . This particular knapsack problem is solved by N N inserting the ℓ families (excluding P fi ) fℓ with minimum sum of processing times p and such that j∈f N j Pℓ P Pℓ P ℓ j=1 k∈fℓN pk ≤ ǫi and j=1 k∈fℓN pk > ǫi are added before fi0 . All families before fi0 are scheduled in the same order as in α. The remaining fjN families are scheduled at the end of αi (family fiN being scheduled just after fi0 ). Theorem 9. The 1|sf = s|ǫ(Cmax /∆max ) problem is solved to optimality by selecting among the nf0 schedules αi the one which solves problem 1|sf = s, ∆max ≤ ǫ|Lex(Cmax , ∆max ). For a fixed ǫ value, the current strict Pareto optimal schedule can be built in O(nf0 + nfN log(nfN )) time, thus leading to an enumeration procedure running in O(nf0∩N nf0 + nfN log(nfN )) time. 4. THE 1|SF |PMAX , CMAX PROBLEM In this section we focus on the general problem in which each family has its own setup time which is independent of its predecessor in the schedule. The disruption cost is defined by means of the maximum relative positional disruption criterion, denoted by Pmax . First, remark that the problem with unequal, but sequence independent, setup times has strong similarities to the problem with equal setup times (Section 2). When dealing with the enumeration of strict Pareto optima, we can easily verify that Lemma 3 also holds for the current problem. Besides, the enumeration scheme proposed in this section is the same than in the case of identical setup times, i.e. we solve iteratively several 1|sf |ǫ(Cmax /Pmax ) problems. Given the value of ǫ and the identity of the last family, we
531
can easily compute the maximum number of new jobs that we can insert before the last old job. Inserting an entire new family (inserting only a part does not make sense) will reduce the available space by the number of new jobs in this family, but will save us a setup time. Hence, we must then solve a knapsack problem each time. But instead of solving a number of subproblems with given upper bounds ǫ we proceed in a more efficient way. We consider nf0 schedules βi obtained by putting last, starting from α, a family fi0 . Next, for a given βi family schedule, we apply a polynomial time dynamic programming algorithm to enumerate all strict Pareto optima corresponding to this schedule and with new job families inserted or scheduled after βi . At the end, among all built schedules for all roots βi we only keep the strict Pareto for Cmax and Pmax . The dynamic programming algorithm works as follows. Consider a fixed family sequence problem βi with family fi0 scheduled last in α. We define the following classic recursion function for the knapsack problem: Fj (W ) = max(Fj−1 (W ), Fj−1 (W − |fjN |) + sj ), P ∀j = 1, ..., nf0∩N , ∀W = 0, ..., Wmax = j/f 0 6=∅ |fjN |, j
with F0 (W ) = 0 and Fj (W ) = −∞, ∀W < 0. The calculation of P all Fj (W )’s requires O(nf0 ×Wmax ) time, N but as Wmax = j/f 0 6=∅ |fj | the overall complexity is j
bounded by O(nf0 × nN ) which is polynomial in the input size. By scanning Fnf (W ) values for all W and building 0 the corresponding schedule with inserted new jobs we can keep in O(nf0 ×nN ) time all strict Pareto optima associated to βi . If this process is repeated for all βi ’s and if we only keep at the end the strict Pareto optima among all the solution sets obtained, we can solve the enumeration problem in O((nf0 )2 × nN ). 5. THE 1|SF |∆MAX , CMAX PROBLEM In this section, we consider an extension of the problem tackled in Section 4 to the case where the disruption is measured by means of the maximum absolute completion time disruption criterion, denoted by ∆max . Again, the fixed families problem can be solved in exactly the same way than for the case of identical setup times (see Section 3). This implies that we have to build all βi schedules obtained by putting last, in α, the family fi0 . For each βi we solve the problem of inserting new job families. Unfortunately, this problem can be shown to be N P -hard. Theorem 10. The 1|sf , f ix|Lex(Cmax , ∆max ) problem is N P -hard (by reduction from the knapsack problem). The above result implies that the problem of enumerating all strict Pareto optima is also N P -hard. However, we show that it can be solved in pseudo-polynomial time by means of dynamic programming. Consider a fixed family sequence problem βi with family fi0 scheduled last in α. There are nf0 such schedules. We define the following classic recursion function for the knapsack problem: P Fj (W ) = max(Fj−1 (W ), Fj−1 (W − i∈f N pi ) + sj ), j
13th IFAC INCOM (INCOM'09) Moscow, Russia, June 3-5, 2009
∀j = 1, ..., nf0∩N , ∀W = 0, ..., Wmax =
P
k∈fjN /fj0 6=∅
inserted in α.
pk ,
with F0 (W ) = 0 and Fj (W ) = −∞, ∀W < 0. The calculation ofPall Fj (W )’s requires O(nf0 ×Wmax ) time, but as Wmax = k∈f N /f 0 6=∅ pk the overall complexity is Pj j bounded by O(nf0 × j pj ) which is pseudo-polynomial in the input size. By scanning Fnf (W ) values for all W and 0 building the corresponding schedule with inserted new jobs P we can keep in O(nf0 × j pj ) time all strict Pareto optima associated to βi . Notice that, starting from an output of this algorithm we can build in polynomial time a schedule by sequencing last the families fjN which have not been inserted in βi . If this process is repeated for all βi ’s and if we only keep at the end the strict Pareto optima among all the solution sets obtained, we can solve the enumeration problem in P O((nf0 )2 × j pj ). Notice that this algorithm becomes polynomial in the case of Dmax criterion since we can solve the problem by setting pj = 1 for all jobs. 6. THE 1|SF |
P
J
∆J , CMAX PROBLEM
In this last section, we focus on the problem with family dependent setup times and the disruption measured by means of the sum ofPthe absolute completion time disruptions, denoted by j ∆j . We first show that the subproblem in which the family sequence is fixed is N P -hard. The corresponding problem, referred to as P 1|sf , f ix|ǫ(Cmax / j ∆j ), consists of deciding which are the new job families to insert within the fixed sequence and which ones are scheduled after that sequence. This is done under the constraint that the sum of disruptions must not exceed a threshold value ǫ. P Theorem 11. The 1|sf , f ix|ǫ(Cmax / j ∆j ) problem is N P -hard (by reduction from the knapsack problem). However, it is possible to propose a pseudo-polynomial time dynamic programming algorithm to solve this fixed family problem. Let α be the fixed sequence of families fi0 . We define the following classic recursion function for the knapsack problem: Fj (W ) = max(Fj−1 (W ), Fj−1 (W − Qj ) + sj ), ∀j = 1, ..., nf0∩N , ∀W = 0, ..., ǫ, with F0 (W ) = 0 and Fj (W ) = −∞, ∀W < 0. Qj corresponds to the increase in the sum of P disruptions criterion when family fjN is inserted, i.e. Qj = i∈f N pi × j P 0 j→k/α |fk |. The calculation of all Fj (W )’s requires O(nf0 × ǫ) time which is pseudo-polynomial in the input size. By scanning Fnf (W ) values for all W and building the corresponding 0
f schedule with inserted new jobs we can keep in O(n P0 × ǫ) time the optimal solution for the 1|sf , f ix|ǫ(Cmax / j ∆j ) problem. Notice that, starting from an output of this algorithm we can build in polynomial time a schedule by sequencing last the families fjN which have not been
532
The above theorem implies that the problem of enumerating strict Pareto optima, when the sequence of families is not fixed, is also N P -hard. But unfortunately, we guess that it cannot be solved in pseudo-polynomial time since it seems to be advantageous, regarding the disruption criterion, to modify the whole sequence α when inserting new job families. We are now looking to proving the strong N P -hardness of the general enumeration problem. 7. CONCLUSION In this paper we have considered some rescheduling problems for new orders inspired from a real-life packing system. In this system, several packing lines produce shampoo bottles each line being independent from the others since the assignment of orders to lines is fixed and imposed by the company. Consequently, solving this short-term problem is equivalent to solving several single machine problems. The aim of the company was to reduce the production time, by reducing the setup times, and to limit the disruption of a previously forecasted schedule. We studied five variants of the problems, depending on the nature of the setup times and the criterion used to measure the disruption of the initial schedule. Whenever possible we proposed exact polynomial time algorithms or proved that the problem is N P -hard. Numerous research lines can be established starting from this work. First, extensions to sequence dependent setup times could be studied in order to be closer to reality. Second, and maybe the most important future work, it would be interesting to study what happens in case of multiple successive disruptions. In that case, the initial schedule maybe rearranged in order to decrease the sum of setup times but, by the way, increasing the disruption cost. REFERENCES Graham, R.L., Lawler, E.L., Lenstra, J.K., and Rinnooy Kan, A.H.G. (1979). Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5, 287–326. Hall, N., Liu, Z., and Potts, C. (2007). Rescheduling for multiple new orders. INFORMS Journal on Computing, 19(4), 633–645. Hall, N. and Potts, C. (2004). Rescheduling for new orders. Operations Research, 52(3), 440–453. T’kindt, V. and Billaut, J.C. (2006). Multicriteria Scheduling: Theory, Models and Algorithms. Springer, Berlin. Unal, A., Uzsoy, R., and Kiran, A. (1997). Rescheduling on a single machine with part-type dependent setup times and deadlines. Annals of Operations Research, 70, 93– 113. Vieira, G., Herrmann, J., and Lin, E. (2003). Rescheduling manufacturing systems: a framework of strategies, policies, and methods. Journal of Scheduling, 6, 39–62. Yuan, J. and 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.