7
Information Processing Letters 102 (2007) 41–47 www.elsevier.com/locate/ipl An FPTAS for scheduling jobs with piecewise linear decreasing processing times to minimize makespan Min Ji a , T.C.E. Cheng b,a College of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310035, P.R. China b Department of Logistics, The Hong Kong Polytechnic University, Kowloon, Hong Kong Received 28 July 2006; received in revised form 23 November 2006; accepted 27 November 2006 Available online 22 December 2006 Communicated by K. Iwama Abstract We study the problems of scheduling a set of nonpreemptive jobs on a single machine and identical parallel machines, where the processing time of a job is a piecewise linear nonincreasing function of its start time. The objective is to minimize makespan. We first give a fully polynomial-time approximation scheme (FPTAS) for the case with a single machine. We then generalize the result to the case with m identical machines. © 2006 Elsevier B.V. All rights reserved. Keywords: Machine scheduling; Start time-dependent processing times; Makespan; Approximation algorithms 1. Introduction Machine scheduling problems with jobs having start time-dependent processing times have received increas- ing attention from the scheduling community over the last decade. For a survey of the research in this area, we refer the reader to Alidaee and Womer [1], and Cheng et al. [7]. Recently Cheng et al. [6] considered the follow- ing scheduling problem with time-dependent process- ing times: There are n independent nonpreemptive jobs J ={J 1 ,J 2 ,...,J n }, which are simultaneously avail- able, to be scheduled for processing on m parallel ma- chines. Each job can be completely processed by any * Corresponding author. E-mail addresses: [email protected] (M. Ji), [email protected] (T.C.E. Cheng). machine. Each machine can handle at most one job at a time. A schedule is characterized by the sequences of jobs arranged in order of processing on the machines. The processing time of job J j scheduled on machine k depends on its start time s j in the following way: p k j = a k j , if s j <d, a k j b k j (s j d), if d s j D, a k j b k j (D d), if s j > D. On machine k , each job J j thus has a normal processing time a k j ,a common initial decreasing date d , after which the processing time starts to decrease linearly with a de- creasing rate b k j and a common final decreasing date D (D d ), after which it decreases no further. It is as- sumed that 0 <b k j < 1 and a k j >b k j (min{D, n i =1 a k i a k j }− d) hold for each job J j and machine k . The first condition ensures that the decrease of each job process- 0020-0190/$ – see front matter © 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.ipl.2006.11.014

An FPTAS for scheduling jobs with piecewise linear decreasing processing times to minimize makespan

  • Upload
    min-ji

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Information Processing Letters 102 (2007) 41–47

www.elsevier.com/locate/ipl

An FPTAS for scheduling jobs with piecewise linear decreasingprocessing times to minimize makespan

Min Ji a, T.C.E. Cheng b,∗

a College of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310035, P.R. Chinab Department of Logistics, The Hong Kong Polytechnic University, Kowloon, Hong Kong

Received 28 July 2006; received in revised form 23 November 2006; accepted 27 November 2006

Available online 22 December 2006

Communicated by K. Iwama

Abstract

We study the problems of scheduling a set of nonpreemptive jobs on a single machine and identical parallel machines, wherethe processing time of a job is a piecewise linear nonincreasing function of its start time. The objective is to minimize makespan.We first give a fully polynomial-time approximation scheme (FPTAS) for the case with a single machine. We then generalize theresult to the case with m identical machines.© 2006 Elsevier B.V. All rights reserved.

Keywords: Machine scheduling; Start time-dependent processing times; Makespan; Approximation algorithms

1. Introduction

Machine scheduling problems with jobs having starttime-dependent processing times have received increas-ing attention from the scheduling community over thelast decade. For a survey of the research in this area, werefer the reader to Alidaee and Womer [1], and Chenget al. [7].

Recently Cheng et al. [6] considered the follow-ing scheduling problem with time-dependent process-ing times: There are n independent nonpreemptive jobsJ = {J1, J2, . . . , Jn}, which are simultaneously avail-able, to be scheduled for processing on m parallel ma-chines. Each job can be completely processed by any

* Corresponding author.E-mail addresses: [email protected] (M. Ji),

