Scheduling parallel dedicated machines with the speeding‐up resource

13
Scheduling Parallel Dedicated Machines with the Speeding-Up Resource Hans Kellerer, 1 Vitaly A. Strusevich 2 1 Institut für Statistik und Operations Research, Universität Graz, Universitätsstraße 15, Graz A-8010, Austria 2 School of Computing and Mathematical Sciences, University of Greenwich, Old Royal Naval College, Park Row, London SE10 9LS, United Kingdom Received 7 November 2006; revised 29 February 2008; accepted 8 March 2008 DOI 10.1002/nav.20292 Published online 23 April 2008 in Wiley InterScience (www.interscience.wiley.com). Abstract: We consider a problem of scheduling jobs on m parallel machines. The machines are dedicated, i.e., for each job the processing machine is known in advance. We mainly concentrate on the model in which at any time there is one unit of an additional resource. Any job may be assigned the resource and this reduces its processing time. A job that is given the resource uses it at each time of its processing. No two jobs are allowed to use the resource simultaneously. The objective is to minimize the makespan. We prove that the two-machine problem is NP-hard in the ordinary sense, describe a pseudopolynomial dynamic programming algorithm and convert it into an FPTAS. For the problem with an arbitrary number of machines we present an algorithm with a worst-case ratio close to 3/2, and close to 3, if a job can be given several units of the resource. For the problem with a fixed number of machines we give a PTAS. Virtually all algorithms rely on a certain variant of the linear knapsack problem (maximization, minimization, multiple-choice, bicriteria). © 2008 Wiley Periodicals, Inc. Naval Research Logistics 55: 377–389, 2008 Keywords: scheduling; parallel dedicated machines; resource constraints; complexity; approximation 1. INTRODUCTION In this article we consider the problem of scheduling jobs on parallel dedicated machines, provided that the processing of jobs can be sped up by allocating an additional resource. We are given a set N ={1, 2, ... , n} of jobs and m process- ing machines M 1 , M 2 , ... , M m . The machines are parallel and dedicated. Each job has to be processed on exactly one machine, and the set N of jobs is in advance partitioned into m subsets, N 1 , N 2 , ... , N m , so that the jobs of set N i and only these are processed on machine M i ,1 i m. The processing time for performing job j is equal to p j 0 time units. No machine processes more than one job at a time and preemption is not allowed. For all problems considered in this article, the goal is to find a schedule that minimizes the makespan, i.e., the maximum completion time. For a schedule S , let the makespan be denoted by C max (S). A schedule with the smallest makespan is called optimal and is denoted by S . In the basic model studied in this article, it is assumed that an additional renewable speeding-up resource can be allo- cated to a job. There are σ 1 units of the resource available at any time. If a job j is not given the resource, its processing Correspondence to: V.A. Strusevich (v.strusevich@greenwich. ac.uk) time remains equal to p j ; otherwise, the resource will speed up the processing. A job that is not given the resource is called a nonresource job; otherwise, it is called a resource job. In this article we mainly concentrate on the simplest scenario of resource consumption, which we call binary. We assume that exactly one unit of the resource is available at any time, i.e., σ = 1. Each job j N is associated with a value π j p j . If a job j is given the resource, its processing time becomes p j π j and exactly one unit of the resource is required at any time of this processing. No two resource jobs can be processed simultaneously. Unless stated otherwise, all time parameters p j and π j are assumed to be integer. To help the reader to grasp the main features of our model, we provide a small-sized example. EXAMPLE 1: Consider the problem of processing five jobs on three parallel dedicated machines M 1 , M 2 , and M 3 . Machine M 1 has to process only job 1, machine M 2 processes jobs 2 and 3, while machine M 3 processes jobs 4 and 5; i.e., N 1 ={1}, N 2 ={2, 3} and N 3 ={4, 5}. The value of the processing parameters p j and π j are given in Table 1. Later in this article we use this example for the purpose of numerical illustrations. Here we give two meaningful interpretations of the example presented in Table 1. © 2008 Wiley Periodicals, Inc.

Transcript of Scheduling parallel dedicated machines with the speeding‐up resource

Scheduling Parallel Dedicated Machines with the Speeding-Up Resource

Hans Kellerer,1 Vitaly A. Strusevich2

1 Institut für Statistik und Operations Research, Universität Graz, Universitätsstraße 15, Graz A-8010, Austria

2 School of Computing and Mathematical Sciences, University of Greenwich, Old Royal Naval College, Park Row,London SE10 9LS, United Kingdom

Received 7 November 2006; revised 29 February 2008; accepted 8 March 2008DOI 10.1002/nav.20292

Published online 23 April 2008 in Wiley InterScience (www.interscience.wiley.com).

Abstract: We consider a problem of scheduling jobs on m parallel machines. The machines are dedicated, i.e., for each job theprocessing machine is known in advance. We mainly concentrate on the model in which at any time there is one unit of an additionalresource. Any job may be assigned the resource and this reduces its processing time. A job that is given the resource uses it at eachtime of its processing. No two jobs are allowed to use the resource simultaneously. The objective is to minimize the makespan.We prove that the two-machine problem is NP-hard in the ordinary sense, describe a pseudopolynomial dynamic programmingalgorithm and convert it into an FPTAS. For the problem with an arbitrary number of machines we present an algorithm with aworst-case ratio close to 3/2, and close to 3, if a job can be given several units of the resource. For the problem with a fixed numberof machines we give a PTAS. Virtually all algorithms rely on a certain variant of the linear knapsack problem (maximization,minimization, multiple-choice, bicriteria). © 2008 Wiley Periodicals, Inc. Naval Research Logistics 55: 377–389, 2008

Keywords: scheduling; parallel dedicated machines; resource constraints; complexity; approximation

1. INTRODUCTION

In this article we consider the problem of scheduling jobson parallel dedicated machines, provided that the processingof jobs can be sped up by allocating an additional resource.

We are given a set N = {1, 2, . . . , n} of jobs and m process-ing machines M1, M2, . . . , Mm. The machines are paralleland dedicated. Each job has to be processed on exactly onemachine, and the set N of jobs is in advance partitioned intom subsets, N1, N2, . . . , Nm, so that the jobs of set Ni andonly these are processed on machine Mi , 1 ≤ i ≤ m. Theprocessing time for performing job j is equal to pj ≥ 0 timeunits. No machine processes more than one job at a time andpreemption is not allowed. For all problems considered inthis article, the goal is to find a schedule that minimizes themakespan, i.e., the maximum completion time. For a scheduleS, let the makespan be denoted by Cmax(S). A schedule withthe smallest makespan is called optimal and is denoted by S∗.

In the basic model studied in this article, it is assumed thatan additional renewable speeding-up resource can be allo-cated to a job. There are σ ≥ 1 units of the resource availableat any time. If a job j is not given the resource, its processing

Correspondence to: V.A. Strusevich ([email protected])

time remains equal to pj ; otherwise, the resource will speedup the processing. A job that is not given the resource is calleda nonresource job; otherwise, it is called a resource job. Inthis article we mainly concentrate on the simplest scenario ofresource consumption, which we call binary. We assume thatexactly one unit of the resource is available at any time, i.e.,σ = 1. Each job j ∈ N is associated with a value πj ≤ pj.If a job j is given the resource, its processing time becomespj − πj and exactly one unit of the resource is required atany time of this processing. No two resource jobs can beprocessed simultaneously. Unless stated otherwise, all timeparameters pj and πj are assumed to be integer.

To help the reader to grasp the main features of our model,we provide a small-sized example.

EXAMPLE 1: Consider the problem of processing fivejobs on three parallel dedicated machines M1, M2, and M3.Machine M1 has to process only job 1, machine M2 processesjobs 2 and 3, while machine M3 processes jobs 4 and 5; i.e.,N1 = {1}, N2 = {2, 3} and N3 = {4, 5}. The value of theprocessing parameters pj and πj are given in Table 1.

