Operations Research Letters 40 (2012) 440–444
Contents lists available at SciVerse ScienceDirect
Operations Research Letters journal homepage: www.elsevier.com/locate/orl
Integer preemptive scheduling on parallel machines Ph. Baptiste a,b , J. Carlier a , A. Kononov c , M. Queyranne d , S. Sevastyanov c , M. Sviridenko e,∗ a
CNRS, Heudiasyc, Univ. de Tech. de Compiègne, France
b
École Polytechnique, France
c
Sobolev Institute of Mathematics, Novosibirsk, Russia
d
Faculty of Commerce and Business Administration, University of British Columbia, Vancouver, BC, Canada V6T 1Z2
e
Department of Computer Science, University of Warwick, Coventry, CV4 7AL, UK
article
info
Article history: Received 1 March 2009 Accepted 17 June 2012 Available online 27 July 2012 Keywords: Preemptive scheduling Parallel machines Structural properties
abstract We consider preemptive machine scheduling problems on identical parallel machines. It is shown that every such problem with chain-like precedence constraints, release dates and a regular unit-concave objective function (e.g. total weighted tardiness and total weighted number of late jobs) has the following integer preemption property: for any problem instance with integral input data there exists an optimal schedule where all interruptions (as well as starting and completion times of jobs) occur at integer time points. © 2012 Published by Elsevier B.V.
1. Introduction In this paper we present new structural results for preemptive scheduling problems on identical parallel machines. The structural results were established in [3,4] for a wide class of preemptive scheduling models including both classical and nontraditional machine scheduling and project scheduling models with constrained resources and a large variety of objective functions. An important consequence of these results is the fact that the decision versions of preemptive scheduling problems under consideration belong to the class NP. A significantly stronger structural property is assumed, when we speak about the integer preemption property. The latter means that for any problem instance there exists an optimal preemptive schedule where all interruptions, as well as starting and completion times of jobs occur at integral dates. This property is investigated in the current paper for parallel machine problems with identical machines. Related results. First it should be noted that to obtain the integer preemption property for many settings of a single machine problem, it is sufficient to have an objective function which is just non-decreasing [7,9].
∗
Corresponding author. E-mail addresses:
[email protected] (P. Baptiste),
[email protected] (J. Carlier),
[email protected] (A. Kononov),
[email protected] (M. Queyranne),
[email protected] (S. Sevastyanov),
[email protected],
[email protected] (M. Sviridenko). 0167-6377/$ – see front matter © 2012 Published by Elsevier B.V. doi:10.1016/j.orl.2012.06.011
There are few systematic studies of such structural properties in the literature on preemptive scheduling on parallel machines, and most known results follow from the fact that there is no advantage to preemption [15]. Such results (called preemption redundancy) for scheduling problems are clearly the strongest type of structural results one could hope for. In what follows, we use the notation of Graham et al. [10] to denote scheduling problems. Tanaev [12] (see also [13]) showed that preemption in an identical parallel machine problem is redundant if the criterion is minimum of a non-decreasing e-quasiconcave function of job completion times (for definition see pp. 73–74 in [13]). Du et al. [8] obtained preemption redundancy for minimization of the total weighted completion time of jobs on parallel machines under chain-like precedence constraints P |pmtn, chains| wj Cj . Preemption redundancy for minimization of the weighted number of late jobs P |rj , pmtn, pj = 1| wj Uj and the total weighted tardiness P |rj , pmtn, pj = 1| wj Tj on identical parallel machines with release dates and unit execution times were obtained in [6,1], correspondingly. The integer preemption property was established in [4] for various shop scheduling problems. New results. In this paper we establish the integer preemption property for the preemptive parallel machine scheduling problem with chain-like precedence constraints, unequal release dates and an arbitrary regular unit-concave objective function. As a straightforward corollary of this result, the preemption redundancy property follows for a wide class of scheduling problems with unit processing times including two problems mentioned above. Baptiste and Timkovsky [5] gave examples showing that preemptions are not redundant even for problems P2|pmtn, intree,
P. Baptiste et al. / Operations Research Letters 40 (2012) 440–444
pj = 1| Cj and P2|pmtn, outtree, pj = 1| wj Cj with linear objective functions and tree-like precedence constraints. The preemption redundancy of the problems P |rj , pmtn, chains, pj = 1, | wj Tj and P |rj , pmtn, chains, pj = 1, | wj Uj was left open. Our main Theorem implies the preemption redundancy for these problems. This property also implies that every such preemptive scheduling problem is equivalent to its non-preemptive counterpart from the viewpoint of both its optimum value and the problem complexity. The equivalence provides new and sometimes simpler proofs for some known complexity results. Specifically, our Theorem 3.1 implies NP-hardness of Pm|pmtn, chains, pj = 1| wj Cj and Pm|pmtn, chains, pj = 1| Uj (previously proved in [2,8,14]), and polynomial time solvability of P |rj , pmtn, pj = 1| wj Tj established in [1], since the corresponding non-preemptive problems are NP-hard and polynomial time solvable, respectively. Note that our result cannot be extended to the analogous result for the scheduling problem in the uniform machine environment, since even for Q 2 | pmtn, pj = 1 | Cj there are instances where optimal schedules cannot be achieved without preemption [5].
2. Definitions For two vectors x = (x1 , . . . , xn ) and y = (y1 , . . . , yn ) we write x ≤ y, if the inequality xi ≤ yi holds for each component i. Definition 1. We say that a schedule S for a preemptive scheduling problem is integral, if all interruptions and all starting and completion times of jobs are integral. Definition 2. We say that a function F (x) (x ∈ Rn ) defined in a domain D ⊆ Rn is non-decreasing if F (x) ≤ F (y) holds for any pair of vectors x, y ∈ D such that x ≤ y. Definition 3. We say that a function F (x) (x ∈ Rn ) defined on a domain D ⊆ Rn is continuous from the left, if for any point x ∈ D and any ε > 0 there exists a number δ > 0 such that the inequality |F (x) − F (y)| < ε holds for every y ∈ D such that y ≤ x and xi − yi ≤ δ, ∀ i = 1, . . . , n. Definition 4. A real valued function F (x) (x ∈ Rn ) is called regular, if it is non-decreasing and continuous from the left. Definition 5. We say that a function F (x) (x ∈ Rn ) is unit-concave, if the inequality F (λx + (1 − λ)y) ≥ λF (x) + (1 − λ)F (y) holds for any λ ∈ [0, 1] and any x = (x1 , . . . , xn ), y = (y1 , . . . , yn ) such that xi , yi ∈ [ti , ti + 1] for some integer ti , i = 1, . . . , n. For instance, tardiness Tj (Cj ) = max{Cj − dj , 0} is a classical example of a penalty function (of the job completion time Cj ) which is unit-concave for any integral due date, but not concave. Another example of such a function is the unit penalty (for being late) function Uj (Cj ) taking 0–1 values. Both functions are unit-concave, since they are linear in each unit-time interval [t , t + 1]. (The only exception is the unit-time interval [dj , dj + 1] for the function Uj (t ), where it is not linear. Still, it is concave in this interval too, which can be checked by hand using the shape of the function and its continuity from the left.) Consequently, if all due dates are integers, the total weighted tardiness wj Tj and the weighted number of late jobs wj Uj are unit-concave functions (provided that all coefficients wj are nonnegative). We note that for arbitrary due dates (not necessarily integral) both functions may be not unit-concave. Of course, linear functions (like wj Cj ), or concave functions (like Cj or log Cj ) are unit-concave, as well.
441
On the other hand, such a classical objective function as the . maximum completion time Cmax (S ) = maxj Cj is not unit-concave. Indeed, let us consider a problem instance with three unit jobs, two machines and the minimum makespan objective: minimize F (C ) = max{C1 , C2 , C3 }, where C = (C1 , C2 , C3 ) denotes the vector of completion times of jobs. Let C ′ = (2, 1, 1), C ′′ = (1, 2, 1). Then for the point C ′′′ = 12 C ′ + 21 C ′′ we have F (C ′′′ ) = max{1.5, 1.5, 1} = 1.5, whereas 12 F (C ′ ) + 21 F (C ′′ ) = 2, and the required inequality is failed. As a result, for the simplest parallel machine scheduling problem with the minimum makespan objective P2 | pmtn, pj = 1 | Cmax preemption redundancy does not hold.
3. Integer interruptions in preemptive parallel machine scheduling with unit-concave objective functions In this section we consider the scheduling problem when n jobs J1 , . . . , Jn with integer processing times p1 , . . . , pn (pi ≥ 0) and integer release dates r1 , . . . , rn (ri ≥ 0) have to be scheduled on m identical parallel machines preemptively, so as to minimize an objective function F subject to chain-like precedence constraints. Following Graham et al. [10], this scheduling problem is denoted as P | rj , pmtn, chains | F . The main result of the paper is as follows. Theorem 3.1. For any instance of P | rj , pmtn, chains | F (C1 , . . . , Cn ) with integer processing times and release dates and with the objective to minimize a regular unit-concave function F (C1 , . . . , Cn ) of job completion times there exists an optimal schedule where all interruptions, as well as starting and completion times of jobs occur at integral points in time. The idea of the proof can be briefly described as follows: 1. It can be easily seen that for some cases of the objective function zero-length jobs may be valuable. It is also clear that we cannot eliminate such jobs from a given problem instance in a simple way (hoping to insert them further into the schedule obtained— this may be just infeasible). At the first step of our proof we show how to reduce the problem to the case with positive processing times only. 2. Given an optimal preemptive schedule S ∗ , we construct a network G with capacities on arcs and define a flow x(S ∗ ) in this network. We define the notion of a feasible flow in this network (assuming that the flow should meet the conservation rule and capacity constraints and should have the maximum capacity), and show that the flow x(S ∗ ) is feasible. 3. We define some function F˜ on the set of feasible flows in network G and show that it is a concave function. 4. From two facts that the minimum of a concave function over a polytope is attained at a vertex, and that the polyhedron corresponding to the set of maximum flows in network G is integral, we derive that there is an integral feasible flow x˜ that provides the minimum to the function F˜ . 5. We show that there is the unique integral schedule S˜ such that x(S˜ ) = x˜ . (The assignment of jobs to machines is not fixed in this schedule, but it is immaterial for our purposes.) This schedule is feasible and provides the minimum to the original function F , which means that we have found the desired integral optimal schedule for the original problem. Proof of Theorem 3.1. 1. How to get rid of zero-length jobs. Let I denote the original problem instance with a given set of jobs J , let J0 denote the set of zero-length jobs, and let I ′ denote the reduced instance with the reduced set of jobs J ′ = J \ J0 . We will write Ji ≺d Jj if job Ji directly precedes job Jj in precedence constraints.
442
P. Baptiste et al. / Operations Research Letters 40 (2012) 440–444
To reduce our statement to the case without zero-length jobs, we do the following. First, looking through each chain from the beginning to the end, we recalculate the release dates of jobs: rj := max{rj , ri + pi } if Ji ≺d Jj . This provides the inequalities ri ≤ rj (if Ji ≺ Jj ) which imply that every feasible schedule S ′ for the reduced instance I ′ can be extended to a feasible schedule S for the original instance I by scheduling each zero-length job Jj at its earliest position: max{Ci (S ), rj }, if Jj has got a direct predecessor Ji , rj , otherwise.
Cj (S ) =
(1)
We next transform our objective function F , to eliminate its dependence on variables Cj corresponding to zero-length jobs without losing their contribution to the objective function. For each chain, we repeat the following procedure until there are no zero length jobs left in the chain. Let Jj be the last zero-length job in that chain, i.e. there is no zero length job Jk such that Jj ≺ Ji . We define a new function F ′ (C1 , . . . , Cj−1 , Cj+1 , . . . , Cn ) equal to F (C1 , . . . , Cj−1 , rj , Cj+1 , . . . , Cn ), if Jj has no predecessors; otherwise, if Ji ≺d Jj , we put F ′ (C1 , . . . , Cj−1 , Cj+1 , . . . , Cn )
=
F (C1 , . . . , Cj−1 , rj , Cj+1 , . . . , Cn ) for Ci ≤ rj F (C1 , . . . , Cj−1 , Ci , Cj+1 , . . . , Cn ) for Ci > rj ,
after which we remove job Jj from the instance while retaining the corresponding chain connected. The new function F ′ is also non-decreasing, continuous from the left and unit-concave, and its minimum on the set of feasible schedules for jobs from J \ {Jj } coincides with the minimum of function F on the set of feasible schedules for jobs from J . Repeating the above transformation for all zero-length jobs, we obtain an instance without zero-length jobs and with a new regular unit-concave objective function F ′ . In the subsequent steps of our proof we will show that for every such instance there is always an optimal schedule that satisfies the integer preemption property. From now on we assume that pj ≥ 1 for each job Jj . 2. Construction of network G for a given optimal schedule. Clearly, for any instance of the above problem the set of its feasible schedules is nonempty, and once the objective function is regular, there always exists an optimal schedule (as follows from Theorem 3.3 of [3]). Assume that we are given an optimal schedule S ∗ for a given instance of the above problem, and let Cmax (S ∗ ) = maxi=1,...,n Ci (S ∗ ) denote the length of that schedule. The unit-time interval (t , t + 1) defined for an integer t ∈ Z will be referred to as a time unit t. Let T = {t ∈ Z | mini ri ≤ t < Cmax (S ∗ )} be the set of time units occupied by schedule S ∗ . We define a directed network G = (V , U ) corresponding to schedule S ∗ as follows. The vertex set V = {s} ∪ {τ } ∪ J ∪ Λ ∪ T consists of the source s, the sink τ , the set of job vertices J = {J1 , . . . , Jn }, the set of time units T , and the set Λ of intermediate vertices vij defined for all pairs of jobs Ji and Jj such that Ji precedes Jj in the given precedence relations and both jobs share the same time unit t ∈ T . In the latter case we say that Ji and Jj compete for the time unit t. Note that every job Jj may compete with at most two other jobs, namely: its direct predecessor and its direct successor in the chain containing job Jj . Moreover, since all pj ≥ 1, at most two jobs from the same chain may compete for the same time unit t and any two jobs Ji and Jj can compete for at most one time unit; the latter will be denoted as tij . The set U of arcs and their capacities are defined as follows.
• There are n arcs of capacities pj (j = 1, . . . , n) connecting the source s with jobs Jj ∈ J .
Fig. 1. An example of the network G corresponding to a given preemptive schedule.
• There are |T | arcs of capacity m connecting vertices from T with the sink τ . • For each vertex vij ∈ Λ we define three arcs: (Ji , vij ), (Jj , vij ), and (vij , tij ) of unit capacities. . • Let Γj (S ∗ ) be the starting time of job Jj in S ∗ , Tj = {t ∈ T | . ∗ ∗ ⌊Γj (S )⌋ ≤ t < Cj (S )}, and Ij = {t ∈ Tj | job Jj competes with no job for time unit t }. For any t ∈ Ij we define an arc (Jj , t ) of unit capacity. The example in Fig. 1 demonstrates how to define network G for a given schedule and chain-like precedence constraints. The example consists of 2 machines and 5 jobs J1 , . . . , J5 with unit processing times; job J2 precedes J3 , and J4 precedes J5 . The schedule is represented by a Gantt chart. In network G depicted in Fig. 1 all arcs coming into sink τ have capacity 2, while the remaining arcs have capacity 1. By the construction of network G we can derive several properties. (a) For any vertex t ∈ Tj there exists a unique directed path from vertex Jj to vertex t. (b) If job Ji precedes Jj , then we have
.
t ∗ = max t ≤ min t , t ∈Ti
t ∈Tj
(2)
and the equality in (2) can only be attained if jobs Ji and Jj compete for time unit t ∗ . We say that an s-to-τ flow x in network G is feasible if it meets the flow conservation rule at all vertices except ns and τ , meets all capacity constraints, and its value is equal to i=1 pi . (In fact, x is a maximum flow.) Let X be the set of all feasible flows in G. Given an optimal preemptive schedule S ∗ , we define a flow x(S ∗ ) = {xa | a ∈ U } in network G as follows.
• We send pi units of flow from source s to job vertex Ji for i = 1, . . . , n. • We then split the flow running out of Ji in accordance with
schedule S ∗ . Let xit denote the amount of job Ji processed in time unit t in schedule S ∗ . If xit > 0, we send xit units of flow from vertex Ji to vertex t ∈ Ti either directly (if (Ji , t ) ∈ U) or through an intermediate vertex vij ∈ Λ (if jobs Ji and Jj compete for the time unit t). Since, due to property (a), there may be at most one such vertex vij for each pair (i, t ), and this vertex is incident to only one vertex t ′ ∈ T (namely, t ′ = t), the amount of flow xit sent through the arc (Ji , vij ) inevitably comes to vertex t. • All other flow variables are determined by the flow conservation constraint.
P. Baptiste et al. / Operations Research Letters 40 (2012) 440–444
Thus defined s-to-τ flow x(S ∗ ) is feasible, since it satisfies the flow and capacity constraints, and its amount is equal conservation n to i=1 pi . This implies that set X is nonempty. 3. Defining a function F˜ on the set of feasible flows and showing its concavity. . For any i = 1, . . . , n we define an integral function ti (x) = max{t | xit > 0} of x ∈ X . Let
.
C¯ i (x) = ti (x) + xiti (x) , C¯ (x) = (C¯ 1 (x), . . . , C¯ n (x)),
Thus, we have (6). Using these relations, we derive (7):
λC˜ i (y) + (1 − λ)C˜ i (z ) = λC¯ i (y) + (1 − λ)C¯ i (z ) = ti (x) + λyiti (x) + (1 − λ)ziti (x) = ti (x) + xiti (x) = C¯ i (x). Now, using (7), (6), and the properties of F being unit-concave and non-decreasing, we can derive F˜ (x) = F (C¯ (x)) = F (λC˜ (y) + (1 − λ)C˜ (z ))
for each x ∈ X .
Evidently, we have C¯ i (x(S ∗ )) ≤ Ci (S ∗ ).
(3)
The inequality in (3) becomes equality if and only if job Ji is executed in the corresponding unit time interval from the left endpoint of the interval to the completion time of Ji without interruptions. Thus, in the example in Fig. 1 we have C¯ 1 (x(S ∗ )) = 1.5 and C1 (S ∗ ) = 2. Next we define a cost function F˜ on the set X of feasible flows:
.
≥ λF (C˜ (y)) + (1 − λ)F (C˜ (z )) ≥ λF (C¯ (y)) + (1 − λ)F (C¯ (z )) = λF˜ (y) + (1 − λ)F˜ (z ), which implies that function F˜ (x) is concave in X . 4. Obtaining an integral feasible flow minimizing the function F˜ . Let x˜ be the flow minimizing F˜ (x) over all x ∈ X . (It exists, since X is a nonempty compact in R|U | , while the function F˜ (x) is concave, and therefore, continuous.) Due to the fact that x(S ∗ ) ∈ X , we have
F˜ (x) = F (C¯ (x)).
F˜ (˜x) ≤ F˜ (x(S ∗ )).
It follows from (3) and the non-decreasing of F that
This together with (4) implies
. F˜ (x(S ∗ )) ≤ F (C (S ∗ )) = F ∗ .
(4)
We now want to prove that function F˜ (x) is concave on the set X of feasible flows. To that end, we should define two operations with flows. Multiplication of a flow x ∈ X by a constant λ ∈ (0, 1) results in a flow x′ whose value x′a on each arc a ∈ U is equal to λxa . The sum of two flows y, z ∈ X results in a flow x′ whose values {x′a } on arcs a ∈ U are defined as x′a = ya + za . It can be easily seen that for any pair of feasible flows y, z ∈ X and any λ ∈ [0, 1] the flow x defined as x = λy + (1 − λ)z is also feasible, which means that X is a convex set. Let us now consider y, z ∈ X , λ ∈ (0, 1), and show that the flow x = λy + (1 − λ)z meets ti (x) = max{ti (y), ti (z )}.
(5)
Indeed, since both coefficients λ and (1 − λ) are positive, the value of xit = λyit + (1 − λ)zit is positive, if at least one of two components yit and zit is positive. On the other hand, if both components yit and zit are zero, then xit = 0 as well, which implies (5). . . Let C˜ i (y) = max{C¯ i (y), ti (z )} and C˜ i (z ) = max{C¯ i (z ), ti (y)}. Using (5), we prove C˜ i (y), C˜ i (z ) ∈ [ti (x), ti (x) + 1]
(6)
C¯ i (x) = λC˜ i (y) + (1 − λ)C˜ i (z ).
(7)
Indeed, in the case ti (y) > ti (z ) we have C¯ i (z ) ≤ ti (z ) + 1 ≤ ti (y) = ti (x). Hence, C˜ i (z ) = ti (y), whereas C˜ i (y) = C¯ i (y), which provides (6). Note also that ziti (x) = 0. Therefore,
λC˜ i (y) + (1 − λ)C˜ i (z ) = λC¯ i (y) + (1 − λ)ti (y) = ti (y) + λyiti (y) = ti (x) + λyiti (x) + (1 − λ)ziti (x) = ti (x) + xiti (x) = C¯ i (x). Thus, we have obtained (7). The case ti (y) < ti (z ) is similar. Finally, if ti (y) = ti (z ) = ti (x), we have C˜ i (z ) = C¯ i (z ) ∈ [ti (x), ti (x) + 1].
F˜ (˜x) ≤ F ∗ .
(8)
Since the minimum of every concave function on a polytope is attained at a node of the polytope, and since we know that the set X of maximum s-to-τ -flows forms an integral polytope (see Theorem 13.10 in [11]), this implies the existence of an integral optimal solution x˜ ∈ X minimizing the function F˜ (x) on the set of feasible flows in network G. ˜ 5. Construction of an integral optimal schedule S. First we show that the integral flow x˜ corresponds to an integral ˜ Indeed, since for every pair (job Ji ∈ J , time feasible schedule S. unit t ∈ T ) the amount of flow x˜ it running from vertex Ji to vertex t is either zero or 1, job Ji in schedule S˜ should be either processed in the whole interval [t , t + 1] or should be idle. Thus, the schedule for processing each job is uniquely defined by the flow x˜ , and this schedule is integral. (The only uncertainty concerns the number of the machine that should process the job in each time unit. But this information is immaterial for our purposes.) Let us show that the schedule is optimal. For this schedule we have C¯ i (˜x) ≤ Ci (S˜ ), which implies F˜ (˜x) = F (C (S˜ )), and due to (8), we obtain F (C (S˜ )) ≤ F ∗ .
and
C˜ i (y) = C¯ i (y) ∈ [ti (x), ti (x) + 1]
443
and
Therefore, schedule S˜ is optimal, provided that it is feasible. ˜ it remains to show that it meets To prove the feasibility of S, precedence constraints. Indeed, due to property (c) of network G, every time that we have job Jj preceded by job Ji , all time vertices t ∈ T to which there may exist a positive flow x˜ it from vertex Ji have numbers less than the time units to which there may exist a positive flow x˜ jt from vertex Jj . The only intersection of the two sets Ti and Tj may be the ‘‘boundary’’ time unit t ∗ to which there is an arc from vertex vij . But due to the integrality of the flow x˜ , only one of two jobs {Ji , Jj } may produce a positive (in fact, unit) flow from vertex Jν (ν ∈ {i, j}) to vertex t ∗ . Thus, all time units to which there is a positive flow x˜ it from vertex Ji have numbers strictly less than the time units to which there is a positive flow from vertex Jj , which means that precedence constraints are satisfied. This completes the proof of Theorem 3.1.
444
P. Baptiste et al. / Operations Research Letters 40 (2012) 440–444
Corollary 3.2. Preemptions in P |pmtn, chains, rj , pj = 1| wj Cj , in P |pmtn , chains , r , p = 1 | w T , and in P | pmtn , chains , r j j j j j , pj = 1| wj Uj are not advantageous.
Acknowledgments The third author was supported by the Russian Foundation for Basic Research (grant no. 08-01-00370). The fourth author was supported by a research grant from the Natural Sciences and Research Council of Canada. The fifth author was supported by the Russian Foundation for Basic Research (grant no. 08-01-00370). References [1] P. Baptiste, On preemption redundancy, Technical Report, IBM T.J. Watson Research Center, Yorktown Heights, NY, 2002. [2] P. Baptiste, P. Brucker, S. Knust, V.G. Timkovsky, Ten notes on equalprocessing-time scheduling: at the frontiers of solvability in polynomial time, 4OR: A Quarterly Journal of Operations Research 2 (2) (2004) 111–127. [3] P. Baptiste, J. Carlier, A. Kononov, M. Queyranne, S. Sevastyanov, M. Sviridenko, Structural properties of optimal preemptive schedules, Diskretnyi Analiz i Issledovanie Operatsii 16 (1) (2009) 3–36 (in Russian). [4] P. Baptiste, J. Carlier, A. Kononov, M. Queyranne, S. Sevastyanov, M. Sviridenko, Properties of optimal schedules in preemptive shop scheduling, Discrete Applied Mathematics 159 (5) (2011) 272–280.
[5] P. Baptiste, V. Timkovsky, On preemption redundancy in scheduling unit processing time jobs on two parallel machines, Operations Research Letters 28 (2001) 205–212. [6] P. Brucker, S. Heitmann, J. Hurink, How useful are preemptive schedules? Operations Research Letters 31 (2) (2003) 129–136. [7] R. Conway, W. Maxwell, L. Miller, Theory of Scheduling, Addison-Wesley, Reading, Massachusetts, 1967. [8] J. Du, J.Y.-T. Leung, G. Young, Scheduling chain-structured tasks to minimize makespan and mean flow time, Information and Computation 92 (1991) 219–236. [9] V. Gordon, Deterministic single-stage scheduling systems with preemption, in: Computers in Machine-Building, Institute of Engineering Cybernetics, Minsk, 1973, pp. 30–38 (in Russian). [10] R. Graham, E. Lawler, J. Lenstra, A.H.G. Rinnooy Kan, Optimization and approximation in deterministic sequencing and scheduling: a survey, Annals of Discrete Mathematics 5 (1979) 287–326. [11] A. Schrijver, Combinatorial Optimization, Polyhedra and Efficiency, Vol. A, Paths, Flows, Matchings, Springer, 2000 (Chapters 1–38). [12] V. Tanaev, Preemption in deterministic scheduling systems with parallel identical machines, Vestsi Akademii Navuk Beiaruskay SSR, Seryya. Fizika Matematychnykh iu’avuk 6 (1973) 44–48 (in Russian). [13] V. Tanaev, V. Gordon, Y. Shafransky, Scheduling Theory. Single-Stage Systems, Kluwer, 1994. [14] V. Timkovsky, Identical parallel machines vs. unit-time shops and preemptions vs. chains in scheduling complexity, European Journal of Operational Research 149 (2003) 355–376. [15] V. Timkovsky, Reducibility among scheduling classes, in: J.Y.-T. Leung (Ed.), Handbook of Scheduling: Algorithms, Models, and Performance Analysis, in: Chapman & Hall/CRC Computer and Information Science Series, CRC Press Company, 2004 (Chapter 8).