[email protected] (T.C.E. Cheng).

0020-0190/$ – see front matter © 2006 Elsevier B.V. All rights reserved.doi:10.1016/j.ipl.2006.11.014

machine. Each machine can handle at most one job ata time. A schedule is characterized by the sequences ofjobs arranged in order of processing on the machines.The processing time of job Jj scheduled on machine k

depends on its start time sj in the following way:

pkj =

⎧⎪⎪⎨⎪⎪⎩

akj , if sj < d,

akj − bk

j (sj − d), if d � sj � D,

akj − bk

j (D − d), if sj > D.

On machine k, each job Jj thus has a normal processingtime ak

j , a common initial decreasing date d , after whichthe processing time starts to decrease linearly with a de-creasing rate bk

j and a common final decreasing dateD (D � d), after which it decreases no further. It is as-sumed that 0 < bk

j < 1 and akj > bk

j (min{D,∑n

i=1 aki −

akj } − d) hold for each job Jj and machine k. The first

condition ensures that the decrease of each job process-

42 M. Ji, T.C.E. Cheng / Information Processing Letters 102 (2007) 41–47

ing time is less than one unit for every unit delay inits starting moment. The second condition ensures thatall the job processing times are positive in a feasibleschedule (see also Ho et al. [10] for detailed explana-tions). Given a schedule, the completion time Cj ofjob Jj , j = 1,2, . . . , n, is easily determined. The objec-tives in Cheng et al. [6] are to minimize the makespanCmax = maxj=1,2,...,n Cj and the total completion time∑n

j=1 Cj . These criteria are related to throughput timeand total work-in-process inventories of a productionsystem, respectively. Without loss of generality, it is as-sumed that all ak

j , d , and D are integral and all bkj are

rational so that bkj = vk

j /L, where vkj are integers and

L is a natural number, j = 1,2, . . . , n, k = 1,2, . . . ,m.For the case with a single machine or identical parallelmachines, the index k is dropped in the correspondingnotation.

For the makespan problem on a single machine,Cheng et al. [6] proved it was NP-hard in the or-dinary sense if d = 0 (see Theorem 1 in [6]). Andfrom the parameters in their proof, we can deduce thatbj � aj /(2D) for all j . So Theorem 1 in [6] is infact valid if bj � aj/(2D) for all j . This model canprovide a better approximation for some real-life situ-ations where job processing times decrease with theirstart times. For example, in environments where learn-ing effect takes place, the productivity of an operatoris at a low level initially, and it gradually increases toa stable level after some time because of physical andsafety limitations. And a job’s stable processing time isusually not much less than its normal processing time.The assumption bj � aj /(2D) indicates that the ratiois not less than a half, i.e., (aj − bjD)/aj � 1/2. Inthis paper we present a fully polynomial-time approx-imation scheme (FPTAS) for both the single-machineand identical parallel-machine cases, when d = 0 andbj � aj /(2D) for all j . Using the three-field notationof Graham et al. [8], we denote such scheduling mod-els as 1|pj = aj − bj min{sj ,D}|Cmax and Pm|pj =aj − bj min{sj ,D}|Cmax, respectively.

Work on scheduling problems with start time-depen-dent processing times was initiated by Brown andYechiali [4], and Gupta and Gupta [9]. Since then,scheduling problems with time-dependent processingtimes have received increasing attention. There aremany applications of the model where the job process-ing time is an increasing function of the job start time.These include the control of queues and communica-tion systems, shops with deteriorating machines, and/ordelay of maintenance or cleaning, fire fighting, and hos-pital emergency wards, scheduling steel rolling mills,etc. [2,4,6,9,14–16]. If the job processing time is a de-

creasing function of the job start time, examples canbe found in learning effect, national defense, and aerialthreats, etc., in which a task consists of destroying anaerial threat and its execution time decreases with timeas the threat gets closer. For a list of applications of thisscheduling model, the reader is referred to [3,5,10,11,17,18].

The presentation of this paper is organized as fol-lows. In Section 2 we propose a fully polynomial-timeapproximation scheme for the problem 1|pj = aj −bj min{sj ,D}|Cmax, and prove its correctness and es-tablish its time complexity. We then generalize the resultto m identical parallel machines in Section 3. Finally,we conclude the paper in Section 4.

