Discrete Applied Mathematics 156 (2008) 2543–2550
Contents lists available at ScienceDirect
Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam
On single-machine scheduling without intermediate delays Philippe Chrétienne Paris 6 University, LIP6 Laboratory, Bureau C513, 104 avenue du Président Kennedy, 75006 Paris, France
article
info
Article history: Received 30 November 2006 Received in revised form 26 July 2007 Accepted 6 March 2008 Available online 2 May 2008 Keywords: Scheduling Complexity Algorithm
a b s t r a c t This paper introduces the non-idling machine constraint where no intermediate idle time between the operations processed by a machine is allowed. In its first part, the paper considers the non-idling single-machine scheduling problem. Complexity aspects are first discussed. The “Earliest Non-Idling” property is then introduced as a sufficient condition so that an algorithm solving the original problem also solves its non-idling variant. Moreover it is shown that preemptive problems do have that property. The critical times of an instance are then introduced and it is shown that when their number is polynomial, as for equallength jobs, a polynomial algorithm solving the original problem has a polynomial variant solving its non-idling version. © 2008 Elsevier B.V. All rights reserved.
1. Introduction Todate, most scheduling problems assume that no cost is incurred when a machine waits between the completion of a job and the start of the next job. Moreover, it is well-known that such waiting delays are often necessary to get optimality. This is the key feature why list algorithms, that do not allow a machine to wait for a more urgent job, do not generally provide optimal schedules. However, in some applications such as those described in [7], the cost of making a running machine stop and restart later is so high that a non-idling constraint is put on the machine so that only schedules without any intermediate delays are required. For example, if the machine is an oven that must heat different and incompatible pieces of work at a given high temperature, keeping the required temperature of the oven while it is empty may clearly be too costly. Problems concerning power management policies may also yield similar scheduling problems [6] where for example each idling period has a cost and the total cost has to be minimized [3]. Note that the non-idling constraint will not necessarily ensure full machine utilization (see for example Fig. 1) but will remove the cost of machine re-starts, maybe at the price of processing the jobs later. Contrary to the well-known no-wait constraint in shop scheduling where no idle time is allowed between the successive operations of a same job, the non-idling machine constraint does not seem to have been widely studied in the literature. To the best of our knowledge, the only work on such problems concerns the earliness/tardiness single-machine scheduling problem with no unforced idle time, where a Branch and Bound approach has been developed [9]. In order to make no confusion between these two types of no-wait constraints, a machine whose operations must be processed without any intermediate delay will be called a non-idling machine. By extension, a non-idling schedule will be a schedule for which the non-idling constraint is satisfied on each machine. In this paper, we study some aspects of the impact of the non-idling constraint on the complexity of single-machine scheduling problems. We show that when some conditions are fulfilled, classical polynomial algorithms solving singlemachine scheduling problems may be easily transformed to solve their non-idling version. Section 2 defines the nonidling single-machine scheduling problem, describes some complexity aspects of this problem and shows how to compute
E-mail address:
[email protected]. 0166-218X/$ – see front matter © 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.dam.2008.03.010
P. Chrétienne / Discrete Applied Mathematics 156 (2008) 2543–2550
2544
Fig. 1. From e(σ) to eNI (σ).
the earliest starting time of a non-idling schedule. Section 3 gives some examples that show some specificities of nonidling single-machine scheduling. In Section 4, the “Earliest Non-Idling”(in short ENI) property is introduced as a sufficient condition so that an algorithm solving the original problem also solves its non-idling variant. The “Non-Idling”(in short NI) property of a schedule is then defined and it is shown that if NI schedules are dominant, then the problem has the ENI property. Moreover preemptive problems are shown to have the ENI property. In Section 5, the critical times of an instance are introduced and it is shown that when the processing times are equal and the objective function is the sum of individual cost functions, an optimal non-idling schedule may be computed in polynomial time. 2. The non-idling single-machine problem Let Π = 1|rj , prec|Φ be a one-machine scheduling problem with jobs set J = {J1 , . . . , Jn } where:
• the release dates rj are compatible with prec (i.e: if job Ji precedes job Jj , then rj ≥ ri + pi ) and satisfy r1 ≤ · · · ≤ rn ; • Φ is a regular objective function; • all numerical data are positive integers. P For any K ⊂ {1, . . . , n}, the sum j∈K pj is denoted by PK . Let σ = (Ji1 , . . . , Jin ). The sequence σ is said to be feasible if there is least one feasible schedule with sequence σ . If σ is feasible, we denote by e(σ) the earliest feasible schedule with sequence σ . Since Φ is regular, e(σ) is also the best feasible schedule with sequence σ . Finally we denote by Σ the set of the feasible sequences and by Σ ∗ the subset of the optimal sequences of Σ. The non-idling scheduling problem ΠNI associated with Π is denoted by 1, NI|rj , prec|Φ in the 3-field notation. ΠNI has exactly the same instances as Π but, for each instance, the candidate schedules are those feasible schedules whose jobs are processed on the machine with no intermediate delay. In the non preemptive case, a sequence σ = (Ji1 , . . . , Jin ) is said to be NI-feasible if there is at least one non-idling feasible schedule with sequence σ . Given a NI-feasible sequence σ , we denote by eNI (σ) the earliest non-idling feasible schedule with sequence σ . Since Φ is regular, eNI (σ) is also the best non-idling feasible schedule with sequence σ . It is easily seen that the starting time αNI (σ) of eNI (σ) is as follows: ) ( k−1 X αNI (σ) = max 0, max r ik − p iq . k∈{1,...,n}
q=1
Moreover, as illustrated in Fig. 1, we got in this case eNI (σ) from e(σ) simply by right-shifting all the blocks of e(σ) except the last one. ∗ ∗ We denote by ΣNI (respectively ΣNI ) the set of the NI-feasible sequences and by ΣNI the subset of the optimal sequences of ΣNI . In the preemptive case, a non-idling feasible schedule is defined by its starting time and a list ((Ji1 , δ1 ), (Ji2 , δ2 ), . . . , (Jip , δp )) of job pieces where the δk ’s concerning pieces of job Jj are positive and sum to pj . Finally, αNI and βNI will respectively denote the earliest starting time of a non-idling feasible schedule and the earliest starting time of an optimal non-idling feasible schedule, whenever these schedules exist. 2.1. Complexity aspects Let us first observe that 1, NI|rj , dj |− is NP-complete in the strong sense since in the well-known reduction from 3PARTITION, the feasible schedules of the instance of 1|rj , dj |− are non-idling [5]. P The same argument may be used from [8] to show that 1, NI|rj |Lmax is NP-complete and that 1, NI|rj | Cj is NP-complete in the strong sense. Nevertheless it is not always true that the non-idling version of an NP-complete single-machine scheduling problem is also NP-complete. For example, deciding whether non-preemptive jobs may be scheduled within given machine availability time intervals, is NP-complete while its non-idling variant is clearly polynomial.
P. Chrétienne / Discrete Applied Mathematics 156 (2008) 2543–2550
2545
Fig. 2. βNI > αNI .
2.2. The earliest starting time of a non-idling schedule We know from Section 2.1 that the question whether the earliest starting time of a non-idling schedule exists is NPcomplete. We now show that computing αNI for an instance of a scheduling problem Π is easy and that αNI has the same value for the preemptive and non-preemptive case. Property 1. Let Π = 1, NI|rj , prec|Φ . We have αNI = αNI (J1 , . . . , Jn ). Proof. Let us first consider the non-preemptive case. Let σ = (Ji1 , . . . , Jin ) be a sequence of Σ such that the two consecutive jobs Jik and Jik+1 satisfy rik > rik+1 . Since Jik is not a predecessor of Jik+1 in the precedence graph, we may exchange these two jobs in the schedule eNI (σ) and get a feasible (but not necessarily earliest) non-idling schedule starting at time αNI (σ) and whose sequence σ 0 is obtained by exchanging the jobs Jik and Jik+1 in σ . Since eNI (σ 0 ) is the earliest non-idling schedule with sequence σ 0 , we get that αNI (σ 0 ) ≤ αNI (σ). After O(n2 ) such exchanges, we get αNI ((J1 , . . . , Jn )) ≤ αNI (σ). Let us now consider the preemptive case. Let s be a non-idling preemptive schedule starting at time t and whose jobs are started in the order of the sequence σ = (Ji1 , . . . , Jin ) (which means that the first piece of job Jik is processed on the machine later than the first piece of job Jik−1 ). Let Jik be the first job whose execution is split into more than one piece. By shifting to the left all but the first pieces of job Jik so that job Jik is no longer split, we get a NI-feasible schedule starting at time t with one more non-split job. By iterating the process, we get a non-preemptive non-idling schedule starting at time t with sequence (Ji1 , . . . , Jin ). We thus have t ≥ αNI (σ) ≥ αNI (J1 , . . . , Jn ). So the lemma is still true for the preemptive case. Since, when Π has no hard deadlines, αNI may be computed in polynomial time, any problem 1, NI|prec, ri |f (Cmax ), where f is non-decreasing, is polynomial. In that case the non-idling schedule eNI (J1 , . . . , Jn ) is optimal. 3. Some characteristics of non-idling scheduling Let Π be a single-machine scheduling problem such that ΣNI 6= ∅. Fig. 2 illustrates a situation where βNI > αNI for a small instance with 2 jobs and the cost function C1 + 3C2 . ∗ We now give an example showing that a sequence of Σ ∗ may not be a sequence of ΣNI . Consider the instance of 1, NI|rj , pj , qj | max(Cj + qj ) where qj is the tail of job Jj and whose data are given in the array below: i
1
2
3
4
5
6
pi
5
3
4
3
5
3
ri
0
10
11
11
20
30
qi
40
7
26
24
31
8
Fig. 3 shows first the schedule of Σ we get using the Jackson’s rule. This schedule is optimal since its cost is 56 and in any schedule we have C5 + q5 ≥ 56. So the sequence π = (J1 , J2 , J3 , J4 , J5 , J6 ) is in Σ ∗ . The next schedule is eNI (π) whose cost is 61 and where it clearly appears that scheduling job J2 at time 15 is not a good decision since jobs J3 and J4 are also ready at that time but have greater latency times. The last schedule is eNI (J1 , J3 , J5 , J4 , J2 , J6 ), which is an optimal non-idling schedule since its cost is 56. Before introducing a third example, let us denote by I(u) (u ≥ 0) the instance of Π with the same parameter values as the initial instance (say I) except for the release dates rj (u) which are defined by:
∀j ∈ {1, . . . , n},
rj (u) = max{rj , lj + u}
where lj is the value of longest path ending at Jj in the precedence graph of I. The feasible schedules of I(u) are the schedules ∗ of I whose starting time is at least u and the notations Σ (u), ΣNI (u), Σ ∗ (u), ΣNI (u), α(σ, u), αNI (σ, u), e(σ, u) and eNI (σ, u) are ∗ defined in the same way as Σ , ΣNI , Σ ∗ , ΣNI , α(σ), αNI (σ), e(σ) and eNI (σ) for instance I but apply to the instance I(u). What the following example shows is that if u− is the smallest u such that there is a sequence σ in Σ ∗ (u− ) such that the schedule e(σ, u− ) is non-idling, then this schedule is not necessarily an optimal non-idling schedule. Let us consider the instance described by the following array where the objective function is fa (Ca ) + fb (Cb ) + fc (Cc ).
2546
P. Chrétienne / Discrete Applied Mathematics 156 (2008) 2543–2550
∗ = ∅. Fig. 3. An instance such that S∗ ∩ SNI
fj (t) (
Jobs
pj
rj
a
2
0
b
3
5
t−8
c
2
7
5(t − 9)
0
if 2 ≤ t ≤ 5,
t−5
otherwise.
Fig. 4 first shows the schedules e(σ, u) for the six orders and for the three cases: u = 3, 3 < u < 5 and u = 5. In each rectangle of a schedule are inscribed the job and its individual cost in the schedule. First, it is easy to see that αNI = 3. We see that Σ ∗ (3) = {(a, c, b)} and that the corresponding schedule e((a, c, b), 3) has cost 4 but is not a non-idling schedule. For 3 < u < 5, we still have Σ ∗ (u) = {(a, c, b)} and the corresponding schedule e((a, c, b), u) whose cost is u + 1 is not a non-idling schedule. At time u = 5, we again have Σ ∗ (5) = {(a, c, b)} but now the corresponding schedule e((a, c, b), 5) is a non-idling schedule with cost 6. For this instance, we thus have u− = 5 but the corresponding non-idling schedule e((a, c, b), 5) of Σ ∗ (5) is not an optimal non-idling schedule since the schedule eNI ((a, b, c)) has cost 5. 4. The earliest non-idling property In this section, we are interested in the non-idling schedules starting at time αNI . Our first aim is to derive a sufficient condition such that for any instance there is an optimal non-idling schedule starting at time αNI . A problem with that property is said to have the ENI property. We introduce “Non-Idling” schedules (in short NI schedules), prove that problems for which NI schedules are dominant have the ENI property and show that preemptive problems have the ENI property. We finally prove that the absolute performance guarantee pmax provided by the Jackson’s rule for 1|ri , pi , qi | max(Cj + qj ) is also satisfied by the non-idling schedule we get when that rule is applied to the instance I(αNI ). Definition 1. A schedule is said to be NI if it is non-idling whenever there is at least one non completed available job. Property 2. If the NI schedules are dominant, then Π has the ENI property. Proof. Let s∗ be an optimal NI schedule of the instance I(αNI ). Clearly s∗ starts at time αNI since at least one job is released at that time. Let [t, u],(t < u) be the first idling period of s∗ . Since s∗ is NI, there is at least one job Ji such that ri (αNI ) ≥ u. Assume now that l is the largest index such that rj (αNI ) ≤ t and let k be the smallest index such that αNI + P{1,...,k} ≥ t (see Fig. 5). We have l < n since ri (αNI ) ≥ u > t and l ≥ k from the definitions of l and k. Let T ⊂ {J1 , . . . , Jl } be the jobs performed in s∗ during the time interval [αNI , t]. If T is strictly included in {J1 , . . . , Jl }, then at least one job in {J1 , . . . , Jl } \ T is ready at time t, which is a contradiction. Otherwise we have T = {J1 , . . . , Jl }, which implies l = k and αNI + P{1,...,k} = t. Since eNI ((J1 , . . . , Jn )) starts at time αNI , job Jk+1 is ready at time t in s∗ , a contradiction. Note that the dominance of NI schedules is not a necessary condition for the ENI property to be satisfied. This is illustrated by the small example of Fig. 2 with two jobs where e(J1 , J2 ) is the unique NI schedule of Σ while the optimal non-idling schedule, which starts at time βNI = αNI = r2 , is e(J2 , J1 ). We now prove that when preemption is allowed, NI schedules are dominant, which yields that the ENI property is satisfied. Property 3. If preemption is allowed, then the ENI property is satisfied. Proof. Assume that s is an optimal schedule of the instance I(αNI ) but is not a NI schedule. Let u(s) be the smallest time at which the NI property is violated and let [u(s), v(s)] be the first idling period of s. From the definition of u(s), we know that there is a job Ji that is not completed at time u(s) and we denote by ρi its residual processing time. If ρi > v(s) − u(s), we build the schedule s0 from s by processing job Ji in the time interval [u(s), v(s)] and replacing the last v(s) − u(s) time units of the execution of job Ji in s by idle periods (see Fig. 6). Clearly, s0 is also an optimal schedule of I(αNI ) and (if s0 is not NI) we have u(s0 ) > u(s).
P. Chrétienne / Discrete Applied Mathematics 156 (2008) 2543–2550
2547
Fig. 4. (a, c, b) ∈ Σ ∗ (5),e((a, c, b), 5) is non-idling but not optimal.
Fig. 5. The schedules s∗ and eNI (J1 , . . . , Jn ).
If ρi ≤ v(s) − u(s), we build the schedule s00 from s by processing job Ji in the time interval [u(s), u(s) + ρi ] and replacing the last ρi time units of the execution of job Ji in s by idle periods (see Fig. 6). Clearly, s00 is also an optimal schedule of I(αNI ) and (if s00 is not NI) we have u(s00 ) > u(s). By iterating a finite number of times the transformation s → s0 or s → s00 , we get an optimal schedule which is NI.
P Property 3 may be used to easily solve problems 1, NI|prec, rj , pmtn|fmax , 1, NI|rj , pmtn| Cj and 1, NI|rj , dj , pmtn|−. In each case, the algorithm first computes αNI and then applies the algorithm solving the unrestricted problem to the instance I(αNI ). Consider for example the instance of 1, NI|rj , dj , pmtn|− whose data are written in the array below:
P. Chrétienne / Discrete Applied Mathematics 156 (2008) 2543–2550
2548
Fig. 6. The transformations s → s0 and s → s00 .
Fig. 7. An optimal non-idling schedule.
j
0
1
2
3
4
5
6
7
8
pj
3
4
2
5
7
2
1
2
2
rj
0
0
4
13
16
27
28
32
32
dj
23
24
23
27
23
32
30
36
38
We have αNI = 8. Applying the Jackson preemptive algorithm to I(8), we get the non-idling schedule illustrated by Fig. 7. Since this schedule is not feasible (job 3 is completed at time 29), we may conclude that the original instance has no feasible preemptive non-idling schedule. In the rest of this section, we consider the problem 1, NI|rj , pj , qj | max(Cj + qj ) and show that, as in the non-restricted case, Jackson’s rule (at each job completion time, the remaining job with the maximum tail value is chosen) still performs well [4]. Note first that 1, NI|rj , pj , qj | max(Cj + qj ) is NP-complete since clearly 1, NI|rj , pj , d˜ j |− polynomially reduces to it. Let us now denote by τ the Jackson’s sequence (i.e: the jobs sequence resulting from Jackson’s rule) of the instance I(αNI ). The following lemma shows that e(τ, αNI ), the earliest schedule of I(αNI ) with sequence τ , is non-idling. Lemma 1. Let τ be the Jackson’s sequence of the instance I(αNI ). Then αNI (τ) = αNI . Proof. From its definition, we know that the Jackson’s schedule e(τ, αNI ) of the instance I(αNI ) is a NI-schedule. So this schedule starts at time αNI . Assume now that e(τ, αNI ) has at least two blocks and let u be the end time of its first block. Since from Property 1 the schedule eNI ((J1 , . . . , Jn )) starts at time αNI and is non-idling, then there is an uncompleted ready job at time u in e(τ, αNI ). A contradiction. ∗ Let us now denote by Cˆ the makespan of the Jackson’s schedule e(τ, αNI ), by CNI the minimum makespan of a non-idling schedule and by C ∗ (αNI ) the minimum makespan of the instance I(αNI ) for the unrestricted problem. Then a variant of Carlier’s result [4] is the following property: ∗ Property 4. Cˆ − CNI ≤ maxi∈{1,...,n} pi . ∗ Proof. From the definition of αNI , we have C ∗ (αNI ) ≤ CNI and from Carlier’s result we also know that Cˆ − C ∗ (αNI ) ≤ maxi∈{1,...,n} pi .
5. The critical times of an instance 5.1. Definition Let us first denote by Z (u) (u ≥ 0) the set of the sequences σ such that we get a feasible non-idling schedule (denoted by z(u, σ)) when performing the jobs from time u with no intermediate delays in the order of σ . The critical times of an instance are then defined as the times u at which Z (u) increases or decreases. Let σ = (Ji1 , . . . , Jin ). It is easy to see that z(u, σ) meets the release times if and only if u ≥ αNI (σ). Conversely, z(u, σ) meets the deadlines if and only if u ≥ ωNI (σ) where ωNI (σ) is defined by:
ωNI (σ) = max{0, min {d˜ ik − P{i1 ,...,ik } }}. k∈{1,...,n}
From these definitions, we get that the sequence σ is NI-feasible if and only if αNI (σ) ≤ ωNI (σ) and that σ ∈ Z (u) if and only if αNI (σ) ≤ u ≤ ωNI (σ). It follows from the definitions of αNI (σ) and ωNI (σ) that the critical times of an instance are the distinct and non negative values we may obtain from:
P. Chrétienne / Discrete Applied Mathematics 156 (2008) 2543–2550
2549
1. the values rj − PK where Jj is a job and K is a subset of jobs such that Jj 6∈ K ; 2. the values dj − PK where Jj is a job and K is a subset of jobs such that Jj ∈ K . Note also that if 0 is not such a value, then by convention it will also be considered as a critical time. If N is the number of critical times, then we denote by (c1 , . . . , cN ) the sorted list of these values. Let z∗ (ck ), k ∈ {1, . . . , N} be an optimal nonidling schedule starting at time ck . The next property shows that the schedule z∗ (ck ) whose cost is minimum is an optimal non-idling schedule. Property 5. Let (c1 , . . . , cN ) be the sorted list of the critical times of an instance of ΠNI and let k∗ be such that: ∀k, Φ (z∗ (ck∗ )) ≤ Φ (z∗ (ck )). Then z∗ (ck∗ ) is an optimal non-idling schedule. Proof. It is clear from the definition of the critical times that for any k ∈ {1, . . . , N − 1}, the set Z (u) is invariant in the time interval [ck , ck+1 (. Let s be the non-idling schedule with sequence σ starting at time t. Let k be the largest index such that ck ≤ t. From the definition of the critical values, we know that the non-idling schedule s0 with sequence σ starting at time ck is NI-feasible. Moreover since the objective function is regular, we know that s0 is at least as good s. 5.2. Equal processing times We assume in this section that ΠNI is a single-machine scheduling problem whose non preemptive jobs have the same P processing time p and that the objective function Φ (s) has one of the two forms fj (Cj ) or max fj (Cj ). We first consider the special case of independent jobs and show that the corresponding problems are polynomial even if the individual cost functions are no longer regular. It is clear from their definition that the critical times of an instance are the distinct and non negative values we may obtain from: 1. the value 0; 2. the values rj − ap where Jj is a job and a ∈ {0, . . . , n − 1}; 3. the values dj − bp where Jj is a job and b ∈ {0, . . . , n}. We thus know that N (the number of critical times) is O(n2 ) and that the sorted list (c1 , . . . , cN ) of the critical times may be computed in O(n2 log n) time. Let u ≥ 0 and let us denote by z∗ (u) an optimal non-idling schedule starting at u (if such a schedule exists). Property 6 shows that, if it exists, the schedule z∗ (u) may be computed by solving an assignment problem. Property 6. For any time u ≥ 0, the schedule z∗ (u) may be computed in polynomial time. Proof. Let u ≥ 0 and for any k ∈ {1, . . . , n}, let us denote by Ak the time interval [u + (k − 1)p, u + kp]. We then consider the assignment graph whose “left” nodes are the jobs Jj and whose “right” nodes are the time intervals Ak . If job Jj may be scheduled in Ak , then there is an edge {Jj , Ak } with cost fj (u + kp). Clearly the non-idling schedules starting at u are in one to one correspondence with the assignments of the n jobs to the n time intervals and the schedule z∗ (u) corresponds to an optimal such assignment. The result follows since an optimal assignment (if it exists) may be computed in O(n3 ) for the both forms of the objective function. P It follows from Properties 5 and 6 that the problems 1, NI|pj = p, rj , dj |Φ where Φ has one of the two forms fj (Cj ) or max fj (Cj ) are polynomial. Let us now consider the case of dependent jobs, that is the class of problems 1, NI|rj , pj = p, prec|Φ . We get from Property 5 that a sufficient condition for the problem to be polynomial is that its special case with a fixed schedule starting time is itself polynomial. The preceding argument may for example be applied to show that problems 1, NI|rj , pj = 1, prec| fmax , P 1, NI|rj , pj = p, prec| Ci and 1, NI|rj , pj = p, prec| Lmax are polynomial since their variant with a fixed schedule starting time is itself polynomial [1,2]. 6. Conclusion In this paper, we have introduced the non-idling constraint in the basic single-machine scheduling problem and discussed some complexity aspects of these new problems. The earliest starting time of any non-idling schedule has been defined and some sufficient conditions for an optimal non-idling schedule to start at that earliest time have been provided. We have also defined the critical times of an instance and it has been shown that for equal processing times, they may be used to derive polynomial algorithms. Non-idling problems obviously open many directions for future research. One interesting point would be to know if the non-idling version of any polynomial single-machine scheduling problem is also polynomial. Another direction is to study the impact of the non-idling constraint on solving NP-hard single-machine problems. Moreover, it is clear that the nonidling constraint may also concern parallel and shop scheduling problems so that it would be worth studying exact and approximate algorithms for these new problems.
2550
P. Chrétienne / Discrete Applied Mathematics 156 (2008) 2543–2550
References [1] P. Baptiste, Polynomial time algorithms for minimizing the weighted number of late jobs on a single machine with equal processing times, Journal of Scheduling 2 (1999) 245–252. [2] P. Baptiste, Scheduling equal-length jobs on identical parallel machines, Discrete Applied Mathematics 103 (1) (2000) 21–32. [3] P. Baptiste, Scheduling Unit Tasks to Minimize the Number of Idle Periods: A Polynomial Time Algorithm for Off-line Dynamic Power Management, Research Report, Laboratoire d’Informatique CNRS LIX, 2005. [4] J. Carlier, One machine sequencing problem, European Journal of Operational Research 11 (1982) 42–47. [5] R. Garey, D. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, Wiley, 1971. [6] S. Irani, K. Pruhs, Algorithmic Problems in Power Management, vol. 36, ACM Press, New York, USA, 2005, pp. 63–76. [7] K. Landis, Group Technology and Cellular Manufacturing in the Westvaco Los Angeles VH Department. Project Report in IOM 581, School of Business, University of Southern California, 1993. [8] J.K. Lenstra, A.H.G. Rinnoy Kan, Complexity results for scheduling chains on a single machine, European Journal of Operational Research 4 (4) (1980) 270–275. [9] J.M.S. Valente, R.A.F.S. Alves, An exact approach to early/tardy scheduling with releases dates, Computers and Operations Research 32 (2005) 2905–2917.