Parallel Machine Problems with Equal Processing ... - Semantic Scholar

3 downloads 0 Views 174KB Size Report
Feb 1, 2016 - Fakultät für Mathematik, Otto-von-Guericke-Universität. Magdeburg, 39106 Germany. E-mail: frank[email protected] ...
Journal of Scheduling manuscript No. (will be inserted by the editor)

Parallel Machine Problems with Equal Processing Times: A Survey Svetlana A. Kravchenko · Frank Werner

the date of receipt and acceptance should be inserted later

Abstract The basic scheduling problem we are dealing with is the following. There are n jobs, each requiring an identical execution time. All jobs have to be processed on a set of parallel machines. Preemptions can be either allowed or forbidden. The aim is to construct a feasible schedule such that a given criterion is minimized. In this paper, we survey existing approaches for the problem class considered.

1 Introduction We consider the following basic scheduling problem. There are n jobs, denoted by J1 , J2 , . . . , Jn , each requiring an identical execution time p. With each job Jj , j = 1, . . . , n, there can be associated a release time rj , a due date dj , a deadline Dj , a weight wj and/or a delivery time qj . All these values are known in advance for each job. All jobs have to be processed on a set of m parallel machines, either on identical or uniform ones. In the case of identical parallel machines, all machines are working with the same speed, but if we are dealing with uniform machines, then each machine Mq , q = 1, . . . , m, has some speed sq , i.e., the execution of job Jj on machine Mq requires p/sq time units. Each machine can process only one job at a time. During the processing of the jobs, preemptions can be allowed or forbidden. In the first case, the processing of any job once started has to be completed without any interruptions. In the second case, the processing of any operation may be interrupted and resumed later, possibly on another machine. The objective is to construct a feasible schedule so as to minimize a given criterion. We consider classical  scheduling criteria such as the schedule length C , the sum of completion times Cj , the number of late jobs max   Uj , and so on. We also consider the criterion fj , where fj is a non-decreasing objective function depending on the completion time Cj such that fi − fk is monotonic United Institute of Informatics Problems Minsk, 220012 Belarus E-mail: [email protected] Fakult¨ at f¨ ur Mathematik, Otto-von-Guericke-Universit¨ at Magdeburg, 39106 Germany E-mail: [email protected]

2



for any i and k and the criteria ϕj and max ϕj , where for each job Jj function ϕj is non-decreasing in the completion time Cj . In this paper, we discuss several solution approaches for the problem considered and expose problems with an open complexity status. For the interested readers, we can recommend in addition the collections of results presented in [3], [8] and [16]. In particular, we recommend [3] for the readers interested in the implementation of a dynamic programming approach for scheduling jobs with equal processing times. However, during the last five years, a number of papers devoted to an approach based on linear programming were published. In this survey, we present both approaches, trying to describe the most fruitful ideas and pose the most important open questions. Here, we do not consider approximate and online algorithms. We refer the interested reader e.g. to the papers [15] and [22]. Problems with equal processing times arise, for instance, in data communication networks during the transmission of a packet of bits with a constant length [18], or in logistics models of a food processing plant [21]. An interesting example which arises in the context of production planning in a microbiological laboratory can be found in [12]. Another example concerning the problem of scheduling burn-in operations in integrated circuit manufacturing has been described in [36]. Effective algorithms for equal durations appear very useful in situations when the durations do not too much differ from each other, or in situations when the majority of the jobs has equal processing times. In this case, the optimal solution for the problem with equal processing times can be considered as an approximate solution for the problem with similar processing times. Such a situation occurs also for problems with uncertain processing times, e.g. when it is only known in advance that the processing time of a job may take any real number from a small interval around a common processing time. Then one can construct an approximate solution for such a problem by solving several problems with equal processing times. Moreover, problems with equal processing times compose an important class of sub-problems in complexity analysis [37], i.e., in those cases when the objective is to draw the boundary between NP-hard and polynomially solvable problems. This survey is organized as follows. In Section 2 we review most important results on problems without preemptions. Then we survey the results on preemptive problems in Section 3. In Section 4 we present an overview, where we refer to the 2-digit and 3-digit numberings of the particular results in the text.

2 Problems without preemptions Whereas the overwhelming majority of scheduling problems appear to be NP-hard, some models with equal processing times without preemptions form a remarkable case which seems polynomially solvable for any monotonic objective function. Due to the possibility to enumerate the possible places of the jobs in an optimal schedule in polynomial time, the model looks like an assignment problem. Therefore, one can intuitively suppose the existence of a polynomial algorithm for any monotonic criterion. Nevertheless, since prime conflicts are caused by overlapping intervals most of the problems cannot be solved by the known methods and up to now, they have an open complexity status. A special case is the model with p = 1. For most criteria, this problem is equivalent to the assignment problem and can be solved by a network flow algorithm. However,

3

this approach cannot be applied to the general model with arbitrary p since, in the case of p = 1, the main conflicts among overlapping places for processing jobs disappear. In fact, the problem with arbitrary p can be considered as a generalization of the assignment problem. Further we describe the results ordered by the optimization criterion. In Tables 1 and 2, we group the results by the computational complexity status.