2. An FPTAS for the single-machine problem

An algorithm A is called a (1 + ε)-approximationalgorithm for a minimization problem if it produces asolution that is at most 1 + ε times as big as the op-timal value, running in time that is polynomial in theinput size. A family of approximation algorithms {Aε}is a fully polynomial-time approximation scheme if, foreach ε > 0, the algorithm Aε is a (1+ε)-approximationalgorithm that is polynomial in the input size and in 1/ε.From now on we assume, without loss of generality, that0 < ε � 1. If ε > 1, then a 2-approximation algorithmcan be taken as a (1 + ε)-approximation algorithm.

Ho et al. [10] showed that the nonincreasing or-der of aj/bj is optimal for the problem 1|pj = aj −bj sj |Cmax, which leads to the following property.

Property 1. There exists an optimal solution for theproblems 1|pj = aj −bj min{sj ,D}|Cmax and Pm|pj =aj − bj min{sj ,D}|Cmax such that on each machine thejobs are sequenced in nonincreasing order of aj /bj ifthese jobs’ start times are all less than D.

The following Remark 1 and Property 2 are trivial.

Remark 1. It is trivial that there exists an optimal solu-tion for the problems 1|pj = aj − bj min{sj ,D}|Cmax

and Pm|pj = aj − bj min{sj ,D}|Cmax such that the se-quence of the jobs is immaterial if these jobs’ start timesare no less than D.

Property 2. There is no idle time on each machinein an optimal solution for the problems 1|pj = aj −bj min{sj ,D}|Cmax and Pm|pj = aj − bj min{sj ,D}|Cmax.

M. Ji, T.C.E. Cheng / Information Processing Letters 102 (2007) 41–47 43

Following Property 1, let the jobs be indexed in non-increasing order of aj/bj so that a1/b1 � a2/b2 � · · · �an/bn. We define the 0–1 variables xj , j = 1,2, . . . , n,where xj = 1 if the start time of job Jj is less thanD, and xj = 0 otherwise. Let X be the set of all the0–1 vectors x = (x1, x2, . . . , xn). Let fj (x) be the totalprocessing time when the jobs {J1, . . . , Jj } have beenprocessed. Let gj (x) be min{D, the total processingtime of those jobs whose start times are less than D}when the jobs {J1, . . . , Jj } have been processed. We de-fine the following initial and recursive functions on X:

f0(x) = 0,

g0(x) = 0,

fj (x) = fj−1(x) + xj

(aj − bjgj−1(x)

)+ (1 − xj )(aj − bjD),

gj (x) = min{gj−1(x) + xj

(aj − bjgj−1(x)

),D

}.

Thus, due to the definition of fj (x) and Property 2, weconclude that the problem 1|pj = aj − bj min{sj ,D}|Cmax reduces to the following problem:

Minimize fn(x) for x ∈ X.

We first introduce procedure Partition(A, e, δ) pro-posed by Kovalyov and Kubiak [12,13], where A ⊆ X,e is a nonnegative integer function on X, and 0 <

δ � 1. This procedure partitions A into disjoint subsetsAe

1,Ae2, . . . ,A

eke

such that |e(x) − e(x′)| � δ min{e(x),

e(x′)} for any x, x′ from the same subset Aej , j = 1,2,

. . . , ke . The following description provides the details ofPartition(A, e, δ).

Procedure Partition(A, e, δ)

Step 1. Arrange vectors x ∈ A in order x(1), x(2), . . . ,

x(|A|) such that 0 � e(x(1)) � e(x(2)) � · · ·� e(x(|A|)).

Step 2. Assign vectors x(1), x(2), . . . , x(i1) to set Ae1 un-

til i1 is found such that e(x(i1)) � (1+δ)e(x(1)) ande(x(i1+1)) > (1 + δ)e(x(1)). If such i1 does not ex-ist, then take Ae

ke= Ae

1 = A, and stop.

Assign vectors x(i1+1), x(i1+2), . . . , x(i2) to set Ae2

until i2 is found such that e(x(i2)) � (1+δ)e(x(i1+1))