Later in this article we use this example for the purposeof numerical illustrations. Here we give two meaningfulinterpretations of the example presented in Table 1.

© 2008 Wiley Periodicals, Inc.

378 Naval Research Logistics, Vol. 55 (2008)

Table 1. Data for Example 1.

N1 N2 N3

j 1 2 3 4 5pj 5 3 5 3 5πj 3 1 4 1 4

Human Resource Management. Three teams M1, M2,and M3 have to implement five projects. Team Mi is responsi-ble for set Ni of projects, i = 1, 2, 3. The senior managementmay allocate an extra employee, currently not a member ofany of the teams, to take part in any project. If project j isdone by the existing workforce of the corresponding team, itwill take pj weeks. If the additional employee is assigned toproject j , this will reduce the duration of the project by πj

weeks. The extra employee remains assigned to the projectuntil it is completed and cannot be assigned to take part inmore than one project at a time. The purpose is to completeall five projects as early as possible.

Power-Aware Scheduling. A computing device consistsof three parallel processors M1, M2, and M3 and has to runfive tasks. The tasks of set Ni are assigned to run on processorMi , i = 1, 2, 3. If task j is run on the corresponding processorat a standard speed, it will take pj seconds. It is possible toincrease the speed of any processor, so that task j will requireπj seconds less. In order not to overheat the device, only oneprocessor at a time can be speed up. The goal is to finish allfive tasks as early as possible.

See Fig. 1 for a schedule that is optimal for the instancepresented in Example 1. The resource jobs are hatched withvertical lines.

If the resource allocations are known in advance then allprocessing times are also known, and we refer to this kind ofresource as the renewable static resource. Study on schedul-ing problems with this type of resource constraints has beeninitiated by Błazewicz et al. [3]; See also [1] and [2] for themost recent reviews of research in this area.

The problems of minimizing the makespan on paralleldedicated machines with static renewable resources havebeen studied in [11, 12]. A fairly complete computationalclassification of relevant problems has been obtained and anumber of approximation algorithms have been designed andanalyzed. In the case of a single static resource, the prob-lems studied in [11, 12] are denoted by PDm|res1σρ|Cmax

(if the number of machines is fixed and equal to m) and byPD|res1σρ|Cmax (if the number of machines is arbitrary, i.e.,part of the problem input). Here “PD” stands for “paralleldedicated machines,” while “res1σρ” implies that there is asingle resource, the size of the resource does not exceed σ ,each job is allocated no more than ρ units of the resourceand at any time the total amount of the allocated resource is

at most σ . In particular, PDm|res111|Cmax denotes the prob-lem of minimizing the makespan on m parallel dedicatedmachines, provided that some jobs are known to require oneunit of the additional resource at any time of their processing.

The main problem studied in this article will be denotedby PDm|res111, Bi|Cmax, where we write “Bi” in the mid-dle field to stress that the resource is speeding-up and thebinary scenario of its consumption is applied. If the num-ber of the machines is arbitrary, the problem is denoted byPD|res111, Bi|Cmax.

In the scheduling literature, there are at least two generalmodels with a nonrenewable speeding-up resource. A featurecommon for both models is that a single resource has to bedivided between the jobs in advance, and the processing timesof each job that receives the resource is reduced, dependingon how many units of the resource are allocated. This situa-tion is typical if the resource to be divided represents moneyor energy. These models have numerous applications in man-ufacturing, supply chain management, imprecise computingand other areas.

The first model with the nonrenewable speeding-upresource is related to scheduling with controllable processingtimes; see [13] for a review. Formally, for each job j ∈ N

we are given the “standard” value of processing time pj

that can be compressed to the minimum value pj, where

pj

≤ pj . Crashing pj to some actual processing time pj ,

pj

≤ pj ≤ pj , may decrease job completion time(s) but

incurs additional cost αjxj , where xj = pj − pj is the com-pression amount of job j and αj is a given unit compressioncost. A number of authors, see, e.g., [9], argue that the com-pression is achieved due to the additional resource allocatedto a job. Usually, this problem area deals with the trade-offbetween the improved quality of the obtained schedule andthe cost of the used resource, normally represented by a linearfunction

∑j∈N αjxj .

Another model defines the processing time of a job j towhich uj units of the resource are allocated as pj = (aj /uj )

k ,where aj is a known job-dependent constant, while k is a

Figure 1. An optimal schedule for Example 1.

Naval Research Logistics DOI 10.1002/nav

Kellerer and Strusevich: Scheduling Parallel Dedicated Machines 379

positive constant. Here the main issue is to find a resource-feasible schedule, i.e.,

∑j∈N uj ≤ σ that minimizes a certain

function that measures the quality of a schedule. This sched-uling model has been studied in a series of papers; here weonly refer to [15], which is the earliest paper we are awareof, and [16], the most recent one.

Returning to problem PDm|res111, Bi|Cmax with a singlerenewable speeding-up resource, notice that some prelimi-nary results on this problem are reported in [5]. In particular,problem PD2|res111, Bi|Cmax is shown to be NP-hard in theordinary sense; we give an alternative proof in Section 2.1.

The fact that the problem under consideration is NP-hard stimulates the search for approximation algorithms thatdeliver solutions fairly close to the optimum. Recall some rel-evant definitions. A polynomial-time algorithm that createsa schedule with the makespan that is at most ρ ≥ 1 timesthe optimal value is called a ρ-approximation algorithm; thevalue ofρ is called a worst-case ratio bound. A family of algo-rithms is called a polynomial-time approximation scheme,or a PTAS if for a given ε > 0 it contains an algorithmthat has the running time that is polynomial in the lengthof the problem input and delivers a worst-case ratio boundof 1 + ε. If additionally the running time is polynomial in1/ε, a PTAS is called a fully polynomial-time approximationscheme (FPTAS).

While most of the presented results concern problemPD2|res111, Bi|Cmax, in this article we also address a moregeneral problem, in which there are σ ≥ 1 units of the renew-able resource available at a time. We are given a matrix withthe nonnegative elements pjτ , where j ∈ N and 0 ≤ τ ≤ σ .If job j is allocated an integer number τ , 0 ≤ τ ≤ σ , of unitsof the resource at any time of its processing, then its actualprocessing time is equal to pjτ . Only the jobs that are allo-cated at most σ units of the resource can be scheduled to run inparallel. We denote this problem by PDm|res1σσ , Int|Cmax,where “Int” stands for the integer scenario of resource allo-cation. For the speeding-up resource, the values pjτ arenon-increasing in τ for each job j ; however, in general wedo not have to make this assumption.

A special case of problem PDm|res1σσ , Int|Cmax is stud-ied in [7], where it is assumed that the actual processing timeof job j that is given τ units of the resource depends linearlyon τ , i.e., pjτ = pj − τπj , where pj and πj have the samemeaning as for problem PDm|res111, Bi|Cmax. This prob-lem can be denoted by PDm|res1σσ , Lin|Cmax, where “Lin”stresses that the actual processing times depend linearly onthe number of units of the speeding-up resource allocated tothe job. Notice that in the case of σ = 1, both scenarios, inte-ger and linear, coincide and become the binary scenario. Forproblem PDm|res1σσ , Lin|Cmax, a (3 + ε)-approximationalgorithm is presented in [7]. A similar speeding-up scenarioapplied to other scheduling models, e.g., unrelated parallelmachines, is considered in [6].

The remainder of this article is organized as fol-lows. Section 2 addresses the two-machine version ofproblem PDm|res111, Bi|Cmax. We show that problemPD2|res111, Bi|Cmax is NP-hard, offer a pseudopolynomial-time dynamic algorithm and convert it into an FPTAS.In Section 3 we present an approximation algorithm forproblem PD|res111, Bi|Cmax with an arbitrary number ofmachines that delivers a worst-case ratio close to 3/2. Wealso show how to extend our approach to handle problemPDm|res1σσ , Int|Cmax and give a (3 + ε)-approximationalgorithm that does not involve approximation schemes forquadratic programming problems employed in [7] for aless general problem PDm|res1σσ , Lin|Cmax. In Section 4we describe a PTAS for problem PDm|res111, Bi|Cmax

