12
Common due date assignment and scheduling with a rate-modifying activity to minimize the due date, earliness, tardiness, holding, and batch delivery cost q Yunqiang Yin a,b , T.C.E. Cheng c , Dehua Xu a,b , Chin-Chia Wu d,a State Key Laboratory Breeding Base of Nuclear Resources and Environment, East China Institute of Technology, Nanchang 330013, China b School of Sciences, East China Institute of Technology, Fuzhou, Jiangxi 344000, China c Department of Logistics and Maritime Studies, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong d Department of Statistics, Feng Chia University, Taichung, Taiwan article info Article history: Received 30 October 2011 Received in revised form 29 January 2012 Accepted 22 February 2012 Available online 6 March 2012 Keywords: Scheduling Due date assignment Batch delivery Rate-modifying activity abstract We consider a single-machine batch delivery scheduling and common due date assignment problem. In addition to making decisions on sequencing the jobs, determining the common due date, and scheduling job delivery, we consider the option of performing a rate-modifying activity on the machine. The process- ing time of a job scheduled after the rate-modifying activity decreases depending on a job-dependent fac- tor. Finished jobs are delivered in batches. There is no capacity limit on each delivery batch, and the cost per batch delivery is fixed and independent of the number of jobs in the batch. The objective is to find a common due date for all the jobs, a location of the rate-modifying activity, and a delivery date for each job to minimize the sum of earliness, tardiness, holding, due date, and delivery cost. We provide some properties of the optimal schedule for the problem and present polynomial algorithms for some special cases. Ó 2012 Elsevier Ltd. All rights reserved. 1. Introduction Meeting due dates is among the most important goals of sched- uling. There are many practical situations in which a common due date exists, e.g. in just-in-time production, in assembly scheduling, or in batch delivery. Furthermore, it might be reasonable to assign a common due date to a set of jobs to treat different customers equally. Generally, two situations of due date determination should be distinguished: (i) the common due date is (externally) given or agreed upon and (ii) the common due date is determined (internally) by the company. The latter situation corresponds to the system in which, for some reason (e.g., appointment, technical con- straints, etc.), several tasks are to be completed at the same time, e.g., several jobs from the same customer form a single order or the components of a product should be ready by the same time for assembly. In chemical and food production, the common due date model applies if some of the involved substances or compo- nents have a limited life span (a ‘‘best before’’ time), which im- poses a common due date on the whole mixture or the final product. There are many papers that focus on the common due date assignment problem (e.g., Adamopoulos & Pappis, 1995; Birman & Mosheiov, 2004; Biskup & Jahnke, 2001; Cheng, 1984, 1987, 1989; Cheng, Chen, & Shakhlevich, 2002, 2004, 2007; De, Ghosh, & Wells, 1991; Gordon & Strusevich, 2009; Hsu, Yang, & Yang, 2011; Kahlbacher & Cheng, 1993; Li, Ng, & Yuan, 2011; Min & Cheng, 2006; Mosheiov, 2001; Mosheiov & Yovel, 2006; Ng, Cheng, Kovalyov, & Lam, 2003; Panwalkar, Smith, & Seidmann, 1982; Shabtay & Steiner, 2006). For state-of-the-art reviews of scheduling models considering common due date assignment, as well as practical applications of such models, the reader may refer to Cheng and Gupta (1989), Gordon, Proth, and Chu (2002, 2010), and Lauff and Werner (2004). All of the above papers treat the delivery cost as either negligi- ble or irrelevant. In other words, they focus on the machine sched- uling problem, while ignoring the problem of scheduling the deliveries of the finished jobs. However, delivery cost is a signifi- cant cost element in production, whereby the production cost de- pends not only on when jobs are processed but also when finished jobs are delivered. Thus, as observed by Hermann and Lee (1993),a realistic production scheduling model should include scheduling of both job processing and job delivery. Several earlier papers have considered scheduling models with both job processing and job delivery. Cheng and Kahlbacher (1993) show that the batch deliv- ery problem to minimize the sum of weighted earliness penalty and delivery cost is NP-hard, while the case with equal weights is polynomially solvable. Cheng and Gordon (1994) provide a pseudopolynomial dynamic programming algorithm to solve the problem and show that the case with identical processing times is also polynomially solvable. Hermann and Lee (1993) study 0360-8352/$ - see front matter Ó 2012 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2012.02.015 q This manuscript was processed by Area Editor Hans Kellerer. Corresponding author. E-mail address: [email protected] (C.-C. Wu). Computers & Industrial Engineering 63 (2012) 223–234 Contents lists available at SciVerse ScienceDirect Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Common due date assignment and scheduling with a rate-modifying activity to minimize the due date, earliness, tardiness, holding, and batch delivery cost

Embed Size (px)

Citation preview

Computers & Industrial Engineering 63 (2012) 223–234

Contents lists available at SciVerse ScienceDirect

Computers & Industrial Engineering

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

Common due date assignment and scheduling with a rate-modifying activityto minimize the due date, earliness, tardiness, holding, and batch delivery cost q

Yunqiang Yin a,b, T.C.E. Cheng c, Dehua Xu a,b, Chin-Chia Wu d,⇑a State Key Laboratory Breeding Base of Nuclear Resources and Environment, East China Institute of Technology, Nanchang 330013, Chinab School of Sciences, East China Institute of Technology, Fuzhou, Jiangxi 344000, Chinac Department of Logistics and Maritime Studies, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kongd Department of Statistics, Feng Chia University, Taichung, Taiwan

a r t i c l e i n f o a b s t r a c t

Article history:Received 30 October 2011Received in revised form 29 January 2012Accepted 22 February 2012Available online 6 March 2012

Keywords:SchedulingDue date assignmentBatch deliveryRate-modifying activity

0360-8352/$ - see front matter � 2012 Elsevier Ltd. Adoi:10.1016/j.cie.2012.02.015

q This manuscript was processed by Area Editor Ha⇑ Corresponding author.

E-mail address: [email protected] (C.-C. Wu).

We consider a single-machine batch delivery scheduling and common due date assignment problem. Inaddition to making decisions on sequencing the jobs, determining the common due date, and schedulingjob delivery, we consider the option of performing a rate-modifying activity on the machine. The process-ing time of a job scheduled after the rate-modifying activity decreases depending on a job-dependent fac-tor. Finished jobs are delivered in batches. There is no capacity limit on each delivery batch, and the costper batch delivery is fixed and independent of the number of jobs in the batch. The objective is to find acommon due date for all the jobs, a location of the rate-modifying activity, and a delivery date for eachjob to minimize the sum of earliness, tardiness, holding, due date, and delivery cost. We provide someproperties of the optimal schedule for the problem and present polynomial algorithms for some specialcases.

� 2012 Elsevier Ltd. All rights reserved.

1. Introduction

Meeting due dates is among the most important goals of sched-uling. There are many practical situations in which a common duedate exists, e.g. in just-in-time production, in assembly scheduling,or in batch delivery. Furthermore, it might be reasonable to assigna common due date to a set of jobs to treat different customersequally. Generally, two situations of due date determinationshould be distinguished: (i) the common due date is (externally)given or agreed upon and (ii) the common due date is determined(internally) by the company. The latter situation corresponds to thesystem in which, for some reason (e.g., appointment, technical con-straints, etc.), several tasks are to be completed at the same time,e.g., several jobs from the same customer form a single order orthe components of a product should be ready by the same timefor assembly. In chemical and food production, the common duedate model applies if some of the involved substances or compo-nents have a limited life span (a ‘‘best before’’ time), which im-poses a common due date on the whole mixture or the finalproduct. There are many papers that focus on the common duedate assignment problem (e.g., Adamopoulos & Pappis, 1995;Birman & Mosheiov, 2004; Biskup & Jahnke, 2001; Cheng, 1984,

ll rights reserved.

ns Kellerer.

1987, 1989; Cheng, Chen, & Shakhlevich, 2002, 2004, 2007; De,Ghosh, & Wells, 1991; Gordon & Strusevich, 2009; Hsu, Yang, &Yang, 2011; Kahlbacher & Cheng, 1993; Li, Ng, & Yuan, 2011;Min & Cheng, 2006; Mosheiov, 2001; Mosheiov & Yovel, 2006;Ng, Cheng, Kovalyov, & Lam, 2003; Panwalkar, Smith, & Seidmann,1982; Shabtay & Steiner, 2006). For state-of-the-art reviews ofscheduling models considering common due date assignment, aswell as practical applications of such models, the reader may referto Cheng and Gupta (1989), Gordon, Proth, and Chu (2002, 2010),and Lauff and Werner (2004).

All of the above papers treat the delivery cost as either negligi-ble or irrelevant. In other words, they focus on the machine sched-uling problem, while ignoring the problem of scheduling thedeliveries of the finished jobs. However, delivery cost is a signifi-cant cost element in production, whereby the production cost de-pends not only on when jobs are processed but also when finishedjobs are delivered. Thus, as observed by Hermann and Lee (1993), arealistic production scheduling model should include scheduling ofboth job processing and job delivery. Several earlier papers haveconsidered scheduling models with both job processing and jobdelivery. Cheng and Kahlbacher (1993) show that the batch deliv-ery problem to minimize the sum of weighted earliness penaltyand delivery cost is NP-hard, while the case with equal weightsis polynomially solvable. Cheng and Gordon (1994) provide apseudopolynomial dynamic programming algorithm to solve theproblem and show that the case with identical processing timesis also polynomially solvable. Hermann and Lee (1993) study

224 Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234

another batch delivery problem, where all the jobs have a givenrestrictive common due date. The objective is to minimize thesum of earliness penalty, tardiness penalty, and delivery cost. Theyprovide a pseudopolynomial dynamic programming algorithm tosolve the problem. Chen (1996) studies a variant of the problemintroduced by Hermann and Lee (1993) where the common duedate is not given but a decision variable to be determined, andshows that the problem can be solved in O(n5) time. Both Hermannand Lee (1993) and Chen (1996) assume that all the early jobs aredelivered on time to the customer without any cost, ignoring thepossibility that early jobs may be delivered in batches. Shabtay(2010) addresses a single-machine scheduling problem similar tothe one studied by Hermann and Lee (1993), where each job is as-signed a due date without restrictions. He applies the best deliverystrategy to all the jobs (not only to the tardy ones), includes theearliness penalty in the objective function and considers the caseof acceptable lead-time. He shows that the problem is NP-hardand presents a polynomial-time solution algorithm for two specialcases. Yin, Cheng, Hsu, and Wu (submitted for publication) study avariant of the problem investigated by Chen (1996) by replacingthe common due date assumption with a common due windowassumption and by allowing the delivering of the early jobs inmore than one batch in the objective function. They show thatthe problem can be optimally solved in O(n8) time and that somespecial cases of the problem can be optimally solved by lower or-der algorithms.

