11
Scheduling jobs with values dependent on their completion times Adam Janiak , Tomasz Krysiak Institute of Computer Engineering, Control and Robotics, Wroc!aw University of Technology, Janiszewskiego 11/17, 50-372 Wroc!aw, Poland article info Article history: Received 18 May 2010 Accepted 24 July 2011 Available online 29 July 2011 Keywords: Scheduling Job value Computational complexity Heuristic abstract The paper concerns two scheduling problems with job values and losses of job values (costs) dependent on job completion times. In the first problem, we consider scheduling jobs with stepwise values in parallel processor environment. In the stepwise value, there is given a number of moments at which the job value decreases and between them the job value is constant (thus, the value deteriorates over time). The maximized criterion is the total job value. We prove strong NP-hardness of a single processor case of the problem and construct a pseudo-polynomial time algorithm for a special case with fixed number of unrelated parallel processors and fixed number of common moments of job value changes. Additionally, for uniform and unrelated parallel processors we construct and experimentally test several heuristic algorithms based on the list strategy. The second problem is a single processor one with piecewise linear losses of job values (the loss increases over time). The minimized criterion is the total loss of job value. We prove strong NP-hardness of the problem and existence of a pseudo- polynomial time exact algorithm for its special case. We also construct some heuristic algorithms for this problem and verify experimentally their efficiency. & 2011 Elsevier B.V. All rights reserved. 1. Introduction In this paper, we consider scheduling problems in which values of jobs depend on their completion times. In these problems, processing times of all jobs are fixed in advance and constant during the optimization process (as in most classical scheduling problemsGraham et al., 1979; Jackson, 1955; Lawler, 1977). However, the values of jobs deteriorate over time, similarly as processing times increase over time for deteriorating jobs (Bachman and Janiak, 2000; Kovalyov and Kubiak, 1998; Li et al., 2011; Mosheiov, 1994, 1995, 2002; Wang et al., 2010; Zhao and Tang, 2010) or job parameters, e.g., processing times, release dates, depend on some additional resources (Cheng and Kovalyov, 1995; Janiak and Li, 1994; Kovalyov and Shafransky, 1998; Ng et al., 2003). In our problems, a non-increasing function – describing the change of the values over time – is determined. For a given schedule, the job values are calculated at the job completion times. The aim is to find such a schedule that the total job value is maximized. A complementary problem can also be formulated, in which a non-decreasing function describing loss of job value is defined (it is equivalent to a cost) and the objective is minimization of the total loss of job values. It usually depends on a practical application, whether the problem with the total job value maximization or the problem with the total loss of job value minimization is considered. Only a few problems with different job value functions have been analyzed so far (Janiak and Krysiak, 2007; Janiak et al., 2009; Voutsinas and Pappis, 2002). The paper of Voutsinas and Pappis (2002) was the first one in which a scheduling problem with job values was formulated. The job values were described there by a non-increasing power function of time. The authors proved some polynomially solvable special cases, and constructed and tested heuristic algorithms solving the single processor problem. The research on the problems with power functions were continued by Janiak et al. (2009), for the job value given as a difference between an initial value and a non-decreasing power loss func- tion. The single processor version of the problem with this function was proved to be NP-hard and the parallel processor version was showed as strongly NP-hard. For the parallel proces- sor problem, a branch and bound algorithm and several heuristic algorithms were constructed and experimentally verified. The problems with another – stepwise – function were considered in Janiak and Krysiak (2007). For such a function, there is given a number of moments at which the job value decreases and between them the job value is constant. The problem was proved to be NP-hard in the ordinary sense for the case with a single moment of job value change for all the jobs. Some polynomially Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/ijpe Int. J. Production Economics 0925-5273/$ - see front matter & 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.ijpe.2011.07.014 Corresponding author. Tel.: þ48 71 320 21 07; fax: þ48 71 321 26 77. E-mail addresses: [email protected] (A. Janiak), [email protected] (T. Krysiak). Int. J. Production Economics 135 (2012) 231–241

Scheduling jobs with values dependent on their completion times

Embed Size (px)

Citation preview

Page 1: Scheduling jobs with values dependent on their completion times

Int. J. Production Economics 135 (2012) 231–241

Contents lists available at ScienceDirect

Int. J. Production Economics

0925-52

doi:10.1

� Corr

E-m

tomasz.

journal homepage: www.elsevier.com/locate/ijpe

Scheduling jobs with values dependent on their completion times

Adam Janiak �, Tomasz Krysiak

Institute of Computer Engineering, Control and Robotics, Wroc!aw University of Technology, Janiszewskiego 11/17, 50-372 Wroc!aw, Poland

a r t i c l e i n f o

Article history:

Received 18 May 2010

Accepted 24 July 2011Available online 29 July 2011

Keywords:

Scheduling

Job value

Computational complexity

Heuristic

73/$ - see front matter & 2011 Elsevier B.V. A

016/j.ijpe.2011.07.014

esponding author. Tel.: þ48 71 320 21 07; fa

ail addresses: [email protected] (A. Ja

[email protected] (T. Krysiak).

a b s t r a c t

The paper concerns two scheduling problems with job values and losses of job values (costs) dependent

on job completion times. In the first problem, we consider scheduling jobs with stepwise values in

parallel processor environment. In the stepwise value, there is given a number of moments at which the

job value decreases and between them the job value is constant (thus, the value deteriorates over time).

The maximized criterion is the total job value. We prove strong NP-hardness of a single processor case

of the problem and construct a pseudo-polynomial time algorithm for a special case with fixed number

of unrelated parallel processors and fixed number of common moments of job value changes.

Additionally, for uniform and unrelated parallel processors we construct and experimentally test

several heuristic algorithms based on the list strategy. The second problem is a single processor one

with piecewise linear losses of job values (the loss increases over time). The minimized criterion is the

total loss of job value. We prove strong NP-hardness of the problem and existence of a pseudo-

polynomial time exact algorithm for its special case. We also construct some heuristic algorithms for

this problem and verify experimentally their efficiency.

& 2011 Elsevier B.V. All rights reserved.

1. Introduction

In this paper, we consider scheduling problems in whichvalues of jobs depend on their completion times. In theseproblems, processing times of all jobs are fixed in advance andconstant during the optimization process (as in most classicalscheduling problems—Graham et al., 1979; Jackson, 1955; Lawler,1977). However, the values of jobs deteriorate over time, similarlyas processing times increase over time for deteriorating jobs(Bachman and Janiak, 2000; Kovalyov and Kubiak, 1998; Liet al., 2011; Mosheiov, 1994, 1995, 2002; Wang et al., 2010;Zhao and Tang, 2010) or job parameters, e.g., processing times,release dates, depend on some additional resources (Cheng andKovalyov, 1995; Janiak and Li, 1994; Kovalyov and Shafransky,1998; Ng et al., 2003).

In our problems, a non-increasing function – describing thechange of the values over time – is determined. For a givenschedule, the job values are calculated at the job completiontimes. The aim is to find such a schedule that the total job value ismaximized. A complementary problem can also be formulated, inwhich a non-decreasing function describing loss of job value

ll rights reserved.

x: þ48 71 321 26 77.

niak),

is defined (it is equivalent to a cost) and the objective isminimization of the total loss of job values. It usually dependson a practical application, whether the problem with the total jobvalue maximization or the problem with the total loss of job valueminimization is considered.

Only a few problems with different job value functions havebeen analyzed so far (Janiak and Krysiak, 2007; Janiak et al., 2009;Voutsinas and Pappis, 2002). The paper of Voutsinas and Pappis(2002) was the first one in which a scheduling problem with jobvalues was formulated. The job values were described there by anon-increasing power function of time. The authors proved somepolynomially solvable special cases, and constructed and testedheuristic algorithms solving the single processor problem. Theresearch on the problems with power functions were continuedby Janiak et al. (2009), for the job value given as a differencebetween an initial value and a non-decreasing power loss func-tion. The single processor version of the problem with thisfunction was proved to be NP-hard and the parallel processorversion was showed as strongly NP-hard. For the parallel proces-sor problem, a branch and bound algorithm and several heuristicalgorithms were constructed and experimentally verified. Theproblems with another – stepwise – function were considered inJaniak and Krysiak (2007). For such a function, there is given anumber of moments at which the job value decreases andbetween them the job value is constant. The problem was provedto be NP-hard in the ordinary sense for the case with a singlemoment of job value change for all the jobs. Some polynomially

Page 2: Scheduling jobs with values dependent on their completion times

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241232

solvable cases of this problem were also proved there, and apseudo-polynomial time algorithm was constructed for the casewith common moments of job value changes. Moreover, someheuristic algorithms were constructed and experimentallycompared for the problem with general stepwise function(i.e., with an arbitrary number of different moments of job valuechanges). Finally, the pseudo-polynomial time algorithm men-tioned above was extended to solve the case with identicalparallel processors.

Since the loss of job value is equivalent to the cost, thus theproblems of the total loss minimization are equivalent to theproblems of the total cost minimization. Rinnooy Kan et al. (1975)is one of the first papers in this area. A branch and boundalgorithm was constructed for a single processor case and generalcost functions (i.e., the cost functions are not determined). It wasalso proved that the problem with uniform processors, unit-timejobs and the general cost functions is polynomially solvable(Lawler et al., 1993). Among more recent papers consideringminimization of the total cost there are e.g. Chretienne andSourd (2003) and Sourd (2005), where some polynomial andpseudo-polynomial time algorithms were constructed for caseswith some additional assumptions (e.g., the precedence con-straints between jobs, convex cost functions, idle time penalties).As an example, the problems with determined cost functions(tardiness and earliness-tardiness) were solved by the con-structed algorithms. In Inderfurth et al. (2007), Shabtay (2010)and Wang and Cheng (2009) cost minimization in interestingbatch scheduling problems was considered.