with a fixed number of machines. Section 5 contains someconcluding remarks.

In our reasoning and design of the algorithms we oftenuse the linear knapsack problem, in both minimization andmaximization settings, as well as the multiple-choice knap-sack problem and the bicriteria knapsack problem. Noticethat each of these problems admits an FPTAS; see [10] fordetails. Additionally, the algorithms that we describe herefor the problems with the speeding-up resource rely on thealgorithms from [11] developed for the counterparts with thestatic resource; the latter algorithms are not presented herein full detail, and we briefly review the results from [11] inrelevant sections of this article.

2. TWO MACHINES: COMPLEXITY AND FPTAS

In this section, we study problem PD2|res111, Bi|Cmax.Recall that if the resource is static, i.e., is allocated in advance,problem PD2|res111|Cmax is solvable in O(n) time; on theother hand problem PDm|res111|Cmax is NP-hard for anyfixedm ≥ 3, while problem PD|res111|Cmax with an arbitrarynumber of machines is NP-hard in the strong sense; see [11].Notice also that the reduction used in [11] to prove strong NP-hardness of problem PD|res111|Cmax is straightforwardlyextendable to problem PD|res111, Bi|Cmax.

For the two-machine case of problem PDm|res111, Bi|Cmax we define

aj = pj , αj = πj , j ∈ N1;bk = pk , βk = πk , k ∈ N2.

2.1. Complexity

To resolve the complexity issue of problem PDm|res111,Bi|Cmax we only need to establish the status of its versionwith two machines. In this subsection, we show that problemPD2|res111, Bi|Cmax is NP-hard in the ordinary sense.

In the proof of the NP-hardness the following well-knownNP-complete problem is used for reduction.

Naval Research Logistics DOI 10.1002/nav

380 Naval Research Logistics, Vol. 55 (2008)

Partition: Given t integers ej such that∑t

j=1 ej = 2E,does there exist a partition of the index set T = {1, 2, . . . , t}into two subsets T1 and T2 such that

∑j∈T1

ei = ∑j∈T2

ei =E?

For a nonempty set Q ⊆ T , define e(Q) = ∑j∈Q ej ;

additionally define e(∅) = 0.The theorem below holds not only for the speeding-up

model that is of primary concern of this article, but also foran alternative possible model for which the actual processingtimes are derived by reducing the original times by the samefactor.

THEOREM 1: Problem PD2|res111, Bi|Cmax is NP-hardeven if there exists a λ, 0 < λ < 1, such that αj = λaj forall j ∈ N1 and βj = λbj for all j ∈ N2.

PROOF: Take an arbitrary γ , 0 < γ < 1, and given aninstance of Partition, define

• N1 := T and N2 := {t + 1, t + 2};• aj := ej /γ , j ∈ N1;• bt+1 := E/γ 2 and bt+2 := E.

Also define λ = 1 − γ , so that

• αj := λaj = 1−γ

γej , j ∈ N1;

• βt+1 := λbt+1 = 1−γ

γ 2 E and βt+2 := λbt+2 =(1 − γ )E.

Notice that if job j ∈ N1 is given the resource that itsprocessing time becomes

aj − αj = ej

γ− 1 − γ

γej = ej = γ aj .

Similarly,

bt+1 − βt+1 = E

γ 2− 1 − γ

γ 2E = E

γ= γ bt+1;

bt+2 − βt+2 = E − (1 − γ )E = γE = γ bt+2.

We show that Partition has a solution if and only if inthe constructed problem there exists a schedule S0 such thatCmax(S0) ≤ (1 + 1

γ)E.

Suppose that Partition has a solution represented by thesets T1 and T2. Then schedule S0 with Cmax(S0) = (1 + 1

γ)E

exists and can be found as follows. Both machines operate inthe time interval [0, (1+ 1

γ)E] with no idle time. The resource

is assigned to the jobs of set T1 on machine M1 and to jobt + 1 on machine M2. Machine M1 processes the block T2 ofjobs in the time interval [0, E/γ ] followed by the block T1

of the resource jobs. Machine M2 processes the sequence ofjobs (t + 1, t + 2).

Suppose now that schedule S0 with Cmax(S0) ≤ (1 + 1γ)E

exists.Assume first that both jobs t + 1 and t + 2 are given the

resource, so that the total load on machine M2 becomes

(bt+1 − βt+1) + (bt+2 − βt+2) = E/γ + γE.

Denote the total processing time of the resource jobs onmachine M1 by z. Since the total duration of all resource jobsdoes not exceed (1 + 1

γ)E and the resource jobs on machine

M2 take E/γ + γE time units, it follows that in schedule S0

z ≤ (1 − γ )E,

and the sum of the original processing times for the resourcejobs is equal to z/γ . We now estimate the total load onmachine M1 as

z + 2E

γ− z

γ= 2E

γ− 1 − γ

γz ≥ 2E

γ− (1 − γ )2

γE.

Since 2 − (1 − γ )2 > γ + 1 for 0 < γ < 1, we derive that

2E

γ− (1 − γ )2

γE >

(1 + 1

γ

)E,

which is impossible.If job t + 1 is not given the resource then the smallest total

load on machine M2 is Eγ 2 +γE, which is larger then (1+ 1

γ)E

for each γ , 0 < γ < 1.Thus, in schedule S0 the only job on machine M2 that is

given the resource is job t + 1, and its processing takes E/γ

time. Consider an arbitrary partition T1 and T2 of the indexset T , such that on machine M1 the jobs j ∈ T1 are given theresource, and the jobs of the other subset are not. If e(T1) >

E, then total processing time of all resource jobs on bothmachines exceeds (1+ 1

γ)E. Assume that e(T1) = E −x for

some positive x. Then the total load on machine M1 is equalto E −x + E+x

γ= (1 + 1

γ)E + ( 1

γ− 1)x > (1 + 1

γ)E, a con-

tradiction. Therefore, if schedule S0 exists, then Partitionmust have a solution. �

Notice that Theorem 2 implies that problem PD2|res111,Bi|Cmax is NP-hard if for any job the reduced processing timeis obtained from the standard processing time by multiplyingit by the same value 1 − λ. The proof outlined in [5] dealswith a less restricted version of the problem.

2.2. Dynamic Programming

We now show that problem PD2|res111, Bi|Cmax canbe solved by a dynamic programming algorithm in

Naval Research Logistics DOI 10.1002/nav

Kellerer and Strusevich: Scheduling Parallel Dedicated Machines 381

pseudopolynomial time. Given an instance of problemPD2|res111, Bi|Cmax define

A =∑j∈N1

(aj −αj ), B =∑j∈N2

(bj −βj ), R = max{A, B}.(1)

THEOREM 2: Problem PD2|res111, Bi|Cmax can besolved in O(nR) time.

PROOF: As follows from [11], for problem PD2|res111|Cmax with the static resource there exists an optimal sched-ule in which on each machine the jobs are organized in twoblocks: that of the resource jobs and the other consisting ofthe nonresource jobs. Moreover, it suffices to look for an opti-mal schedule among those schedules in which (i) the jobs ineach block are processed without intermediate idle time; (ii)machine M1 processes the resource jobs starting at time zero,and then processes the block of the non-resource jobs; and(iii) machine M2 starting at time zero processes the block ofthe non-resource jobs followed by the block of the resourcejobs which starts as early as possible.