In this paper we extend the problem studied by Chen (1996) tothe cases where holding cost is included in the objective functionand an additional rate-modifying activity is allowed. This activityrequires a fixed time interval during which the machine is turnedoff and production stops. On the other hand, after the rate-modify-ing activity, the machine becomes more efficient, so the jobs pro-cessed after the activity have shortened processing times.Scheduling a rate-modifying activity becomes a popular topicamong researchers in the last decade. Lee and Leon (2001) studyseveral single-machine scheduling problems in this class to mini-mize the makespan, flowtime, weighted flowtime, and maximumlateness. Lodree and Geiger (2010) investigate scheduling with arate-modifying activity under the assumption that a job’s process-ing time is time-dependent. For the sequence-independent, single-machine makespan problem with position-dependent processingtimes, they prove that under certain conditions, the optimal policyis to schedule the rate-modifying activity in the middle of the jobsequence. Mosheiov and Sidney (2004) study the problems to min-imize the makespan with precedence relations, the makespan withlearning effects, and the number of tardy jobs. Mosheiov and Oron(2006) consider common due date assignment and single-machinescheduling with the possibility of performing a rate-modifyingactivity on the machine that changes the processing times of thejobs scheduled after the activity. The objective is to minimize thetotal weighted sum of earliness, tardiness, and due date cost. Theyprovide an (O(n4)) algorithm to solve the problem. Gordon and Tar-asevich (2009) further address the problem studied in Mosheiovand Oron (2006). They provide several properties of the problem,which in some cases reduce the complexity of the solution algo-rithm. Zhao, Tang, and Cheng (2009) consider parallel-machinescheduling with rate-modifying activities. For the problem to min-imize the total completion time, they provide a polynomial algo-rithm to solve it. For the problem to minimize the weightedcompletion time, they provide a pseudopolynomial dynamic pro-gramming algorithm to solve the case where the jobs satisfy anagreeable condition. Wang and Wang (2010) consider single-ma-chine scheduling with assignable slack (SLK) due dates and arate-modifying activity to minimize the total earliness, tardiness,and common flow allowance cost. They give a polynomial-timesolution for the problem. Yin, Cheng, Wu, and Cheng (submitted

for publication) study a problem similar to that studied in this pa-per with a different objective of finding a common due date for allthe jobs, a location of the rate-modifying activity, and a deliverydate for each job to minimize the sum of earliness cost, weightednumber of tardy jobs, holding cost, due date penalty, and deliverycost. Under the assumption that the earliness and holding costs areproportional to their corresponding durations, they investigate thestructural properties of the optimal schedule of the problem andpresent polynomial algorithms for three special cases.

Our problem considered in this paper includes scheduling deci-sions on (i) the job sequence, (ii) the common due date, (iii) therate-modifying activity, and (iv) the delivery date for each job, soas to minimize the sum of earliness, tardiness, holding cost, duedate, and delivery cost. The rest of the paper is organized as fol-lows: In Section 2 we introduce and formulate the problem. In Sec-tion 3 we provide some properties of the optimal schedule. InSection 4 we develop polynomial algorithms for some special casesof the problem. We conclude the paper and suggest some topics forfuture research in the last section.

2. Model formulation

In this section we first introduce the notation to be usedthroughout the paper, followed by formulation of the problem.

n

The number of jobs (n P 2) pj The processing time of job Jj

d

The common due date to bedetermined for all the jobs, i.e., dj = d

wj

The modifying rate of job Jj

(0 < wj 6 1)

Cj The completion time of job Jj

Dj

The delivery time of job Jj (Dj P Cj) Ej = max{0,d � Dj} The earliness of job Jj

Tj = max{0,Dj � d}

The tardiness of job Jj

Hj = Dj � Cj

The holding time of job Jj, which is thetime between the moment the jobfinishes its processing and themoment it is delivered

a

The unit cost of earliness b The unit cost of tardiness c The unit due date assignment cost h The unit cost of holding a job d The constant batch delivery cost

where j = 1, 2, . . . , n. In what follows, given any sequence S, we usethe subscript [j] to denote the job in position j of sequence S.

Assume that there is a set of independent jobs N = {J1, J2, . . . , Jn} tobe processed on a single machine. The machine can handle at mostone job at a time and job preemption is not allowed. All the jobs areavailable for processing at time zero. The jobs are to be delivered inbatches to customers. We assume that there is no capacity limit oneach batch delivery and that the cost per delivery is fixed, i.e., thecost is independent of the number of jobs delivered in a batch.Hence, it may be beneficial to delay the shipping of a job until thedelivery time of the next job because the delay saves a deliverycharge. The scheduler also has an option to perform a rate-modify-ing activity on the machine. The rate-modifying activity is denotedby rm, and the starting time and the length of rm are denoted by srm

and t, respectively. When the machine is undergoing rm, no produc-tion is possible. The processing time of job Jj is pj if the job is pro-cessed prior to rm, and wjpj if it is scheduled after it, j = 1, 2, . . . , n.The objective is to determine (i) the job sequence, (ii) the commondue date for all the jobs, (iii) the time (location) to schedule the

Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234 225

rate-modifying activity, (iv) the number of delivery batches, m, and(v) the partition of the job sequence into m batches,B = (B1,B2, . . . ,Bm), such that the following objective function isminimized:

ZðS;d; rm;BÞ ¼Xn

j¼1

ðaEj þ bTj þ hHj þ cdÞ þ dm; ð1Þ

where h 6min{a,b}. The condition h 6min{a,b}, assumed in Shab-tay (2010), is reasonable because earliness and tardiness affect cus-tomers more than holding finished jobs in stock. We say that a job Jj

is early if Cj 6 d; otherwise, it is tardy. It is easy to see that each jobJj should be delivered at its completion time, i.e., Dj = Cj, or at thecompletion time of some other job Jk processed after Jj, i.e.,Dj = Ck > Cj. We use Bkto denote the set of jobs contained in thekth tardy batch (k = 1,2, . . .). Each job in Bi is scheduled before allthe jobs in Bj if i < j. It can easily be shown that each batch Bk is aset of consecutive jobs and its delivery date is the completion timeof the last job in it. Using the conventional notation for describingscheduling problems, we denote the problem under study as1jrm;B;CONj

Pnj¼1ðaEj þ bTj þ hHj þ cdÞ þ dm.

3. Preliminary analysis

In this section we introduce some basic properties about thestructure of an optimal schedule for the problem 1jrm;B;CONj

Pnj¼1 ðaEj þ bTj þ hHj þ cdÞ þ dm.

Lemma 3.1. For the problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj þ hHj

þcdÞ þ dm, there exists an optimal schedule that satisfies the follow-ing properties:

(1) the jobs are processed continuously from time 0 or t withoutany idle time except the rate-modifying activity.

(2) the optimal due date is either 0 or t or the delivery date of somebatch.

Proof. The proof of (1) is obvious and omitted. We prove (2). Sup-pose that S is an optimal schedule and the jobs in S are partitionedinto m batches fJ½1�; . . . ; J½l1 �g, fJ½l1þ1�; . . . ; J½l2 �g; . . . ; andfJ½lm�1þ1�; � � � ; J½lm �g with lm = n in which the common due date d isnot 0, t, nor the delivery date of any batch. By (1), we can supposethat jobs in S are processed continuously without any idle timeexcept the rate-modifying activity. We split the proof into the fol-lowing two cases.

Case 1: d > C[n]. Then each job is early. Consider decreasing d byan amount D = d � C[n] > 0. Then the decrease in theobjective value is n(a + c)(d � C[n]), which is positive.

Case 2: C½lk�1 � < d < C½lk � for some k = 1, 2, . . . , n � 1. Suppose thatalk�1 + nc 6 b(n � lk�1). Consider increasing d by anamount D ¼ C½lk � � d > 0. Then the decrease in the objec-tive value is (�alk�1 � nc + b(n � lk�1))D, which is non-negative. On the other hand, suppose thatalk�1 + nc > b(n � lk�1). Consider reducing d by anamount D ¼ d� Clk�1

> 0. Then the decrease in theobjective value is (alk�1 + nc � b(n � lk�1))D, which isnegative. If the number of batches before batch Bk is 0,i.e., lk�1 = 0, then d may be equal to 0 or t.

Therefore, in both cases, we can find a schedule with property(2) that is better than S, as required. h

Lemma 3.1 indicates that the jobs in any batch are either allearly or all tardy. We call the batch containing only early jobs anearly batch and the batch containing only tardy jobs a tardy batch.

Now given an arbitrary fixed job sequence {J[1], J[2], . . . , J[n]} thatsatisfies Lemma 3.1, assume that the job sequence is partitionedinto m batches B1 ¼ fJ½1�; . . . ; J½l1 �g, B2 ¼ fJ½l1þ1�; . . . ; J½l2 �g; . . ., andBm ¼ fJ½lm�1þ1�; . . . ; J½lm �g, where li denotes the number of jobs in thefirst i batches for i = 1, 2, . . . , m, with l0 = 0 and lm = n, soDj ¼

Plik¼1p½k� for j 2 fJ½li�1þ1�; . . . ; J½li �g and i = 1, 2, . . . , m. Denote the

number of jobs in Bk by jBkj. Let u denote the index of the batchwhose delivery date coincides with the common due date withu = 0, 1, . . . , m, and v denote the position of the job just beforewhich the rate-modifying activity is performed with v = 1, 2, . . . ,n + 1, where u = 0 means that the number of early jobs is 0 andv = n + 1 denotes that the rate-modifying activity is not performed.Next we analyze the problem for given positions of the commondue date and the rate-modifying activity.

Lemma 3.2. Given values of u and v, the objective (1) can bere-formulated as

ZðS; d; rm;BÞ ¼ n minfb; cgt þ bXm

k¼1

ðn� lk�1ÞXlk

j¼lk�1þ1

w½j�p½j�

þ hXm

k¼1

Xlk

j¼lk�1þ1

ðj� 1� lk�1Þw½j�p½j�

0@

1Aþmd; ð2Þ

if u = 0 and v = 1;

ZðS; d; rm;BÞ ¼Xu

k¼1

ðalk�1 þ ncÞPk þ ðals�1 þ ncþ v � ls�1 � 1Þt

þ bXm

k¼uþ1

ðn� lk�1ÞPk þ hXs�1

