6
Short Communication Minimizing the number of machines for scheduling jobs with equal processing times Svetlana A. Kravchenko a , Frank Werner b, * a United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarus b Otto-von-Guericke-Universität, Fakultät für Mathematik, 39106 Magdeburg, Germany article info Article history: Received 18 January 2008 Accepted 10 October 2008 Available online 21 October 2008 Keywords: Parallel machine scheduling Linear programming abstract In this paper, we consider a parallel machine environment when all jobs have the same processing time and arbitrary release dates and deadlines of the jobs are given. We suppose that the available number of machines, which can be used simultaneously, may vary over time. The aim is to construct a feasible sche- dule in such a way that the maximal number of simultaneously used machines is minimal. We give a polynomial algorithm for this problem. Ó 2008 Elsevier B.V. All rights reserved. 1. Introduction The problem considered can be stated as follows. There are n jobs J 1 ; ... ; J n which have to be processed on a set of identical parallel ma- chines. For each job J j ; j ¼ 1; ... ; n; a processing time p j ¼ p; which is equal for all jobs, a release date r j ; and a deadline D j are given. Each machine can process only one job at a time. Besides we suppose that the time interval ½min j fr j g; max j fD j is divided into several intervals ½t 1 ; t 2 ½; ½t 2 ; t 3 ½; ... ; ½t T1 ; t T ½; where min j fr j t 1 6 t 2 6 ... 6 t T ¼ max j fD j g; such that for each interval ½t g ; t gþ1 ½ the number of available ma- chines m gþ1 is known in advance. Note that we do not fix the concrete set of m gþ1 machines, i.e. at two different points of ½t g ; t gþ1 ½, one can use different sets of m gþ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 num- ber of machines used by J 1 ; ... ; J n is minimal. In this paper, we present a polynomial time algorithm for the above problem. The algorithm is based on the approach given in [1,2]. Note that, if the number of available machines is m at any time point, then the problem of finding a feasible schedule was considered in [7]. The criterion of minimizing the number of machines is very important in practice. The described problem can appear, for example, in a sit- uation when several users work on parallel processors with shared memory. The working time of each user is restricted by some time frames. Besides the number of available processors can vary over time since some jobs can be planned in advance. The aim is to minimize the cost, i.e. the number of used processors. In the literature one can find some other applications of the criterion considered in this paper. In [3], it arises in connection with the transportation problem of Navy fuel oil. In [6], the same criterion is considered for the problem of developing distrib- uted memory architectures. Kroon et al. [5] consider the problem of minimizing the number of processors arising in an airport management problem. In [4], this criterion is used in connection with the problem of designing systolic networks. The remainder of this note is organized as follows. In Section 2, we give a linear programming (LP) formulation for a relaxation of the scheduling problem under consideration. A polynomial algorithm for the scheduling problem is presented in Section 3. Then, we give the correctness proof for this algorithm in Section 4. Finally, we give an illustrative example in Section 5 and some concluding remarks in Sec- tion 6. 2. LP formulation A feasible schedule for the problem considered can be found in the class of schedules, where each job is processed in one of the follow- ing intervals of length p: 0377-2217/$ - see front matter Ó 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2008.10.008 * Corresponding author. Tel.: +49 391 67 12025; fax: +49 391 67 11171. E-mail addresses: [email protected] (S.A. Kravchenko), [email protected] (F. Werner). European Journal of Operational Research 199 (2009) 595–600 Contents lists available at ScienceDirect European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Minimizing the number of machines for scheduling jobs with equal processing times

Embed Size (px)

Citation preview

Page 1: Minimizing the number of machines for scheduling jobs with equal processing times

European Journal of Operational Research 199 (2009) 595–600

Contents lists available at ScienceDirect

European Journal of Operational Research

journal homepage: www.elsevier .com/locate /e jor

Short Communication

Minimizing the number of machines for scheduling jobs with equalprocessing times

Svetlana A. Kravchenko a, Frank Werner b,*

a United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarusb Otto-von-Guericke-Universität, Fakultät für Mathematik, 39106 Magdeburg, Germany

a r t i c l e i n f o