and e(x(i2+1)) > (1 + δ)e(x(i1+1)). If such i2 doesnot exist, then take Ae

ke= Ae

2 = A − Ae1, and stop.

Continue the above construction until x(|A|) is in-cluded in Ae

kefor some ke.

Procedure Partition requires O(|A| log |A|) opera-tions to arrange the vectors of A in nondecreasing orderof e(x), and O(|A|) operations to provide a partition.

The main properties of Partition that will be used in thedevelopment of our FPTAS Aε were presented in Kova-lyov and Kubiak [12,13] as follows.

Property 3. |e(x) − e(x′)| � δ min{e(x), e(x′)} for anyx, x′ ∈ Ae

j , j = 1,2, . . . , ke .

Property 4. ke � log e(x(|A|))/δ + 2 for 0 < δ � 1 and1 � e(x(|A|)).

A formal description of the FPTAS Aε for the prob-lem 1|pj = aj − bj min{sj ,D}|Cmax is given below.

Algorithm Aε

Step 1. (Initialization) Number the jobs in nonincreas-ing order of aj /bj so that a1/b1 � a2/b2 � · · · �an/bn (Property 1). Set Y0 = {(0,0, . . . ,0)} andj = 1.

Step 2. (Generation of Y1, Y2, . . . , Yn) For set Yj−1,generate Y ′

j by adding 0 and 1 in position j of eachvector from Yj−1, i.e., Y ′

j = Yj−1 ∪ {x + (0,0, . . . ,

xj = 1,0, . . . ,0) | x ∈ Yj−1}. Calculate the follow-ing for any x ∈ Y ′

j .

fj (x) = fj−1(x) + xj

(aj − bjgj−1(x)

)+ (1 − xj )(aj − bjD),

gj (x) = min{gj−1(x) + xj

(aj − bjgj−1(x)

),D

}.

If j = n, then set Yn = Y ′n, and go to Step 3.

If j < n, then set δ = ε/(2(n+ 1)), and perform thefollowing computations.Call Partition(Y ′

j , fj , δ) to partition set Y ′j into dis-

joint subsets Yf

1 , Yf

2 , . . . , Yfkf

.

Call Partition(Y ′j , gj , δ) to partition set Y ′

j into dis-

joint subsets Yg

1 , Yg

2 , . . . , Ygkg

.

Divide set Y ′j into disjoint subsets Yab = Y

fa ∩ Y

gb ,

a = 1,2, . . . , kf , b = 1,2, . . . , kg . For each non-empty subset Yab , choose a vector x(ab) such that

fj (x(ab)) = min

{fj (x) | x ∈ Yab

}.

Set Yj := {x(ab) | a = 1,2, . . . , kf , b = 1,2, . . . , kg ,

and Yfa ∩ Y

gb �= ∅}, and j = j + 1.

Repeat Step 2.Step 3. (Solution) Select vector x0 ∈ Yn such that

fn(x0) = min{fn(x) | x ∈ Yn}.

Let x∗ = (x∗1 , x∗

2 , . . . , x∗n) be an optimal solution for

the problem 1/pj = aj − bj min{sj ,D}/Cmax and L =log(max{n,1/ε, amax}), where amax = maxj=1,...,n{aj }.We show the main result of this section in the following.

44 M. Ji, T.C.E. Cheng / Information Processing Letters 102 (2007) 41–47

Theorem 1. When bj � aj /(2D) for all j , Algo-rithm Aε finds x0 ∈ X for the problem 1|pj = aj −bj min{sj ,D}|Cmax such that fn(x

0) � (1 + ε)fn(x∗)

in O(n3L3/ε2).

Proof. Suppose that (x∗1 , . . . , x∗

j ,0, . . . ,0) ∈ Yab ⊆ Y ′j

for some j and a, b. By the definition of Aε , such j

always exists, for instance, j = 1. Algorithm Aε maynot choose (x∗

1 , . . . , x∗j ,0, . . . ,0) for further construc-

tion; however, for a vector x(ab) chosen instead of it, wehave:∣∣fj (x

∗) − fj (x(ab))

∣∣ � δfj (x∗)

and∣∣gj (x∗) − gj