k¼1

Xlk

j¼lk�1þ1

ðj� 1� lk�1Þp½j�

0@

þXv�1

j¼ls�1þ1

ðj� 1� lk�1Þp½j� þXls

j¼vðj� 1� lk�1Þw½j�p½j�

þXm

k¼sþ1

Xlk

j¼lk�1þ1

ðj� 1� lk�1Þw½j�p½j�

1Aþmd; ð3Þ

if ls�1 < v 6 ls (1 6 s 6 u);

ZðS; d; rm;BÞ ¼Xu

k¼1

ðalk�1 þ ncÞXlk

j¼lk�1þ1

p½j� þ bXm

k¼uþ1

ðn� lk�1Þ

Xlk

j¼lk�1þ1

p½j� þ hXm

k¼1

Xlk

j¼lk�1þ1

ðj� 1� lk�1Þp½j�

0@

1Aþmd;

ð4Þ

if v = n + 1; and

ZðS; d; rm;BÞ ¼Xu

k¼1

ðalk�1 þ ncÞPk þ ðbðn� ls�1Þ þ v � ls�1 � 1Þt

þ bXm

k¼uþ1

ðn� lk�1ÞPk þ hXs�1

k¼1

Xlk

j¼lk�1þ1

ðj� 1� lk�1Þp½j�

0@

þXv�1

j¼ls�1þ1

ðj� 1� lk�1Þp½j� þXls

j¼vðj� 1� lk�1Þw½j�p½j�

þXm

k¼sþ1

Xlk

j¼lk�1þ1

ðj� 1� lk�1Þw½j�p½j�

1Aþmd;

if ls�1 < v 6 ls (u < s 6m), where Pk denotes the total processing time ofthe jobs in batch Bk, i.e.

226 Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234

Pk ¼

Plkj¼lk�1þ1

p½j� k ¼ 1; . . . ; s� 1;

Pv�1

j¼ls�1þ1p½j� þ

Plsj¼v

w½j�p½j� k ¼ s;

Plkj¼lk�1þ1

w½j�p½j� k ¼ sþ 1; . . . ; m:

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

Proof. We only prove the result for the case ls�1 < v 6 ls (1 6 s 6 u).The other cases can be similarly proved. By Eq. (1), we have

ZðS;d; rm;BÞ ¼Xm

k¼1

jBkjða maxf0;Clu � Clkg þ b maxf0; Clk � ClugÞ

þ hXn

j¼1

ðDj � CjÞ þ ncClu þmd;

¼aXs�1

k¼1

jBkjXv�1

j¼lkþ1

p½j� þ tþXlu

j¼vw½j�p½j�

0@

1Aþa

Xu�1

k¼s

jBkjXlu

j¼lkþ1

w½j�p½j�

0@

1A

þbXm

k¼uþ1

jBkjXlk

j¼luþ1

w½j�p½j�

!þh

Xs�1

k¼1

Xlk

j¼lk�1þ1

ðj�1� lk�1Þp½j�

0@

þðv� ls�1�1ÞtþXv�1

j¼ls�1þ1

ðj�1� lk�1Þp½j� þXls

j¼vðj�1� lk�1Þw½j�p½j�

þXm

k¼sþ1

Xlk

j¼lk�1þ1

ðj�1� lk�1Þw½j�p½j�

1Aþnc

Xv�1

j¼1

p½j� þ tþXlu

j¼vw½j�p½j�

!þmd;

¼Xs�1

k¼1

ðalk�1þncÞXlk

j¼lk�1þ1

p½j�

0@

1Aþðals�1þcÞ

Xv�1

j¼ls�1þ1

p½j� þ tþXls

j¼vw½j�p½j�

!

þXu

k¼sþ1

ðalk�1þncÞXlk

j¼lk�1þ1

w½j�p½j�

0@

1Aþb

Xm

k¼uþ1

ðn� lk�1ÞXlk

j¼lk�1þ1

w½j�p½j�

0@

1A

þhXs�1

k¼1

Xlk

j¼lk�1þ1

ðj�1� lk�1Þp½j� þ ðv� ls�1�1ÞtþXv�1

j¼ls�1þ1

ðj�1� lk�1Þp½j�

0@

þXls

j¼vðj�1� lk�1Þw½j�p½j� þ

Xm

k¼sþ1

Xlk

j¼lk�1þ1

ðj�1� lk�1Þw½j�p½j�Þþmd:

By simple algebra, we obtain the result. h

As a consequence of Lemma 3.2, we have the following result.

Lemma 3.3. Given values of u and v,

(1) the objective value of the problem is minimized if s = 1 andv = ls�1 + 1, i.e., performing the rate-modifying activity at time0, under the condition that ls�1 < v 6 ls and 1 6 s 6 u.

(2) the objective value of the problem will decrease if the rate-mod-ifying activity is performed just before the first job in sometardy batch, under the condition that ls�1 < v 6 ls and u < s 6m.

Proof. We only prove (1). (2) can be similarly proved. Assume thatls�1 < v 6 ls and 1 6 s 6 u for given values of u and v. Firstly, for agiven value of s, it follows from Eq. (3) that the difference betweenthe objective values of the two cases, where v = ls�1 + 1 andls�1 + 1 < v = v0 6 ls is

D ¼Xv 0�1

ðj� 1� lk�1Þðw½j� � 1Þp½j� 6 0;

j¼ls�1þ1

implying that performing the rate-modifying activity just before thefist job of some early batch, i.e., v ¼ l0s�1 þ 1 for some s0 such that1 6 s0 6 u, will decrease the objective value. Next, assume that therate-modifying activity is performed before the first job of someearly batch s, then it follows from Eq. (3) that the difference be-tween the objective values of the two cases where s = 1 and1 < s = s0 6 u is D ¼ �als0�1t < 0; as required. h

The next result gives a property of the early batches.

Lemma 3.4. For the problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj þ hHj

þcdÞ þ dm, there exists an optimal schedule in which there is at mostone early batch.

Proof. Suppose that there exists an optimal schedule S satisfyingLemma 3.1 that has at least two early batches Bk ¼ fJ½lk�1þ1�;

J½lk�1þ2�; . . . ; J½lk �g and Bkþ1 ¼ fJ½lkþ1�; J½lkþ2�; . . . ; J½lkþ1 �g. Now consider anew schedule S0 constructed by combining batches Bk and Bk+1 intoone batch fJ½lk�1þ1�; J½lk�1þ2�; . . . ; J½lk �; J½lkþ1�; J½lkþ2�; . . . ; J½lkþ1 �g. By Eq. (5),the difference between the objective values of schedules S0 and S is

D¼alk�1ðPkðSÞþPkþ1ðSÞÞ�alk�1PkðSÞ�alkPkþ1ðSÞþhjBkjPkþ1ðSÞ�d

¼ðh�aÞjBkjPkþ1ðSÞ�d:

Since h 6 a, we have D < 0. Therefore, S0 is a better schedulethan S. Repeating this combining argument for the early batchesyields the result. h

By Lemmas 3.2–2.4, we have the following result.

Lemma 3.5. For the problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj þ hHj

þcdÞ þ dm, it is optimal to perform the rate-modifying activity eitherjust before the first job or just before the first job in some tardy batchin any schedule.

As a consequence of Lemma 3.4, the common due date d equalseither to 0 or t, or it coincides with the delivery date of the firstbatch (the early batch). By Lemma 3.5, we only need to considerthe cases where v = li + 1 (i = 0,1,2, . . . ,m). So Eqs. (2)–(5) can bere-formulated as

ZðS;d;rm;BÞ¼

nminfc;dgtþbPm

k¼uþ1ðn� lk�1ÞPkþmd

þhPmk¼1

Plkj¼lk�1þ1

ðj� lk�1�1Þw½j�p½j� if u¼0 and v ¼1;

ncðPuþ tÞþbPm

k¼uþ1ðn� lk�1ÞPkþmd

þhPmk¼1

Plkj¼lk�1þ1

ðj� lk�1�1Þw½j�p½j� if u¼1 and v ¼1;

ncPuþbPm

k¼uþ1ðn� lk�1ÞPkþbðn� liÞtþmd

þhPi

k¼1

Plkj¼lk�1þ1

ðj� lk�1�1Þp½j�

þPm

k¼iþ1

Plkj¼lk�1þ1

ðj� lk�1�1Þw½j�p½j�

!if v ¼ liþ1ði P 1Þ;

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

ð6Þwhere u = 0 or u = 1 and

Pk ¼

Plkj¼lk�1þ1

p½j�; if lk < v;

Plkj¼lk�1þ1

w½j�p½j�; if v 6 lk;

8>>>><>>>>:

k ¼ 1; 2; . . . ; m:

As a consequence of Lemmas 3.1 and 3.5, we can restrict ourattention to schedules without idle times except the rate-modify-ing activity and search for the optimal schedule only among

Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234 227

schedules in which the optimal due date is either 0 or t, or coin-cides with the delivery date of the first batch (the early batch),and the optimal time for the rate-modifying activity is either 0 orthe starting time of the first job in some tardy batch.

The following result presents the optimal properties of the jobsin any batch.

Lemma 3.6. For the problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj þ hHj

þcdÞ þ dm, an optimal schedule exists that possesses the followingproperty: if the rate-modifying activity is performed just before thefirst job in the kth batch, then the jobs in the batch Bi (1 6 i < k) aresequenced in a nonincreasing order of pj and the jobs in the batch Bi

(k 6 i 6m) are sequenced in nonincreasing order of wjpj.

Proof. The proof is similar to that of Lemma 2 in Shabtay(2010). h

Lemma 3.7. For the problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj þ hHj

þcdÞ þ dm, an optimal schedule exists such that there is no early jobif b 6 c.

Proof. Suppose that there exists an optimal schedule S satisfyingLemmas 3.1 and 3.4, 3.5, 3.6 such that there exists an early batchB1. Consider a new schedule S0 that is exactly the same as S withthe exception that we let d = d � P1(S). By Eq. (6), the differencebetween the objective values of schedules S0 and S is

D ¼ nbP1ðSÞ � ncP1ðSÞ ¼ nðb� cÞP1ðSÞ 6 0;

which implies that S0 is at least as good as schedule S, as requir-ed. h

Let (up)min = min{w1p1,w2p2, . . . ,wnpn}, wmin = min{w1,w2, . . . ,wn}, and pmax = max{p1,p2, . . . ,pn}. Let dxe and bxc denote the leastinteger greater than or equal to x, and the largest integer less thanor equal to x, respectively. We have the following result.

Lemma 3.8. For the problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj þ hHj