For problem PD2|res111, Bi|Cmax, consider an arbitraryresource allocation. Associate job j ∈ N1 with a binary vari-able xj such that xj = 1 if job j is a resource job and xj = 0otherwise. Similarly, for each k ∈ N2 introduce a binary vari-able yk such that yk = 1 if job k is a resource job and yk = 0otherwise.

For some t1, 0 ≤ t1 ≤ A, suppose that machine M1

processes the block of the resource jobs in the time inter-val [0, t1]. Similarly, suppose that on machine M2 the blockof the resource jobs is processed during a period of t2 timeunits, where 0 ≤ t2 ≤ B.

The makespan for a schedule of this structure exceedsneither the workload on machine M1 equal to

∑j∈N1

(aj −αj )xj + ∑

j∈N1aj (1 − xj ) nor the workload on machine M2

equal to∑

k∈N2(bk − βk)yk + ∑

k∈N2bk(1 − yk). Besides,

since the resource jobs cannot be processed simultaneously,the makespan is at least as large as t1 + t2.

To minimize the workload on machine M1 we need to solvethe following knapsack problem:

W1 = minx

∑j∈N1

aj −∑j∈N1

αjxj

or equivalently

maxx

∑j∈N1

αjxj

subject to

∑j∈N1

(aj − αj )xj ≤ t1; xj ∈ {0, 1}, j ∈ N1.

To minimize the workload on M2 we also need to solve theknapsack problem:

W2 = miny

∑k∈N2

bk −∑j∈N2

βkyk

or equivalently

maxy

∑k∈N2

βkyk

subject to

∑k∈N2

(bk − βk)yk ≤ t2; yk ∈ {0, 1}, k ∈ N2.

We can solve the first knapsack problem as an all-capacitiesknapsack problem in O(|N1|A) time by a dynamic pro-gramming algorithm for t1 = A, see [10] for more details.Such an algorithm outputs an optimal solution to each knap-sack problem with a positive integer right-hand side valuet1 ∈ {0, 1, . . . , A}. Let W1(t1) denotes the optimal value ofthe objective function for t1 ∈ {0, 1, . . . , A}. It is convenientto represent these values as a table with two rows and A + 1columns, where column t1, 0 ≤ t1 ≤ A, in the first rowcontains the value of t1 and in the second row the value ofW1(t1). This table will be called the A-matrix. It is clear thatthe larger the value of t1 is taken, the smaller the value ofW1(t1) is found, i.e., the entries of the second row of theA-matrix form a non-increasing array.

Similarly, for the second knapsack problem in O(|N2|B)

time we can find solutions to all knapsack problems withall positive integer right-hand side values t2 less than orequal to B. Similarly to the above, we associate the foundsolutions with the B-matrix that has two rows and B + 1columns, where column t2, 0 ≤ t2 ≤ B, in the first rowcontains the value of t2 and in the second row contains thecorresponding optimal value W2(t2) of the objective function.The entries of the second row of the B-matrix are also non-increasing.

The time required for building these matrices in at mostO(nR).

To find the overall solution we need to find the integervalues t1, 0 ≤ t1 ≤ A, and t2, 0 ≤ t2 ≤ B, such thatmax{t1 + t2, W1(t1), W2(t2)} is as small as possible.

Assume that there exists an overall optimal solution inwhich W1(t1) ≥ W2(t2). We describe a simple procedure thatfinds C(1) equal to the smallest value of max{t1 + t2, W1(t1)},provided that W1(t1) ≥ W2(t2).

From the A-matrix, read W1(0). In the B-matrix, find thelargest value of W2(t2) such that W1(0) ≥ W2(t2) and read thecorresponding value of t2. Compute C(1) = max{t2, W1(0)}.

Take the next value of t1 and read the value of W1(t1) fromthe corresponding column of the A-matrix. In the B-matrix,

Naval Research Logistics DOI 10.1002/nav

382 Naval Research Logistics, Vol. 55 (2008)

Table 2. A-matrix.

t1 0 1 2 3 4W1(t1) 7 7 7 7 4

find the largest value of W2(t2) such that W1(t1) ≥ W2(t2)

and read the corresponding value of t2. Update C(1) :=min{C(1), max{t1 + t2, W1(t1)}}. This process is repeated forall integer t1 up to A.

Since the second row of the B-matrix is ordered, findingthe largest values of W2(t2) that does not exceed W1(t1) forall values of t1 from zero to A requires no more than B com-parisons, because each time the search may start from thevalue found in the previous iteration. Thus, the final value ofC(1) will be found in no more than O(A + B) = O(R) time.

In a symmetric way, can we find C(2) equal to the smallestvalue of max{t1 +t2, W2(t2)}, provided that W1(t1) < W2(t2).This will also take O(R) time.

The optimal value of the makespan is then equal bymin{C(1), C(2)}. The corresponding resource assignment canbe found by determining the values of the decision vari-ables. �

EXAMPLE 2: To illustrate the algorithm, take the datafrom Table 1 with machine M3 removed and with the valuep1 changed to 7, so that a1 = p1 = 7, α1 = π1 = 3,b2 = p2 = 3, β2 = π2 = 1, b3 = p3 = 5, and β3 = π3 = 4.

For machine M1 we need to solve the all-capacitiesknapsack problem

max 3x1

subject to 4x1 ≤ 4x1 ∈ {0, 1}

which results in the A-matrix shown in Table 2.Similarly, for machine M2 we have to solve the all-

capacities knapsack problem

max y2 + 4y3

subject to 2y2 + y3 ≤ 3y2, y3 ∈ {0, 1}

which results in the B-matrix shown in Table 3.Assuming that W1(t1) ≥ W2(t2) we find the value C(1) = 5

achieved for t1 = 4 and t2 = 1. Assuming that W1(t1) <

W2(t2) we find the value C(2) = 8 achieved for t2 = 0 andt1 = 0. The optimal makespan is equal to 5. See Fig. 2 forthe resulting optimal schedule.

Table 3. B-matrix.

t2 0 1 2 3W2(t2) 8 4 4 3

Figure 2. An optimal schedule for Example 2.

Notice that the dynamic programming algorithm outlinedin [5] does not take advantage of all features of the two knap-sack problems involved and therefore requires much moretime.

2.3. FPTAS

We now convert a pseudopolynomial dynamic program-ming algorithm for problem PD2|res111, Bi|Cmax into a fullypolynomial approximation scheme for this problem.

To achieve this purpose we use a popular roundingtechnique introduced by Ibarra and Kim [8].

In this subsection, we refer to an instance of the originalproblem PD2|res111, Bi|Cmax as Instance I . Given an ε > 0and Instance I , use (1) compute A, B and R, and define δ =εR/n. Define an instance of problem PD2|res111, Bi|Cmax

with the processing times

aj = �aj/δ�, aj − αj = �(aj − αj )/δ�, j ∈ N1;

bk = �bk/δ�, bk − βk = �(bk − βk)/δ�, k ∈ N2,

and call it Instance I . Here �x� denotes the largest integerthat does not exceed x. Our algorithm solves Instance I andconverts the resulting schedule into an approximate solutionto the original Instance I . Notice that due to the performedrounding, the dynamic programming algorithm that solvesInstance I generated a reduced number of states.

Algorithm FPTPD2

1. Given Instance I and an ε > 0, define Instance I asabove.

2. For Instance I , run the dynamic programming algo-rithm from Section 2.2. Call the found schedule S.Let NR

i and N0i be the subsets of the resource and the

non-resource jobs of set Ni , i = 1, 2, in schedule S.3. Process the jobs from the original Instance I in accor-

dance with the subsets NRi and N0

i . Call the resultingschedule Sε. Stop.

Naval Research Logistics DOI 10.1002/nav

Kellerer and Strusevich: Scheduling Parallel Dedicated Machines 383

THEOREM 3: For schedule Sε found by AlgorithmFPTPD2 the inequality

Cmax(Sε)

Cmax(S∗)≤ 1 + ε

holds. The running time of the algorithm does not exceedO(n2/ε).