(x(ab)

)∣∣ � δgj (x∗),

due to Property 3. We consider vector (x∗1 , . . . , x∗

j , x∗j+1,

0, . . . ,0) and x̃(ab) = (x(ab)1 , . . . , x

(ab)j , x∗

j+1,0, . . . ,0).We have∣∣fj+1(x

∗) − fj+1(x̃(ab)

)∣∣= ∣∣[fj (x

∗) + x∗j+1

(aj+1 − bj+1gj (x

∗))

+ (1 − x∗j+1)(aj+1 − bj+1D)

]− [

fj (x(ab)) + x∗

j+1

(aj+1 − bj+1gj (x

(ab)))

+ (1 − x∗j+1)(aj+1 − bj+1D)

]∣∣�

∣∣fj (x∗) − fj (x

(ab))∣∣

+ x∗j+1bj+1

∣∣gj (x∗) − gj (x

(ab))∣∣

� δfj (x∗) + δx∗

j+1bj+1gj (x∗).

Since gj (x∗) � D and bk � ak/(2D) for all k, we ob-

tain bj+1gj (x∗) � aj+1 − bj+1gj (x

∗). Combining thiswith the above formula, and setting δ1 = δ, we have∣∣fj+1(x

∗) − fj+1(x̃(ab))

∣∣� δ

(fj (x

∗) + x∗j+1

(aj+1 − bj+1gj (x

∗)))

� δ1fj+1(x∗). (1)

Consequently,

fj+1(x̃(ab)) � (1 + δ1)fj+1(x

∗).

We now show that∣∣gj+1(x∗) − gj+1(x̃

(ab))∣∣ � δ1gj+1(x

∗). (2)

It is easy to verify (2) if

D � min{gj (x

∗) + x∗j+1

(aj+1 − bj+1gj (x

∗)),

gj (x(ab)) + x∗

j+1

(aj+1 − bj+1gj (x

(ab)))}

.

If

D � max{gj (x

∗) + x∗j+1

(aj+1 − bj+1gj (x

∗)),

gj (x(ab)) + x∗

j+1

(aj+1 − bj+1gj (x

(ab)))}

,

then∣∣gj+1(x∗) − gj+1(x̃

(ab))∣∣

= ∣∣[gj (x∗) + x∗

j+1

(aj+1 − bj+1gj (x

∗))]

− [gj (x

(ab)) + x∗j+1

(aj+1 − bj+1gj (x

(ab)))]∣∣

� x∗j+1(1 − bj+1)

∣∣gj (x∗) − gj (x

(ab))∣∣

� δx∗j+1(1 − bj+1)gj (x

∗) � δ1gj+1(x∗). (3)

So, (2) is satisfied. If (gj (x∗)+x∗

j+1(aj+1 −bj+1gj (x∗))

−D)∗(gj (x(ab))+x∗

j+1(aj+1 −bj+1gj (x(ab)))−D) �

0, then we have |gj+1(x∗) − gj+1(x̃

(ab))| � |[gj (x∗) +

x∗j+1(aj+1 − bj+1gj (x

∗))] − [gj (x(ab)) + x∗

j+1(aj+1 −bj+1gj (x

(ab)))]|. Thus, similar to (3), (2) is satisfied,too. Therefore (2) is always true, and (2) implies

gj+1(x̃(ab)) � (1 + δ1)gj+1(x

∗).

Assume that x̃(ab) ∈ Yde ⊆ Y ′j+1 and that Algo-

rithm Aε chooses x(de) ∈ Yde instead of x̃(ab) in the(j + 1)st iteration. We have∣∣fj+1(x̃

(ab)) − fj+1(x(de))

∣∣� δfj+1(x̃

(ab)) � δ(1 + δ1)fj+1(x∗),

and∣∣gj+1(x̃(ab)) − gj+1(x

(de))∣∣

� δgj+1(x̃(ab)

)� δ(1 + δ1)gj+1(x

∗). (4)

From (1) and (4), we obtain∣∣fj+1(x∗) − fj+1(x

(de))∣∣

�∣∣fj+1(x

∗) − fj+1(x̃(ab))