þcdÞ þ dm, an optimal schedule exists such that the number of earlyjobs l1 is either 0 or satisfies

nðbumin � cÞbþ h

� �6 l1 6

nðb� cÞbþ h

þ dþ btðbþ hÞðwpÞmin

� �þ 1:

Proof. Suppose that there exists an optimal schedule S satisfyingLemmas 3.1 and 3.4, 3.5, 3.6 such that the number of early jobs

l1 satisfies nðbumin�cÞbþh

l m> l1 P 1 or l1 >

nðb�cÞbþh þ

dþbtðbþhÞðwpÞmin

j kþ 1. With-

out loss of generality, we further suppose that srm ¼ d ¼ C½l1 �. Theother cases for performing the rate-modifying activity can be sim-ilarly proved. There are two cases to consider.

Case 1: 1 6 l1 <nðbumin�cÞ

bþh

l m. For this case, consider a new sche-

dule S0 that is exactly the same as S with the exceptionthat we let srm ¼ d ¼ C½l1þ1�. By Eq. (6), the differencebetween the objective values of schedules S0 and S is

D ¼ ncp½l1þ1� þ bðn� l1 � 1ÞðP2ðSÞ � w½l1þ1�p½l1þ1�Þ � bðn� l1ÞP2ðSÞ þ hðl1p½l1þ1� � ðP2ðSÞ � w½l1þ1�p½l1þ1�ÞÞ � bt

¼ ncp½l1þ1� � nbw½l1þ1�p½l1þ1� þ bl1w½l1þ1�p½l1þ1� þ hl1p½l1þ1� � ðbþ hÞðP2ðSÞ � w½l1þ1�p½l1þ1�Þ � bt

6 �nðbw½l1þ1� � cÞp½l1þ1� þ l1ðbþ hÞp½l1þ1�;

which implies that S0 is a better schedule than S since

l1 <nðbumin�cÞ

bþh

l m. Note that the number of early jobs in S0 is l1 + 1. If

l1 þ 1 < nðbumin�cÞbþh

l m, then we can similarly change S0 to another sche-

dule with number of early jobs equal to l1 + 2. Repeating this, wecan finally obtain a schedule with number of early jobs equal to

nðbumin�cÞbþh

l m.

Case 2: l1 >nðb�cÞ

bþh þ dðbþhÞðwpÞmin

j kþ 1. For this case, consider a new

schedule S0 that is exactly the same as S with the excep-tion that we let srm ¼ d ¼ C½l1�1� and deliver job J½l1 � at C½l1 �,i.e., letting the first tardy batch contain only job J½l1 �. ByEq. (6), the difference between the objective values ofschedules S0 and S is

D ¼ nðb� cÞw½l1 �p½l1 � � l1ðbþ hÞw½l1 �p½l1 � þ ðbþ hÞw½l1 �p½l1 � þ d

þ bt;

which is negative since l1 >nðb�cÞ

bþh þdþbt

ðbþhÞðwpÞmin

j kþ 1, implying that S0

is a better schedule than S. Note that the number of early jobs in S0 is

l1 � 1. If l1 � 1 > nðb�cÞbþh þ

dþbtðbþhÞðwpÞmin

j kþ 1, then we can similarly

change S0 to another schedule with number of early jobs equal tol1 � 2. Repeating this, we can finally obtain a schedule with number

of early jobs equal to nðb�cÞbþh þ

dþbtðbþhÞðwpÞmin

j kþ 1.

Summing up the above analysis, the result follows. h

The following result presents a property on the sizes of the tar-dy batches.

Lemma 3.9. For the problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj þ hHj

þcdÞ þ dm, an optimal schedule exits such that

jBkj 6ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

4dðbþ hÞðwpÞmin

þ 1

s$ %

for any tardy batch Bk.

Proof. Suppose that there exists an optimal schedule S satisfying

Lemmas 3.1 and 3.4, 3.5, 3.6 with a tardy batch Bk such that

jBkj >ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

4dðbþhÞðwpÞmin

þ 1qj k

. Assume that the rate-modifying activity

is performed before just the first job in Bk. The other cases for per-forming the rate-modifying activity can be similarly proved.

Clearly, jBkjP 2. Let l ¼ jBk j2 if jBkj is even, and l ¼ jBk j�1

2 otherwise.

Now consider a new schedule S0 constructed by splitting bath Bk

into two batches fJ½lk�1þlþ2�; J½lk�1þlþ3�; � � � ; J½lk �g and fJ½lk�1þ1�;

J½lk�1þ2�; � � � ; J½lk�1þlþ1�g. By Eq. (6), the difference between the objec-tive values of schedules S0 and S is

D ¼ �bðjBkj � lÞXlk�1þl

j¼lk�1þ1

w½j�p½j� � hlXlk

j¼lk�1þlþ1

w½j�p½j� þ d

6 �ðjBkj � lÞlðbþ hÞðwpÞmin þ d:

Now, if Bk is even, then ðjBkj � lÞl ¼ jBk j24 ; Otherwise, ðjBkj � lÞl

¼ jBk j2�14 . Since jBkj >

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi4d

ðbþhÞðwpÞminþ 1

qj k, we have

ðjBkj � lÞlðbþ hÞðwpÞmin PjBkj2 � 1

4ðbþ hÞðwpÞmin > d;

implying that D < 0. Therefore, S0 is a better schedule than S, as re-quired. h

228 Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234

Next, for any given schedule S = {J[1], J[2], . . . , J[n]} satisfying Lem-ma 3.1, we develop an algorithm to determine the optimal posi-tion of the job whose completion time coincides with thecommon due date, l1; the optimal position of the job just beforewhich the rate modifying activity is performed, v (1 6 v 6 n + 1);and the optimal partition of the job sequence into batches. Forj < l 6 n + 1, let Fðl1 ;vÞðj; lÞ denote the minimum partial value ofthe objective value given by Eq. (6) for a partial schedule thatincludes jobs J[j], J[j+1], . . . , J[n], assuming that the partial sequenceincludes {J[j], J[j+1], . . . , J[l�1]} in the same batch and continues withanother batch starting with job J[l], and that there are exactly l1early jobs and the rate-modifying activity is performed just beforethe vth job. If l = n + 1, then the second batch is assumed to beempty and the jobs J[j], J[j+1], . . . , J[n] are all included in the same (fi-nal) batch. For 1 6 j 6 n, let Fðl1 ;vÞðjÞ denote the minimum partialobjective value for a partial schedule that includes the jobs J[j],J[j+1], . . . , J[n], assuming that there are exactly l1 early jobs andthe rate-modifying activity is performed just before the vth job.Fðl1 ;vÞðjÞ can be recursively calculated in the backward order as ex-plained below, i.e., Fðl1 ;vÞðjÞ ¼minl>jFðl1 ;vÞðj; lÞ.

Based on the above analysis, we give a dynamic programmingrecursion as follows:

Algorithm 1.

Denote L ¼ nðbumin�cÞbþh

l m, R ¼ nðb�cÞ

bþh þdþbt

ðbþhÞðwpÞmin

j kþ 1, and

B ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

4dðbþhÞðwpÞmin

þ 1qj k

.

(1) Initial values:Fðl1 ;vÞðjÞ ¼ þ1 if (l1,v, j, l) does not satisfies l1 = 0 ormaxfL;1g 6 l1 6minfR;ng;l1 < j 6 n; j < l 6 minfjþ B;nþ 1g, v = 1 or 0 < l1 < v 6 n + 1, and v 6 j orv P l.

Fðl1 ;vÞðnþ 1Þ ¼nc

Pl1k¼1w½k�p½k�

� �þ n minfc;bgt þ d if l1 ¼ 0 and v ¼ 1;

ncPl1

k¼1w½k�p½k� þ t� �

þ d if l1 P 1 and v ¼ 1;

ncPl1

k¼1p½k� þ bðn� v þ 1Þt þ d if 0 < l1 < v 6 nþ 1:

8>>><>>>:

(2) Recursive relations:For l1 = 0 or max{L,1} 6 l1 6min{R,n}, and v = 1 or 0 < l1 < v 6 n + 1:For l1 < j 6 n and j < l 6 minfjþ B;nþ 1g:Fðl1 ;vÞðjÞ ¼minj<l6minfjþB;nþ1gFðl1 ;vÞðj; lÞ,

Fðl1 ;vÞðj; lÞ¼

bðn� jþ1ÞPl�1

k¼jw½k�p½k�

þhPl�1

k¼jðk� jÞwkpkþdþFðl1 ;vÞðlÞ if v ¼1 or l1 <v 6 j;

bðn� jþ1ÞPl�1

k¼jp½k�

þhPl�1

k¼jðk� jÞpkþdþFðl1 ;vÞðlÞ if l6v:

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

ð7Þ

While calculating the value of the termPl�1

k¼jðk� jÞwkpk andPl�1k¼jðk� jÞpk in Eq. (7), we (locally) re-number the jobs {J[j], J[j+1],

. . . , J[l�1]} in nonincreasing order of wkpk and pk, respectively, tomake sure that the value of the constructed schedule is indeedthe minimum. This re-numbering process is invoked only for inter-nal calculation of this term, while for all the other purposes wekeep the original numbering as is. Note that if the jobs{J[j], J[j+1], . . . , J[l�1]} are already numbered in the specified order,

then the re-numbering of the jobs {J[j�1], J[j], J[j+1], . . . , J[l�1]} in the re-quired order can be performed in O(logn) time, which is then thetime required to calculate each Fðl1 ;vÞðj; lÞ value.

(3) The optimal solution value is F� ¼minfFðl1 ;vÞðl1 þ 1Þjl1 ¼ 0 ormaxfL;1g 6 l1 6 minfR;ng, and v ¼ 1 or 0 < l1 < v 6 nþ 1g. Let l�1and v⁄ be the corresponding values. The optimal common due dated is the completion time of the l�1th job in the optimal schedule if l�1,and 0 or t otherwise, and it is optimal to perform the rate-modify-ing activity just before the v⁄th job. The optimal partition of thejobs into batches is determined by tracing the solution backwardsfrom the end.

Theorem 3.10. Algorithm 1 optimally solves the problem 1jrm;bfB;CONj

Pnj¼1ðaEj þ bTj þ hHj þ cdÞ þ dm with a given job sequence

in O(n4 logn) time.