Another interesting new research direction is concatenation ofthe increasing processing times and deteriorating values (orincreasing costs)—see e.g., Inderfurth et al. (2005), Pappis andRachaniotis (2010a,b) and Rachaniotis and Pappis (2006).

In this paper, we analyze two scheduling problems which arethe extensions of the problem considered in our previous paper(Janiak and Krysiak, 2007). Some practical situations, whichmotivate to undertake research in this field, are described inSection 2. In the first of the mentioned problems, the job valuefunction is the same as in Janiak and Krysiak (2007), i.e., thestepwise one (the detailed formulation of the problem is given inSection 3.1). We prove (in Section 3.2) the strong NP-hardness ofthe single processor problem with an arbitrary number ofmoments of job value changes common for all the jobs (theprevious result was ordinary NP-hardness for a single moment).We also construct (see Section 3.3) a pseudo-polynomial timealgorithm for the case with fixed number of unrelated parallel

processors and fixed number of moments of job value changescommon for all the jobs (previously, such algorithms wereconstructed for the single- and the identical parallel processors).Finally, we construct a number of heuristic algorithms for theproblems with arbitrary number of uniform and unrelated parallelprocessors (and the general stepwise job value function) — seeSection 3.4. The computational experiments, for uniform andunrelated processors respectively, are given in Sections 3.5 and3.6. In the second problem (formulated in Section 4.1), weconsider an extension of the stepwise function, i.e., a piecewiselinear function of loss of job value. In this function, there are givenmoments, between which the job loss is non-decreasing linear,and at these moments the speed of increasing of the job loss isjust changed. In Section 4.2 we prove strong NP-hardness of thesingle processor problem and existence of a pseudo-polynomialtime algorithm for a special case. We also construct someheuristic algorithms (see Section 4.3).

Notice that in this paper we consider the job value (or cost)functions that – to the best of our knowledge – have never beenanalyzed by other authors. The tardiness function (mentionedabove, considered e.g. in Jackson, 1955; Lenstra et al., 1977;

Lawler, 1977; Kovalyov and Werner, 2002) is similar, but notthe same. More precisely, in the tardiness function there is onlyone due date and in our functions we have in general arbitrarynumber of due dates. In fact, in our paper we use the resultsobtained for the problems with the total tardiness minimization,however our main goal is to derive the results which arededicated exactly to the considered functions.

2. Practical applications of the problems

The problem with stepwise job values occurs in the process ofestablishing an order of processing of the datagrams to be sent bya router in Internet Protocol (IP). In this process, the ToS (Type ofService) and TTL (Time To Live) fields of the IP datagrams are usedto improve the efficiency of processing of the datagrams by therouter. Now, we describe this issue more precisely. One ofthe tasks of the router is to determine a path, through whichthe datagrams are to be sent further. The router processes thedatagrams according to the rules of IP protocol. IP is a part of astack of protocols called TCP/IP—see Siyan and Parker (2002) andSportack and Northrup (1998), (TCP/IP is the most popular stackof protocols, on the basis of which Internet works). Each IPdatagram consists of a header and a data part. The header consistsof specific fields, such as (to mention a few): IP addresses of asource and a destination computer, Total Length of the datagram,Type of Service (ToS) and Time To Live (TTL). The last two fieldscan be used to improve the processing of the datagrams in therouter, since originally the router processes the datagrams inorder in which they come to its input buffer, i.e. in a randomorder. However, if we modify the sequence of datagrams, more ofthem could reach their destinations or more important datagramswould be served earlier. It can be achieved in the following way.ToS includes some information about priority of the datagram andrequests for: minimal delay, maximum throughput, maximumreliability, and minimal cost. This information can be utilized byrouters to handle datagrams during transport. On the other hand,TTL determines, in seconds, how long the datagram can exist in anetwork. A value of TTL is set by a sender for each datagram and itis decreased in each router through which datagram passes,proportionally to the time spent by the datagram in this router(the datagram that comes to the router is placed in its inputbuffer, where it waits for processing; after processing it is placedin an output buffer). However, according to the definition of the IPprotocol, the TTL value has to be decreased in each passed routerby at least 1 unit (even if the time of handling is shorter than 1 s).If the datagram does not achieve its destination while its TTLvalue is equal to 0, it is abandoned and the sender receives anerror message. It prevents the circulation of the datagrams in anetwork ad infinitum if they cannot achieve their destinations. Inthe scheduling model (analyzed in Janiak and Krysiak, 2007), theprocessing of the datagram by the router can be seen as a job andthe router is a single processor. Decreasing TTL value during theprocessing of the datagram by the router can be modeled by anon-increasing stepwise function. The problem is to find such asequence of datagrams in the router that the sum of TTL values ofthese datagrams (obtained after their processing) is maximal. Thesituation with multi-processor router can be modeled by theproblem with identical parallel processors. However, only TTLvalue is taken into consideration in the above model (ToS ispassed over). Cisco Systems (2010) propose to utilize ToS in sucha way that they construct in their routers a few input buffers andincoming datagram is put to a buffer according to its priority(included in ToS). The buffers are served with different frequen-cies – the one with high priority is served more frequently thanthe one with low priority. Such a system, in fact, can be seen as a

Page 3: Scheduling jobs with values dependent on their completion times

Table 1An example of height of loan interest dependent on the length of repayment

period of the loan (source: an offer of one of the banks in Poland).

Length of repayment period in months Height of loan interest (%)

Up to 3 14.0

From 4 to 6 14.0

From 6 to 9 14.5

From 10 to 12 15.5

From 13 to 18 15.5

From 19 to 24 15.5

From 25 to 36 16.0

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241 233

system of uniform parallel processors (i.e., the processors withdifferent speeds). Taking into account the TTL values, we canmodel this situation as a problem of scheduling jobs withstepwise values on parallel uniform processors.

The problem of scheduling jobs with stepwise values onunrelated parallel processors (in which different processing timesare given for different processors for the same job) occurs, e.g., inthe process of production and distribution of products with shortsell-by dates. Namely, we can notice that producers and sellers ofsuch products usually decrease their prices one or several timesas the sell-by date approaches. Thus, such prices can be modeledby the stepwise function. Obviously, the producers or the sellerswant to maximize their profits and it can be done, e.g., byestablishing a proper order of production or distribution of theproducts. Consider for instance an orchard with different kinds offruits. Assume that the number of workers is insufficient to gatherthe fruits in due time, when they have the highest price (after thatthey are too ripe and their price decreases). Assume also thatworkers, due to different skills or different equipments, havedifferent efficiencies in gathering different kinds of fruits, e.g., oneworker is more efficient in gathering big fruits (like apples, pears),other in gathering small fruits (cherries, berries, etc.), and anotheris generally efficient (gathers fast all fruits). Thus, there is a needto establish such an order of gathering fruits by workers withdifferent efficiencies that the total profit of the sold fruits ismaximal.

The problem with piecewise linear losses of job values appearsin practice in financial management when one wants to payseveral diverse loans with variable interest rates. In such asituation, it is assumed that the length of repayment period foreach loan is determined during signing of an agreement, and theheight of interest depends on the mentioned length of repaymentperiod. For example, when we repay a loan 6 months we have topay 14% of interest and when we repay this loan within morethan 6 months we have to pay 14.5% – see Table 1.

Thus, an amount of money, which one has to spend in order torepay each loan, increases with the length of loan repaymentperiod. The increase of the amount of money for each loan can bedescribed by a non-decreasing piecewise linear function of time.Suppose that, due to limited financial resources or some regula-tions, one is able to pay only one loan at a time. Thus, the problemis to find such an order of paying all the loans that the totalamount of money spent to repay these loans is minimal.

3. Stepwise job value

3.1. Problem formulation

There are given a set M¼ fM1, . . . ,Mmg of m unrelated parallelprocessors and a set J¼ fJ1, . . . ,Jng of n independent and non-

preemptive jobs, immediately available for processing at time 0.Each processor MiAM can execute at most one job at a time. Eachjob JjA J is characterized by the following parameters: m proces-sing times pij, i¼ 1, . . . ,m (for each Mi), the value vj(t) dependenton time t and the moments djq, q¼ 1, . . . ,k�1 at which changes ofjob value occur. The job value is given by a non-increasingstepwise function defined as follows

vjðtÞ ¼

wj1, 0otrdj1,

wj2, dj1otrdj2,

^

wjk, djk�1ot,

8>>>><>>>>:

ð1Þ

where wj1Zwj2Z � � �Zwjk40, jA J. Assume that pij and djq arepositive integers.

The solution of the problem is represented by a set ofpermutations P¼ fp1, . . . ,pi, . . . ,pmg, where pi is a sequence ofjobs executed by processor Mi. Let ni denote a number of jobsprocessed on Mi (then

Pmi ¼ 1 ni ¼ n). The objective is to find such a

solution P, for which the sum of job values, calculated at theircompletion times CpiðjÞ (if a job is processed on the jth position ofpi), is maximal, i.e.,

Xm

i ¼ 1

Xni

j ¼ 1

vpiðjÞðCpiðjÞÞ-max:

Notice that the objective function is regular. Thus, there is noidle time on processors between jobs and the job completion timeis equal to CpiðjÞ ¼ Cpiðj�1Þ þpipiðjÞ ¼

Pjq ¼ 1 pipiðqÞ.