PROOF: Given Instance I , introduce an instance of prob-lem PD2|res111, Bi|Cmax with the processing times definedas

aj = aj δ, aj − αj = (aj − αj )δ, j ∈ N1;

bk = δbk , bk − βk = (bk − βk)δ, k ∈ N2.

respectively, and call it Instance I .It follows that a schedule S that is optimal for Instance I

is also associated with the same subsets NRi and N0

i of jobsas in schedule S, so that

Cmax(S) = max

∑j∈NR

1

(aj − αj ) +∑j∈N0

1

aj ,∑k∈N0

2

bk

+∑k∈NR

2

(bk−βk),∑j∈NR

1

(aj −αj )+∑k∈NR

2

(bk−βk)

Recall that the processing times aj in Instance I areobtained by extending the times aj to their original valuesby no more than δ each. The same holds for other time para-meters in Instances I and I . Thus, for schedule Sε we havethat

Cmax(Sε) ≤ max

∑j∈NR

1

(aj − αj ) +∑j∈N0

1

aj + n1δ,∑k∈N0

2

bk

+∑k∈NR

2

(bk − βk) + n2δ,∑j∈NR

1

(aj − αj )

+∑k∈NR

2

(bk − βk) + (n1 + n2)δ

≤ Cmax(S) + nδ = Cmax(S) + εR.

Since both Cmax(S) and R are lower bounds on the optimalmakespan for the original Instance I , we have that

Cmax(Sε) ≤ (1 + ε)Cmax(S∗).

The running time of Algorithm FPTPD2 is determined bythe running time of the dynamic programming algorithm usedin Step 2, which requires O(nR) time, where

R = max

∑j∈N1

(aj − αj ),∑k∈N2

(bk − βk)

.

By definition, R ≤ n/ε. Thus, we conclude thatthe running time of Algorithm FPTPD2 does not exceedO(n2/ε). �

Notice that the FPTAS outlined in [5] requires O(n4/ε3).

3. ARBITRARY NUMBER OF MACHINES:APPROXIMATION ALGORITHMS

In this section, we show that problem PD|res111, Bi|Cmax

in which the number of machines is part of the input admitsan approximation algorithm with a worst-case ratio 1.5 + ε

for any given positive ε. We also show how our approach canbe extended to develop a (3 + ε)-approximation algorithmfor a more general problem PD|res1σσ , Int|Cmax based on asimpler reasoning than that employed in [7] for deriving thesame bound for a less general problem PD|res1σσ , Lin|Cmax.

3.1. Binary Scenario

Our algorithm for finding an approximate solution of prob-lem PD|res111, Bi|Cmax consists of two phases. In the firstphase, we apply an FPTAS to an integer programming prob-lem in which the optimal value of the objective function isa lower bound on the optimal makespan Cmax(S

∗) for theoriginal problem PD|res111, Bi|Cmax. The solution found inthe first phase generates an instance of the static problemPD|res111|Cmax with fixed processing times. In the secondphase we apply a 1.5-approximation algorithm from [11]to the obtained instance of problem PD|res111|Cmax. As aresult we determine a suboptimal schedule SH for the orig-inal problem PD|res111, Bi|Cmax, such that for any positiveε the bound

Cmax(SH )

Cmax(S∗)≤ 3

2+ ε (2)

holds.Consider the following integer linear programming prob-

lem (ILP):

Problem ILP :Minimize C

s.t.∑m

i=1

∑j∈Ni

(pj − πj )xj ≤ C∑j∈Ni

pj − ∑j∈Ni

πjxj ≤ C, i = 1, . . . , mxj ∈ {0, 1}, j ∈ N .

Naval Research Logistics DOI 10.1002/nav

384 Naval Research Logistics, Vol. 55 (2008)

Problem ILP can be seen as a relaxation of problemPDm|res111, Bi|Cmax. Here xj is equal to 1 if job j is giventhe resource and is equal to zero, otherwise. In problem ILPwe simultaneously minimize the maximum workload over allmachines and the total processing time of all resource jobs.Let C∗ be the optimal objective value of problem ILP. Noticethat for problem PDm|res111, Bi|Cmax with m ≥ 3 there mayexist an optimal schedule S∗ such that Cmax(S

∗) > C∗. Tosee this, turn to the data set of Example 1 given in Table 1.The value of C∗ is equal to 4, achieved for x1 = x3 = x5 = 1and x2 = x4 = 0. However, the optimal makespan is 5; seeFig. 1. Thus, C∗ is a lower bound on the optimal makespan,which in general is not tight.

Our approximation algorithm for problem PD|res111,Bi|Cmax consists of two phases. First, we find an approxi-mate solution to problem ILP with the value of the functionthat does not exceed (1 + δ)C∗, where δ is an appropriatelychosen fraction of a given accuracy parameter ε. The outputof the phase is a resource allocation that is fairly close to thatin an optimal schedule. To find a suboptimal schedule forthis resource allocation we use an approximation algorithmfor problem PD|res111, Bi|Cmax, which essentially behavesas a 1.5-approximation algorithm. To achieve a required ratioof 1.5 + ε for a given positive ε, we define δ = ε/1.5.

We start the first phase by introducing problem ILP(C),a parametric integer linear programming problem with aparameter C

Problem ILP(C) :Minimize

∑mi=1

∑j∈Ni

(pj − πj )xj

s.t.∑

j∈Nipj − ∑

j∈Niπjxj ≤ C, i = 1, . . . , m

xj ∈ {0, 1}, j ∈ N .

In problem ILP(C) we minimize the total processing timeof all resource jobs, provided that the workload on eachmachine is bounded by C. For a fixed C, let z∗(C) denote theoptimal value of the objective function in problem ILP(C). Bydecomposing problem ILP(C) into m knapsack problems, wefind an approximate solution to that problem with the valueof the function z(C) such that the bound

z(C) ≤ (1 + δ)z∗(C)

holds. Associate problem ILP(C) with the series of thefollowing m knapsack problems KPi (C) (i = 1, . . . , m):

Problem KPi (C) :Minimize

∑j∈Ni

(pj − πj )xj

subject to∑

j∈Nipj − ∑

j∈Niπjxj ≤ C

xj ∈ {0, 1}, j ∈ Ni .

In each problem KPi (C) we minimize the total process-ing time of the resource jobs on machine Mi , provided thatthe workload on that machine does not exceed C. Let z∗

i (C)

denote the optimal value of the objective function in problemKPi (C). Comparing problems ILP(C) and KPi (C), observethat z∗(C) = ∑m

i=1 z∗i (C).

Each problem KPi (C) is a minimization knapsack prob-lem, so that using the corresponding FPTAS we can find asolution with a value of the objective function zi(C) suchthat zi(C) ≤ (1 + δ)z∗