Proof. Optimality is guaranteed by Lemmas 3.1, 3.2, 3.3, 3.4, 3.5,3.6, 3.7, 3.8, 3.9 and the principles underlying dynamic program-ming. We now consider the computational complexity of thedynamic programming solution algorithm. Steps 1 and 3 requireslinear time. In Step 2 we have at most n4 states, while calculatingthe value of each state takes O(logn) time. Thus, Step 2 can be per-formed in O(n4 logn) time. Therefore, the overall time complexityof Algorithm 1 is indeed O(n4 logn). h

Although the above algorithm determines the optimal partition,for any given job sequence, in polynomial time, the remainingchallenges of the problem are to determine the optimal job se-quence or to find out whether the problem is NP-hard. In the nextsection we discuss some important special cases, for which we areable to give polynomial time solution algorithms.

4. Polynomially solvable special cases

4.1. The case with identical modifying rates

In this subsection we first investigate a special case where thejobs have equal modifying rates, i.e., wj = w, and w1 6 w < 1,where w1 ¼maxf1� ðbtÞ=ððbnþ hBÞpmaxÞ;0g, and show that thiscase, denoted as 1jrm;B;CON;w1 6 wj ¼ w < 1j

Pnj¼1ðaEj þ bTj

þhHj þ cdÞ þdm, is solvable in O(n6) time by a dynamic program-ming algorithm. We then show that the problem 1jrm;B;CON;w1 6 wj ¼ w < 1j

Pnj¼1ðaEj þ bTj þ hHj þ cdÞ þ dm is solvable in

O(n4) time if n(b � c) 6 2b � h. We begin with providing two use-ful lemmas.

Lemma 4.1. For the problem 1jrm;B;CON;w1 6 wj ¼ w < 1jPn

j¼1ðaEj þ bTj þ hHj þ cdÞ þ dm, the jobs in any two consecutive tardybatches Bk and Bk+1 satisfy pi 6 pj if Ji is in Bk and Jj is in Bk+1.

Proof. Because of Lemma 3.6, the condition of Lemma 4.1 holds foran optimal schedule if and only if pi 6 pj, where Ji is the first job inBk and Jj is the last job in Bk+1. Now suppose that there exists anoptimal schedule S such that pi > pj, where Ji is the first job in Bk

and Jj is the last job in Bk+1. Without loss of generality, suppose thatthe rate-modifying activity is performed just before the first job inBk+1. The other cases for performing the rate-modifying activity canbe similarly proved. We split the proof into two cases.

Case 1: jBkj > jBk+1j � 1. For this case, consider a new schedule S0

constructed by swapping jobs Ji and Jj. By Eq. (6), the dif-ference between the objective values of schedules S0 andS is

Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234 229

D¼ �bðn� lk�1Þðpi�pjÞþbðn� lkÞðpi�pjÞw

þhðjBkþ1j�1Þðpi�pjÞw

6bð�lkþ lk�1Þðpi�pjÞw

þhðjBkþ1j�1Þðpi�pjÞw¼

ðhðjBkþ1j�1Þ�bjBkjÞðpi�pjÞw;

which is negative, since b P h, jBkj > jBk+1j � 1 and pi > pj.

Case 2: jBkj 6 jBk+1j � 1. For this case, consider a new schedule S0

constructed by placing job Jj in the last position of Bk. ByEq. (6), the difference between the objective values ofschedules S0 and S is

D¼ bðn� lk�1Þpj�bPkþ1ðSÞ�bðn� lk�1ÞpjwþhjBkjpj

�hðjBkþ1j�1Þpjw�bt

6bnpj�blk�1pjw�bjBkþ1jpjw�bðn� lk�1ÞpjwþhjBkjpj

�hðjBkþ1j�1Þpjw�bt

¼ðbnþhjBkjÞpjð1�wÞþðhþbÞððjBkjþ1Þ� jBkþ1jÞpjw�bt:

Since jBkj 6 B and max 1� btðbnþhBÞpmax

;0n o

6 w, we have (bn + hjBkj)pj(1 � w) 6 bt, implying that D is nonpositive since jBkj 6 jBk+1j � 1.

Thus, in both cases, schedule S0 is at least as good as S. Repeatingthis modifying argument for all the jobs not sequenced in thespecified order yields the result. h

Lemma 4.2. For the problem 1jrm;B;CON;w1 6 wj ¼ w < 1jPn

j¼1ðaEj

þbTj þhHj þ cdÞ þ dm, an optimal schedule exists such thatjBkjP jBk+1j for any two consecutive batches Bk and Bk+1.

Proof. Without loss of generality, assume that there is at leastone early job, implying that b > c by Lemma 3.7. We first showthat in any optimal schedule, jB1jP jB2j. Now suppose that thereexists an optimal schedule S such that jB1j < jB2j. Furthermore,suppose that the rate-modifying activity is performed just beforethe first job in B2. The other cases for performing the rate-modi-fying activity can be similarly proved. Consider a new schedule S0

constructed by placing the last job Jj in B2 in the last position ofB1. By Eq. (6), the difference between the objective values ofschedules S0 and S is

D¼ncpj�bP2ðSÞ�bðn� l1�1ÞpjwþhjB1jpj�hðjB2j�1Þpjw�bt

6ncpj�bjB2jpjw�bðn� l1�1ÞpjwþhjB1jpj�hðjB2j�1Þpjw�bt

¼ðnc�bðnþjB2j� jB1j�1ÞÞwpjþhðjB1j�ðjB2j�1ÞÞpjw

þðncþhjB1jÞð1�wÞpj�bt;

which is nonpositive, since jB1j < jB2j, b > c, and maxf1� ðbtÞ=ðbnþhBpmaxÞ;0g 6 w < 1. Therefore, schedule S0 is at least as good asS. Repeating this modifying argument until jB1jP jB2j yields theresult.

Given an optimal schedule S with two consecutive tardybatches Bk and Bk+1 such that jBkj < jBk+1j. By the proof of Case 2in Lemma 4.1, moving one job from jBk+1j into jBk+1j does notincrease the objective value. Repeating this modifying argumentuntil jBkjP jBk+1j yields the result. h

Now suppose that the jobs are indexed in the shortest process-ing time (SPT) order. We next provide a recursion relation that canbe exploited to design a polynomial dynamic programming algo-rithm for the problem 1jrm;B;CON;w1 6 wj ¼ w < 1j

Pnj¼1ðaEj

þbTj þ hHj þ cdÞ þ dm. We begin with introducing some notationthat will be used later:ði; j; a; bÞðl1 ;vÞ: a state representing the situation where the jobs

{1, . . . , i} have been scheduled, provided that in the final optimalschedule for the whole job set N, there are exactly l1 early jobsand the rate-modifying activity is scheduled just before the vthjob, and that in the current partial schedule for jobs {1, . . . , i}, thereare j (j 6min{i, l1}) early jobs and there are b jobs in the current lasttardy batch, which will contain exactly a jobs in the final optimalschedule for N.

Fðl1 ;vÞði; j; a; bÞ: the optimal solution value of any schedule instate ði; j; a; bÞðl1 ;vÞ.

Sðl1 ;vÞði; j; a; bÞ: any schedule in state ði; j; a; bÞðl1 ;vÞ with the solu-tion value Fðl1 ;vÞði; j; a; bÞ.

pðl1 ;vÞði; j; a; bÞ: the position number of job Ji in the final optimalschedule for the whole job set N if the jobs {1, . . . , i} are scheduledcorresponding to Fðl1 ;vÞði; j; a; bÞ. This function is used to keep trackof the positions of the jobs in the optimal schedule.

sðl1 ;vÞði; j; a; bÞ: a binary variable, i.e., sðl1 ;vÞði; j; a; bÞ ¼ 1 if job Ji isthe last job in the current last tardy batch corresponding toFðl1 ;vÞði; j; a; bÞ, and sðl1 ;vÞði; j; a; bÞ ¼ 0 otherwise. This function isused to indicate where tardy batches are formed in the optimalschedule.

By definition, we set Fðl1 ;vÞði; j; a; bÞ ¼ þ1 if no such scheduleexists. Then the schedule Sðl1 ;vÞði; j; a; bÞ must have been con-structed by taking one of the following three decisions in a previ-ous state.

(1) Job Ji is an early job. In this case, Ji must be currently the firstearly job and Sðl1 ;vÞði; j; a; bÞ must have been obtained fromschedule Sðl1 ;vÞði� 1; j� 1; a; bÞ. Since there will be exactlyl1 early jobs in the final optimal schedule for the whole jobset N and there are j early jobs currently, job Ji will be the(l1 � j + 1)th early job in the final optimal schedule, sopðl1 ;vÞði; j; a; bÞ ¼ l1 � jþ 1.

(2) Job Ji is assigned to the last tardy batch currently containingat least b P 2 jobs. In this case, Sðl1 ;vÞði; j; a; bÞmust have beenobtained from schedule Sðl1 ;vÞði� 1; j; a; b� 1Þ; job Ji is cur-rently the first job in the current last tardy batch, but it willbe the (a � b + 1)th job in this batch in the final optimalschedule for N; and there are l1 + i � j � b jobs processedbefore the current last tardy batch in the final optimal sche-dule for N since there will be l1 early jobs and i � j � b tardyjobs before it, implying that pðl1 ;vÞði; j; a; bÞ ¼ l1 þ i� jþ a�2bþ 1.

(3) Job Ji is assigned to the last tardy batch currently containingonly one job, i.e., Ji is currently the only job in the current lasttardy batch. In this case, Sðl1 ;vÞði; j; a;1Þ must have beenobtained from schedule Sðl1 ;vÞði� 1; j; s; sÞ with minimumsolution value Fðl1 ;vÞði� 1; j; s; sÞ for s P a; job Ji will be theath job in this batch in the final optimal schedule for N;and there are l1 + i � j � 1 jobs processed before the currentlast tardy batch in the final optimal schedule for N sincethere will be l1 early jobs and i � j � 1 tardy jobs before it,so pðl1 ;vÞði; j; a; bÞ ¼ l1 þ i� jþ a� 1.

Based on the above analysis, we give a dynamic programmingrecursion as follows:

230 Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234

Algorithm 2.

Denote L ¼ nðbu�cÞbþh

l m, R ¼ nðb�cÞ

bþh þdþbt

ðbþhÞpminw

j kþ 1, and B ¼

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi4d

ðbþhÞpminwþ 1qj k

. Re-number the jobs in a nondecreasing order of pj.

(1) Initial conditions(a) If one of the following conditions holds:

(i) (l1,v, i, j,a,b) does not satisfies l1 = 0 or max{L,1} 6 l1 6min{R,n}, v = 1 or 0 < l1 < v 6 n + 1, 1 6 i 6 n, 0 6 j 6min{i, l1}, 0 6 a 6 minfn� l1;Bg and0 6 b 6min{i � j,a},