Let us denote model (1) by vj step. Then, according to thenotation a9b9g for scheduling problems (Graham et al., 1979), ourproblem is represented by R9vj step9

PvjðCjÞ.

3.2. Computational complexity

In this section, we prove that our problem is strongly NP-hard,even for the single processor case with an arbitrary number ofmoments of job value changes, common for all jobs (this case canbe denoted by 19vj step,djq ¼ dq9

PvjðCjÞ).

Theorem 1. The problem 19vj step,djq ¼ dq9P

vjðCjÞ is strongly

NP-hard.

Proof. In the proof we will use the weighted tardiness problem1JP

wjTj which is strongly NP-hard (Lawler, 1977; Lenstra et al.,1977), and its decision version can be formulated as follows.

There are given n jobs with processing times pj, weights wj and

due dates dj. The tardiness of job j, j¼ 1, . . . ,n, for a given

sequence is defined by Tj ¼ max f0,Cj�djg, where Cj is the job

completion time. Does there exist such a sequence of jobs on a

single processor that the total weighted tardiness is less or equal

to a given y?

We assume that the parameters n, pj, wj, dj, y are positive

integers.

Given an instance of 1JP

wjTj, construct the instance of the

decision version of the problem 19vj step,djq ¼ dq9P

vjðCjÞ as

follows:

n¼ n, wjq ¼W , q¼ 1, . . . ,dj,

k¼Xn

j ¼ 1

pj, wjq ¼wjq�1�wj, q¼ djþ1, . . . ,k,

Page 4: Scheduling jobs with values dependent on their completion times

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241234

pj ¼ pj, j¼ 1, . . . ,n, y¼ n �W�y,

dq ¼ q, q¼ 1, . . . ,k�1 where W ¼ max1r jr n

Xn

q ¼ 1

pq � wj

( ):

It is obvious that the above reduction is pseudopolynomial.

Now we show that 19vj step,djq ¼ dq9P

vjðCjÞ has a solution (i.e.,Pnj ¼ 1 vjðCjÞZy) if and only if there exists a solution to 1J

PwjTj.

‘‘Only if’’. Assume that 1JP

wjTj has a solution given by a

permutation p¼ fpð1Þ, . . . ,pðnÞg. It means thatPn

j ¼ 1 wpðjÞTpðjÞry. The jobs in the problem 19vj step,djq ¼ dq9

PvjðCjÞ are executed

in the same order as for 1JP

wjTj. Thus, since pj ¼ pj, the job

completion times are the same for both problems. Therefore,

based on the reduction, the job value for the problem

19vj step,djq ¼ dq9P

vjðCjÞ can be calculated as follows:

vpðjÞðCpðjÞÞ ¼W�wpðjÞ �maxf0,CpðjÞ�dpðjÞg. It follows from the above

thatPn

j ¼ 1 vpðjÞðCpðjÞÞ ¼ n �W�Pn

j ¼ 1 wpðjÞTpðjÞZy.

‘‘If’’. Assume now that 1JP

wjTj has no solution. It means thatPnj ¼ 1 wpðjÞTpðjÞ4 y. Thus,

Pnj ¼ 1 vpðjÞðCpðjÞÞ ¼ nW�

Pnj ¼ 1 wpðjÞTpðjÞo

y and the problem 19vj step,djq ¼ dq9P

vjðCjÞ has no solution.

Thus, it is shown that the problem 19vj step,djq ¼ dq9P

vjðCjÞ is

strongly NP-hard, since it has a solution if and only if 1JP

wjTj

has also one. &

3.3. Pseudo-polynomial time algorithm

In this section, we present a pseudo-polynomial time algo-rithm to solve the problem with a given constant number ofprocessors, m, and a constant (fixed) number of moments of jobvalue changes, k, common for all the jobs. Formally, this problemis described as Rm9vj step,djq ¼ dq,k fixed9

PvjðCjÞ. The mentioned

algorithm is a generalization of the pseudo-polynomial timealgorithm solving the corresponding problem with identical par-allel processors (Janiak and Krysiak, 2007). We use the well-known dynamic programming technique to construct this algo-rithm (for other latest examples of dynamic programming-basedalgorithms see e.g., Mafakheri et al., 2011; Shabtay, 2010).

In our algorithm, the jobs can be considered in an arbitraryorder, e.g., 1,2, . . . ,n. We shall consider mk disjunctive sets of jobs

X11 , . . . ,X1

k , . . . ,X21 , . . . ,X2

k , . . . ,Xm1 , . . . ,Xm

k ,

where jobs of the sets Xi1, . . . ,Xi

k are scheduled on processor Mi,i¼1,y,m, such that jobs of Xi

q�1 are processed before the jobs ofXq

i , and jobs of Xqi are completed before dq, q¼1,y,k (dk ¼1). All

the sets are empty at the beginning and we shall assign jobs tothese sets assuming that job jAXi

q contributes wjq to the objectivefunction. Since wj1Z � � �Zwjk, if jAXi

q and Cjrdq�1, then job j

contributes wjq�1Zwjq to the objective function. Therefore, wewill not omit an optimal schedule if we do not check if job jAXi

q

completes before dq�1.For partial schedules, consisting of jobs 1, . . . ,j, we can define

function

WjðP11 , . . . ,P1

k�1,P21 , . . . ,P2

k�1, . . . ,Pm1 , . . . ,Pm

k�1Þ,

as the maximum sum of job values, where Pqi denotes sum of

processing times of jobs assigned to the set Xqi , i¼1,y,m and

q¼ 1, . . . ,k�1. Notice that if any job is assigned to the last set ofany processor (i.e., to one of the kth sets Xk

i , i¼1,y,m), then thereis no difference in the criterion value, to which processor this jobwill be assigned exactly. Thus, the values of Pk

i , i¼1,y,m (i.e., forq¼k), are not important. Denote Ti

j ¼Pj

l ¼ 1 pil, iAM, jA J.Consider a partial schedule in the state ðj,P1

1 , . . . ,P1k�1,P2

1 ,. . . ,P2

k�1, . . . ,Pm1 , . . . ,Pm

k�1Þ and the corresponding functional value

WjðP11 , . . . ,P1

k�1,P21 , . . . ,P2

k�1, . . . ,Pm1 , . . . ,Pm

k�1Þ: If we have assignedjob j to the set Xq

i , then the value of Pqi has been increased by pij

and the functional value Wj�1ðP11 , . . . ,Pi

1, . . . ,Piq�pij, . . . ,P

ik�1,

. . . ,Pmk�1Þ has been increased by wjq, up to WjðP

11 , . . . ,Pi

1, . . . ,Piq,

. . . ,Pik�1, . . . ,Pm

k�1Þ. Furthermore, if the set of state variablesðj,P1

1 , . . . ,Pmk�1Þ corresponds to a partial schedule that can be

extended to an optimal schedule, then inequalities

Xq

l ¼ 1

Pil rdq, q¼ 1, . . . ,k�1; i¼ 1, . . . ,m,

must be satisfied. These inequalities can be used to eliminatenon-perspective states.

For j¼1,y,n, we can calculate recursively the valueWjðP

11 , . . . ,Pm

k�1Þ for all possible values of Pqi , i¼1,y,m and

q¼ 1, . . . ,k�1, and obtain the optimal criterion value:

Wn ¼ max1r q r k�1

1 r i r m

WnðP11 , . . . ,Pm

k�1ÞXq

l ¼ 1

Pil rdq,Pi

q ¼ 0,1, . . . ,minfTin,dqg

�����( )

:

A formal description of the pseudo-polynomial time algorithm(PPolynRm) for solving the problem Rm9vj step,djq ¼ dq,k fixed9P

vjðCjÞ is given as follows.

Algorithm PPolynRm.

Step 1:

Set Xiq ¼ | for q¼ 1, . . . ,k; i¼ 1, . . . ,m and

WjðP11 , . . . ,Pm

k�1Þ :¼0, if ðj,P1

1 , . . . ,Pmk�1Þ ¼ ð0,0, . . . ,0Þ,

�1, otherwise,