∣∣+ ∣∣fj+1(x̃

(ab)) − fj+1(x(de))

∣∣�

(δ1 + δ(1 + δ1)

)fj+1(x

∗)= (

δ + δ1(1 + δ))fj+1(x

∗). (5)

Similarly, we have∣∣gj+1(x∗) − gj+1(x

(de))∣∣ �

(δ + δ1(1 + δ)

)gj+1(x

∗).

Set δl = δ + δl−1(1 + δ), l = 2,3, . . . , n − j + 1. From(5), we obtain∣∣fj+1(x

∗) − fj+1(x(de))

∣∣ � δ2fj+1(x∗).

Repeating the above argument for j + 2, . . . , n, weshow that there exists x′ ∈ Yn such that∣∣fn(x

∗) − fn(x′)∣∣ � δn−j+1fn(x

∗).

M. Ji, T.C.E. Cheng / Information Processing Letters 102 (2007) 41–47 45

Since

δn−j+1 � δ

n∑j=0

(1 + δ)j

= (1 + δ)n+1 − 1

=n+1∑j=1

(n + 1)n · · · (n − j + 2)

j !(n + 1)j

2

)j

�n+1∑j=1

1

j !(

ε

2

)j

�n+1∑j=1

2

)j

� ε

n+1∑j=1

(1

2

)j

� ε.

Therefore, we have∣∣fn(x∗) − fn(x

′)∣∣ � εfn(x

∗).

Then in Step 3, vector x0 will be chosen such that

fn(x0) � fn(x

′) � (1 + ε)fn(x∗).

The time complexity of Algorithm Aε can be es-tablished by noting that the most time-consuming op-eration is iteration j in Step 2, i.e., a call of pro-cedure Partition, which requires O(|Y ′

j | log |Y ′j |) time

to complete. To estimate |Y ′j |, recall that |Y ′

j+1| �2|Yj | � 2kf kg . By Property 4, we have kf � 2(n+1)×log(namax)/ε + 2 � 2(n + 1)L/ε + 2, and the samefor kg . Thus, |Y ′

j | = O(n2L2/ε2), and |Y ′j | log |Y ′

j | =O(n2L3/ε2). Therefore, the time complexity of Algo-rithm Aε is O(n3L3/ε2). �3. An FPTAS for the problem with m identicalparallel machines

In this section we generalize the result to the casewith m identical parallel machines. We introduce vari-ables xj , j = 1,2,3,4, . . . ,2m − 1,2m, where xj =2k − 1 if job Jj is processed on machine k, k ∈ {1,2,

. . . ,m}, and its start time is less than D, xj = 2k if jobJj is processed on machine k, k ∈ {1,2, . . . ,m}, and itsstart time is no less than D. Let X be the set of all thevectors x = (x1, x2, . . . , xn) with xj = k, j = 1,2, . . . ,

n, k = 1,2, . . . ,2m. We define the following initial andrecursive functions on X:

f i0 (x) = 0, i = 1,2, . . . ,m,

gi0(x) = 0, i = 1,2, . . . ,m,

f kj (x) = f k

j−1(x) + (aj − bjg

kj−1(x)

),

if xj = 2k − 1,

f kj (x) = f k

j−1(x) + (aj − bjD),

if xj = 2k,

f ij (x) = f i

j−1(x),

if xj = 2k − 1 or xj = 2k, i �= k,

gkj (x) = min

{gk

j−1(x) + (aj − bjg

kj−1(x)

),D

},

if xj = 2k − 1,

gij (x) = gi

j−1(x),

if xj = 2k − 1 or xj = 2k, i �= k.

Thus, the problem Pm|pj = aj −bj min{sj ,D}|Cmaxreduces to the following problem:

Minimize Q(x) for x ∈ X,

where Q(x) = maxi=1,2,...,m

f in(x).

A formal description of the FPTAS Amε for the prob-

lem Pm|pj = aj − bj min{sj ,D}|Cmax is given below.

Algorithm Amε

Step 1. (Initialization) Number the jobs in nonincreas-ing order of aj /bj so that a1/b1 � a2/b2 � · · · �an/bn (Property 1). Set Y0 = {(0,0, . . . ,0)} andj = 1.