(ii) l1 P 1, 1 6 a 6minfn� l1;Bg, l1 + 1 < v 6 l1 + a, i = b = 1 and j = 0,(iii) max{L,1} 6 l1 6min{R,n} and l1 + i � j � b + 1 < v 6 l1 + i � j � b + a, then

Fðl1 ;vÞði; j; a; bÞ ¼ þ1; pðl1 ;vÞði; j; a; bÞ ¼ ;; iðl1 ;vÞði; j; a; bÞ ¼ ;:

(b) If a = 0, l1 P 1, and v = 1 or l1 < v 6 n + 1, then

Fðl1 ;vÞð1;1;0;0Þ ¼ðl1 � 1Þhwp1 þ ncðwp1 þ tÞ þ d; if v ¼ 1ðl1 � 1Þhp1 þ ncp1 þ bðn� v þ 1Þt þ d; if v > l1

pðl1 ;vÞð1;1;0;0Þ ¼ l1; iðl1 ;vÞð1;1;0;0Þ ¼ 0

(c) If 1 6 a 6minfn� l1;Bg, l1 P 0, v = 1 or v = l1 + 1 or l1 + a < v 6 n + 1, then

Fðl1 ;vÞð1;0; a;1Þ ¼

ða� 1Þhwp1 þ nbwp1 þ 2dþ n minfc; bgt; if l1 ¼ 0 and v ¼ 1ða� 1Þhwp1 þ ðn� l1Þbwp1 þ 2dþ nct; if l1 P 1 and v ¼ 1ða� 1Þhwp1 þ ðn� l1Þbwp1 þ bðn� v þ 1Þt þ 2d; if l1 P 1 and v ¼ l1 þ 1ða� 1Þhp1 þ ðn� l1Þbp1 þ bðn� v þ 1Þt þ 2d; if v > l1 þ a

8>>><>>>:

pðl1 ;vÞð1;0; a;1Þ ¼ l1 þ a; iðl1 ;vÞð1;0; a;1Þ ¼ 1:

(2) Recursive relations

For l1 = 0 or max{L,1} 6 l1 6min{R,n}, 2 6 i 6 n, 0 6 j 6 minfi; l1g; 0 6 a 6minfn� l1;Bg and 0 6 b 6min{i � j,a}:

(a) For 2 6 b 6min{i � j,a}:For v 6 l1 + i � j � b + 1:

Fðl1 ;vÞði; j; a; bÞ ¼minFðl1 ;vÞði� 1; j� 1; a; bÞ þ ðl1 � jÞhwpi þ ncwpi; ð� XÞFðl1 ;vÞði� 1; j; a; b� 1Þ þ ða� bÞhwpi þ ðn� l1 � iþ jþ bÞbwpi