(

for j¼ 0,1, . . . ,n and Piq ¼ 0,1, . . . ,minfTi

n,dqg; i¼1,y,m;q¼ 1, . . . ,k�1.Then set j :¼ 1.

Step 2:

For each Piq ¼ 0,1, . . . ,minfTi

j ,dqg; i¼ 1, . . . ,m; q¼ 1, . . . ,k�1, calculate:

WjðP11 , . . . ,Pi

1,Pi2, . . . ,Pi

k�1, . . . ,Pmk�1Þ

¼

max1r irm

Wj�1ðP11 , . . . ,Pi

1�pij, . . . ,Pmk�1Þþwj1,

Wj�1ðP11 , . . . ,Pi

2�pij, . . . ,Pmk�1Þþwj2,

^

Wj�1ðP11 , . . . ,Pi

k�1�pij, . . . ,Pmk�1Þþwjk�1,

Wj�1ðP11 , . . . ,Pi

1,Pi2, . . . ,Pi

k�1, . . . ,Pmk�1Þþwjk,

8>>>>>>><>>>>>>>:

9>>>>>>>=>>>>>>>;

,

ifXq

l ¼ 1

Pil rdq, q¼ 1, . . . ,k�1, i¼ 1, . . . ,m,

�1,otherwise:

8>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>:

If the above maximum is reached for component (q,i),then job j is assigned to the set Xq

i , qAf1, . . . ,kg,iAf1, . . . ,mg.If j¼n, then go to Step 3, otherwise set j :¼ jþ1 andrepeat Step 2.

Step 3:

Calculate the optimal criterion value:

Wn ¼ max1 r q r k�1

1 r i r m

WnðP11 , . . . ,Pm

k�1ÞXq

l ¼ 1

Pil rdq,Pi

q ¼ 0,1, . . . ,minfTin,dqg

�����( )

and find the corresponding optimal solutionPn¼ fpn

1, . . . ,pnmg by backtracking. In the sequence pn

i

(i.e., the sequence of jobs assigned to the processor Mi,i¼ 1, . . . ,m), jobs in each of the sets Xi

1, . . . ,Xik are pro-

cessed in an arbitrary order and jobs of the set Xiq�1

precede jobs of the set Xqi , q¼1,y,k.

Property 1. The problem Rm9vj step,djq ¼ dq,k fixed9P

vjðCjÞ can be

solved optimally in pseudo-polynomial time OðnkmPmi ¼ 1 Pk�1

q ¼ 1minfTi

n,dqgÞ by the algorithm PPolynRm, where Tin ¼

Pnj ¼ 1 pij.

Page 5: Scheduling jobs with values dependent on their completion times

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241 235

Proof. First, we prove optimality of our algorithm. Consider apartial optimal schedule corresponding to some state ðj,P1

1 , . . . ,Pm

k�1Þ, jAf0,1, . . . ,n�1g. Our algorithm can select a different partialschedule – with the maximum objective function value – forfurther expansion. This selected partial schedule can be extendedby jobs jþ1, . . . ,n in the same way as the partial optimal schedule,thus leading to the same final state ðn,P1n

1 , . . . ,Pmn

k�1Þ with non-worse functional value. Assume that in the schedule constructedby our algorithm, a job jAXi

q completes before or at dq�1. In thiscase, there must exist the final state ðn,P1n

1 , . . . ,Pinq�1þpij,

Pinq �pij, . . . ,P

mn

k�1Þ with greater functional value, which is impossi-ble. Therefore, our assumption is incorrect and each job from theset Xq

i completes in the interval ðdq�1,dq�, q¼1,y,k, in theschedule constructed by our algorithm.

Let us calculate the computational complexity of the algorithm

PPolynRm. It is determined by Step 2. Since there are n jobs, Step 2 is

repeated n times. Since we have minfTin,dqg different values of Pq

i for

q¼ 1, . . . ,k�1 and i¼1,y,m, in each iteration of Step 2,

Pmi ¼ 1P

k�1q ¼ 1minfTi

n,dqg different values of WjðP11 , . . . ,Pm

k�1Þ are calcu-

lated. Each of them can be obtained in OðkmÞ time. Therefore, Step

2 requires OðnkmPmi ¼ 1P

k�1q ¼ 1minfTi

n,dqgÞ time and it is the overall

computational complexity of the algorithm PPolynRm. &

Consider now the corresponding problem with uniform pro-cessors. In this problem, a speed si is defined for each processor Mi,i¼1,y,m, and the job processing times pij are not given explicitly(like for unrelated processors), but they are calculated as followspij ¼ pj=si, where pj is some basic processing time of job Jj. Noticethat the algorithm PPolynRm can be used directly to solve thisproblem in pseudopolynomial time, but only if the processingtimes pij are integers for each i and j (i.e., if the basic processingtimes pj are integer multiples of the speeds si) or the processingtimes pij are real numbers but with a finite precision (then allnumbers can be rescaled to integers).

3.4. Heuristic algorithms

Since the dynamic programming type algorithm, presented inthe previous section, cannot solve the cases of the problem withdifferent moments dj1, . . . ,djk�1 and the problem under considera-tion is strongly NP-hard in general, thus, some fast heuristicalgorithms are proposed to solve it.

All the constructed heuristic algorithms are based on the liststrategy. Therefore, they can be entirely described by giving thefollowing three rules: (1) the way of constructing an input list ofjobs, (2) the method of assigning the jobs from the input list tothe processors, (3) establishing the final sequences of the jobs onthe processors. The results obtained for the single processor caseof the problem (Janiak and Krysiak, 2007) were used duringconstructing the rules mentioned above. Hence, sequencing jobsin non-increasing order of wj1 (L1), non-decreasing order of pj

(L2) and non-decreasing order of pj=wj1 (L3) are analyzed as threedifferent rules of constructing the input lists. The parameter pj isan average processing time of job Jj (i.e., pj ¼

Pmi ¼ 1 pij=m for

j¼1,y,n). Next, the jobs are assigned to the processors accordingto one of the following two rules: P1 – assign the current job tothe earliest available processor, and P2 – among all processorsselect the ones, on which the value of the current job is maximal,and assign this current job to the latest available processor (fromamong the selected ones). In order to establish the sequence ofjobs on each processor, we use algorithm RMmdf (rule S1) oralgorithm RkMmdf (rule S2) or the sequences are left unchangedafter the second stage (rule S0). The mentioned RMmdf and RkMmdf

algorithms are adaptations of the algorithms Mmdf and kMmdf

respectively, which solve the single processor problem (Janiak

and Krysiak, 2007). Both algorithms modify a sequence pi of jobsprocessed on a given processor Mi, creating a new sequence p0i.

Algorithm RMmdf.

Input:

sequence pi. Output: sequence p0i ¼ p

1pa, wherep1 – subsequence of jobs Jj completed before their dj1,pa – subsequence of jobs Jj completed after their dj1.

Step 1.

Find job jnApi with the minimal djn1 and move it frompi to the end of p1. If

PjAp1 pij4djn1, then find job

knAp1 that satisfies pikn=wkn1 ¼maxjAp1 ðpij=wj1Þ andmove it from p1 to the end of pa.

Step 2.

Repeat Step 1 until there are no jobs in pi.

The main part of the next algorithm, RkMmdf, is a loop, which isexecuted k�1 times, i.e., the number of job value changes. In eachiteration q of this loop, a subsequence pq is created, in which jobsare scheduled (using RMmdf algorithm) before their moments djq.The final permutation is obtained by p0i ¼ p

1p2 . . .pq . . .pk�1pd

(where pd is subsequence of the jobs that have not been assignedto any previous subsequence and they are completed after theirdjk�1).

Algorithm RkMmdf.

Input:

sequence pi. Output: sequence p0i. Step 1. Set p0i :¼ |, pq :¼ |, q¼ 1, . . . ,k�1, pd :¼ |, and q :¼ 1. Step 2. Find job jnApi with the minimal djnq and move it from pi

to the end of pq. IfP

jAp0ipijþ

PjApq pij4djnq, then find job

knApq that satisfies pikn=wknq ¼maxjApq ðpij=wjqÞ andmove it from pq to the end of pd.

Step 3.

If pi ¼ |, then go to Step 4, otherwise repeat Step 2. Step 4. If pd ¼ | or q¼ k�1 then set p0i ¼ p

1p2 . . .pq . . .pk�1pd

and STOP, otherwise set pi :¼ pd, pd :¼ |, q :¼ qþ1 andgo to Step 2.

Observe that RMmdf uses only the first moment of job valuechange dj1, ignoring dj2, . . . ,djk�1, and RkMmdf uses all themoments dj1,dj2, . . . ,djk�1. Computational complexity of the rulesL1–L3 and S1 is Oðn log nÞ, of the rules P1 and P2 is Oðn log mÞ, andof S2 is Oðk � n log nÞ.

Formally, the analyzed algorithms can be described as follows.

Algorithm Li Pj Sk.

Step 1.

Construct an initial list of jobs L by sequencing jobsaccording to the rule Li.

Step 2.

Take jobs in sequence from list L and assign them to theprocessors, according to the rule Pj.

Step 3.

Establish the sequence of jobs on each processor Mi,i¼1,y,m, according to the rule Sk.

In such a way we obtain 18 different heuristic algorithms withcomputational complexity Oðn log nÞ or Oðk � n log nÞ, which canbe described by selecting only the rules Li, Pj, and Sk,iAf1,2,3g, jAf1,2g, kAf0,1,2g.

3.5. Computational experiment for unrelated processors

The efficiency of the presented algorithms has been verifiedexperimentally for the problem R9vj step9

PvjðCjÞ.

The following experiments have been made on a computerwith Athlon 64 3000þ , 1.5 GB RAM and Windows XP. For n¼10,

Page 6: Scheduling jobs with values dependent on their completion times

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241236

50, 100 and 500 jobs and for m¼2, 4, 10 and 25 processors, theproblem parameters were randomly generated according to theuniform distribution from the different intervals grouped intothree sets:

Set 1

(with small values wjq):pijAð0,90Þ, wj1A½1,10Þ, kA½1,10Þ, djqA½djq�1þ100,djq�1þ

200Þ;

Set 2 (with large values wjq):

pijAð0,90Þ, wj1A½1,100Þ, kA½1,10Þ, djqA½djq�1þ100,djq�1þ

200Þ;

Set 3 (with large processing times pij and large values wjq):

pijAð0,160Þ, wj1A½1,100Þ, kA½1,10Þ, djqA½djq�1þ100,djq�1þ

200Þ;

for i¼1,y,m, j¼1,y,n and q¼ 1, . . . ,k�1. The values of wjq forq¼2,y,k were randomly generated from the intervals ð0,wjq�1Þ.

Table 2Average ratios rA½%� of the heuristic algorithms for the unrelated processo

n m L1P2S0 L2P2S0 L3P2S0 L1P2S1 L2P2S1

Set 1: pij Að0,90Þ, wj1 A ½1,10Þ, kA ½1,10Þ, djq A ½djq�1þ100,djq�1þ200Þ

10 2 9.21 19.59 3.79 6.47 7.30

50 36.02 22.54 7.30 18.88 9.80

100 59.33 27.37 12.78 12.25 12.35

500 219.25 105.86 59.08 31.35 32.08

10 4 0.00 0.00 0.00 0.00 0.0050 4.56 7.68 0.84 0.73 1.87

100 21.37 31.25 16.51 8.03 11.84

500 92.21 90.78 46.36 19.36 20.00

50 10 0.15 2.28 0.01 0.15 1.06

100 5.97 10.58 5.57 6.05 1.19

500 32.75 50.20 26.61 7.06 8.46

50 25 0.00 0.00 0.00 0.00 0.00100 0.00 0.00 0.00 0.00 0.00500 7.93 25.37 6.42 2.64 0.89

Average 32.70 25.42 11.39 7.31 6.93

Set 2: pij Að0,90Þ, wj1 A ½1,100Þ, kA ½1,10Þ, djq A ½djq�1þ100,djq�1þ200Þ

10 2 6.62 5.65 6.29 7.59 2.84

50 27.25 26.54 12.80 11.53 15.17

100 67.83 52.08 30.87 12.55 17.19

500 216.06 90.14 55.75 22.94 20.70

10 4 0.00 0.00 0.00 0.00 0.0050 8.01 10.58 11.25 3.59 0.71

100 16.37 22.41 7.29 6.32 9.86

500 56.42 53.64 27.96 12.41 13.42

50 10 0.00 1.69 0.01 0.01 0.99

100 1.52 14.16 2.11 3.75 2.09

500 34.05 64.31 25.13 6.39 9.03

50 25 0.43 0.43 0.43 0.43 0.43

100 0.00 0.00 0.00 0.00 0.00500 7.27 24.62 6.75 2.98 0.89

Average 31.56 26.16 13.33 6.46 6.67

Set 3: pij Að0,160Þ, wj1 A ½1,100Þ, kA ½1,10Þ, djq A ½djq�1þ100,djq�1þ200Þ

10 2 21.27 38.02 7.39 10.90 12.30

50 46.96 31.87 11.83 19.51 8.48

100 129.14 59.86 25.25 23.24 15.18

500 229.86 113.50 92.81 33.10 25.91

10 4 0.21 10.50 2.23 0.21 12.52

50 17.45 21.05 12.13 4.24 5.66

100 50.36 52.13 18.02 10.72 10.75

500 87.70 86.06 51.19 19.02 18.03

50 10 0.68 12.26 0.97 5.32 2.66

100 4.86 24.50 10.07 2.24 10.01

500 55.92 67.10 45.49 10.55 13.72

50 25 0.00 0.00 0.00 0.00 0.00100 0.03 0.10 0.08 0.14 0.40

500 10.29 31.75 9.53 2.01 3.87

Average 46.77 39.19 20.50 10.08 9.96

Total average 37.01 30.26 15.07 7.95 7.85

For each algorithm A, the following performance ratio wascalculated for each instance:

rA ¼FBEST

FA�1

� �� 100%, ð2Þ

where FA is a criterion value provided by algorithm A and FBEST isthe best known criterion value (optimal for n¼10 obtained byexplicit enumeration).

Since some of the 18 algorithms presented in the previoussection provided always the worst results in the performed tests,hence we show – in order to keep the presentation clear – onlythe results of 12 algorithms which provided the best results.These results are presented in Table 2, where each entry is anaverage performance ratio (2) of a given algorithm from 100random instances of given n, m, and the set of job parameters.Moreover, below the results for each set, the average performance

rs.

L3P2S1 L1P1S2 L2P1S2 L3P1S2 L1P2S2 L2P2S2 L3P2S2

3.85 9.00 13.91 10.23 6.30 5.08 3.6914.86 11.63 15.38 19.75 3.61 0.03 2.19

12.45 7.81 16.63 13.57 0.92 3.06 2.47

19.08 11.39 6.26 12.44 10.43 10.58 0.860.00 0.59 0.59 0.01 0.00 0.00 0.004.96 17.58 12.45 11.31 0.21 3.17 4.06

10.50 20.19 23.12 23.02 1.58 3.12 5.00

11.89 14.74 10.62 14.33 7.56 5.57 0.980.01 10.60 8.91 6.53 0.15 1.06 0.015.58 24.60 26.38 29.00 5.14 0.13 4.77

7.17 26.31 22.56 27.07 3.31 1.75 2.74

0.00 0.00 0.01 0.00 0.00 0.00 0.000.00 4.34 1.77 2.02 0.00 0.00 0.001.34 44.93 46.92 45.56 2.55 0.59 1.05

5.73 13.68 14.02 14.27 2.55 2.27 1.53

7.12 6.31 5.36 8.95 6.35 2.78 5.86

11.55 16.31 13.90 16.74 10.93 4.42 9.52

18.62 12.63 10.71 11.89 3.00 4.12 5.42

18.31 4.97 3.93 9.35 5.22 3.74 2.530.00 0.45 0.01 3.78 0.00 0.00 0.00

13.13 14.49 21.62 17.91 2.86 1.07 11.97

4.99 23.09 5.45 17.46 8.93 5.85 5.20

4.66 11.62 6.06 10.85 8.81 5.38 1.550.01 8.19 7.99 8.03 0.00 0.98 0.01

4.34 23.19 22.43 23.36 3.63 1.84 3.47

4.06 32.10 25.65 28.97 2.68 3.84 0.870.43 0.43 0.00 0.43 0.43 0.43 0.43

0.00 4.26 4.05 2.57 0.00 0.00 0.002.95 40.17 39.51 41.20 3.14 0.58 2.72

6.44 14.16 11.90 14.39 4.00 2.50 3.54

9.93 36.86 17.44 13.24 11.30 12.94 8.68

7.41 21.45 12.44 13.05 11.78 0.65 0.4217.21 19.60 17.24 22.40 7.49 0.96 4.01

17.29 3.95 15.44 7.39 11.33 7.64 1.532.26 15.20 7.01 11.99 0.21 12.48 2.22

9.27 25.99 4.90 29.62 10.86 2.28 12.40

12.07 24.90 28.60 23.15 4.68 3.26 1.8010.86 30.91 17.03 27.26 6.30 6.05 1.69

5.38 30.64 24.87 47.31 4.66 2.54 3.85

6.80 40.93 60.29 51.72 0.90 9.57 6.47

6.89 50.04 39.61 49.94 4.47 6.32 0.570.00 13.72 12.87 7.27 0.00 0.00 0.000.33 26.41 28.22 23.54 0.06 0.40 0.33

2.32 60.18 63.48 63.40 1.01 2.55 1.05

7.72 28.63 24.96 27.95 5.36 4.83 3.22

6.63 18.82 16.96 18.87 3.97 3.20 2.76

Page 7: Scheduling jobs with values dependent on their completion times

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241 237

ratio for a given set is provided for each algorithm. Finally, in thelast row of the table, the total average performance ratio,calculated for all three sets, is given for each algorithm. Thislast result may be perceived as an average behavior of agiven algorithm in the whole performed experiment. In orderto make the analysis of the results easier, the best entry in eachrow of the table is bolded. The computational times of theconstructed algorithms did not exceed 16 ms for each analyzedinstance.

It follows from Table 2, that the most accurate are the algorithmsusing rules P2 and S2 and their average performance ratios are about2–4%. It is unsurprising since rules P2 and S2 are the most advancedfrom the used ones – they take the most data into account inbuilding the schedule (all the moments dj1, . . . ,djk�1, all positions inwhich a given job has maximal value, etc.). However, in few cases(e.g., m¼4 for Set 2) other algorithms provide the best solutions (theconsidered problem is very complex, it has many parameters whichinfluence each other and we have not found any general rule whichgives always good results). Thus, since it is hard to indicate the bestalgorithm (or a few best algorithms) for each case (i.e., for a givenvalue of n and m and the set of job parameters), and the computa-tional times of these algorithms are very short, it is recommended touse all the presented algorithms to obtain solutions as good aspossible. Notice that the best results in the performed tests aremostly below 1–2% and only once it was more than 5% (7.39% forn¼10, m¼2 and Set 3). It can also be deduced that all the algorithmsprovide usually worse solutions for the instances with greaterprocessing times (worse results for Set 3 in comparison with Sets1 and 2) and with greater number of jobs in comparison with thenumber of processors (on the other hand, the algorithms with P2 ruleprovide even optimal solutions if the number of processors is greaterthan 25% of the number of jobs). The greater processing times causethat any change in positions of the jobs in a schedule indicates arelatively greater change in the job completion times and, whatfollows, there is greater probability that the job values will change.Thus, any non-optimal schedule differs more from the optimal one ifthe processing times are greater. If the number of jobs is greater inrelation with the number of processors, then more jobs is assigned toeach processor and there is much more possibilities to schedulethem. Thus, it is much more difficult to find a good schedule (ouralgorithms check comparatively smaller part of solution space then).On the other hand, the values of wjq seem to have minor influence onthe results (similar performance ratios for Sets 1 and 2) – they do notincrease the differences between the objective function values ofdifferent schedules as much as large processing times and they donot increase the solution space (number of possible schedules) at all,as it is for large number of jobs.

3.6. Computational experiment for uniform processors

Notice that all the algorithms presented in Section 3.4 can beused directly to solve the problem with the uniform processorsQ9vj step9

PvjðCjÞ.

Thus, in this section we present the results of the experimentalanalysis in which we use the considered algorithms to solve theproblem Q9vj step9

PvjðCjÞ. Additionally, we construct another rule

(P3) of assigning jobs from the initial list to the processors, which isdedicated to the uniform processors. In this rule, each job from thelist is placed to the last position of the permutation on the processorMi, for which a ratio Ri ¼ SumPi=si is minimal, where SumPi is thesum of basic processing times, pj, of the jobs already assigned to Mi

(let us remind that si is the speed of the processor Mi). Notice thatthere are three different rules of constructing the initial list (Step1 of Li Pj Sk), three different rules of assigning the jobs to theprocessors (Step 2) and three rules of establishing the final

sequences of the jobs on the processors (Step 3) for uniformprocessors. Thus, we obtain 27 different heuristic algorithms forthe problem Q9vj step9

PvjðCjÞ. Preliminary tests showed that nine

of them – with the rule S2 (i.e., Li Pj S2, i¼ 1, . . . ,3, j¼ 1, . . . ,3) – aresignificantly better than the remaining ones. Therefore, we presentin this section only the results concerning these nine algorithms. Thealgorithms were tested with the same experimental settings as thealgorithms for the unrelated processors (Section 3.5). Additionally,the processors speeds si were generated from the interval [1,10). Theresults of the tests, i.e., the average performance ratios (2) of thegiven algorithms for 100 random instances of given n, m and the setof job parameters, are presented in Table 3.

The first conclusion following from Table 3 is that the resultsof the considered algorithms are mostly better than for unrelatedprocessors (it confirms that the problem Q9vj step9

PvjðCjÞ is

rather less complicated and hence easier to solve than theproblem R9vj step9

PvjðCjÞ). Moreover, if the number of proces-

sors is greater than 8% of the number of jobs (e.g., m¼4 andn¼50), then the presented algorithms provide mostly optimalresults (to be more precise, for Sets 1 and 2 almost all presentedalgorithms give optimal results and for Set 3 there is at least onesuch algorithm for each case, with the exception of n¼100 andm¼10, for which the best result is 0.17%). It can be explainedsimilarly as the phenomenon of decreasing of the algorithmsefficiency for the problem R9vj step9

PvjðCjÞ for increasing num-

ber of jobs (see Section 3.5). Among the analyzed algorithms,L2P1S2 gives the best results most often and its average perfor-mance ratio is 0.49%. For the cases, for which L2P1S2 is not thebest, the best are usually L1P1S2, L3P1S2 or L2P3S2 and theiraverage ratios are about 1%. Generally, the best obtained resultsare less than 0.5% with only three exceptions, for which the bestresults are less than 0.75%. The above observations confirm thatthe processor speed is quite important parameter of the problemwith uniform processors – the best algorithms use the rules P1 orP3 (in P1 the speeds are used indirectly, since the faster proces-sors usually finish the jobs earlier). Moreover, similarly as for theproblem R9vj step9

PvjðCjÞ, the more complicated S2 rule gives

better results than the rules S0 and S1. Also, the dependence ofthe values of the job parameters on the accuracy of the consideredalgorithms is similar as for the problem R9vj step9

PvjðCjÞ – the

results of all the algorithms are worse if the processing times aregreater and the values of wjq do not influence on the results of thealgorithms – and can be justified in the same way as in Section3.5. The computational times of all the algorithms did not exceed16 ms in the performed tests. To sum up, it is recommended touse a few algorithms (preferably L2P1S2, L1P1S2, L3P1S2, L2P3S2)to solve the problem Q9vj step9

PvjðCjÞ, and choose the best

result.

4. The piecewise linear loss of job value

4.1. Problem formulation

There are given a single processor and a set J¼ fJ1, . . . ,Jng of n

independent and non-preemptive jobs immediately available forprocessing at time 0. Each job JjA J is characterized by itsprocessing time pj40 and a loss of its value lj(t) dependent ontime t. The loss of job value is described by a piecewise linearnon-decreasing function of time:

ljðtÞ ¼

aj1tþbj1, 0otrdj1

aj2tþbj2, dj1otrdj2

^

ajktþbjk, djk�1ot

8>>>><>>>>:

, ð3Þ

Page 8: Scheduling jobs with values dependent on their completion times

Table 3Average ratios rA½%� of the heuristic algorithms for the uniform processors.

n m L1P1S2 L2P1S2 L3P1S2 L1P2S2 L2P2S2 L3P2S2 L1P3S2 L2P3S2 L3P3S2

Set 1: pj Að0,90Þ, wj1 A ½1,10Þ, kA ½1,10Þ, djq A ½djq�1þ100,djq�1þ200Þ

10 2 0.00 0.00 0.00 0.00 0.11 0.00 0.00 0.00 0.0050 2.59 1.42 1.52 0.00 2.40 1.83 4.53 3.01 4.59

100 8.61 0.56 5.90 9.35 4.84 7.83 9.52 0.91 6.97

500 2.60 0.27 1.52 3.63 2.28 1.78 3.90 2.97 3.19

10 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0050 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00

100 0.80 1.35 0.17 2.03 3.54 4.06 4.16 3.72 2.66

500 0.56 0.64 0.60 0.40 1.77 0.91 1.67 1.96 2.37

50 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00100 0.00 0.01 0.00 0.00 0.02 0.00 0.00 0.00 0.00500 0.36 0.53 0.33 2.51 2.21 2.46 3.22 3.31 3.25

50 25 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00100 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00500 0.38 0.41 0.37 1.06 2.89 1.27 1.12 0.64 1.15

Average 1.14 0.37 0.74 1.36 1.43 1.44 2.01 1.18 1.73

Set 2: pj A ð0:90Þ. wj1 A ½1:100Þ. kA ½1:10Þ. djq A ½djq�1þ100:djq�1þ200Þ

10 2 0.00 0.02 0.02 0.00 0.78 0.06 0.01 0.00 0.0050 0.00 0.47 0.32 0.97 0.93 0.53 1.62 1.63 1.56

100 10.16 0.46 6.00 9.86 3.73 7.17 10.66 1.17 6.45

500 2.38 0.34 1.30 3.74 2.62 1.50 5.41 3.06 3.71

10 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0050 0.05 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00

100 0.34 0.12 0.40 1.34 1.17 0.99 0.29 0.22 0.16

500 1.73 0.10 1.79 1.87 1.83 1.94 5.18 4.79 4.61

50 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00100 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00500 0.64 0.28 0.34 0.82 0.99 1.36 3.04 3.52 3.22

50 25 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00100 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00500 0.81 0.78 0.94 1.39 3.40 1.70 1.61 0.20 1.54

Average 1.15 0.19 0.79 1.43 1.10 1.09 1.99 1.04 1.52

Set 3: pj A ð0:160Þ. wj1 A ½1:100Þ. kA ½1:10Þ. djq A ½djq�1þ100:djq�1þ200Þ

10 2 0.00 0.00 0.00 0.67 0.03 0.07 0.00 0.00 0.01

50 0.58 2.57 1.26 0.81 4.39 2.85 3.35 2.27 4.24

100 2.56 0.48 2.15 2.87 1.01 2.33 3.13 1.59 2.00

500 3.62 0.75 2.22 6.66 1.88 3.60 3.94 0.38 3.35

10 4 0.05 2.48 0.00 0.85 0.36 0.37 0.05 0.00 0.0050 0.00 0.07 0.03 0.85 0.59 0.29 0.09 0.11 0.11

100 5.49 0.62 4.41 3.46 1.33 3.40 5.93 1.77 4.43

500 2.09 0.74 1.50 1.25 2.36 1.63 2.18 1.95 1.81

50 10 0.00 1.51 0.26 0.73 1.62 0.89 0.00 0.00 0.00100 0.29 0.28 0.29 1.60 2.23 1.98 0.64 0.17 0.31

500 1.01 1.55 1.28 2.03 1.70 1.20 5.16 5.13 4.20

50 25 2.03 0.00 0.87 0.21 0.20 0.17 2.03 0.00 0.87

100 0.00 0.70 0.17 0.12 0.00 0.03 0.00 0.00 0.00500 0.30 1.08 0.04 1.26 1.13 1.02 2.72 2.15 2.34

Average 1.29 0.92 1.03 1.67 1.35 1.42 2.09 1.11 1.69

Total average 1.19 0.49 0.86 1.48 1.29 1.31 2.03 1.11 1.64

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241238

where ajqZ0, bjq, q¼1,y,k, and djq40, q¼ 1, . . . ,k�1 are givenparameters of the model. Since function (3) is non-decreasing, thefollowing conditions must be satisfied:

bj140 and bj,qþ1Zdjqðajq�aj,qþ1Þþbjq, q¼ 1, . . . k�1:

The objective is to find such a schedule p (i.e., a sequence of jobson the processor) that minimizes the sum of losses of job valuescalculated at their completion times CpðjÞ:

Xn

j ¼ 1

lpðjÞðCpðjÞÞ-min:

The above-defined objective function is regular and the jobcompletion time is equal to CpðjÞ ¼

Pjq ¼ 1 ppðqÞ ¼ Cpðj�1Þ þppðjÞ,

similarly as for the problem with the stepwise job value.Denoting function (3) as lj p_linear and using the three-field

notation a9b9g, the problem is represented by 19lj p_linear9P

ljðCjÞ.

4.2. Computational complexity

Consider the following special case of the problem:19lj p_linear,k¼ 2,aj1 ¼ 0,bj1 ¼ b1, bj2 ¼ ðb1�dj1 � aj2Þ9

PljðCjÞ, i.e.,

the case in which function (3) has the following form:

ljðCjÞ ¼b1, Cjrdj1

aj2Cjþðb1�dj1 � aj2Þ, Cj4dj1

(: ð4Þ

Now we will show that this problem is strongly NP-hard. Tothis end, we will show in Lemma 1 that this problem is equivalentto the strongly NP-hard problem 1J

PwjTj (Lawler, 1977; Lenstra

et al., 1977, see Section 3.2 for its formulation).

Lemma 1. The problem 19lj p_linear,k¼ 2,aj1 ¼ 0,bj1 ¼ b1, bj2 ¼

ðb1�dj1 � aj2Þ9P

ljðCjÞ is equivalent to the problem 1JP

wjTj in the

following sense: in both of them the optimal sequences of jobs are

equal and the criterion values differ by a constant.

Page 9: Scheduling jobs with values dependent on their completion times

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241 239

Proof. Given a sequence p of n jobs, calculate the criterion valuex for the problem 1J

PwjTj. We have

x¼Xn

j ¼ 1

wpðjÞTpðjÞ-min:

Let p0 denotes the job sequence for the problem

19lj p_linear,k¼ 2,aj1 ¼ 0,bj1 ¼ b1, bj2 ¼ ðb1�dj1 � aj2Þ9P

ljðCjÞ such

that p0ðjÞ ¼ pðjÞ for j¼ 1, . . . ,n. Thus, there are n¼ n jobs with

the following parameters:

pp0 ðjÞ ¼ ppðjÞ; dp0 ðjÞ1 ¼ dpðjÞ;

b1 2 unspecified; ap0 ðjÞ2 ¼wpðjÞ; for j¼ 1, . . . ,n:

From the definitions of coefficients Tj and ljðCjÞ, it follows that

ljðCjÞ ¼ b1 if Tj¼0 and ljðCjÞ ¼ aj2Cjþðb1�dj � aj2Þ ¼ aj2ðCj�djÞþb1

if Tj ¼ Cj�dj for each job Jj. Thus, the following equality holds:

lp0 ðjÞðCp0 ðjÞÞ ¼wpðjÞTpðjÞ þb1. Therefore, the criterion value y of

the problem 19lj p_linear, k¼2, aj1 ¼ 0, bj1¼b1, bj2¼ðb1�dj1 �

aj2Þ9P

ljðCjÞ is given as follows:

y¼Xn

j ¼ 1

lp0 ðjÞðCp0 ðjÞÞ ¼Xn

j ¼ 1

ðwp0 ðjÞTp0 ðjÞ þb1Þ

¼Xn

j ¼ 1

wpðjÞTpðjÞ þnb1 ¼ xþnb1-min:

It is obvious that the value nb1 is sequence independent. Hence,

the minimization of y is equivalent to the minimization of x. &

Theorem 2. The problem 19lj p_linear,k¼ 2,aj1 ¼ 0,bj1 ¼ b1, bj2 ¼

ðb1�dj1 � aj2Þ9P

ljðCjÞ is strongly NP-hard.

Proof. Since the problem 1JP

wjTj is strongly NP-hard (Lenstraet al., 1977), thus thesis of Theorem 2 follows directly fromLemma 1. &

The following property can also be proved on the basis ofLemma 1.

Property 2. The problem 19lj p_linear,k¼ 2,aj1 ¼ 0,bj1 ¼ b1,aj2 ¼ 1,bj2 ¼ b1�dj19

PljðCjÞ can be solved optimally in pseudo-polynomial

time Oðn4Pn

j ¼ 1 pjÞ.

Proof. There exists a pseudo-polynomial time algorithm, withcomputational complexity of Oðn4

Pnj ¼ 1 pjÞ, for the NP-hard

problem 1JP

Tj (Lawler, 1977). Thus, based on Lemma 1, wecan adapt it to solve the problem 19lj p_linear,k¼ 2,aj1 ¼ 0,bj1 ¼ b1,aj2 ¼ 1,bj2 ¼ b1�dj19

PljðCjÞ. &

4.3. Heuristic algorithms

The problem under consideration is very difficult to solve sinceeven for its special cases it is hard to construct algorithms whichprovide the optimal solutions in a reasonable time. Thus, severalheuristic algorithms have been constructed to solve the problem19lj p_linear,k¼ 29

PljðCjÞ: The computational complexity for all

of them is Oðn log nÞ. The following property has been used toconstruct these algorithms.

Property 3. For the problem 19lj p_linear,k¼ 2,dj1 ¼ d19P

ljðCjÞ, in

its optimal solution all the jobs completed not later than d1 are

scheduled in non-increasing order of aj1=pj and all the jobs started

later than d1 are scheduled in non-increasing order of aj2=pj.

Proof. Assume that the permutation p¼/p1,p2S is given, wherep1 ¼/J1,J2, . . . ,JmS denotes the jobs which are completed notlater than d1, and p2 ¼/Jmþ1,Jmþ2, . . . ,JnS denotes the remainingjobs. Assume also that the permutation p is optimal and the jobs

in p1 are not scheduled in non-increasing order of aj1=pj. Thus,there exists at least one pair of jobs Ji,Jiþ1 such that Ci,Ciþ1rd1

and ai1=pioaiþ1,1=piþ1.Let p0 ¼/p01,p2S denote the permutationof jobs which is obtained from p by interchanging jobs Ji and Jiþ1.

The difference between the criterion values obtained for both

permutations is given below

D¼Xn

j ¼ 1

lpðjÞðCpðjÞÞ�Xn

j ¼ 1

lp0 ðjÞðCp0 ðjÞÞ

¼ ai1ðCpði�1Þ þpiÞþaiþ1,1ðCpði�1Þ þpiþpiþ1Þ

�aiþ1,1ðCpði�1Þ þpiþ1Þ�ai1ðCpði�1Þ þpiþ1þpiÞ ¼ aiþ1,1pi�ai1piþ1:

It follows from the assumption ai1=pioaiþ1,1=piþ1 that D is

positive. Thus, after interchanging jobs in the permutation p we

obtained a permutation with a lower criterion value. This contra-

dicts the assumption that p is optimal.

Similar analysis can be carried out for the jobs started later

than d1. &

Let us present now heuristics H1–H3, solving the problem19lj p_linear,k¼ 29

PljðCjÞ.

Algorithm H1. Constructs solutions by sequencing the jobs in thenon-increasing order of aj=pj, where aj ¼ ðaj1þaj2Þ=2.

Algorithm H2 constructs solutions according to the following rule.

Algorithm H2.

Step 1.

Set J :¼ f1,2, . . . ,ng, p :¼ |, jF :¼ 1 and jR :¼ n. Step 2. Find jobs jn and kn that satisfy ajn1=pjn ¼maxjA Jðaj1=pjÞ

and akn2=pkn ¼minjA Jðaj2=pjÞ, respectively. Put job jn inposition jF and job kn in position jR in the permutation p.Set jF :¼ jFþ1, jR :¼ jR�1 and J :¼ J\fjn,kng.

Step 3.

If J¼ | then STOP – p is the provided solution, otherwiserepeat Step 2.

Algorithm H3 is based on the Moore algorithm (Moore, 1968)

and its formal description is given below.

Algorithm H3.

Step 1.

Set p1 :¼ |, p2 :¼ | and J :¼ f1,2, . . . ,ng. Step 2. Divide the set J into two disjoint subsets J1 and J2 such

that 8jA J1 ðaj1þbj1Þ=2o ðaj2þbj2Þ=2 and 8jA J2 ðaj1þbj1Þ=

2Z ðaj2þbj2Þ=2.

Step 3. Find job jn that satisfies ajn1=pjn ¼maxjA J1 ðaj1=pjÞ. Move it

from J1 to the last position of p1. IfP

jAp1 pjrdjn1 then goto Step 4, otherwise find job kn that satisfiespkn ¼maxjAp1 ðpjÞ and move it from p1 to J2.

Step 4.

If J1a| then go to Step 3. Step 5. Find job jn that satisfies ajn2=pjn ¼maxjA J2 ðaj2=pjÞ and

delete it from J2. IfP

jAp1 pjþpjn 4djn then put job jn inthe last position of p1, otherwise put it in the lastposition of p2. Go to Step 6.

Step 6.

If J2a| then go to Step 5. Step 7. Set the solution p :¼ p1p2 and STOP.

The algorithms were tested for the following three differentsets of problem parameters randomly generated according to theuniform distribution:

Set 1

(large coefficients aj1, aj2, bj1, bj2):aj1,aj2,bj1,bj2A ½0,100Þ; pjAð0,10Þ; dj1A ½5,15Þ.

Set 2

(small coefficients aj1, aj2, bj1, bj2):aj1,aj2,bj1,bj2A ½0,1Þ; pjAð0,10Þ; dj1A ½5,15Þ.
Page 10: Scheduling jobs with values dependent on their completion times

Table 4Average performance ratios sA½%� of the considered algorithms

H1–H3.

n H1 H2 H3

Set 1: aj1 ,aj2 ,bj1 ,bj2 A ½0,100Þ; pj Að0,10Þ; dj1 A ½5,15Þ

10 23.14 8.95 37.58

50 13.70 11.33 1.25100 8.08 0.95 3.46

500 9.81 4.61 0.00

Set 2: aj1 ,aj2 ,bj1 ,bj2 A ½0,1Þ; pj Að0,10Þ; dj1 A ½5,15Þ

10 14.25 24.49 24.63

50 6.63 0.79 2.19

100 15.65 5.01 0.23500 11.94 4.83 0.00

Set 3: aj1 ,aj2 ,bj1 ,bj2 A ½0,10Þ; pj Að0,10Þ; dj1 A ½10,20Þ

10 27.44 25.94 71.76

50 7.68 1.97 0.15100 10.29 8.21 1.03500 12.76 7.77 0.00

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241240

Set 3

(large moment dj1 in comparison with pj):aj1,aj2,bj1,bj2A ½0,10Þ; pjAð0,10Þ; dj1A ½10,20Þ.

100 instances were randomly generated for each n¼10, 50, 100,500 and for each set of parameters (Set 1, Set 2, Set 3). For eachalgorithm A, the performance ratio sA ¼ ðFA=FBEST�1Þ � 100% wascalculated, where FA denotes an objective function value obtainedby algorithm A, and FBEST is the best known criterion value(optimal for n¼10, obtained by explicit enumeration). The aver-age values of the performance defined above, obtained for all 100generated instances of the problem, with a given set of para-meters and n, are shown in Table 4, where the best results in eachrow are bolded.

The following conclusions can be derived from the results ofthe tests. At first, the accuracy of the presented algorithmsdepends on the values of the problem parameters. The greatervalues of the coefficients aj1, aj2, bj1, bj2 cause (usually) worseaverage performance ratios of all the algorithms. Similar depen-dency occurs for dj1. This observation can be explained in thefollowing way. Greater values of the parameters lead to greaterdifferences between the job losses and then any non-optimalschedule differs more from the optimal one. From the comparedalgorithms, the best is H2 (mainly for n¼10, for which it providessolutions about 10–25% worse than the optimum) and H3 (butonly for n410). Algorithm H1 achieves for n¼10 the best averageperformance ratio only for Set 2 (14.25%), for other cases itachieves the ratios about 25%. The computational times of theconsidered algorithms did not exceed 16 ms in the performedtests and they were mostly shorter than 5 ms.

5. Conclusions

This paper extends the results obtained for the single proces-sor scheduling problem with the stepwise job values. Firstly, itproves that the problem is strongly NP-hard even for (more thanone) identical moments of job value changes (the previous resultwas ordinary NP-hardness for a single identical moment of jobvalue change) and provides the pseudo-polynomial time exactalgorithm for the case with fixed number of identical moments ofjob value changes and fixed number of unrelated parallel proces-sors. Thus, we have found a border between NP-hardness andstrong NP-hardness of the problem with the stepwise job values.We have also constructed a number of heuristic algorithms forthe problem with uniform and unrelated parallel processors.

Among others, the performed tests show that the heuristicalgorithms give near optimal solutions (average below 0.01%and 3–4% from the optimum, respectively) for small probleminstances (10 jobs). For greater instances (up to 500 jobs) theiraverage efficiencies seem to be similar.

Moreover, the paper generalizes the stepwise job value,introducing the non-decreasing piecewise linear loss of job valueand proves that the single processor problem with minimizationof the total loss of job values is strongly NP-hard even for the casewith a single moment of changing of job loss speed increasing anda constant loss of job value before this moment. A pseudo-polynomially solvable case of this problem and some heuristicalgorithms are also presented. These heuristic algorithms havebeen tested experimentally for the strongly NP-hard special caseof the problem with a single moment of changing of job lossspeed increasing. Unfortunately, it has been shown that theaccuracy of these algorithms is often unsatisfactory (they providesolutions which are frequently more than 10 percent worse thanthe optimum). Thus, the future research in this area should focuson construction of better algorithms (results dealing with thetotal tardiness problem should be helpful here).

References

Bachman, A., Janiak, A., 2000. Minimizing maximum lateness under lineardeterioration. European Journal of Operational Research 126, 557–566.

Cheng, T.C.E., Kovalyov, M.Y., 1995. Single machine batch scheduling with dead-lines and resource dependent processing times. Operations Research Letters17, 243–249.

Chretienne, P., Sourd, F., 2003. PERT scheduling with convex cost functions.Theoretical Computer Science 292, 145–164.

Cisco Systems Inc., 2010. Quality of Service Networking. In: InternetworkingTechnology Handbook. /www.cisco.com/en/US/docs/internetworking/technology/handbook/QoS.pdfS.

Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., 1979. Optimizationand approximation in deterministic sequencing and scheduling: a survey.Annals of Discrete Mathematics 5, 287–326.

Inderfurth, K., Kovalyov, M.Y., Ng, C.T., Werner, F., 2007. Cost minimizingscheduling of work and rework processes on a single facility under deteriora-tion of reworkables. International Journal of Production Economics 105 (2),345–356.

Inderfurth, K., Lindner, G., Rachaniotis, N.P., 2005. Lot sizing in a productionsystem with rework and product deterioration. International Journal ofProduction Research 43 (7), 1355–1374.

Jackson, J.R., 1955. Scheduling a Production Line to Minimize Maximum Tardiness.Research Report 43, Management Science Research Project, University ofCalifornia, USA.

Janiak, A., Krysiak, T., 2007. Single processor scheduling with job values dependenton their completion times. Journal of Scheduling 10, 129–138.

Janiak, A., Krysiak, T., Pappis, C.P., Voutsinas, T.G., 2009. A scheduling problem withjob values given as a power function of their completion times. EuropeanJournal of Operational Research 193, 836–848.

Janiak, A., Li, C.-L., 1994. Scheduling to minimize the total weighted completiontime with a constraint on the release time resource consumption. Mathema-tical and Computer Modelling 20, 53–58.

Kovalyov, M.Y., Kubiak, W., 1998. A fully polynomial approximation scheme forminimizing makespan of deteriorating jobs. Journal of Heuristics 3, 287–297.

Kovalyov, M.Y., Shafransky, Y.M., 1998. Uniform machine scheduling of unit-timejobs subject to resource constraints. Discrete Applied Mathematics 84,253–257.

Kovalyov, M.Y., Werner, F., 2002. Approximation schemes for scheduling jobs withcommon due date on parallel machines to minimize total tardiness. Journal ofHeuristics 8, 415–428.

Lawler, E.L., 1977. A ‘pseudopolynomial’ algorithm for sequencing jobs to mini-mize total tardiness. Annals of Discrete Mathematics 1, 331–342.

Lawler, E.L., Lenstra, J.K., Rinooy Kan, A.H.G., Shmoys, D.B., 1993. Sequencing andscheduling: algorithms and complexity. In: Graves, S.C., Rinnooy Kan, A.H.G.,Zipkin, P. (Eds.), Handbooks in Operations Research and Management Science.North-Holland, pp. 445–522.

Lenstra, J.K., Rinnooy Kan, A.H.G., Brucker, P., 1977. Complexity of machinescheduling problems. Annals of Discrete Mathematics 1, 343–362.

Li, S., Ng, C.T., Yuan, J., 2011. Scheduling deteriorating jobs with CON/SLK due dateassignment on a single machine. International Journal of Production Econom-ics 131, 747–751.

Mafakheri, F., Breton, M., Ghoniem, A., 2011. Supplier selection-order allocation: atwo-stage multiple criteria dynamic programming approach. InternationalJournal of Production Economics 132, 52–57.

Page 11: Scheduling jobs with values dependent on their completion times

A. Janiak, T. Krysiak / Int. J. Production Economics 135 (2012) 231–241 241

Moore, J.M., 1968. An n jobs, one machine sequencing algorithm for minimizingthe number of late jobs. Management Science 15, 102–109.

Mosheiov, G., 1994. Scheduling jobs under simple linear deterioration. Computersand Operations Research 21, 653–659.

Mosheiov, G., 1995. Scheduling jobs with step-deterioration: minimizing make-span on a single and multi-machine. Computers and Industrial Engineering 28,869–879.

Mosheiov, G., 2002. Complexity analysis of job-shop scheduling with deterioratingjobs. Discrete Applied Mathematics 117, 195–209.

Ng, C.T.D., Cheng, T.C.E., Kovalyov, M.Y., Lam, S.S., 2003. Single machine schedulingwith a variable common due date and resource-dependent processing times.Computers and Operations Research 30, 1173–1185.

Pappis, C.P., Rachaniotis, N.P., 2010a. Scheduling a single fire fighting resourcewith deteriorating fire suppression times and set-up times. OperationalResearch: An International Journal 10, 27–42.

Pappis, C.P., Rachaniotis, N.P., 2010b. Scheduling in a multi-processor environmentwith deteriorating job processing times and decreasing values: the case offorest fires. Journal of Heuristics 16 (4), 617–632.

Rachaniotis, N.P., Pappis, C.P., 2006. Scheduling fire-fighting tasks using theconcept of ‘‘deteriorating jobs’’. Canadian Journal of Forest Research 36,652–658.

Rinnooy Kan, A.H.G., Lageweg, B.J., Lenstra, J.K., 1975. Minimizing total costs inone-machine scheduling. Operations Research 23, 908–927.

Shabtay, D., 2010. Scheduling and due date assignment to minimize earliness,

tardiness, holding, due date assignment and batch delivery costs. InternationalJournal of Production Economics 123, 235–242.

Siyan, K.S., Parker, T., 2002. TCP/IP Unleashed. Sams Publishing.Sourd, F., 2005. Optimal timing of a sequence of tasks with general completion

costs. European Journal of Operational Research 165, 82–96.Sportack, M.A., Northrup, A., 1998. Networking Essentials Unleashed. Sams

Publishing.Voutsinas, T.G., Pappis, C.P., 2002. Scheduling jobs with values exponentially

deteriorating over time. International Journal of Production Economics 79,163–169.

Wang, X., Cheng, T.C.E., 2009. Logistics scheduling to minimize inventory andtransport costs. International Journal of Production Economics 121, 266–273.

Wang, L., Sun, L.-Y., Sun, L.-H., Wang, J.-B., 2010. On three-machine flow shopscheduling with deteriorating jobs. International Journal of Production Eco-nomics 125, 185–189.

Zhao, C.-L., Tang, H.-Y., 2010. Scheduling deteriorating jobs under disruption.International Journal of Production Economics 125, 294–299.