2.1 Classical criteria Single machine 2.1.1 If the processing times can be arbitrary, problem 1|rj , Dj |− is unary NP-hard by a polynomial reduction from the 3-partition problem, see [33]. 2.1.2 In [20], an O(n log n) algorithm has been proposed for problem 1|rj , pj = p, Dj , prec| Cmax . More precisely, the authors consider a problem with unit processing times and arbitrary rational release dates and deadlines. However, by an appropriate scaling one can show that these two models are equivalent. They show that it is possible to modify the release times and deadlines so as to reflect the partial order (i.e., for the problem considered the constraint prec is irrelevant) by assigning rj := max{{rj } ∪ {ri + 1 | Ti ≺ Tj }} and dj := min{{dj } ∪ {di − 1 | Tj ≺ Ti }}. After such an assignment condition, Ti ≺ Tj implies ri < rj and di < dj . By straightforward interchange arguments, one can show that any schedule for problem 1 | rj , pj = p, Dj | Cmax can be transformed into a schedule for problem 1 | rj , pj = p, Dj , prec | Cmax without changing the Cmax -value. 2.1.3 To solve problem 1 | rj , pj = p, Dj | Cmax , the concept of forbidden regions (intervals) has been proposed (see [20]), i.e., open intervals where no job can start. The set of all forbidden regions is formed iteratively. The main observation used is the following. Assume that one knows the set of forbidden regions in the interval [ri , Dj ], and let J1 , . . . , Jk be the set of jobs with release times and deadlines from the interval [ri , Dj ]. Now we set r1 = . . . = rk = ri and D1 = . . . = Dk = Dj and find the largest value of e such that all jobs J1 , . . . , Jk can be scheduled in [e, Dj ] under the condition that no job can start in a forbidden interval. Now, if ri ≤ e < ri + 1, then ]e − 1, ri [ is declared as a forbidden region, since in any feasible schedule a job starting in ]e − 1, ri [ is not from {J1 , . . . , Jk } and hence, the set {J1 , . . . , Jk } is finished after Dj . After forming the set of all forbidden regions, the implementation of the earliest deadline scheduling rule gives an optimal schedule. Parallel machines 2.1.4 In [44], it has been shown that problem P |pj = 1, Dj , prec|− is unary NP-hard by a polynomial reduction from the 3-satisfiability problem. 2.1.5 In [34], the authors have shown that even problem P | pj = 1, Dj = 3, prec | − is unary NP-hard. Note that problem P | pj = 1, Dj = 2, prec | − can be polynomially solved in O(n) time. 2.1.6 The important question about the complexity status of problem P 3 | pj = 1, prec | Cmax is still open whereas in [19], problem P 2 | pj = 1, prec | Cmax was solved in O(n3 ) time by a reduction of the problem to the maximum matching problem. 2.1.7 In [7], an O(n log n) algorithm has been proposed for problem P | rj , pj = p, outtree | Cmax and it has been shown that problem P | rj , pj = p, intree | Cmax is unary NP-hard.

4

2.1.8 In [39], a polynomial algorithm with complexity O(n3 log log n) has been developed for problem P |rj , pj = p, Dj |−. The algorithm is based on an analysis of the structural properties of an optimal schedule. The main features of the optimal structure used in that paper are the following: 1. Any schedule is completely defined by the set of time slots (1, t1 ), (2, t2 ), . . . , (n, tn ), where i = 1, . . . , n is the slot number and ti is the starting time of slot i. 2. If we know the set of all occupied time slots, then an optimal schedule can be constructed by the earliest deadline scheduling procedure. 3. If the earliest deadline scheduling procedure generates a sequence (1, t1 ), . . . , (k, tk ), such that job Jl processed in (k, tk ) is late, then job Jl cannot be scheduled in (k, tk ) and has to be scheduled earlier. To provide this, one of the slots (1, t1 ), . . . , (k − 1, tk−1 ) has to be pulled right. To this end, Simons chooses the closest to (k, tk ) slot which is occupied by a job whose deadline exceeds Dl . It has been shown that the use of these principles leads to the construction of an optimal schedule for problem P |rj , pj = p, Dj |−. The  same algorithm solves the problems Cj . P |rj , pj = p, Dj |Cmax and P |rj , pj = p, Dj | 2.1.9 In [41], an O(mn2 ) time algorithm was proposed for problems P |rj , pj = p, Dj |−,  Cj . The algorithm is substantially P |rj , pj = p, Dj |Cmax , and P |rj , pj = p, Dj | based on the ideas from [20] and [39]. 2.1.10 In [10], the following linear programming formulation was proposed for problem P |rj , pj = p, Dj |−: z 

xji = p,

j = 1, . . . , n

(1)

i=1 n 

xj,i+1 + . . . +

j=1

n 

xj,i+y ≤ mp,

i = 0, . . . , z − y

(2)

j=1

xji = 0 if Ii ⊆ [rj , Dj [, 0 ≤ xji ≤ p,

i = 1, . . . , z,

i = 1, . . . , z,

j = 1, . . . , n

j = 1, . . . , n

(3) (4)

Here xji is equal to the amount of job Jj processed in the interval Ii , where {Ii | i ∈ {1, . . . , z}} = {[rj + kp, rj + kp + p [ | k ∈ {. . . , −1, 0, 1, . . .}}, and y = max{k | Ii+1 ∩ . . . ∩ Ii+k = ∅, i ∈ {0, . . . , z − k}}. In the above system, the polyhedron (1) and for each i = 0, . . . , z − y, with i + ey ≤ z, the polyhedron (2) are integer. Nevertheless, their intersection is not an integer polyhedron and therefore, the obtained solution is not necessarily integer. Using an obtained solution, one can construct an optimal schedule in two equivalent ways, namely: 1. It is possible to find the intervals which are occupied in a feasible schedule. Then the earliest deadline scheduling procedure generates an optimal schedule. 2. It is possible to transform the obtained solution into the form x∗ji ∈ {0, p}. The obtained vector gives an optimal solution for problem P | rj , pj = p, Dj | −. In both cases, the following property of an optimal solution holds: If k = min{i | x∗ji = 0, j = 1, . . . , n} for the optimal solution, then the time slot Ik is occupied in an optimal schedule. 2.1.11 Problem P |rj , pj = p, qj |Cmax was considered in [45]. Here qj is the delivery time of job Jj . The delivery takes no machine time but after being processed on the machine, any job requires a delivery time for its completion. Thus, for any job Jj the

5

completion time Cj equals tsj + p + qj , where tsj is the starting time of the processing of job Jj , whereas the machine on which job Jj is scheduled processes this job in the time interval [tsj , tsj + p[. In [45], a pseudopolynomial algorithm with complexity O(qmax mn log n + O(mkn)) was proposed for problem P |rj , pj = p, qj |Cmax , where k < n holds. Note that problem P |rj , pj = p, qj |Cmax can be solved by the polynomial algorithm developed in [27] for problem P | rj , pj = p, Dj | max ϕj (Cj ), where ϕj (Cj ) is the cost associated with job Jj completed at time Cj . Thus, to solve problem P |rj , pj = p, qj |Cmax it is sufficient to solve problem P | rj , pj = p, qj | max{Cj + qj } ≤ F for some F, where F = D(Ii ) for some i ∈ {1, . . . , z} and D(Ii ) is the right endpoint of interval Ii . ¿From [27], it follows that problem P | rj , pj = p, qj | max{Cj + qj } ≤ F is equivalent to the following feasibility problem: z 

xji = p,

j = 1, . . . , n

i=1 n  j=1

xj,i+1 +

n 

xj,i+2 + . . . +

j=1

n 

xj,i+y ≤ mp,

i = 0, . . . , z − y

j=1

xji = 0 if R(Ii ) < rj

i = 1, . . . , z,

j = 1, . . . , n

xji = 0 if D(Ii ) + qj > F xji ≥ 0,

i = 1, . . . , z,

j = 1, . . . , n

Here R(Ii ) is the left endpoint of the interval Ii .  Cj , it is 2.1.12 It has been shown in [10] that, to solve problem P |rj , pj = p, Dj | sufficient to solve the following linear programming problem: Minimize

z  n 

D(Ii )xji

i=1 j=1

subject to (1), (2), (3), (4). 2.1.13 In [17], the proposed linear programming formulation t n for the above problem was transformed by means of the substitution yt = s=1 j=1 xjs into the following form: Minimize

z 

D(Ii )(yi − yi−1 )

i=1

subject to yz − y0 = n yi − yi−1 ≥ 0,

i = 1, . . . , n

yi − yi−y+1 ≤ m,

i = y, . . . , n

y0 = 0. 4 The authors have shown that this model can be solved in O(n ) time. wj Cj , it is sufficient to solve the following 2.1.14 To solve problem P |rj , pj = p| linear program (see [10]):

Minimize

z  n  i=1 j=1

wj D(Ii )xji

6

subject to (1), (2), (3), (4).



wj Cj as far as for the next problem P |rj , pj = Tj , we introduce a Dj -value for each job Jj by setting Dj = maxj {rj } + np. Tj , it is In [11], it has been shown that, in order to solve problem P |rj , pj = p| sufficient to

p|

Note that for problem P |rj , pj = p|

Minimize

z  n 

max{0, D(Ii ) − dj } xji

i=1 j=1

subject to (1), (2), (3), (4). 2.1.15 In [2], a polynomial time algorithm with the complexity O(n6m+1 ) was proposed  wj Uj . The algorithm is based on the following for problem P m | rj , pj = p | observations and definitions: 1. It is possible to restrict the set of starting times by {rj + zp | z ∈ {0, . . . , n}, j ∈ {0, . . . , n}}. 2. If the set of time slots (1, t1 ), . . . , (n, tn ) is known in advance for an optimal schedule, where i = 1, . . . , n is a slot number and ti is the starting time of slot i, then the desired schedule can be constructed by the earliest due date rule. 3. The only situation when job Jj follows Ji with dj < di is the situation when Ji is processed within ]rj − p, rj + p[, i.e., the starting time of Ji is before rj . 4. A profile is defined as a vector (a1 , . . . , am ), where ai ∈ {rj +zp | z ∈ {0, . . . , n}, j ∈ {0, . . . , n}}, and max{a1 , . . . , am } − min{a1 , . . . , am } ≤ p. In an optimal schedule, for any job Jj scheduled at tj , only a profile a with tj ∈ {a1 , . . . , am } can be prescribed. 5. k[a, b] is defined as the set of early jobs from {J1 , . . . , Jk } scheduled between the profiles a and b, and Wk [a, b] is the maximal weight for such a set. Now, dynamic programming can be applied by using the formulas Wk [a, b] = max{Wk [a, b], Wk−1 [a, b]} if max{a1 , . . . , am } − p ≤ rk < min{b1 , . . . , bm }, and Wk [a, b] = Wk−1 [a, b] if rk ∈ [max{a1 , . . . , am } − p, min{b1 , . . . , bm }[, where Wk [a, b] =

max

min{x1 ,...,xm }∈ [rk ,dk −p]

{Wk−1 [a, x] + wk + Wk−1 [x , b]}.



2.1.16 In [13], an O(n5 ) algorithm was proposed for problem 1 | rj , pj = p | Uj . This algorithm is analogous to the algorithm from [2], however, the authors do not use Wk [a, b] but wk [a, B], i.e., for the given w, k and a, the authors minimize B. For the single machine case, B is the length of the considered subschedule. Thus, they define: 1. k[a, ·] is the set of jobs from {J1 , . . . , Jk } such that rj ≥ a holds, 2. wk [a, B] equals the minimal value B such that it is possible to execute w jobs from k[a, ·] in the time interval [a + p, b]. 2.1.17 In [38], a polynomial time algorithm was proposed for problem P | rj , pj = p, Dj | Lmax . It is based on a binary search technique and on the fact that the number of possible starting points is polynomial in the problem size. 2.1.18 In [14], the case with identical jobs and uniform parallel machines has been considered, i.e., when each machine has some given speed. It has been shown how to solve  problems Q|rj , pj = p|Cmax and Q|rj , pj = p| Cj in O(n log n) and O(mn2m+1 ) time, respectively. 2.1.19 Note that currently the   most interesting open problems are P | rj , pj = p | Uj and P | rj , pj = p, Dj | wj C j .

7

2.2 Some generalizations 2.2.1 In [6], a dynamic programming approach was used to solve polynomially problem P m | rj , pj = p | fj , where fj is an objective function depending on the completion times Cj such  that fj is non-decreasing and fi − fk is monotonic. Note  wj Cj and Tj can be described in such a way. that both classical criteria 2.2.2 In [14], the case with identical jobs and uniform parallel machines has been considered, i.e., when each machine has some given speed. It2 has been shown how to solve problems Q|pj = p| ϕj and Q|pj = p| max ϕj in O(n ) time, where max ϕj = max1≤j≤n ϕj (Cj ), and ϕj , j = 1, . . . , n, are non-decreasing functions in the job completion times. 2.2.3 a linear programming approach was proposed for problem P | rj , pj = p |  In [26], fj , where fj is the objective function from [6], i.e., fj depends on the completion − fk is monotonic. time Cj such that fj is non-decreasing and fi  The approach for problem P | rj , pj = p | fj is analogous to that from [11] and consists in minimizing z  n 

fj (D(Ii ))xji

i=1 j=1

subject to (1), (2), xji = 0 if R(Ii ) < rj , xji ≥ 0,

i = 1, . . . , z,

i = 1, . . . , z,

j = 1, . . . , n

j = 1, . . . , n.

Remind that R(Ii ) is the left endpoint of the interval Ii . 2.2.4 In [27], a polynomial algorithm was developed for problem P | rj , pj = p, Dj | max ϕj (Cj ), where ϕj (Cj ) is any non-decreasing function associated with job Jj completed at time Cj . The classical scheduling criteria belonging to max ϕj (Cj ) are the minimization of maximum completion times Cmax , the minimization of maximum lateness Lmax = maxj {Cj − dj } and maximum tardiness max Tj = maxj {Lj , 0}. A polynomial algorithm for problem P | rj , pj = p, Dj | max ϕj (Cj ) can be briefly described as follows. Note that the number of intervals available for processing can be polynomially bounded. Therefore, the possible number of different values ϕj (D(Ii )) is polynomially bounded, too. Take any F = ϕj (D(Ii )) for some i and j. Consider the following feasibility problem: z 

xji = p,

j = 1, . . . , n

i=1 n 

xj,i+1 + . . . +

j=1

n 

xj,i+y ≤ mp,

i = 0, . . . , z − y

j=1

xji = 0 if R(Ii ) < rj

i = 1, . . . , z,

j = 1, . . . , n

xji = 0 if ϕj (D(Ii )) > F xji ≥ 0,

i = 1, . . . , z,

j = 1, . . . , n

It is possible to find a solution for the above problem such that xj,i ∈ {0, p}. At the same time, the obtained solution can be considered as a solution for problem P | rj , pj = p, Dj | max ϕj (Cj ) ≤ F . Applying the same procedure for all different values

8

of F = ϕj (D(Ii )), we can choose the minimal value of F. Since the number of different values ϕj (D(Ii )) is polynomially bounded, the proposed algorithm is polynomial. 2.2.5 In [40], the following problem has been considered. With each of the n jobs, there is associated a set of intervals. Each interval has a starting time and a finishing time. All data are assumed to be integers. The goal is to construct a feasible schedule so that each job is processed only in one of the prescribed intervals. This problem can be denoted as P | [rjk , Djk ], pj = p | −. It has been shown that the considered problem is unary N P -hard for the case of one machine and two prescribed intervals for each job by a polynomial reduction from the 3-satisfiability problem. 2.2.6 In [25], the following problem has been considered. As before, for each job Jj , j = 1, . . . , n, a processing time pj = p, a release date rj , and a deadline Dj are given. Besides we suppose that the time interval [minj {rj }, maxj {Dj }[ is divided into several intervals [t1 , t2 [, [t2 , t3 [, . . . , [tT −1 , tT [, where minj {rj } = t1 ≤ t2 ≤ . . . ≤ tT = maxj {Dj }, such that for each interval [tg , tg+1 [ the number of available machines mg+1 is known in advance. Note that we do not fix the concrete set of mg+1 machines, i.e., at two different points of [tg , tg+1 [, one can use different sets of mg+1 machines. Preemption of processing is not allowed, i.e., the processing of any job started at time t on one of the identical machines will be completed at time t + p on the same machine. We want to find a feasible schedule such that the maximal number of machines used by J1 , . . . , Jn is minimal. The problem has been reduced to the following linear programming problem. Minimize M subject to

z 

xji = p,

j ∈ {1, . . . , n}

i=1 n 

xj,i+1 + . . . +

j=1

n 

xj,i+q ≤ min{M, mk+1 }p,

j=1

where i ∈ {0, . . . , z − q}, q ∈ {1, . . . , y}, k ∈ {1, . . . , T − 1}, Ii+1 ∩ . . . ∩ Ii+q ∩ [tk , tk+1 [= ∅ xji = 0 if R(Ii ) < rj ,

i = 1, . . . , z,

j = 1, . . . , n

xji = 0 if Dj < D(Ii ),

i = 1, . . . , z,

j = 1, . . . , n

xji ≥ 0,

i = 1, . . . , z,

j = 1, . . . , n.

If we set xji equal to the amount of job Jj processed in the interval Ii and M is the number of machines we want to minimize, then any feasible schedule for the scheduling problem under consideration can be described as a feasible solution of the above linear programming problem. On the other hand, the solution (x∗ , M ∗ ) obtained for the linear programming problem can be transformed into an optimal solution of the scheduling problem considered in polynomial time.

9

3 Problems with preemptions Now we consider the following basic problem. There are m parallel machines and n jobs, each requiring an identical execution time p. With each job Jj , there can be associated a release time rj . The processing of any job may be interrupted arbitrarily often and resumed later on any machine. The objective is to construct a feasible schedule so as to minimize a given criterion. 3.1 In [31], a technique based on linear programming has been developed. The proposed approach allows one to solve problem R | rj , pmtn | Lmax in polynomial time. 3.2 It has been shown in [43] that problem P | pj = 1, prec, pmtn | Cj is unary NP-hard.  3.3 Problem P | rj , pj = p, pmtn | Cj  has been solved in [1]. It is possible to prove Cj , an optimal schedule can be found in that for problem P | rj , pj = p, pmtn | the class of schedules, where each job Jj is processed on machine m only within an (possibly empty) interval [Sj,m , Cj,m [, such that Cj,m ≤ Sj+1,m for each m and j < n, and Cj,m ≤ Sj,m−1 for each m > 1 and j. Using such a structure of an optimal schedule, one can formulate the following  linear program which will solve problem P | rj , pj = p, pmtn | Cj in polynomial time. Minimize

n 

Cj,1

j=1

subject to m 

Sj,m ≥ rj ,

(Cj,m − Sj,m ) = p,

j = 1, . . . , n

j = 1, . . . , n

q=1

Sj,m − Cj,m ≤ 0, Cj,q − Sj,q−1 ≤ 0, Cj,q − Sj+1,q ≤ 0,

j = 1, . . . , n,

m = 1, . . . , m

j = 1, . . . , n, j = 1, . . . , n − 1,

q = 2, . . . , m q = 1, . . . , m



3.4 Another idea was used in [28] for problem Q | rj , pj = p, pmtn | Cj . Note that for problem Q | rj , pj = p, pmtn | Cj , an optimal schedule can be found in the class of schedules, for which C1 ≤ C2 ≤ · · · ≤ Cn holds, i.e., there exists an optimal solution in which the completion times are in the same order as the release times.  Let s∗ be an optimal schedule for problem Q | rj , pj = p, pmtn | Cj with C1 (s∗ ) ≤ · · · ≤ Cn (s∗ ). Further we set rn+1 = rn + n · maxq {p/sq }, i.e., rn+1 is a time point after which no job will be processed. Each Cj (s∗ ) belongs to some interval [ri , ri+1 ]. However, if we know for each Cj (s∗ ) the corresponding interval [ri , ri+1 ] such that Cj (s∗ ) ∈ [ri , ri+1 ], then an optimal schedule can be easily found using a reduction to a network flow problem, see [32]. Thus, the main question is to know the interval [ri , ri+1 ] for each Cj (s∗ )  such that Cj (s∗ ) ∈ [ri , ri+1 ]. However, this difficulty can be avoided due to criterion Cj . For any job Jj , let the time interval [ri , ri+1 ] be such that Cj ∈ [ri , ri+1 ]. Taking into account that r1 = 0, we obtain Cj = (r2 − r1 ) + (r3 − r2 ) + · · · + (ri − ri−1 ) + (Cj − ri ). Due to this decomposition, we introduce the completion time of job Jj for each interval [ri , ri+1 ].

10

For each job Jj with j = 1, . . . , n and for each interval [ri , ri+1 ] with i = 1, . . . , n, we define the value C(Jj , ri ) such that C(Jj , ri ) = Cj (s∗ ) if Cj (s∗ ) ∈ ]ri , ri+1 [, but if Cj (s∗ ) ≤ ri , then we set C(Jj , ri ) = ri , and if Cj (s∗ ) ≥ ri+1 , then we set C(Jj , ri ) = ri+1 . So, for each i = 1, . . . , n, the values ri ≤ C(J1 , ri ) ≤ · · · ≤ C(Ji , ri ) ≤ C(Ji+1 , ri ) = · · · = C(Jn , ri ) = ri+1 define a partition of the interval [ri , ri+1 ]. In turn, each interval [C(Jj−1 , ri ), C(Jj , ri )] is completely defined by the jobs processed in it. Thus, we denote by v(Jk , Mq , Jj , ri ) the part (amount) of job Jk processed in the interval [C(Jj−1 , ri ), C(Jj , ri )] by machine Mq , i.e., the total processing time of job Jk by machine Mq in the interval [C(Jj−1 , ri ), C(Jj , ri )] equals

m n

n

v(Jk ,Mq ,Jj ,ri ) sq

and

for any job Jk , equality q=1 i=1 j=1 v(Jk , Mq , Jj , ri ) = p holds. The values C(Jj , ri ), where j = 1, . . . , n, i = 1, . . . , n, and the values v(Jk , Mq , Jj , ri ), where i, j = 1, . . . , n, k = j, . . . , i, q = 1, . . . , m, define a feasible solution of the following linear program. For convenience, we introduce C(J0 , ri ) = ri . Minimize

n  

(C(J1 , ri ) − ri ) + · · · + (C(Jn , ri ) − ri )



i=1

subject to ri = C(J0 , ri ) ≤ C(J1 , ri ) ≤ · · · ≤ C(Ji+1 , ri ) = · · · = C(Jn , ri ) = ri+1 , m  v(Jk , Mq , Jj , ri )

sq

q=1

n  v(Jk , Mq , Jj , ri )

sq

k=1

n  n  m 

≤ C(Jj , ri ) − C(Jj−1 , ri ),

≤ C(Jj , ri ) − C(Jj−1 , ri ),

v(Jk , Mq , Jj , ri ) = p,

i=1 j=1 q=1

where i = 1, . . . , n,

j = 1, . . . , n, C(Jj , ri ) ≥ 0,

k = 1, . . . , n,

q = 1, . . . , m,

i = 1, . . . , n,

j = 1, . . . , n,

and for q = 1, . . . , m v(Jk , Mq , Jj , ri ) = 0,

i = 1, . . . , n − 1,

v(Jk , Mq , Jj , ri ) = 0, v(Jk , Mq , Jj , ri ) = 0,

i = 1, . . . , n, i = 1, . . . , n − 1,

v(Jk , Mq , Jj , ri ) ≥ 0

i = 1, . . . , n, 3

j = i + 1, . . . , n, j = 1, . . . , i, j = 1, . . . , i, j = 1, . . . , n,

k = 1, . . . , n

k = 1, . . . , j − 1, k = i + 1, . . . , n, k = 1, . . . , n.

The above formulation includes O(mn ) variables and constraints, i.e., this problem can be polynomially solved. In [28], it has been shown that an optimal solution of the above linear program can be used to obtain an optimal schedule. 3.5 Problem P | rj , pmtn | Cj has been proved to be unary NP-hard by a reduction from 3-partition in [1].  wj Cj is unary NP-hard [35]. 3.6 Problem P | rj , pj = p, pmtn |

11

3.7 It has been noted in [2] that the algorithm developed in [31] for problem R |  rj , pmtn | Lmax can be used to solve both problem P | p = p, pmtn | U and j j  problem Q | pj = p, pmtn | Uj in polynomial time.  Uj is unary NP-hard [23]. In fact, in [23] 3.8 Problem P | rj , pj = p, pmtn |  it was proved that problem P | rj , pj = m, pmtn+ | Uj is unary NP-hard, here the pmtn+ means that preemptions can be made only at integer time points. However,  proposed NP-hardness proof also works for problem P | rj , pj = p, pmtn | Uj . Uj is binary NP-hard [30], 3.9 It is interesting to note that problem P | pmtn | however, its complexity status under an unary encoding is still an open question. 3.10 Using a pseudopolynomial reduction from numerical matching with target sums,  it has been proved that problem P | pj = p, pmtn | wj Uj is unary  NP-hard [9]. Tj of minimizing 3.11 In [24], it was shown that both the problem P | pmtn | total tardiness on a set of parallel machines with allowed preemptions and problem  P | rj , pj = p, pmtn | Tj of minimizing total tardiness on a set of parallel machines with release dates, equal processing times and allowed preemptions are NP-hard in the ordinary sense.  Moreover, in [24] problem Q | pj = p, pmtn | fj was considered, where fj are convex non-decreasing functions such that  fi − fj are all monotonic functions. It is shown that problem Q | pj = p, pmtn | fj is equivalent to the problem of minimizing a convex-separable function under linear constraints. This representation   is used to solve problems Q | pj = p, pmtn | Tj and Q | pj = p, pmtn | wj Cj in polynomial time.  3.12 Thus, the minimal open problems are 1 | rj , pj = p, pmtn | wj Cj and P |  rj , pj = p, pmtn | Tj with respect to an unary encoding.

4 Summary In Tables 1 and 2, we give an overview on the main results mentioned in this review. At this time,  the most interesting question is the complexity status of problem Uj . Looking through the results given in Table 1, it is natural to P |rj , pj = p| suppose that problem P |rj , pj = p|F is polynomially solvable,  where F is any nondecreasing function. Thus, the problem with the criterion Uj is the minimal open problem on the way to the general criterion F . For the preemptive case, the border between simple and hard problems is much more tight. For the authors of this survey, the most interesting question is the complexity status of problem Q|rj , pj = p, Dj , pmtn|−.

12

Table 1: Polynomially solvable and NP-hard problems: Non-preemptive problems P | pj = 1, Dj = 2, prec | − P |rj , pj = p, Dj |− 1|rj , pj = p, Dj , prec|Cmax 1|rj , pj = p, Dj |Cmax P 2|pj = 1, prec|Cmax P | rj , pj = p, outtree | Cmax P |rj , pj = p, Dj |Cmax Q|rj , pj = p|Cmax Q|pj = p|Cmax P |rj , pj = p, Dj |Lmax Q|pj = p|Lmax  P |rj , pj = p, Dj | Cj  Q|rj , pj = p| Cj Q|pj = p|  Cj Q|pj = p| wj C j  1|rj , pj =  p| Tj Q|pj = p| Tj Q|pj = p| max wj Tj  1 | rj , pj = p |  Uj 1 | rj , pj = p |  wj Uj P m | rj , p = p | wj Uj j Q|pj = p| wj Uj  P m|rj , pj = p| fj  Q|pj = p| ϕj Q|pj = p| max ϕj P |rj , pj = p,  qj |Cmax P |rj , pj = p|  wj Cj P |rj , pj = p|  Tj P |rj , pj = p| fj P |rj , pj = p, Dj | max ϕj P | rj , pj = p, Dj | m 1|rj , Dj |− P |pj = 1, Dj , prec|− P | pj = 1, Dj = 3, prec | − P | rj , pj = p, intree | Cmax P | [rjk , Djk ], pj = p | − P 3 | pj = 1, prec  | Cmax P |rj , pj = p,  Dj | wj C j P |rj , pj = p| Uj

solvable in O(n) [34] solvable in O(mn2 ) [41] solvable in O(n log n) [20] solvable in O(n log n) [20] solvable in O(n3 ) [19] solvable in O(n log n) [7] solvable in O(mn2 ) [41] solvable in O(n log n) [14] solvable in O(n + m log m) [14] solvable in O(mn4 ) [38] solvable in O(n log n) [14] solvable in O(mn2 ) [41] solvable in O(mn2m+1 ) [14] solvable in O(n + m log m) [14] solvable in O(n log n) [14] solvable in O(n7 ) [6] solvable in O(n log n) [14] solvable in O(n log2 n) [14] solvable in O(n5 ) [13] solvable in O(n7 ) [5] solvable in O(n6m+1 ) [2] solvable in O(n log n) [14] solvable in O(n3m+4 ) [6] solvable in O(n2 ) [14] solvable in O(n2 ) [14] reducible to LP reducible to LP [10] reducible to LP [11] reducible to LP [26] reducible to LP [27] reducible to LP [25] unary NP-hard [33] unary NP-hard [44] unary NP-hard [34] unary N P -hard [7] unary NP-hard [40] open open open

2.1.5 2.1.8 & 2.1.9 & 2.1.10 2.1.2 2.1.2 & 2.1.3 2.1.6 2.1.7 2.1.8 & 2.1.9 2.1.18 2.1.17 2.1.8 & 2.1.9 & 2.1.12 & 2.1.13 2.1.18

2.1.16 2.1.15 2.2.1 2.2.2 2.2.2 2.1.11 2.1.14 2.1.14 2.2.3 2.2.4 2.2.6 2.1.1 2.1.4 2.1.5 2.1.7 2.2.5 2.1.6 2.1.19 2.1.19

13

Table 2: Polynomially solvable and NP-hard problems: Preemptive problems



1 | rj , pj = p, pmtn |  Uj Q | pj = p, pmtn | Uj  1 | rj , pj = p, pmtn |  wj Uj 1 | rj , pj = p, pmtn | Tj P | rj , pj = p, pmtn |  Cj Q | rj , pj = p, pmtn | Cj Q | pj = p, pmtn | wj C j R | rj , pmtn | Lmax  Q | pj = p, pmtn |  Tj Q | pj = p,  pmtn | fj P | pmtn | Uj  P | rj , pj = p, pmtn | Tj P | pmtn | Tj  P | pj = 1, prec, pmtn | Cj P | rj , pmtn | Cj  P | rj , pj = p, pmtn |  wj Cj P | rj , pj = p, pmtn | Uj P | pj = p, pmtn |  wj Uj 1 | rj , pj = p, pmtn | wj Cj P | rj , pj = p, pmtn | Tj

solvable in O(n log n) [29] solvable in O(n log2 n + mn log n) [2] solvable in O(n4 ) [4] solvable in O(n2 ) [42] reducible to LP [1] reducible to LP [28] reducible to LP [24] reducible to LP [31] reducible to LP [24] reducible to LP [24] binary NP-hard [30] binary NP-hard [24] binary NP-hard [24] unary NP-hard [43] unary NP-hard [1] unary NP-hard [35] unary NP-hard [23] unary NP-hard [9] open (unary encoding) open (unary encoding)

3.4

3.7 3.8 3.2 3.11 3.11 3.6 3.11 3.11 3.1 3.9 3.10 3.5 3.3 3.12 3.12

Acknowledgements This work was partially supported by the Alexander von Humboldt Foundation.

References 1. P. Baptiste, P. Brucker, M. Chrobak, C. D¨ urr, S.A. Kravchenko, and F. Sourd, The complexity of mean flow time scheduling problems with release times, J. Scheduling, 10, 139–146, 2007. 2. P. Baptiste, P. Brucker, S. Knust, and V. G. Timkovsky, Ten notes on equal-processing-time scheduling, 4OR, 2, 111–127, 2004. 3. P. Baptiste, and P. Brucker, Scheduling equal processing time jobs: a survey, In Y.T. Leung, Handbook of Scheduling: Algorithms, Models, and Performance Analysis, 78–96, CRC Press LLC, Boca Raton, FR, 2004. 4. P. Baptiste, M. Chrobak, C. D¨ urr, W. Jawor, and N. Vakhania, Preemptive scheduling of equal-length jobs to maximize weighted throughput, Oper. Res. Letters, 32, 258–264, 2004. 5. P. Baptiste, Polynomial time algorithms for minimizing the weighted number of late jobs on a single machine with equal processing times, J. of Scheduling, 2 (6), 245-252, 1999. 6. P. Baptiste, Scheduling equal-length jobs on identical parallel machines, Discrete Appl. Math., 103, 21–32, 2000. 7. P. Brucker, M. R. Garey, and D. S. Johnson, Scheduling equal-length tasks under tree-like precedence constraints to minimize maximum lateness, Math. Oper. Res., 2, 275–284, 1977. 8. P. Brucker, S. Knust, Complexity results for scheduling problems, http://www.mathematik.uni-osnabrueck.de/research/OR/class/, 2010. 9. P. Brucker, S.A. Kravchenko, Scheduling equal processing time jobs to minimize the weighted number of late jobs, Journal of Mathematical Modelling and Algorithms, 5(2), 143–165, 2006. 10. P. Brucker, S.A. Kravchenko, Scheduling jobs with equal processing times and time windows on identical parallel machines, J. Scheduling, 11, 229–237, 2008. 11. P. Brucker, S.A. Kravchenko, Scheduling jobs with release times on parallel machines to minimize total tardiness, Universit¨ at Osnabr¨ uck, Preprint Heft 258, 13 pp., 2005.

14 12. K. Chakhlevitch, C.A. Glass, H. Kellerer, Batch machine production with perishability time windows and limited batch size, European J. Oper. Res., 210, 39–47, 2011. 13. M. Chrobak, C. D¨ urr, W. Jawor, L  . Kowalik, and M. Kurowski, A note on scheduling equal-length jobs to maximize throughput, J. Scheduling, 9, 71–73, 2006. 14. M.I. Dessouky, B.J. Lageweg, J.K. Lenstra, and S.L. van de Velde, Scheduling identical jobs on uniform parallel machines, Statistica Neerlandica, 44, 115–123, 1990. 15. J. Ding, T. Ebenlendr, J. Sgall, G. Zhang, Online-scheduling of equal-length jobs on parallel machines, Lect. Notes Comput. Sci., 4698, 427 – 438, 2007. 16. C. D¨ urr, The scheduling zoo, http://www.lix.polytechnique.fr/∼durr/query/, 2010. 17. C. D¨ urr, M. Hurrand, Finding total unimodularity in optimization problems solved by linear programs, Proc. of the 14th Annual European Symposium on Algorithms (ESA), 315– 326, 2006. 18. G. Fayolle, E. Gelenbe, J. Labetoulle and D. Bastin, The stability problem of broadcast packet switching computer networks, Acta Informatica, 4, 49–53, 1974. 19. M. Fujii, T. Kasami, and K. Ninomiya, Optimal sequencing of two equivalent processors, SIAM J. Appl. Math., 17, 234–248, 1969. 20. M.R. Garey, D.S. Johnson, B.B. Simons, and R.E. Tarjan, Scheduling unit-time tasks with arbitrary release times and deadlines, J. Comput., 10, 256–269, 1981. 21. C.A. Glass, H.R. Mills, Scheduling unit length jobs with parallel nested machine processing set restrictions, Comput. Oper. Res., 33, 620–638, 2006. 22. Y. Huo, J.Y-T. Leung, X. Wang, Online scheduling of equal-processing-time task systems, Theor. Comput. Sci., 401, 85 – 95, 2008. 23. S.A. Kravchenko, On the complexity of minimizing the number of late jobs in unit time open shop, Discrete Appl. Math., 100, 127–132, 2000. 24. S.A. Kravchenko, F. Werner, Minimizing a separable convex function on parallel machines with preemptions, Otto-von-Guericke-Universit¨ at Magdeburg, FMA, Preprint 22/09, 20 pp., 2009. 25. S.A. Kravchenko, F. Werner, Minimizing the number of machines for scheduling jobs with equal processing times, European J. Oper. Res., 199, 595–600, 2009. 26. S.A. Kravchenko, F. Werner, On a parallel machine scheduling problem with equal processing times, Discrete Appl. Math., 157, 848–852, 2009. 27. S.A. Kravchenko, F. Werner, On a parallel machine scheduling problem with equal processing times, Otto-von-Guericke-Universit¨ at Magdeburg, FMA, Preprint 26/07, 9 pp., 2007. 28. S.A. Kravchenko, F. Werner, Preemptive scheduling on uniform machines to minimize mean flow time, Comput. Oper. Res., Vol. 36(10), 2816–2821, 2009. 29. E.L. Lawler, Knapsack-like scheduling problems, the Moore-Hodgson algorithm and the ’tower of set’ property, Math. Comput. Modelling, 20(2), 91–106, 1994. 30. E.L. Lawler, Recent results in the theory of machine scheduling, In A. Bachem, Mathematical Programming: the state of the Art, 202–234, Springer, Berlin, 1982. 31. E. L. Lawler, J. Labetoulle, On preemptive scheduling of unrelated parallel processors by linear programming, J. Assoc. Comput. Mach., 25(4), 612–619, 1978. 32. J. Labetuolle, E.L. Lawler, J.K. Lenstra, and A.H.G. Rinnooy Kan, Preemptive scheduling of uniform machines subject to release dates, in H.R. Pulleyblank, Progress in Combinatorial Optimization, 245–261, Academic Press, New York, 1984. 33. J.K. Lenstra, A.G.H. Rinnooy Kan, and P. Brucker, Complexity of machine scheduling problems, Ann. Discrete Math., 1, 343–362, 1977. 34. J.K. Lenstra, A.H.G. Rinnooy Kan, Complexity of scheduling under precedence constraints, Oper. Res., 26, 22–35, 1978. 35. J.Y.-T. Leung, G.H. Young, Preemptive scheduling to minimize mean weighted flow time, Information Processing Letters, 34, 47–50, 1990. 36. L.L. Liu, C.T. Ng, T.C.E. Cheng, Bicriterion scheduling with equal processing times on a batch processing machine, Comput. Oper. Res., Vol. 36, 110–118, 2009. 37. S.V. Sevastianov, An introduction to multi-parameter complexity analysis of discrete problems, European J. Oper. Res., 165, 387–397, 2005. 38. B. Simons, A fast algorithm for single processor scheduling, Proc. IEEE 19th Annual Symposium on Foundations of Computer Science (FOCS’78), 246–252, 1978. 39. B. Simons, Multiprocessor scheduling of unit-time jobs with arbitrary release times and deadlines, SIAM J. Comput., 12, 7–9, 1983. 40. B.B. Simons, M. Sipser, On scheduling unit-length jobs with multiple release time/deadline intervals, Oper. Res., 32, 80–88, 1984.

15 41. B.B. Simons, M.K. Warmuth, A fast algorithm for multiprocessor scheduling of unit-length jobs, SIAM J. Comput., 18, 690–710, 1989. 42. Z. Tian, C.T. Ng, T.C.E. Cheng, An O(n2 ) algorithm for scheduling equal-length preemptive jobs on a single machines to minimize total tardiness, J. Scheduling, 9, 343–364, 2006. 43. J.D. Ullman, Complexity of sequencing problems, in J.L. Bruno, E.G. Coffman, Jr., R.L. Graham, W.H. Kohler, R. Sethi, K. Steiglitz, and J.D. Ullman, Computer and Job/Shop Scheduling Theory, John Wiley & Sons Inc., New York, 1976. 44. J.D. Ullman, NP-complete scheduling problems, J. Comput. System Sci., 10, 384–393, 1975. 45. N. Vakhania, A better algorithm for sequencing with release and delivery times on identical machines, J. Algorithms, 48, 273–293, 2003.

Suggest Documents