Step 2. (Generation of Y1, Y2, . . . , Yn) For set Yj−1,generate Y ′

j by adding k, k = 1,2, . . . ,2m, in po-sition j of each vector from Yj−1. Calculate thefollowing for any x ∈ Y ′

j , assuming xj = k.

f kj (x) = f k

j−1(x) + (aj − bjg

kj−1(x)

),

if xj = 2k − 1,

f kj (x) = f k

j−1(x) + (aj − bjD),

if xj = 2k,

f ij (x) = f i

j−1(x),

if xj = 2k − 1 or xj = 2k, i �= k,

gkj (x) = min

{gk

j−1(x) + (aj − bjgj−1k(x)

),D

},

if xj = 2k − 1,

gij (x) = gi

j−1(x),

if xj = 2k − 1 or xj = 2k, i �= k.

If j = n, then set Yn = Y ′n, and go to Step 3.

If j < n, then set δ = ε/(2(n+ 1)), and perform thefollowing computations.Call Partition(Y ′

j , fij , δ) (i = 1,2, . . . ,m) to parti-

tion set Y ′j into disjoint subsets Y

f i

1 , Yf i

2 , . . . , Yf i

kf i

.

Call Partition(Y ′j , g

ij , δ) (i = 1,2, . . . ,m) to parti-

tion set Y ′j into disjoint subsets Y

gi

1 , Ygi

2 , . . . , Ygi

kig

.

Divide set Y ′j into disjoint subsets Ya1···amb1···,bm =

Yf 1

a ∩ · · · ∩ Yf m

a ∩ Yg1 ∩ · · · ∩ Y

gm

g , a1 = 1,2, . . . ,

1 m b1 m

46 M. Ji, T.C.E. Cheng / Information Processing Letters 102 (2007) 41–47

kf 1; . . . ; am = 1,2, . . . , kf m ; b1 = 1,2, . . . , kg1; . . . ;bm = 1,2, . . . , kgm . For each nonempty subsetYa1···amb1···bm , choose a vector x(a1···amb1···bm) suchthat

maxi=1,2,...,m

f ij (x(a1···amb1···bm))

= min{

maxi=1,2,...,m

f ij (x) | x ∈ Ya1···amb1···bm

}.

Set Yj := {x(a1···amb1···bm) | a1 = 1,2, . . . , kf 1; . . . ;am = 1,2, . . . , kf m;b1 = 1,2, . . . , kg1; . . . ;bm =1,2, . . . , kgm; and Y

f 1

a1 ∩ · · · ∩ Yf m

am∩ Y

g1

b1∩ · · · ∩

Ygm

bm�= ∅}, and j = j + 1.

Repeat Step 2.Step 3. (Solution) Select vector x0 ∈ Yn such that

Q(x0) = min{Q(x) | x ∈ Yn

}= min

{max

i=1,2,...,mf i

n(x) | x ∈ Yn

}. �

Let x∗ = (x∗1 , x∗

2 , . . . , x∗n) be an optimal solution

for the problem Pm/pj = aj − bj min{sj ,D}/Cmax.Let L = log(max{n,1/ε, amax}), where amax =maxj=1,2,...,n{aj }. We have the following result.

Theorem 2. When bj � aj /(2D) for all j , Algo-rithm Am

ε finds x0 ∈ X for the problem Pm|pj = aj −bj min{sj ,D}|Cmax such that Q(x0) � (1 + ε)Q(x∗) inO(n2m+1L2m+1/ε2m).

Proof. Using an argument similar to that used to estab-lish Theorem 1, we can show that there exists x′ ∈ Yn

such that∣∣f in(x∗) − f i

n(x′)∣∣ � εf i

n(x∗), i = 1,2, . . . , n.

It implies∣∣∣ maxi=1,2,...,m

f in(x′) − max

i=1,2,...,mf i

n(x∗)∣∣∣

� ε maxi=1,2,...,m

f in(x∗).

Then, in Step 3, vector x0 will be chosen such that∣∣∣ maxi=1,2,...,m

f in(x0) − max

i=1,2,...,mf i

n(x∗)∣∣∣

�∣∣∣ maxi=1,2,...,m