i (C). Running such an FPTAS takesO(n(log n + (1/δ2) log(1/δ)) time for each i; see, e.g. [10].The values of the decision variables obtained for all problemsKPi (C), i = 1, . . . , m, define a feasible solution of prob-lem ILP(C), so that for the obtained value of the objectivefunction z(C) we deduce

z(C) =m∑

i=1

zi(C) ≤m∑

i=1

(1 + δ)z∗i (C) = (1 + δ)z∗(C),

i.e., the described procedure is an FPTAS for solving problemILP(C) with a fixed C.

In problem ILP the largest value of C does not exceedthe sum of all reduced processing times, as if each job isa resource job. Besides C cannot be larger than the work-load of a machine, provided that none of the jobs assignedto that machine has been given the resource. On the otherhand, C cannot be smaller than the workload of a machine,provided that each of the jobs assigned to that machine hasbeen given the resource. Thus, for problem ILP we have thatC ∈ [Y1, Y2], where

Y1 = max

∑j∈Ni

(pj − πj )|1 ≤ i ≤ m

;

Y2 = max

m∑i=1

∑j∈Ni

(pj − πj ), max

∑j∈Ni

pj |1 ≤ i ≤ m

.

The FPTAS for problem ILP(C) can be embedded into abinary search procedure that for problem ILP determines avalue of C such that (1 + δ)C∗. The search starts from themidpoint of the current interval [Y1, Y2]. If for the currentvalue of C, the value z(C) found by the FPTAS for problemILP(C) does not exceed (1 + δ)C, then the obtained solu-tion is also feasible for problem ILP and a better value of C

can be found by taking the midpoint of the left part of thecurrent interval; otherwise, we take the midpoint of the rightpart of the current interval. The search stops having founda solution to problem ILP with the value of the objectivefunction Cδ ≤ (1 + δ)C∗. The running time for finding Cδ

does not exceed O(nm log(Y2−Y1)(log n+(1/δ2) log(1/δ)),which is polynomial in both the length of the input of prob-lem ILP and 1/ε, i.e., the described procedure is an FPTASfor problem ILP.

We now pass to the second phase of the algorithm. Theobtained approximate solution to problem ILP generates the

Naval Research Logistics DOI 10.1002/nav

Kellerer and Strusevich: Scheduling Parallel Dedicated Machines 385

split of the jobs in the original problem into the resource jobs(those with xj = 1) and the remaining non-resource jobs.We obtain an instance of the problem PD|res111|Cmax withparallel dedicated machines and a single resource studiedin [11]. To find an approximate solution to the original prob-lem PD|res111, Bi|Cmax we apply Algorithm GT from [11]to the obtained instance of problem PD|res111|Cmax.

Recall that Algorithm GT if applied to problemPD|res111|Cmax is essentially a group technology heuris-tic algorithm that schedules on each machine a batch of theresource jobs and a batch of the non-resource jobs. It createsa schedule SH such that Cmax(SH ) ≤ ρL, where

ρ ={ 3

2 − 12m

, if m is odd32 − 1

2(m−1), if m is even

,

and L is a lower bound on the optimal makespan of theinstance of problem PD|res111|Cmax computed as the max-imum between the largest machine workload and the totalprocessing times of the resource jobs. In our case, such alower bound L does not exceed Cδ . Thus, we have

Cmax(SH ) ≤ ρCδ ≤ 1.5(1 + δ)C∗ = (1.5 + ε)C∗

≤ (1.5 + ε)Cmax(S∗),

which corresponds to (2).The second phase of our procedure, i.e., running Algorithm

GT requires only O(nm) time, therefore the overall runningtime of the algorithm is polynomial.

3.2. Integer Scenario

We now turn to problem PD|res1σσ , Int|Cmax under theinteger scenario of resource allocation. If a job j ∈ N isgiven τ units of the resource, 0 ≤ τ ≤ σ , then its the actualprocessing time is equal to a given value pjτ . Under the linearscenario of resource allocation, we are given the values pj

and πj , j ∈ N , and the the actual processing time of job j thatis allocated τ units of the resource is equal to pjτ = pj −τπj .

For problem PD|res1σσ , Lin|Cmax, a (3 + ε)-algorithm isdesigned in [7]. The algorithm is essentially a two-phase pro-cedure. In the first phase, the resource allocations are foundby solving a quadratic integer programming problem by anFPTAS. The solution found in the first phase generates aninstance of the static problem PD|res1σσ |Cmax with fixedprocessing times. In the second phase, the jobs are allocatedto the machines using a simple greedy algorithm. As a resulta suboptimal schedule SH is found, such that for any positiveε the bound

Cmax(SH )

Cmax(S∗)≤ 3 + ε (3)

holds.

Later we demonstrate that in fact the use of non-linearmodels in the first phase of this process is not necessary, evenfor a more general problem PD|res1σσ , Int|Cmax. In fact, wereduce the first-phase actions to solving a series of integer lin-ear programming problems by an FPTAS. Our reasoning isquite similar to that described in Section 3.1, however here weapply an FPTAS not to linear knapsack problems, but ratherto so-called multiple-choice linear knapsack problems. As aresult we gain in the overall running time and simplify thejustification of the algorithm. To achieve the required ratio(3) for a given positive ε, we define δ = ε/2.

Consider the following integer linear programming prob-lem ILPσ . It has a feasible solution if there is a feasibleschedule for problem PD|res1σσ , Int|Cmax with a makespanat most C. A variable xjτ , where j ∈ N and 0 ≤ τ ≤ σ , isequal to 1 if job j is given τ units of the resource and is equalto zero, otherwise.

m∑i=1

∑j∈Ni

σ∑τ=0

τpjτ xjτ ≤ σC, (4)

∑j∈Ni

σ∑τ=0

pjτ xjτ ≤ C, i = 1, . . . , m, (5)

σ∑τ=0

xjτ = 1, j ∈ N , (6)

xjτ ∈ {0, 1}. (7)

Problem ILPσ can be seen as a relaxation of the originalproblem PD|res1σσ , Int|Cmax. The left-hand side of (4) rep-resents the total resource consumption of all jobs. Since atmost σ units of the resource can be allocated at any time, thetotal resource consumption is at most σC which is expressedin (4). If there is a schedule with makespan not exceeding C,the workload on each machine is at most C. This is guaranteedby the inequalities (5).

Introduce problem ILPσ(C), a parametric integer linearprogramming problem with a parameter C:

Minimizem∑

i=1

∑j∈Ni

σ∑τ=0

τpjτ xjτ

subject to∑j∈Ni

σ∑τ=0

pjτ xjτ ≤ C, i = 1, . . . , m,

σ∑τ=0

xjτ = 1, j ∈ N ,

xjτ ∈ {0, 1}.In problem ILPσ(C) we minimize the total resource

consumption of all jobs, provided that the workload oneach machine is bounded by C. By decomposing problem

Naval Research Logistics DOI 10.1002/nav

386 Naval Research Logistics, Vol. 55 (2008)

ILPσ(C) into m integer programs, we find an approximatesolution to that problem with the value of the function z(C)

such that the bound

z(C) ≤ (1 + δ)z∗(C),

holds, where z∗(C) denote the optimal value of the objec-tive function in problem ILPσ(C). Associate problemILPσ(C) with the series of the following m integer programsMCKPi (C), i = 1, . . . , m:

Minimize∑j∈Ni

σ∑τ=0

τpjτ xjτ

subject to∑j∈Ni

σ∑τ=0

pjτ xjτ ≤ C,

σ∑τ=0

xjτ = 1, j ∈ N ,

xjτ ∈ {0, 1}.In each problem MCKPi (C) we minimize the total

resource consumption on machine Mi , provided that theworkload on that machine does not exceed C. Let z∗

i (C)

denote the optimal value of the objective function in problemMCKPi (C). It follows that z∗(C) = ∑m

i=1 z∗i (C).

Each of the programs MCKPi (C) is a multiple choiceknapsack problem (MCKP) in the minimization form. TheMCKP is a generalization of the classical knapsack problem.We have given σ mutually disjoint classes Q0, Q1, . . . , Qσ ofitems to be packed into a knapsack of capacity C. Each itemj ∈ Qτ , 0 ≤ τ ≤ σ , has a cost cjτ and a weight wjτ , andthe problem is to choose exactly one item from each class sothat the total cost is minimized without exceeding the weightcapacity C. In the case of problem MCKPi (C), there are |Ni |items in each of the σ + 1 classes so that the total numberof items is t = O(|Ni |σ). An item j of class Qτ is associ-ated with job j ∈ Ni that is given τ units of resource, whereτ = 0, 1, . . . , σ . The weights correspond to the processingtimes pjτ and the costs are equal to τpjτ .

An FPTAS for the MCKP is outlined in [10, page 338]. Toachieve an accuracy of 1+δ for the MCKP an overall runningtime of O(tσ/δ) is required. Thus, program MCKPi (C) canbe approximated with performance ratio 1+δ in O(|Ni |σ 2/δ)

time.The values of the decision variables obtained for all prob-

lems MCKPi (C), i = 1, . . . , m, define a feasible solution ofproblem ILPσ(C), so that for the obtained value of the objec-tive function z(C) we deduce z(C) ≤ (1 + δ)z∗(C), i.e., thedescribed procedure is an FPTAS for solving problem ILP(C)

with a fixed C.Embedding the FPTAS for ILPσ(C) into a binary search

on C we can calculate the smallest integer C∗ for which prob-lem ILPσ(C) has a solution with the objective function value

z∗(C) ≤ (1 + δ)σC∗. Consequently, C∗ is a lower bound onthe optimal makespan Cmax(S

∗) and the corresponding solu-tion vector x∗ is a feasible solution of ILP with constraint (4)relaxed to

m∑i=1

∑j∈Ni

σ∑τ=0

τpjτ xjτ ≤ (1 + δ)σC∗. (8)

Thus, we have found a resource allocation to the jobs, i.e.,we have obtained an instance of problem PD|res1σσ |Cmax,such that the total processing time on each machine is atmost C∗ and the total resource consumption does not exceed(1+δ)σC∗ with C∗ ≤ Cmax(S

∗). A resource allocation foundin [7] possess the same properties, so that a greedy algo-rithm from [7] can be used to find a suboptimal schedule.In the greedy algorithm, each time the first job is scheduledwhich can be assigned to the corresponding machine with-out violating the resource constraints, and ties are brokenarbitrarily.

We summarize the results of this section as the followingstatement.

THEOREM 4: Problem PD|res1σσ , Int|Cmax admitsa (3 + ε)-approximation algorithm, while problemPD|res111, Bi|Cmax admits a (3/2 + ε)-approximation algo-rithm. The running times of both algorithms depend polyno-mially on both the length of the input and 1/ε.

4. FIXED NUMBER OF MACHINES: PTAS

In this section, we present a PTAS for problemPDm|res111, Bi|Cmax. For fixed m and ε ∈]0, 1[ the runningtime of our scheme is polynomial in the size of the probleminput, but not in m and 1/ε.

Let S∗ be a schedule that is optimal for problemPDm|res111, Bi|Cmax. For job j ∈ N its actual processingtime in schedule S∗ is denoted by f ∗

j , i.e., f ∗j = pj if j is a

non-resource job and f ∗j = pj −πj if it is a resource job. For

a subset of jobs Q ⊆ N , define the sum of actual processingtimes in an optimal schedule by f ∗(Q).

Let SH be a heuristic schedule found by the algorithmpresented in Section 3 with ε = 0.5. It follows that

C := 1

2Cmax(SH )

is a lower bound on the optimal makespan C∗ := Cmax(S∗).

On the other hand, Cmax(SH ) ≥ C∗, so that

C ≤ C∗ ≤ 2C.

Recall that for a static version of our problem, i.e., problemPDm|res111|Cmax, a PTAS is developed in [11]. To design

Naval Research Logistics DOI 10.1002/nav

Kellerer and Strusevich: Scheduling Parallel Dedicated Machines 387

Table 4. Six possible classes of a job: B, big; M, medium; S, small.

Class of job j 1 2 3 4 5 6

Non-resource duration pj B B B M M SResource duration pj − πj B M S M S S

a PTAS for problem PDm|res111, Bi|Cmax we will “guess”a resource allocation that is very close to that in an optimalschedule S∗. After that, our algorithm follows the lines of thePTAS for the obtained static problem. The PTAS splits thejobs into big, medium and small according to their durationsin such a way that the processing time of every big job is by afactor larger that the duration of any small job, while the totalprocessing time of all medium jobs is a very small multipleof the optimal makespan.

Introduce the sequence of real numbers δ1, δ2, . . . such thatδt := (ε/m)2t

.For δ equal to one of these values δt , the processing time

of a job is called big if it exceeds δC; is called small if it nogreater than δ2C; otherwise it is called medium. Since we donot know an optimal resource allocation, it is, for instance,possible that the processing time of a job is big (provided thatno resource is given to that job), while if the job is given theresource its duration becomes medium or even small. Thus,we have to split the jobs into six classes as shown in theTable 4.

For each integer t , t ≥ 1, introduce the set of jobs Nt :={Jj ∈ N |δ2

t C < f ∗j ≤ δtC}. It can be verified that the sets of

jobs N1, N2, . . . are mutually disjoint. There exists an integert0, 1 ≤ t0 ≤ �m

ε, such that f ∗(Nt0) ≤ εf ∗(N)

m≤ εC∗ holds.

Otherwise, we would have f ∗(N) > �mε εf ∗(N)

m, which is

impossible.Taking t from 1 to �m

ε, eventually we will find a value of t

that allows us to find the values of actual processing times asin an optimal schedule for most of the jobs. The explanationbelow is related to such a t . Note that the number of valuesof t to be examined is constant for fixed m and ε.

Define δ = δt and determine the resource allocation to thejobs according to their class.

Classes 1–3. For each job j in these classes its non-resource duration is big, i.e., pj > δC. In an optimal schedulethe total processing time of all jobs of big duration on eachmachine does not exceed C∗ ≤ 2C, therefore, there will beat most µ := � 1

2δ of such jobs on each machine. This means

that to generate resource allocations for the jobs in theseclasses we need to verify at most O(nmµ) options, one ofwhich will coincide with the allocation in an optimal sched-ule. Notice that the number of options to be considered ispolynomial.

Classes 4 and 5. In an optimal schedule the total process-ing time of all jobs of medium duration, including those from

Class 2, on all machines does not exceed εC∗. Since eachmedium duration exceeds δ2C, it follows that at most ν :=O( ε

δ2 ) jobs will be of medium duration in an optimal sched-ule. Thus, we have O(nν) resource allocations to be verified.

Class 6. The duration of each job of this class remainssmall irrespective of the resource allocation. Let N

(6)i denote

the set of jobs of this class to be processed on machine Mi ,1 ≤ i ≤ m. Unlike for the previous classes, here we cannotafford full enumeration since Class 6 may contain too manyjobs. Instead, to achieve an optimal resource allocation wewill try to minimize total workload on each machine simul-taneously with the total processing time of all resource jobs.This can be done for each machine Mi separately by solvingthe following bicriteria problem of Boolean programmingthat we call problem Vi :

Problem Vi :minimize F1(z) = ∑

j∈N(6)i

pj (1 − zj )

minimize F2(z) = ∑j∈N

(6)i

(pj − πj )zj

zj ∈ {0, 1}, j ∈ N(6)i ,

where zj equal to 1 is job j is assigned the resource and equalto 0 otherwise. Thus, for machine Mi , the function F1 rep-resents the total processing time of all nonresource jobs ofClass 6, while the function F2 represents the total processingtime of all resource jobs of this class.

Recall that a solution z′ is called Pareto-optimal if thereexists no solution z′′ such that F1(z

′′) ≤ F1(z′) and F1(z

′) ≤F2(z

′′), where at least one of these relations holds as a strictinequality. The set of all Pareto-optimal solutions is knownas the efficiency frontier. It can be seen there exists an optimalschedule for the original problem that is related to a resourceallocation that is Pareto-optimal for all problems Vi . Other-wise, it would be possible to find a resource allocation for thejobs of Class 6 such that both the total duration of the resourcejobs and the total duration of the non-resource jobs on somemachine Mi are not larger and one duration is strictly smallerthan the optimal values of the functions of problem Vi .

For problem Vi , minimizing one of the objective functionssubject to a constraint that the value of the other function isbounded is essentially a knapsack problem. Thus, problem Vi

as a problem of simultaneous minimization of these functionsis NP-hard and solving it in polynomial time is unlikely.

For our purposes, however, it suffices to find a solutionto problem Vi that can be seen as an approximation of theset of Pareto-optimal solutions. Given a positive ε, a feasiblesolution z′ is called an (1 + ε)-approximation of solution z′′if F1(z

′) ≤ (1 + ε)F1(z′′) and F2(z

′) ≤ (1 + ε)F2(z′′). The

set of (1 + ε)-approximations of all Pareto optimal points iscalled an (1 + ε)-approximation of the efficiency frontier. Asfollows from [14], there exists an (1 + ε)-approximation ofthe efficiency frontier that consists of a number of solutions

Naval Research Logistics DOI 10.1002/nav

388 Naval Research Logistics, Vol. 55 (2008)

that is polynomial in both 1/ε and the number of jobs in setN

(6)i .For Problem Vi , an FPTAS finds an (1+ε)-approximation

of the efficiency frontier, and its running time is polynomial inboth 1/ε and the number of jobs in set N(6)

i . For our purposes,we may adapt an FPTAS for a more general multi-objectiveknapsack problem [4]. See also Section 13.1 of the book [10]for more information on multi-objective problems of integerprogramming.

Solve each problem Vi , i = 1, . . . , m, by an FPTAS. Forthe original value of ε, we may set the accuracy of an FPTASto ε/m. For any i, a solution delivered by the FPTAS gener-ates a resource allocation for all jobs of Class 6. Examiningall found solutions, we determine a resource allocation whichguarantees the following property.

Class 6 Property. For jobs of Class 6 the sum of actualprocessing times of these jobs on each machine is at most2εC∗/m away from the corresponding value f ∗(N(6)

i ) inan optimal schedule, while the total processing time of allresource jobs of this class exceeds the corresponding valuein an optimal schedule by at most εC∗.

Thus, trying all values of t we perform full enumeration ofpossible resource allocations of the jobs of Classes 1–5 andapply the approximation approach to the jobs of Class 6. As aresult, an allocation will be found such that for each job j ofClasses 1–5 its actual processing time becomes equal to f ∗

j ,the duration in some optimal schedule. For the same alloca-tion, the remaining jobs will satisfy Class 6 Property above.This allocation generates an instance of the static problemPDm|res111|Cmax that we call Instance Iε.

Let us refer to the PTAS from [11] for problemPDm|res111|Cmax as the static PTAS. As an approximatesolution to the original problem, we accept a solution deliv-ered by the static PTAS applied to instance Iε. In fact, thestatic PTAS should be applied to every instance associatedwith every resource allocation, but for our purposes it sufficesto study performance of the static PTAS applied to Iε.

Take the value of δ that initiates instance Iε, and define big,medium and small jobs as the jobs that have big, medium andsmall duration, respectively. Recall that this definition coin-cides with the definition of these jobs in the description ofthe static PTAS.

Recall that the static PTAS does the following:

• find all schedules of big jobs with starting times thatare multiples of δ2C by full enumeration (the numberof the big jobs is constant);

• for each such schedule, determine the amounts ofsmall resource jobs to be processed in the gaps of thatschedule by solving a linear programming problem;

• schedule small resource jobs preemptively in thesegaps;

• schedule small non-resource jobs preemptively in theremaining gaps;

• get rid of preemptions (some of the jobs can betemporarily discarded);

• append all unscheduled jobs (i.e., all temporarilydiscarded jobs and all medium jobs);

• select the best of all generated schedules.

Here we do not present a detailed analysis of the perfor-mance of our PTAS, since it is basically identical to that givenin [11]. The only point that needs clarification concerns thejobs of Class 6, since in Instance Iε their durations are notexact. However, since the static PTAS assigns the small jobspreemptively, we can use Class 6 Property to guarantee thatfor the obtained schedule Sε the error Cmax(Sε)−C∗ does notexceed rεC∗, where r is a constant that only depends on m

and 1/ε. By normalizing the original value of ε, we concludethat our approach leads to a PTAS for the original problem.

5. CONCLUSION

In this article, we address approximability issues of theproblem of scheduling jobs on parallel dedicated machinesin the presence of a single renewable speeding-up resource ofunit amount as well as for its generalization with several avail-able units of the resource. In all our algorithms we rely on acertain version of the linear knapsack problem. It is an attrac-tive research goal to extend our approaches to other modelsof parallel processing. A study of models, inlcuding multicri-teria ones, that take into consideration either the amount orthe cost of the used resources is very appealing; the modelsof this kind are the main topic of research in scheduling withcontrollable processing times.

ACKNOWLEDGEMENTS

The authors are grateful to Alexander Grigoriev and MarcUetz of the University of Maastricht for useful discussionsat the early stages of this research. The comments by twoanonymous referees and an associate editor have contributedto improving the presentation.

REFERENCES

[1] J. Błazewicz, N. Brauner, and G. Finke, “Schedulingwith discrete resource constraints,” J.Y.-T. Leung (Editor),Handbook of scheduling: Algorithms, models and perfor-mance analysis, Chapman & Hall/CRC, London, 2004,pp. 23-1–23-18.

[2] J. Błazewicz, K.H. Ecker, G. Schmidt, and J. Weglarz, Sched-uling in computer and manufacturing systems, Springer,Berlin, 1994.

Naval Research Logistics DOI 10.1002/nav

Kellerer and Strusevich: Scheduling Parallel Dedicated Machines 389

[3] J. Błazewicz, J.K. Lenstra, and A.H.G. Rinnooy Kan, Sched-uling subject to resource constraints, Discrete Appl Math 5(1983), 11–24.

[4] T. Erlebach, H. Kellerer, and U. Pferschy, Approximat-ing multi-objective knapsack problems, Management Sci 48(2002), 1603–1612.

[5] A. Grigoriev, H. Kellerer, and V.A. Strusevich, Dedicated par-allel machine scheduling with a single speeding-up resource,6th Workshop on models and algorithms for planning andscheduling problems, book of abstracts, 2003, pp. 131–132.

[6] A. Grigoriev, M. Sviridenko, and M. Uetz, Machine schedul-ing with resource dependent processing times, Math Program110 (2007), 209–228.

[7] A. Grigoriev and M. Uetz, “Scheduling parallel jobs with linearspeedup,” T. Erlebach and P. Persiano (Editors), Approxima-tion and online algorithms (WAOA 2005), Lecture Notes Com-put Sci 3879 (2006), 203–215.

[8] O.H. Ibarra and C.E. Kim, Fast approximation algorithms forthe knapsack and sum of subsets problem, J ACM 22 (1975),463–468.

[9] A. Janiak and M.Y. Kovalyov, Single machine scheduling sub-ject to deadlines and resource dependent processing times, EurJ Oper Res 94 (1996), 284–291.

[10] H. Kellerer, U. Pferschy, and D. Pisinger, Knapsack problems,Springer, Berlin, 2004.

[11] H. Kellerer and V.A. Strusevich, Scheduling parallel dedicatedmachines under a single non-shared resource, Eur J Oper Res147 (2003), 345–364.

[12] H. Kellerer and V.A. Strusevich, Scheduling problems for par-allel dedicated machines under multiple resource constraints,Discrete Appl Math 113 (2004), 45–68.

[13] E. Nowicki and S. Zdrzalka, A survey of results for sequencingproblems with controllable processing times, Discrete ApplMath 26 (1990), 271–287.

[14] C.N. Papadimitriou and M. Yannakakis, On the approx-imability of trade-offs and optimal access web sources,Proc 41st Symp Foundations of Computer Science, 2000,pp. 86–92.

[15] D. Shabtay, Single and a two-resource allocation algo-rithms for minimizing the maximal lateness in a singlemachine-scheduling problem, Comput Oper Res 31 (2004),1303–1315.

[16] D. Shabtay and M. Kaspi, Parallel machine scheduling witha convex resource consumption function, Eur J Oper Res 173(2006), 92–107.

Naval Research Logistics DOI 10.1002/nav