(

pðl1 ;vÞði; j; a; bÞ ¼l1 � jþ 1; if Fðl1 ;vÞði; j; a; bÞ ¼ Xl1 þ aþ i� j� 2bþ 1; otherwise

iðl1 ;vÞði; j; a; bÞ ¼ 0:

For v > l1 + i � j � b + a:

Fðl1 ;vÞði; j; a; bÞ ¼minFðl1 ;vÞði� 1; j� 1; a; bÞ þ ðl1 � jÞhpi þ ncpi; ð� YÞFðl1 ;vÞði� 1; j; a; b� 1Þ þ ða� bÞhpi þ ðn� l1 � iþ jþ bÞbpi

(

pðl1 ;vÞði; j; a; bÞ ¼l1 � jþ 1; if Fðl1 ;vÞði; j; a; bÞ ¼ Y ;

l1 þ aþ i� j� 2bþ 1; otherwise

iðl1 ;vÞði; j; a;1Þ ¼ 0:

(b) For b = 1:For v 6 l1 + i � j:

Fðl1 ;vÞði; j; a;1Þ ¼minFðl1 ;vÞði� 1; j� 1; a;1Þ þ ðl1 � jÞhwpi þ ncwpi; ð� UÞmincPafFðl1 ;vÞði� 1; j; c; cÞg þ ða� 1Þhwpi þ ðn� l1 � iþ jþ 1Þbwpi þ d

(

pðl1 ;vÞði; j; a;1Þ ¼l1 � jþ 1; if Fðl1 ;vÞði; j; a;1Þ ¼ Ul1 þ aþ i� j� 1 otherwise:

iðl1 ;vÞði; j; a;1Þ ¼0 if Fðl1 ;vÞði; j; a;1Þ ¼ U1 otherwise

For v > l1 + i � j � 1 + a:

Fðl1 ;vÞði; j; a;1Þ ¼minFðl1 ;vÞði� 1; j� 1; a;1Þ þ ðl1 � jÞhpi þ ncpi; ð� VÞmincPafFðl1 ;vÞði� 1; j; c; cÞg þ ða� 1Þhpi þ ðn� l1 � iþ jþ 1Þbpi þ d

(

pðl1 ;vÞði; j; a;1Þ ¼l1 � jþ 1; if Fðl1 ;vÞði; j; a;1Þ ¼ V ;

l1 þ aþ i� j� 1; otherwise:

iðl1 ;vÞði; j; a;1Þ ¼0; if Fðu;vÞði; j; a;1Þ ¼ V ;

1; otherwise

(3) The optimal solution value is F� ¼minfFðl1 ;vÞðn; l1; a; aÞjl1 ¼ 0 or maxfL;1g 6 l1 6 minfR;ng;v ¼ 1 or 0 < l1 < v 6 nþ 1;1 6 a 6 minfn� l1;Bgg.

Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234 231

Let l�1, v� and a⁄ be the corresponding values. The optimal se-quence can be obtained by recursively searching the position func-tions pðl�1 ;v�Þði; j; a; bÞ beginning from pðl�1 ;v�Þðn; l

�1; a

�; a�Þ. By Lemma3.1, the optimal schedule is to process the jobs by the optimal se-quence without any idle except the rate-modifying activity. Theoptimal common due date d is the completion time of the l�1thjob in the optimal schedule if l�1 > 0, and 0 or t otherwise, and itis optimal to perform the rate-modifying activity just before thev⁄th job. The optimal batch delivery date of each job can be deter-mined from the batch indicator functions iðl�1 ;v�Þði; j; a; bÞ.

Theorem 4.3. The problem 1jrm;B; CON;w1 6 wj ¼ w < 1jPn

j¼1ðaEj

þbTj þ hHj þ cdÞ þ dm can be solved in O(n6) time by Algorithm 2.

Proof. Optimality is guaranteed by Lemmas 3.1, 3.2, 3.3, 3.4, 3.5,3.6, 3.7, 3.8, 3.9, 4.1, 4.2, and the principles underlying dynamicprogramming. We now consider the computational complexity ofthe dynamic programming solution algorithm. We have at mostn6 states when b P 2 and at most n5 states when b = 1. Computingeach Fðl1 ;vÞði; j; a; bÞ requires constant time when b P 2, while com-puting each Fðl1 ;vÞði; j; a;1Þ requires O(n) time when b = 1, so com-puting all of them requires O(n6) time. Computing F⁄ requireslinear time. The overall computational complexity of the algorithmis therefore dominated by the former quantity. h

Next we further consider the special case when n(b � c) 62b � h.

Lemma 4.4. For the problem 1jrm;B;CON;w1 6 wj ¼ w <

1jPn

j¼1ðaEj þ bTj þ hHj þ cdÞ þ dm, if n(b � c) 6 2b � h, then pi 6 pj

if Ji is in the early batch B1 and Jj is in the first tardy batch B2.

Proof. If there is no early job, the result is clearly true. In thesequel we assume that there are at least one early job. Becauseof Lemma 3.6, the condition of Lemma 4.4 holds for an optimalschedule if and only if pi 6 pj, where Ji is the first job in B1 and Jj

is the last job in B2. Now suppose that there exists an optimal sche-dule S such that pi > pj, where Ji is the first job in B1 and Jj is the lastjob in B2. Without loss of generality, suppose that the rate-modify-

ing activity is performed just before the first job in B2. The othercases for performing the rate-modifying activity can be similarlyproved. Consider a new schedule S0 constructed by swapping jobsJi and Jj. By Eq. (6), the difference between the objective values ofschedules S0 and S is

D ¼ �ncðpi � pjÞ þ bðn� jB1jÞðpi � pjÞwþ hðjB2j � 1Þðpi � pjÞw6 ð�ncþ bðn� jB1jÞ þ hðjB2j � 1ÞÞðpi � pjÞw¼ ððb� cÞn� ðbjB1j � hðjB2j � 1ÞÞÞðpi � pjÞw:

Since b P h, jB1jP jB2j and n(b � c) 6 2b � h, we have bjB1j � h(jB2j � 1) P 2b � h P (b � c)n, implying that D is nonpositive sincepi > pj. Thus, schedule S0 is at least as good as S. Repeating this mod-ifying argument for all the jobs not sequenced in the specifiedorder yields the result. h

Following Theorem 3.10, Lemmas 4.1, and 4.4, the problem1jrm;B;CON;w1 6 wj ¼ w < 1j

Pnj¼1ðaEj þ bTj þ hHj þ cdÞ þ dm is

solvable in O(n4 logn) time if n(b � c) 6 2b � h by applying Algo-rithm 1 to the jobs in sequence S that is in the SPT order. However,since the optimal job sequence follows the SPT order, we do notneed to re-order the jobs in the required order while applying Step2 of Algorithm 1. Rather, we can re-define Fðl;vÞðj; lÞ as follows:

Fðl1 ;vÞðj; lÞ¼

bðn� jþ1ÞwPl�1

k¼jp½k� if v ¼1 or l1 <v 6 j;

þhwPl�1

k¼jðk� jÞp½l�kþj�1� þdþFðl1 ;vÞðlÞ

bðn� jþ1ÞPl�1

k¼jp½k� if l6 v;

þhPl�1

k¼jðk� jÞp½l�kþj�1� þdþFðl1 ;vÞðlÞ

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

which meets the requirement while calculating the holding cost.This allows us to calculate the value of each state in Algorithm 1in a constant time. Based on the above analysis, we have the follow-ing result.

Theorem 4.5. The problem 1jrm;B;CON;w1 6 wj ¼ w < 1jPn

j¼1ðaEj þ bTj þ hHj þ cdÞ þ dm is solvable in O(n4) time if n(b � c)6 2b � h by Algorithm 1 with S that is in the SPT order.

232 Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234

4.2. The case with identical processing times

In this subsection we investigate another special case where thejobs have equal processing times, i.e., pj = p, and show that this spe-cial case, denoted as 1jrm;B;CON; pj ¼ pj

Pnj¼1ðaEj þbTj þ hHj

þcdÞ þ dm, is solvable in O(n5) time. In what follows, suppose thatthe jobs are indexed in a nondecreasing order of wj. If the rate-modifying activity is performed just before the job in position v,then clearly it is optimal to assign the last v � 1 jobs to the firstv � 1 positions, since the processing times of all the jobs beforethe rate-modifying activity are equal. Based on this, we providetwo useful lemmas.

Lemma 4.6. For the problem 1jrm;B;CON; pj ¼ pjPn

j¼1ðaEj þ bTj

þhHj þ cdÞ þ dm, if the rate-modifying activity is performed just beforethe job in position v, then an optimal schedule exists such that the jobs inany two consecutive tardy batches Bk and Bk+1 scheduled after the rate-modifying activity satisfy wi 6wj if Ji is in Bk and Jj is in Bk+1.

Proof. The proof is similar to that of Lemma 4.1. h

Lemma 4.7. For the problem 1jrm;B;CON; pj ¼ pjPn

j¼1ðaEj þ bTj

þhHj þ cdÞ þ dm, if the rate-modifying activity is performed justbefore the job in position v, then an optimal schedule exists such thatjBkjP jBk+1j for any two tardy batches Bk and Bk+1 scheduled before orafter the rate-modifying activity.

Proof. The proof is similar to that of Lemma 4.2. h

Based on the above lemmas, we provide an O(n5) polynomialalgorithm for the problem 1jrm;B;CON; pj ¼ pj

Pnj¼1ðaEj þ bTj

þhHj þ cdÞ þ dm as follows:

Algorithm 3.

Step 1: Re-number the jobs such that w1 6 w2 6 � � � 6 wn.Step 2: For v = 1, apply Algorithm 2 to find the optimal

objective value Fv and the corresponding optimal solution.Step 3: For 1 < v 6 n + 1, we have l1 < v. For this case, schedule

the first n � v + 1 jobs to the last n � v + 1 positions byapplying Algorithm 2, and schedule the last v � 1 jobs tothe first v � 1 positions by applying Algorithm 1. Find theoptimal objective value Fv and the corresponding optimalsolution.

Step 4: The optimal objective value is given bymin{Fvj1 6 l1 6 n + 1}.

Theorem 4.8. Algorithm 3 solves the problem 1jrm;B;CON; pj ¼pjPn

j¼1 ðaEj þbTj þ hHj þ cdÞ þ dm in O(n5) time.

Proof. The correctness of Algorithm 3 follows directly from Lem-mas 4.6 and 4.7. We now consider the computational complexityof the dynamic programming solution algorithm. Step 1 needsO(n logn) time. In Step 2, since v is given, we remove one state var-iable when applying Algorithm 2, so Step 2 requires O(n5) time. InStep 3, for any given v (1 < v 6 n + 1), we have l1 < v, so we removethree state variables and one state variable when applying Algo-rithms 2 and 1 to schedule the first n � v + 1 and the last v � 1 jobs,respectively. Hence Step 3 needs O(n4) time by Theorems 4.3 and4.5. Step 4 needs O(n). Therefore, the overall time complexity ofthe algorithm is O(n5). h

4.3. The case where the jobs and modifying rates are agreeable

In this subsection we investigate the special case, where thejobs and modifying rates are agreeable, i.e., wipi 6 wjpj impliespi 6 pj for all jobs Ji and Jj. This includes the cases where the jobshave equal processing times or where the jobs have equal modify-ing rates. The agreeable condition means that the processing timesof the shorter jobs are even smaller after the rate-modifying activ-ity. We show that this special case of the problem is solvable inO(n4) time if d 6 bwipi + hwjpj for all jobs Ji and Jj by a dynamic pro-gramming algorithm. We begin with providing two useful lemmas.

Lemma 4.9. For the problem 1jrm;B;CONjPn

j¼1ðaEj þbTj þhHj

þcdÞ þ dm, if d 6 bwipi + hwjpj for all jobs Ji and Jj, then for all thetardy jobs, the optimal policy is to ship each one as it finishes.

Proof. Suppose that there exists an optimal schedule S in which atardy batch Bk ¼ fJ½lk�1þ1�; � � � ; J½lk �g has more than one job. Further-more, suppose that the rate-modifying activity is performed beforeBk. The case where the rate-modifying activity is performed after Bk

can be similarly proved. Consider a new schedule S0 constructed bysplitting bath Bk into two batches fJ½lk �g and fJ½lk�1þ1�; . . . ; J½lk�1�g. ByEq. (6), the difference between the objective values of schedulesS0 and S is

D ¼ �bðPkðSÞ � w½lk �p½lk �Þ � hðjBkj � 1Þw½lk �p½lk � þ d

6 �bwjpj � hw½lk �p½lk � þ d;

which is negative by assumption, where Jj is a job Bk. Thus, we canreduce the total cost by removing a job from a multi-job batch anddelivering it separately, as required. h

Lemma 4.10. For the problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj

þhHj þ cdÞ þ dm, if d 6 bwipi + hwjpj for all jobs Ji and Jj, then thetardy jobs scheduled before the rate-modifying activity is sequencedin nondecreasing order of pj and the tardy jobs scheduled after therate-modifying activity are sequenced in nondecreasing order of wjpj.

Proof. It is straightforward by the job interchange argument. h

In the remaining part of this section, suppose that the jobs areindexed in a nondecreasing order of wjpj. We next provide a recur-sion relation that can be exploited to design a polynomial dynamicprogramming algorithm for the problem 1jrm;B;CONj

Pnj¼1

ðaEj þ bTj þ hHj þ cdÞ þ dm where the jobs and modifying ratesare agreeable and d 6 bwipi + hwjpj for all jobs Ji and Jj. We beginwith introducing some notation that will be used later:ði; j; kÞðl1 ;vÞ: a state representing the situation, where the jobs

{1, . . . , i} have been scheduled, provided that in the final optimalschedule for the whole job set N, there are exactly l1 early jobsand the rate-modifying activity is scheduled just before the vthjob, and that in the current partial schedule for the jobs {1, . . . , i},there are j (j 6min{i, l1}) early jobs and there are k (k 6min{i � j,max{v � l1 � 1,0}}) tardy jobs scheduled before the rate-modifyingactivity.

Fðl1 ;vÞði; j; kÞ: the optimal solution value of any schedule in stateði; jÞðl1 ;vÞ.

Sðl1 ;vÞði; j; kÞ: any schedule in state ði; jÞðl1 ;v ;kÞ with the solution va-lue Fðl1 ;vÞði; j; kÞ.

pðl1 ;vÞði; j; kÞ: the position number of job Ji in the final optimalschedule for the whole job set N if the jobs {1, . . . , i} are scheduledcorresponding to Fðl1 ;vÞði; j; kÞ. This function is used to keep track ofthe positions of the jobs in the optimal schedule.

By definition, we set Fðl1 ;vÞði; j; kÞ ¼ þ1 if no such schedule ex-ists. Then the schedule Sðl1 ;vÞði; j; kÞ must have been constructedby taking one of the following three decisions in a previous state.

Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234 233

(1) Job Ji is an early job. In this case, Ji must be currently the firstearly job and Sðl1 ;vÞði; j; kÞ must have been obtained fromschedule Sðl1 ;vÞði� 1; j� 1; kÞ. Since there will be exactly l1early jobs in the final optimal schedule for the whole jobset N and there are j early jobs currently, job Ji will be the(l1 � j + 1)th early job in the final optimal schedule, sopðl1 ;vÞði; jÞ ¼ l1 � jþ 1.

(2) Job Ji is a tardy job scheduled before the rate-modifyingactivity. In this case, Sðl1 ;vÞði; j; kÞ must have been obtainedfrom schedule Sðl1 ;vÞði� 1; j; k� 1Þ; job Ji will be the

Algorithm 4.

(1) Initial conditions(a) If (l1,v, i, j,k) does not satisfies l1 = 0 or max{L,1} 6 l1 6min{R,n}, v = 1 or 0 < l1 <

Fðl1 ;vÞði; j; kÞ ¼ þ1;pðl1 ;vÞði; j; kÞ ¼ ;:

(b) If k = 0, l1 P 1, and v = 1 or l1 < v 6 n + 1, then

Fðl1 ;vÞð1;1;0Þ ¼ðl1 � 1Þhw1p1 þ ncðw1p1 þ tÞ þ d; if v ¼ 1;ðl1 � 1Þhp1 þ ncp1 þ bðn� v þ 1Þt þ d; if v > l1;

pðl1 ;vÞð1;1;0Þ ¼ l1:

(c) If l1 P 0, max{l1,1} < v 6 n + 1, then

Fðl1 ;vÞð1;0;1Þ ¼ ðn� l1Þbp1 þ bðn� v þ 1Þt þ 2d and pðl1 ;vÞð1;0;1Þ ¼ l1

(d) If l1 P 0, v = 1 or l1 < v 6 n + 1, then

Fðl1 ;vÞð1;0;0Þ ¼ðn� l1Þbw1p1 þ n minfc;bgt þ 2d; if l1 ¼ 0 and vðn� l1Þbw1p1 þ nct þ 2d; if l1 P 1 and vbðn� v þ 1Þðt þ p1Þ þ 2d; if v > l1 P 1;

8><>:

pðl1 ;vÞð1;0;1Þ ¼ v:

(2) Recursive relationsFor l1 = 0 or max{L,1} 6 l1 6min{R,n}, v = 1 or 0 < l1 < v 6 n + 1, 2 6 i 6 n, 0 6 j 6min{For v = 1:

Fðl1 ;1Þði; j;0Þ ¼ minncwipi þ hðl1 � jÞwipi þ Fðl1 ;vÞði� 1; j� 1;0Þ ð� XÞbðn� l1 � iþ jþ 1Þwipi þ Fðl1 ;vÞði� 1; j;0Þ; ð� YÞ

(

pðl1 ;1Þði; j;0Þ ¼l1 � jþ 1 if Fðl1 ;1Þði; j;0Þ ¼ X;

l1 þ i� j if Fðl1 ;1Þði; j;0Þ ¼ Y :

(

For v > 1:

Fðl1 ;vÞði; j; kÞ ¼minncpi þ hðl1 � jÞpi þ Fðl1 ;vÞði� 1; j� 1; kÞ ð� UÞ;bðn� l1 � kþ 1Þpi þ Fðl1 ;vÞði� 1; j; k� 1Þ ð� VÞ;bðn� v � iþ jþ kþ 2Þwipi þ Fðl1 ;vÞði� 1; j; kÞ ð�

8><>:

pðl1 ;vÞði; j; kÞ ¼l1 � jþ 1 if Fðl1 ;vÞði; j; kÞ ¼ U;

l1 þ k if Fðl1 ;vÞði; j; kÞ ¼ V ;

v þ i� j� k� 1 if Fðl1 ;vÞði; j; kÞ ¼W:

8><>:

(3) The optimal solution value isF� ¼minfFðl1 ;vÞðn; l1; v � l1 � 1Þjl1 ¼ 0 or maxfL;1g 6 l1 6minfR;ng; v ¼ 1 or 0 < l1 <

(l1 + k)th job in the final optimal schedule for N, sopðl1 ;vÞði; j; kÞ ¼ l1 þ k.

(3) Job Ji is a tardy job scheduled after the rate-modifying activ-ity. In this case, Sðl1 ;vÞði; j; kÞ must have been obtained fromschedule Sðl1 ;vÞði� 1; j; kÞ; job Ji will be the (v + i � j � k � 1)thjob in the final optimal schedule for N, sopðl1 ;vÞði; j; kÞ ¼ v þ i� j� k� 1.

Based on the above analysis, we give a dynamic programmingrecursion as follows:

v 6 n + 1, 1 6 i 6 n, 0 6 j 6min{i,,l1}, and k 6min{i � j, max{v � l1 � 1,0}}, then

þ 1:

¼ 1;¼ 1;

i,l1}, k 6min{i � j,max{v � l1,0}}:

;

WÞ;

v 6 nþ 1g.

234 Y. Yin et al. / Computers & Industrial Engineering 63 (2012) 223–234

Let l�1 and v⁄ be the corresponding values. The optimal sequencecan be obtained by recursively searching the position functionp l�1 ;v�ð Þði; j; kÞ beginning with p l�1 ;v�ð Þ n; l�1;v� � l�1 � 1

�. By Lemma

3.1, the optimal schedule is to process the jobs in the optimal se-quence without any idle time except the rate-modifying activity.The optimal common due date d is the completion time of thel�1th job in the optimal schedule if l�1 > 0, and 0 or t otherwise,and it is optimal to perform the rate-modifying activity just beforethe v⁄th job.

Theorem 4.11. The problem 1jrm;B;CONjPn

j¼1ðaEj þ bTj þ hHj

þcdÞ þ dm can be solved in O(n5) time by Algorithm 3 if the jobsand modifying rates are Agreeable, and d 6 bwipi + hwjpj for all jobs Ji

and Jj.

Proof. The proof is similar to that of Theorem 4.3. h

5. Conclusions

In this paper we consider single-machine scheduling withsimultaneous consideration of batch delivery cost, common duedate assignment, and a rate-modifying activity. The objective isto minimize the sum of earliness, tardiness, holding, due date,and delivery cost. We investigate the structural properties of theoptimal schedule of the problem and obtain the following results:

(i) the problem can be solved in O(n6) time if w1 6 wj = w;(ii) the problem can be solved in O(n4) time if w1 6 wj = w and

n(b � c) 6 2b � h;(iii) the problem can be solved in O(n5) time if pj = p;(iv) the problem can be solved in O(n5) time if the jobs and mod-

ifying rates are agreeable and d 6 bwipi + hwjpj for all jobs Ji

and Jj.

The computational complexity of the problem 1jrm;B;CONj

Pnj¼1ðaEj þ bTj þ hHj þ cdÞ þ dm is still open, which future re-

search should study.

Acknowledgements

This paper was supported in part by the Natural Science Foun-dation for Young Scholars of Jiangxi, China (2010GQS0003); in partby the Science Foundation of Education Committee for YoungScholars of Jiangxi, China (GJJ11143); and in part by the NSC underGrant No. NSC 99-2221-E-035-057-MY3.

References

Adamopoulos, G. I., & Pappis, C. P. (1995). The CON due-date determination methodwith processing time-dependent lateness penalties. International Journal ofProduction Economics, 40, 29–36.

Birman, M., & Mosheiov, G. (2004). A note on a due-date assignment on a two-machine flow-shop. Computers and Operations Research, 31, 473–480.

Biskup, D., & Jahnke, H. (2001). Common due date assignment for scheduling on asingle machine with jointly reducible processing times. International Journal ofProduction Economics, 69, 317–322.

Chen, Z. L. (1996). Scheduling and common due date assignment with earliness-tardiness penalties and batch delivery costs. European Journal of OperationalResearch, 93, 49–60.

Cheng, T. C. E. (1984). Optimal due-date determination and sequencing of n jobs ona single machine. Journal of the Operational Research Society, 35, 433–437.

Cheng, T. C. E. (1987). An algorithm for the CON due-date determination andsequencing problem. Computers and Operations Research, 14, 537–542.

Cheng, T. C. E. (1989). A heuristic for common due-date assignment and jobscheduling on parallel machines. Journal of the Operational Research Society, 40,1129–1135.

Cheng, T. C. E., Chen, Z.-L., & Shakhlevich, N. V. (2002). Common due dateassignment and scheduling with ready times. Computers and OperationsResearch, 29, 1957–1967.

Cheng, T. C. E., & Gordon, V. S. (1994). Batch delivery scheduling on a singlemachine. Journal of the Operational Research Society, 45, 1211–1215.

Cheng, T. C. E., & Gupta, M. C. (1989). Survey of scheduling involving due datedetermination decisions. European Journal of Operational Research, 38,156–166.

Cheng, T. C. E., & Kahlbacher, H. G. (1993). Scheduling with delivery and earlinesspenalty. Asia-Pacific Journal of Operational Research, 10, 145–152.

Cheng, T. C. E., Kang, L. Y., & Ng, C. T. (2004). Due-date assignment and singlemachine scheduling with deteriorating jobs. Journal of the Operational ResearchSociety, 55, 198–203.

Cheng, T. C. E., Kang, L. Y., & Ng, C. T. (2007). Due-date assignment and parallel-machine scheduling with deteriorating jobs. Journal of the Operational ResearchSociety, 58, 1103–1108.

De, P., Ghosh, J. B., & Wells, C. E. (1991). Optimal delivery time quotation and ordersequencing. Decision Sciences, 22, 379–390.

Gordon, V., Strusevich, V., & Dolgui, A. (2010). Scheduling with due date assignmentunder special conditions on job processing. Journal of Scheduling, doi:10.1007/s10951-011-0240-2.

Gordon, V., Proth, J. M., & Chu, C. B. (2002). A survey of the state-of-the-art ofcommon due date assignment and scheduling research. European Journal ofOperational Research, 139, 1–25.

Gordon, V. S., & Strusevich, V. A. (2009). Single machine scheduling and due dateassignment with positional dependent processing times. European Journal ofOperational Research, 198, 57–62.

Gordon, V. S., & Tarasevich, A. A. (2009). A note: Common due date assignment for asingle machine scheduling with the rate-modifying activity. Computers andOperations Research, 36, 325–328.

Hermann, J. W., & Lee, C. Y. (1993). On scheduling to minimize earliness-tardinessand batch delivery costs with a common due date. European Journal ofOperational Research, 70, 272–288.

Hsu, C.-J., Yang, S.-J., & Yang, D.-L. (2011). Two due date assignment problems withposition-dependent processing time on a single-machine. Computers &Industrial Engineering, 60, 796–800.

Kahlbacher, H. G., & Cheng, T. C. E. (1993). Parallel machine scheduling to minimizecosts for earliness and number of tardy jobs. Discrete Applied Mathematics, 47,139–164.

Lauff, V., & Werner, F. (2004). Scheduling with common due date, earliness andtardiness penalties for multimachine problems: A survey. Mathematical andComputer Modelling, 40, 637–655.

Lee, C.-Y., & Leon, V. J. (2001). Machine scheduling with a rate-modifying activity.European Journal of Operational Research, 128, 119–128.

Li, S., Ng, C. T., & Yuan, J. J. (2011). Scheduling deteriorating jobs with CON/SLK duedate assignment on a single machine. International Journal of ProductionEconomics, 131, 747–751.

Lodree, E. J., & Geiger, C. D. (2010). A note on the optimal sequence position for arate-modifying activity under simple linear deterioration. European Journal ofOperational Research, 201, 644–648.

Min, L., & Cheng, W. (2006). Genetic algorithms for the optimal common due dateassignment and the optimal scheduling policy in parallel machine earliness/tardiness scheduling problems. Robotics and Computer-Integrated Manufacturing,22, 279–287.

Mosheiov, G. (2001). A common due-date assignment problem on parallel identicalmachines. Computers and Operations Research, 28(8), 719–732.

Mosheiov, G., & Oron, D. (2006). Due-date assignment and maintenanceactivity scheduling problem. Mathematical and Computer Modelling, 44,1053–1057.

Mosheiov, G., & Sidney, J. B. (2004). New results on sequencing with ratemodification. INFOR, 41, 155–163.

Mosheiov, G., & Yovel, U. (2006). Minimizing weighted earliness tardiness and due-date cost with unit processing time jobs. European Journal of OperationalResearch, 172, 528–544.

Ng, C. T., Cheng, T. C. E., Kovalyov, M. Y., & Lam, S. S. (2003). Single machinescheduling with a variable common due date and resource-dependentprocessing times. Computers and Operations Research, 30, 1173–1185.

Panwalkar, S. S., Smith, M. L., & Seidmann, A. (1982). Common due date assignmentto minimize total penalty for the one machine scheduling problem. OperationsResearch, 30, 391–399.

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.

Shabtay, D., & Steiner, G. (2006). Two due date assignment problems in scheduling asingle machine. Operations Research Letters, 34, 683–691.

Wang, X. Y., & Wang, M. Z. (2010). Single machine common flow allowancescheduling with a rate-modifying activity. Computers & Industrial Engineering,59, 898–902.

Yin, Y., Cheng, T. C. E., Hsu, C.-J., & Wu, C.-C. (submitted for publication). Single-machine batch delivery scheduling with an assignable common due window.Omega.

Yin, Y., Cheng, T. C. E., Wu, C.-C., & Cheng, S.-R. (submitted for publication). Commondue date assignment and single-machine batch delivery scheduling with a rate-modifying activity. Discrete Applied Mathematics.

Zhao, C. L., Tang, H. Y., & Cheng, C. D. (2009). Two-parallel machines scheduling withrate-modifying activities to minimize total completion time. European Journal ofOperational Research, 198, 354–357.