f in(x′) − max

i=1,2,...,mf i

n(x∗)∣∣∣

� ε maxi=1,2,...,m

f in(x∗).

Therefore we have Q(x0) � (1 + ε)Q(x∗)Similar to Theorem 1, we can show that the com-

putational complexity of Algorithm Amε is O(n2m+1 ×

L2m+1/ε2m). �

4. Conclusions

This paper studied the scheduling problem in whichthe processing time of a job is a piecewise linearnonincreasing function of its start time to minimizemakespan. We first gave a fully polynomial-time ap-proximation scheme for the single-machine case, thengeneralized the result to the case with m machines,where m is fixed. Future research may focus on otherobjectives.

Acknowledgement

Cheng was supported in part by The Hong KongPolytechnic University under a grant from the Area ofStrategic Development in China Business Services.

References

[1] B. Alidaee, N.K. Womer, Scheduling with time dependentprocessing times: Review and extensions, Journal of OperationalResearch Society 50 (1999) 711–720.

[2] A. Bachman, A. Janiak, M.Y. Kovalyov, Minimizing the to-tal weighted completion time of deteriorating jobs, InformationProcessing Letters 81 (2002) 81–84.

[3] A. Bachman, T.C.E. Cheng, A. Janiak, C.T. Ng, Scheduling starttime dependent jobs to minimize the total weighted completiontime, Journal of the Operational Research Society 53 (2002)688–693.

[4] S. Brown, U. Yechiali, Scheduling deteriorating jobs on a singleprocess, Operations Research 38 (1990) 495–498.

[5] Z.L. Chen, A note on single-processor scheduling with time de-pendent execution times, Operations Research Letters 17 (1995)127–129.

[6] T.C.E. Cheng, Q. Ding, M.Y. Kovalyov, A. Bachman, A. Ja-niak, Scheduling jobs with piecewise linear decreasing process-ing times, Naval Research Logistics 50 (2003) 531–554.

[7] T.C.E. Cheng, Q. Ding, B.M.T. Lin, A concise survey of schedul-ing with time-dependent processing times, European Journal ofOperational Research 152 (2004) 1–13.

[8] R.L. Graham, E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan,Optimization and approximation in deterministic sequencing andscheduling: a survey, Annals of Discrete Mathematics 5 (1979)287–326.

[9] J.N.D. Gupta, S.K. Gupta, Single facility scheduling with nonlin-ear processing times, Computers and Industrial Engineering 14(1988) 387–393.

[10] K.I.J. Ho, J.Y.T. Leung, W.D. Wei, Complexity of schedulingtasks with time-dependent execution times, Information Process-ing Letters 48 (1993) 315–320.

[11] M. Ji, Y. He, T.C.E. Cheng, A simple linear time algorithmfor scheduling with step-improving processing times, Comput-ers and Operations Research, in press.

[12] M.Y. Kovalyov, W. Kubiak, A fully polynomial approximationscheme for minimizing makespan of deteriorating jobs, Journalof Heuristics 3 (1998) 287–297.

[13] M.Y. Kovalyov, W. Kubiak, A fully polynomial approximationscheme for the weighted earliness-tardiness problem, OperationsResearch 47 (1999) 757–761.

M. Ji, T.C.E. Cheng / Information Processing Letters 102 (2007) 41–47 47

[14] W. Kubiak, S.L. van de Velde, Scheduling deteriorating jobs tominimize makespan, Naval Research Logistics 45 (1998) 511–523.

[15] A.S. Kunnathur, S.K. Gupta, Minimizing the makespan withlate start penalties added to processing times in a single facil-ity scheduling problem, European Journal of Operational Re-search 47 (1990) 56–64.

[16] G. Mosheiov, V-shaped policies for scheduling deterioratingjobs, Operations Research 39 (1991) 979–991.

[17] C.T. Ng, T.C.E. Cheng, A. Bachman, A. Janiak, Three schedul-ing problems with deteriorating jobs to minimize the total com-pletion time, Information Processing Letters 81 (2002) 327–333.

[18] G.J. Woeginger, Scheduling with time-dependent executiontimes, Information Processing Letters 54 (1995) 155–156.