Article history:Received 18 January 2008Accepted 10 October 2008Available online 21 October 2008

Keywords:Parallel machine schedulingLinear programming

0377-2217/$ - see front matter � 2008 Elsevier B.V. Adoi:10.1016/j.ejor.2008.10.008

* Corresponding author. Tel.: +49 391 67 12025; faE-mail addresses: [email protected] (S.A

a b s t r a c t

In this paper, we consider a parallel machine environment when all jobs have the same processing timeand arbitrary release dates and deadlines of the jobs are given. We suppose that the available number ofmachines, which can be used simultaneously, may vary over time. The aim is to construct a feasible sche-dule in such a way that the maximal number of simultaneously used machines is minimal. We give apolynomial algorithm for this problem.

� 2008 Elsevier B.V. All rights reserved.

1. Introduction

The problem considered can be stated as follows. There are n jobs J1; . . . ; Jn which have to be processed on a set of identical parallel ma-chines. For each job Jj; j ¼ 1; . . . ;n; a processing time pj ¼ p; which is equal for all jobs, a release date rj; and a deadline Dj are given. Eachmachine can process only one job at a time. Besides we suppose that the time interval ½minjfrjg;maxjfDjg½ is divided into several intervals½t1; t2½; ½t2; t3½; . . . ; ½tT�1; tT ½; where minjfrjg ¼ t1 6 t2 6 . . . 6 tT ¼maxjfDjg; such that for each interval ½tg ; tgþ1½ the number of available ma-chines 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 canuse 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 theidentical machines will be completed at time t þ p on the same machine. We want to find a feasible schedule such that the maximal num-ber of machines used by J1; . . . ; Jn is minimal. In this paper, we present a polynomial time algorithm for the above problem. The algorithm isbased on the approach given in [1,2].

Note that, if the number of available machines is m at any time point, then the problem of finding a feasible schedule was considered in [7].The criterion of minimizing the number of machines is very important in practice. The described problem can appear, for example, in a sit-uation when several users work on parallel processors with shared memory. The working time of each user is restricted by some time frames.Besides the number of available processors can vary over time since some jobs can be planned in advance. The aim is to minimize the cost, i.e.the number of used processors. In the literature one can find some other applications of the criterion considered in this paper. In [3], it arisesin connection with the transportation problem of Navy fuel oil. In [6], the same criterion is considered for the problem of developing distrib-uted memory architectures. Kroon et al. [5] consider the problem of minimizing the number of processors arising in an airport managementproblem. In [4], this criterion is used in connection with the problem of designing systolic networks.

The remainder of this note is organized as follows. In Section 2, we give a linear programming (LP) formulation for a relaxation of thescheduling problem under consideration. A polynomial algorithm for the scheduling problem is presented in Section 3. Then, we give thecorrectness proof for this algorithm in Section 4. Finally, we give an illustrative example in Section 5 and some concluding remarks in Sec-tion 6.

2. LP formulation

A feasible schedule for the problem considered can be found in the class of schedules, where each job is processed in one of the follow-ing intervals of length p:

ll rights reserved.

x: +49 391 67 11171.. Kravchenko), [email protected] (F. Werner).

Page 2: Minimizing the number of machines for scheduling jobs with equal processing times

596 S.A. Kravchenko, F. Werner / European Journal of Operational Research 199 (2009) 595–600

½rj þ kp; rj þ kpþ p½jj 2 f1; . . . ;ng; k 2 f0;1; . . .g� �

[ ½tj þ kp; tj þ kpþ p½jj 2 f1; . . . ; Tg; k 2 f0;1; . . .g� �

:

Statement 1. There exists an optimal schedule, where jobs are processed only within the time interval ½minifrig;minifrig þ 2np½:

Proof. For an optimal schedule, the time interval ½minifrig;1½ can be considered as the union of intervals each of which belongs to one ofthe following types:

(1) Intervals where all available machines are idle.(2) Intervals where at any time point at least one available machine is busy.(3) Intervals without available machines, i.e. ml ¼ 0.

The intervals without available machines can be omitted, i.e. we can restrict to the case when at any time there exists at least oneavailable machine. This implies that for an optimal schedule the time interval ½minifrig;1½ can be considered as the union of intervals oftypes (1) and (2).

Now suppose that there is a job processed after minifrig þ 2np: Taking into account that the total length of the intervals of type (2) doesnot exceed np; we obtain that the total length of the intervals of type (1) exceeds np: Since the number of the intervals of type (1) is lessthan or equal to n, there is an interval of type (1) whose length exceeds p. However, in this case either the problem can be decomposed intotwo subproblems or the schedule is not active. h

Thus, we will restrict the possible positions of the jobs by the set of intervals

f½rj þ kp; rj þ kpþ p½jj 2 f1; . . . ;ng; k 2 f. . . ;�1;0;1; . . .g; rj þ kp P minifrig; rj þ kpþ p 6 minifrig þ 2npg [ f½tj þ kp; tj þ kpþ p½jj2 f1; . . . ; Tg; k 2 f. . . ;�1;0;1; . . .g; tj þ kp P min

ifrig; tj þ kpþ p 6 min

ifrig þ 2npg:

Take all the different intervals from this set and enumerate them in increasing order of their left endpoints. Denote the obtained set byfIiji 2 f1; . . . ; zgg. For each Ii; denote by DðIiÞ the right endpoint and by RðIiÞ the left endpoint of Ii.

One can see that there exists some maximal y such that Iiþ1 \ � � � \ Iiþy–; for any i 2 f0; . . . ; z� yg.Consider the following LP problem:

min M; ð2:1Þ

subject toXz

i¼1

xji ¼ p; j 2 f1; . . . ;ng; ð2:2Þ

Xn

j¼1

xj;iþ1 þ � � � þXn

j¼1

xj;iþq 6minfM;mkþ1gp;

i 2 f0; . . . ; z� qg; q 2 f1; . . . ; yg; k 2 f1; . . . ; T � 1g;Iiþ1 \ � � � \ Iiþq \ ½tk; tkþ1½–;; ð2:3Þxji ¼ 0 if RðIiÞ < rj; i ¼ 1; . . . ; z; j ¼ 1; . . . ; n; ð2:4Þxji ¼ 0 if Dj < DðIiÞ; i ¼ 1; . . . ; z; j ¼ 1; . . . ;n; ð2:5Þxji P 0; i ¼ 1; . . . ; z; j ¼ 1; . . . ;n: ð2:6Þ

The problem includes OðnzÞ variables. Taking into account that z 6 2nðnþ TÞ; we obtain Oðn3 þ n2TÞ variables. The number of constraints isOðyzÞ: Taking into account that y 6 nþ T; we obtain Oðn3 þ n2T þ nT2Þ constraints. Since both numbers are polynomially bounded, the LPproblem can be polynomially solved.

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 anyfeasible schedule for the scheduling problem under consideration can be described as a feasible solution of problem (2.1)–(2.6). Constraint(2.2) ensures that the processing time of each job is p. Constraints (2.4) and (2.5) exclude the possibility of processing any job outside thegiven time window for processing. Constraint (2.3) guarantees that the number of jobs processed at the same time does not exceed thenumber of available machines.

On the other hand, if we solve (2.1)–(2.6) with the restriction

xji 2 f0;pg; i 2 f1; . . . ; zg; j 2 f1; . . . ; ng; M 2 N; ð2:7Þ

then the obtained solution is a solution of the scheduling problem considered.In the following, we will suppose that problem (2.1)–(2.6) has been solved and that the obtained solution ðx�;M�Þ does not satisfy (2.7).

Parallel to the notation xji, we will use xj;i to avoid a confusion between the first index and the second one.

3. Algorithm

In this section, we present a polynomial algorithm for the scheduling problem under consideration. Using x� and m2; . . . ;mT , we deter-mine all intervals where jobs are processed in a feasible schedule. With this purpose, we calculate the value vðIkÞ for each interval Ik asfollows:

vðIkÞ ¼Xk

i¼1

Xn

j¼1

x�ji; k ¼ 1; . . . ; z:

Page 3: Minimizing the number of machines for scheduling jobs with equal processing times

S.A. Kravchenko, F. Werner / European Journal of Operational Research 199 (2009) 595–600 597

Note that vðIzÞ ¼Pz

i¼1

Pnj¼1x�ji ¼ np holds if the solution is feasible.

Since in any interval Ii at most li ¼minfmg jg 2 f2; . . . ; Tg; Ii \ ½tg�1; tg ½–;g jobs can be scheduled, we define the values:

v1 ¼ vðI1Þ; . . . ;vl1¼ vðI1Þ;

vl1þ1 ¼ vðI2Þ; . . . ; vl1þl2¼ vðI2Þ;

. . .

vl1þ...þlz�1þ1 ¼ vðIzÞ; . . . ;vl1þ...þlz¼ vðIzÞ;

i.e. we take li copies of each interval Ii enumerated in non-decreasing order of their left endpoints.Now, using v1; . . . ;vl1þ...þlz

, we mark all intervals where some jobs are processed in an optimal schedule. The marking procedure is asfollows:

Step 1: To select the first marked interval, one moves from v1 to vl1þ���þlzand takes the first v j such that v j > 0 � p holds. Denote the cor-

responding interval by I�1, i.e. v j ¼ vðI�1Þ.Step 2: To select the second marked interval, one moves from v j ¼ vðI�1Þ to vl1þ���þlz

and takes the first vg such that vg > 1 � p holds.Denote the corresponding interval by I�2, i.e. vg ¼ vðI�2Þ.� � �

Step n: To select the n th marked interval, one moves from vðI�n�1Þ to vl1þ���þlzand takes the first vh such that vh > ðn� 1Þ � p holds.

Denote the corresponding interval by I�n, i.e. vh ¼ vðI�nÞ.

The marked intervals determine the places where the jobs are processed in an optimal schedule. Now, we use all marked intervalsI�1; . . . ; I�n and apply the following

Algorithm 1. Consider the marked intervals I�1; . . . ; I�n in the given order and schedule in each of these intervals a

currently available job with the earliest deadline.

To estimate the computational complexity, we observe that the marking procedure requires Oðl1 þ � � � þ lzÞ steps, wherel1 þ � � � þ lz 6 z �maxfmg jg 2 f2; . . . ; Tgg; z 6 2nðnþ TÞ and mg 6 n; i.e. Oðl1 þ � � � þ lzÞ 6 Oðn3 þ n2TÞ: Given all marked intervals, Algo-rithm 1 requires Oðn2Þ time.

4. Correctness of the algorithm

The proof of the correctness of the presented algorithm is quite analogous to that in [1,2]. Before proving that the schedule constructedby Algorithm 1 is a feasible one, we investigate some properties of the vector v : For a solution x�, let Ii1 ; . . . ; Iin be all marked intervals anddenote by eij the number of marked copies of the interval Iij ; j ¼ 1; . . . ;n:

Lemma 1. For any index j 2 f1; . . . ;ng, inequalities

ðei1 þ ei2 þ � � � þ eij Þp P vðIij Þ > ðei1 þ ei2 þ � � � þ eij � 1Þp

hold.

Proof. The proof is done by induction. By Algorithm 1, we have the following properties for j ¼ 1:

– the first copy of Ii1 is marked since vðIi1 Þ > 0 � p;– the second copy of Ii1 is marked since vðIi1 Þ > 1 � p;– . . .

– the ei1 th copy of Ii1 is marked since vðIi1 Þ > ðei1 � 1Þp:

Thus, vðIi1 Þ > ðei1 � 1Þp holds. Moreover, if ei1 < li1 , then by definition of ei1; the inequalities ei1

p P vðIi1 Þ > ðei1� 1Þp hold. On the other

hand, vðIi1 Þ 6 li1p holds since for all intervals Ii with i < i1, the equality x�ji ¼ 0 holds. Hence, if ei1 ¼ li1

, then vðIi1Þ 6 ei1 p holds. Thus,

Lemma 1 is true for i1.Suppose that Lemma 1 holds for any j 6 k; where k 6 n� 1; i.e.

ðei1 þ ei2 þ � � � þ eij Þp P vðIij Þ > ðei1 þ ei2 þ � � � þ eij � 1Þp:

We want to show that

ðei1 þ ei2 þ � � � þ eikþ1

Þp P vðIikþ1Þ > ðei1 þ ei2 þ � � � þ eikþ1

� 1Þp

holds.By Algorithm 1, we have the following properties:

– the first copy of Iikþ1is marked since vðIikþ1

Þ > ðei1 þ ei2 þ � � � þ eik Þp,– the second copy of Iikþ1

is marked since vðIikþ1Þ > ðei1 þ ei2 þ � � � þ eik þ 1Þp,

– . . .

– the eikþ1th copy of Iikþ1

is marked since vðIikþ1Þ > ðei1 þ ei2 þ � � � þ eikþ1

� 1Þp,

i.e. if eikþ1< likþ1

, then vðIikþ1Þ 6 ðei1 þ ei2 þ � � � þ eikþ1

Þp by definition of eikþ1:

Inequality

vðIik Þ 6 ðei1 þ ei2 þ � � � þ eik Þp ð4:1Þ

Page 4: Minimizing the number of machines for scheduling jobs with equal processing times

598 S.A. Kravchenko, F. Werner / European Journal of Operational Research 199 (2009) 595–600

holds by the inductive assumption, and

vðIikþ1Þ ¼ vðIik Þ þ

Xn

l¼1

x�l;ikþ1ð4:2Þ

holds by definition. Moreover, inequality

Xn

l¼1

x�l;ikþ16 likþ1

p ð4:3Þ

holds by constraint (2.3). Combining (4.1)–(4.3), we have

vðIikþ1Þ 6 ðei1 þ ei2 þ � � � þ eik Þpþ likþ1

p;

i.e. if eikþ1¼ likþ1

, then vðIikþ1Þ 6 ðei1 þ ei2 þ � � � þ eikþ1

Þp holds. h

Theorem 1. Algorithm 1 constructs a feasible schedule.

Proof. To prove Theorem 1, it is sufficient to show that there is a feasible schedule in which all marked intervals are occupied.Using vector x�, we can calculate the restricted release date r�j and the restricted deadline D�j for each job Jj in the following way:

r�j ¼minfrðIiÞjx�ji–0g; D�j ¼maxfDðIiÞjx�ji–0g: It is clear that ½r�j ;D�j ½# ½rj;Dj½ holds. Now we schedule in each marked interval the job with the

minimal restricted deadline among all jobs that are currently available for processing, denote this schedule by ~s.To prove Theorem 1, it is sufficient to show that ~s is a feasible schedule. Determine ~x in the following way: ~xji ¼ p if job Jj is scheduled in

the interval Ii in ~s, and ~xji ¼ 0 otherwise.Now, we want to prove that ~x is a feasible solution of problem (2.2)–(2.6). It is clear that 0 6 ~xji 6 p for any i ¼ 1; . . . ; z and for any

j ¼ 1; . . . ;n: Thus, we have to prove (2.2)–(2.5).First, we prove (2.2). We show that

Pzi¼1~xji ¼ p for any j ¼ 1; . . . ;n: This means that any job is scheduled in some interval. Since we

choose only jobs which are currently available for processing, this will also prove (2.4) and (2.5). Take any job Jk which is not scheduled yet.Let r�k ¼ rðIcÞ and D�k ¼ DðIbÞ: In ½r�k;D

�k½, there is at least one marked interval since vðIbÞ � vðIcÞP p: For all jobs Jj scheduled in these marked

intervals, we have D�j 6 D�k since otherwise job Jk would be scheduled but not job Jj. Besides all these marked intervals are occupied by somejobs.

Take

r�u ¼minfr�j jJj is scheduled in some marked interval within ½r�k;D�k½g:

Consider ½r�u; r�k½ and all marked intervals in it. For any job Jg scheduled in these marked intervals, inequality D�g 6 D�k holds since otherwise jobJu would be scheduled but not job Jg : Again, all these marked intervals are occupied by some jobs because otherwise Ju could have beenscheduled earlier. Take

r�w ¼ fr�j jJj is scheduled in some marked interval within ½r�u; r�k½g:

Now, we consider ½r�w; r�u½ and all marked intervals in it, and so on. At the end of this process, we find an interval I� ¼ ½r�s;D�k½ such that

� all marked intervals in I� are occupied by some jobs;� for all, say N, jobs scheduled in I�, we have ½r�j ;D

�j ½# ½r�s;D

�k½;

� job Jk is not scheduled in I� but inclusion ½r�k;D�k½# ½r�s;D

�k½ holds.

Denote all marked intervals in ½r�s;D�k½ by Iiqþ1

; Iiqþ2; . . . ; Iiqþf

and the corresponding numbers of marked copies by eiqþ1; eiqþ2

; . . . ; eiqþf: In

addition, we consider Iiq , i.e. the last marked interval before Iiqþ1:

By Lemma 1, we have

ðei1 þ ei2 þ � � � þ eiq Þp P vðIiq Þ > ðei1 þ ei2 þ � � � þ eiq � 1Þp:

Let us assume that vðIiq Þ is equal to ðei1 þ ei2 þ � � � þ eiq � 1Þpþ d; where 0 < d 6 p, and

ðei1 þ ei2 þ � � � þ eiqþfÞp P vðIiqþf

Þ > ðei1 þ ei2 þ � � � þ eiqþf� 1Þp:

Moreover, let vðIiqþfÞ ¼ ðei1 þ ei2 þ � � � þ eiqþf

� 1Þpþ �; where 0 < � 6 p:Then, for the intervals Iiqþ1

; Iiqþ2; . . . ; Iiqþf

; we obtain

Xn

j¼1

x�j;iqþ1þXn

j¼1

x�j;iqþ2þ � � � þ

Xn

j¼1

x�j;iqþf¼ ðN þ 1Þp ¼ vðIiqþf

Þ � vðIiq Þ ¼ ðeiqþ1 þ eiqþ2 þ � � � þ eiqþfÞpþ �� d;

since eiqþ1 þ eiqþ2 þ � � � þ eiqþf¼ N. Hence, we have �� d ¼ p; i.e. � ¼ p and d ¼ 0 but d has to be positive by our assumption. Thus, we get a

contradiction to the statement that Jk is not scheduled by Algorithm 1.Now we want to prove (2.3), i.e. we show that

Xn

j¼1

~xj;iþ1 þXn

j¼1

~xj;iþ2 þ � � � þXn

j¼1

~xj;iþq 6 mkþ1p

holds for any i 2 f0; . . . ; z� qg and for any ½tk; tkþ1½ such that Iiþ1 \ � � � \ Iiþq \ ½tk; tkþ1½–;. Suppose that among the intervals Iiþ1; Iiþ2; . . . ; Iiþq, themarked intervals are the following ones: Iic ; Iicþ1 ; . . . ; Iig with the numbers of marked copies eic ; eicþ1 ; . . . ; eig correspondingly. Thus, we have toshow that ðeic þ eicþ1 þ � � � þ eig Þp 6 mkþ1p:

Page 5: Minimizing the number of machines for scheduling jobs with equal processing times

S.A. Kravchenko, F. Werner / European Journal of Operational Research 199 (2009) 595–600 599

By Lemma 1, we have ðei1 þ ei2 þ � � � þ eic�1Þp P vðIic�1

Þ and vðIig Þ > ðei1 þ ei2 þ � � � þ eig � 1Þp: Thus,

ðeic þ eicþ1 þ � � � þ eig Þp ¼ ðei1 þ ei2 þ � � � þ eig Þp� ðei1 þ ei2 þ � � � þ eic�1 Þp < vðIig Þ � vðIic�1 Þ þ p:

Furthermore, we obtain

vðIig Þ � vðIic�1 Þ ¼Xn

j¼1

x�j;ic þXn

j¼1

x�j;icþ1þ � � � þ

Xn

j¼1

x�j;ig 6 mkþ1p

by condition (2.3). Therefore,

vðIig Þ � vðIic�1 Þ þ p 6 mkþ1pþ p ¼ ðmkþ1 þ 1Þp;

i.e.

eic þ eicþ1 þ � � � þ eig < mkþ1 þ 1;

which gives

eic þ eicþ1 þ � � � þ eig 6 mkþ1: �

Thus, Algorithm 1 constructs a feasible solution ð~x; eMÞ of problem (2.1)–(2.6). Since solution ð~x; eMÞ satisfies (2.7), it is also a feasiblesolution of problem (2.1)–(2.7).

Now we have to estimate the difference between M� and ~M. Let ~vðIkÞ ¼Pk

i¼1

Pnj¼1~xji: Then

Xn

j¼1

~xj;iþ1 þXn

j¼1

~xj;iþ2 þ � � � þXn

jþ1

~xj;iþq ¼ ~vðIiþqÞ � ~vðIiÞ:

By construction, 0 6 ~vðIkÞ � vðIkÞ < p for any k. Then

Xn

j¼1

~xj;iþ1 þXn

j¼1

~xj;iþ2 þ � � � þXn

j¼1

~xj;iþq ¼ ~vðIiþqÞ � ~vðIiÞ < vðIiþqÞ þ p� vðIiÞ ¼ vðIiþqÞ � vðIiÞ þ p 6 M�pþ p ¼ ðM� þ 1Þp:

The last inequality holds since, by (2.3), we have vðIiþqÞ � vðIiÞ 6 M�p:Thus,

Xn

j¼1

~xj;iþ1 þXn

j¼1

~xj;iþ2 þ � � � þXn

j¼1

~xj;iþq < ðM� þ 1Þp;

i.e. if M� is integer, then

Xn

j¼1

~xj;iþ1 þXn

j¼1

~xj;iþ2 þ � � � þXn

j¼1

~xj;iþq 6 M�p:

However, if M� is not integer, then

Xn

j¼1

~xj;iþ1 þXn

j¼1

~xj;iþ2 þ � � � þXn

j¼1

~xj;iþq 6 dM�ep:

Therefore, Algorithm 1 constructs an optimal solution of problem (2.1)–(2.7).

5. Example

To demonstrate the main ideas, we consider an example with the following data: there are two machines and four jobs with p ¼ 4 andr1 ¼ 0; D1 ¼ 9; r2 ¼ 1; D2 ¼ 9; r3 ¼ 1; D3 ¼ 9; r4 ¼ 0; D4 ¼ 10: For the interval ½0;4½; the available number of machines is m2 ¼ 2: For theinterval ½4;6½; the available number of machines is m3 ¼ 1: For the interval ½6;10½; the available number of machines is m4 ¼ 2:

Then the set of intervals fIiji ¼ f1; . . . ; zgg available for processing is the following: I1 ¼ ½0;4½; I2 ¼ ½1;5½; I3 ¼ ½2;6½; I4 ¼ ½4;8½; I5 ¼ ½5;9½;I6 ¼ ½6;10½: Taking into account that intervals I1 and I6 can be used on both machines, we add additional intervals I0 ¼ I1 ¼ ½0;4½ andI7 ¼ I6 ¼ ½6;10½: Thus, we have to consider the eight intervals I0; I1; I2; I3; I4; I5; I6; I7:

By constraints (2.4) and (2.5), all non-zero variables are among the variables x10; x11; x12; x13; x14; x15; x22; x23; x24; x25; x32; x33; x34; x35; x40;

x41; x42; x43; x44; x45; x46; x47: Then the LP problem (2.1)–(2.6) can be written as follows:

min M;

subject to x10 þ x11 þ x12 þ x13 þ x14 þ x15 ¼ 4;

x22 þ x23 þ x24 þ x25 ¼ 4;

x32 þ x33 þ x34 þ x35 ¼ 4;

x40 þ x41 þ x42 þ x43 þ x44 þ x45 þ x46 þ x47 ¼ 4;

x10 þ x40 þ x11 þ x41 þ x12 þ x22 þ x32 þ x42

þ x13 þ x23 þ x33 þ x43 6 2 � 4;x10 þ x40 þ x11 þ x41 þ x12 þ x22 þ x32 þ x42

þ x13 þ x23 þ x33 þ x43 6 M � 4;

Page 6: Minimizing the number of machines for scheduling jobs with equal processing times

600 S.A. Kravchenko, F. Werner / European Journal of Operational Research 199 (2009) 595–600

x12 þ x22 þ x32 þ x42 þ x13 þ x23 þ x33 þ x43

þ x14 þ x24 þ x34 þ x44 6 1 � 4;x12 þ x22 þ x32 þ x42 þ x13 þ x23 þ x33 þ x43

þ x14 þ x24 þ x34 þ x44 6 M � 4;x13 þ x23 þ x33 þ x43 þ x14 þ x24 þ x34 þ x44

þ x15 þ x25 þ x35 þ x45 6 1 � 4;x13 þ x23 þ x33 þ x43 þ x14 þ x24 þ x34 þ x44

þ x15 þ x25 þ x35 þ x45 6 M � 4;x14 þ x24 þ x34 þ x44 þ x15 þ x25 þ x35 þ x45

þ x46 þ x47 6 2 � 4;x14 þ x24 þ x34 þ x44 þ x15 þ x25 þ x35 þ x45

þ x46 þ x47 6 M � 4;xij P 0; i ¼ 1; . . . ;4; j ¼ 0; . . . ;7:

An optimal solution of the above problem is obtained by x10 ¼ x11 ¼ 2; x22 ¼ x25 ¼ 2; x32 ¼ x35 ¼ 2; x46 ¼ x47 ¼ 2 with M ¼ 2: We calculatevðIÞ for each interval, and get vðI0Þ ¼ 2; vðI1Þ ¼ 4; vðI2Þ ¼ 8; vðI3Þ ¼ 8; vðI4Þ ¼ 8; vðI5Þ ¼ 12; vðI6Þ ¼ 14; vðI7Þ ¼ 16: In this case, the markedintervals are I0; I2; I5; I6: Now, applying Algorithm 1, we obtain that job J1 is scheduled in I0; job J2 is scheduled in I2; job J3 is scheduled in I5;

and job J4 is scheduled in I6:

6. Concluding remarks

In this paper, we have shown that the problem of minimizing the number of processors in a parallel machine environment with a var-iable number of available processors, equal processing times and arbitrary release dates and deadlines of the jobs can be solved in poly-nomial time. It is easy to see that, due to the polynomial number of intervals available for processing, the same idea can be applied to solvepolynomially the problem of minimizing the number of machines subject to a minimum length of the schedule obtained.

For future research it is interesting to consider the problem with dedicated machines. However, currently the most interesting questionis whether it is possible to generalize the proposed approach to the case of uniform machines.

Acknowledgements

The results presented in this paper were attained during a visit of S.A. Kravchenko at the Otto-von-Guericke-Universität of Magdeburgwhich was supported by a fellowship of the Alexander von Humboldt Foundation.

References

[1] P. Brucker, S.A. Kravchenko, Scheduling jobs with equal processing times and time windows on identical parallel machines, Journal of Scheduling 11 (2008) 229–237.[2] P. Brucker, S.A. Kravchenko, Scheduling Jobs with Release Times on Parallel Machines to Minimize Total Tardiness, OSM Reihe P, Heft 258, Universität Osnabrück,

Fachbereich Mathematik/Informatik, 2005.[3] G.B. Dantzig, D.R. Fulkerson, Minimizing the number of tankers to meet a fixed schedule, Naval Research Logistics Quarterly 1 (1954) 217–222.[4] G. Finke, P. Lemaire, J.-M. Proth, M. Queyranne, Minimizing the number of machines for minimum-length schedules, European Journal of Operational Research (2008),

doi:10.1016/j.ejor.2006.11.050.[5] L.G. Kroon, M. Salomon, L.N. van Wassenhove, Exact and approximation algorithms for the tactical fixed interval scheduling problem, Operations Research 45 (4) (1997)

624–638.[6] A. Moukrim, On the minimum number of processors for scheduling problems with communication delays, Annals of Operations Research 86 (1999) 455–472.[7] B.B. Simons, M.K. Warmuth, A fast algorithm for multiprocessor scheduling of unit-length jobs, SIAM Journal on Computing 18 (1989) 690–710.