Two due date assignment problems with position-dependent processing time on a single-machine

Two due date assignment problems with position-dependent processing time on a single-machine

Computers & Industrial Engineering 60 (2011) 796–800 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: ...

193KB Sizes 1 Downloads 39 Views

Computers & Industrial Engineering 60 (2011) 796–800

Contents lists available at ScienceDirect

Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Two due date assignment problems with position-dependent processing time on a single-machine q Chou-Jung Hsu a,⇑, Suh-Jenq Yang a, Dar-Li Yang b a b

Department of Industrial Engineering and Management, Nan Kai University of Technology, Nan-Tou 542, Taiwan Department of Information Management, National Formosa University, Yun-Lin 632, Taiwan

a r t i c l e

i n f o

Article history: Received 19 June 2010 Received in revised form 17 January 2011 Accepted 27 January 2011 Available online 2 February 2011 Keywords: Scheduling Common due date Slack due date Position-dependent processing time Dynamic programming

a b s t r a c t The focus of this study is to analyze single-machine scheduling and due date assignment problems with position-dependent processing time. Two generally positional deterioration models and two frequent due date assignment methods are investigated. The objective functions include the cost of changing the due dates, the total cost of positional weight earliness, and the total cost of the discarded jobs that cannot be completed by their due dates. We conclude that the problems are polynomial time solvable. Significantly enough, after assessing the special case of each problem, this research found out that they can be optimally solved by lower order algorithms. Ó 2011 Elsevier Ltd. All rights reserved.

1. Introduction There are various situations in which the processing time of jobs may be subject to change due to deterioration and/or learning phenomena or additional resources consumption. Machine scheduling problems with deterioration and/or learning effects or resource allocation have been extensively studied in the last two decades in various machine settings and performance measures. For a complete list of studies, the reader may refer to the comprehensive survey by Cheng, Ding, and Lin (2004), Shabtay and Steiner (2007), and Biskup (2008). The problems with due date determination have received considerable attention since the last two decades due to the introduction of new methods of inventory management such as just-intime production system and supply chain management. A survey or review on this line of the scheduling problems could be found in Baker and Scudder (1990), Cheng and Gupta (1989), Gordon, Proth, and Chu (2002) or Lauff and Werner (2004). In just-in-time systems, jobs are to be completed neither too early nor too late. Otherwise, they lead to the scheduling problems with both earliness and tardiness costs and assigning due dates. In supply chain systems, managers of manufacturing or service organizations quote the delivery dates (due dates) to clients frequently. Concerning the resources constraint in a company, supplier cannot quote q

This manuscript was processed by Area Editor Maged M. Dessouky.

⇑ Corresponding author. Tel.: +886 926 303788; fax: +886 49 2565842. E-mail address: [email protected] (C.-J. Hsu). 0360-8352/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2011.01.017

the acceptable delivery dates for all customers. Failing to promise the delivery dates may not be acceptable to the customer and may force a company to offer price discounts in order to retain the business. Gordon and Strusevich (2009) studied an interesting scenario of supply chain management scheduling. They focused on a segment of the supply chain that includes two participants: a manufacturer and a customer. Since most of the manufacturers nowadays wish to market their production, all the accepted orders will be completed in full and in time to satisfy the customer’s demand. The due dates by which the manufacturer has to complete are the subject of negotiation with the customer. In this model, the due dates are assigned according to a certain rule. For the mutually agreed due dates, the manufacturer has an option of discarding some of the orders if they cannot be completed in time. In this case, a penalty for each discarded order will be paid. Motivated by a scenario of supply chain management scheduling in Gordon and Strusevich (2009), this study investigates the single-machine scheduling and due date assignment problems with position-dependent processing time. The objective functions are slightly extended from what is proposed by Gordon and Strusevich (2009) to a general form. We concluded that the problems remain polynomial time solvable. 2. Problem formulation In all models that we consider in this study, the jobs of set N = {1, 2, . . . , n} have to be processed without preemption on a single-machine. The jobs are simultaneously available at time zero.

797

C.-J. Hsu et al. / Computers & Industrial Engineering 60 (2011) 796–800

The machine can handle only one job at a time and is permanently available from beginning. For each job j, where j e N, the value of its basic processing time pj and due date dj is known. Then the actual processing time of job j, if scheduled in position r of a sequence, is ½r given by pj ¼ pj gðrÞ, where g(r) is a function that specifies a positional deterioration effects. We assume that g(1) = 1 and g(r) 6 g(r + 1) for each r, 1 6 r 6 n  1. The following two positional deterioration models of the actual processing time of jobs are discussed.

Lemma 1. Hardy, Littlewood, & Polya, 1967. Let there be two P sequences of numbers xi and yi. The sum ixiyi of products of the corresponding elements is the least (largest) if the sequences are monotonic in the opposite (same) sense.

 Positional polynomial deterioration (Biskup, 1999): The actual processing time of a job j, if scheduled in position r of a sequence, is given by

Property 2. There exists an optimal schedule with no idle time between the jobs in NE and the common due date coincides with the completion time of the last of these jobs.

½r

pj ¼ pj r a ;

ð1Þ

where a is a given positive constant that is common for all jobs.  Positional exponential deterioration (Wang, 2005): The actual processing time of a job j, if scheduled in position r of a sequence, is given by ½r pj

¼ pj c

r1

Property 1. In a feasible schedule, there exists at most one on-time job.

3.1. Common due date assignment problems For the CON model, we choose bd as the cost function /(d), where b is a positive constant. Thus, in this subsection, we study the problem of minimizing the objective function

Fðd; pÞ ¼ bdðpÞ þ

where c > 1 is a given positive constant representing a rate of deterioration, which is common for all jobs. The due date determination is an important problem in production planning systems. The following two frequent due date assignment methods are discussed.  The common due date assignment method (usually referred to as CON) where all jobs are assigned the same due date, that is dj = d for j e N.  The slack due date assignment method (usually referred to as SLK) where dj = pj + q for j e N and q is a common slack time for all the jobs. We study optimal schedules under these two due date assignment methods with both types of positional deterioration models. If in some schedule a job completes no later than its due date, it is called early; otherwise, it is called late. For a schedule p = (p(1), p(2), . . . , p(n)), where p(j) is the jth job in p. Let Cj denote the completion time of job j and, provided that Cj 6 dj, its earliness Ej is defined as Ej = dj  Cj. We split the jobs of set N into two subsets denoted by NE and NT. Let h denote the number of earliness jobs, i.e., h = |NE| and 0 6 h 6 n. We refer to the jobs of set NE as early, while the jobs of set NT are called discarded. Assume pE = (p(1), p(2), . . . , p(h)) and pT = (p(h + 1), p(h + 2), . . . , p(n)) be the subsequence of the early and discarded jobs, respectively, i.e., p = pE [ pT. Then, each problem under consideration is to find the cost of changing the due dates, the total penalty for discarding jobs, and the subsequence pE of the early jobs in a schedule p that minimize the following function:

X j2NE

dj EpðjÞ þ

X

apðjÞ ;

ð3Þ

j2N T

where d is the vector of the assigned due dates, /(d) denotes the cost of assigning the due dates that depends on a chosen rule of due date assignment, aj is a penalty paid for a discarded job j e NT, and dj is a given non-negative constant that is the unit cost of a early job which is scheduled in position j of p. Thus, as in Brucker (2001) the weights are position weights rather than weights associated with the jobs.

3. Due date assignment problems First, a useful lemma is given as follows.

X

dj EpðjÞ þ

j2NE

ð2Þ

;

Fðd; pÞ ¼ /ðdÞ þ

The following properties are applicable for the due date assignment method. Its proofs are obvious and omitted.

X

apðjÞ :

ð4Þ

j2N T

Firstly, we consider a special case of h = n. Thus, we study the problem of minimizing the objective function Fðd; pÞ ¼ bdðpÞþ P j2NE dj EpðjÞ . Refer to this problem as Problem P1. Lemma 2. For Problem P1, an optimal schedule can be found by the longest basic processing time (LPT) rule. Proof. We first examine the job’s processing time is the positional polynomial deterioration model. The contribution of common due date and the contribution in each position associated with job sequence p are, respectively,

bdðpÞ ¼ bð1a ppð1Þ þ 2a ppð2Þ þ . . . þ ðn  1Þa ppðn1Þ þ na ppðnÞ Þ; d1 Epð1Þ ¼ d1 ð2a ppð2Þ þ . . . þ ðn  1Þa ppðn1Þ þ na ppðnÞ Þ; d2 Epð2Þ ¼ d2 ð3a ppð3Þ þ . . . þ ðn  1Þa ppðn1Þ þ na ppðnÞ Þ; ... dn1 En ¼ dn1 ðna ppðnÞ Þ; dn EpðnÞ ¼ 0: Let wi denote the weight of contribution in position i, i = 1, 2, . . . , n. We have,

W 1 ¼ ðbÞ1a ; w2 ¼ ðb þ d1 Þ2a ; ... wn ¼ ðb þ d1 þ d2 þ . . . þ dn1 Þna : Clearly, the inequality equation w1 6 w2 6    6 wn holds. By Lemma 1, an optimal schedule can be found by the LPT rule. Next, we examine the job’s processing time is the positional exponential deterioration model. By the same way, we have

w1 ¼ ðbÞc; w2 ¼ ðb þ d1 Þc2 ; ... wn ¼ ðb þ d1 þ d2 þ . . . þ dn1 Þcn : The inequality equation w1 6 w2 6    6 wn also holds. By Lemma 1, an optimal schedule can be found by the LPT rule. Therefore, we complete the proof of this Lemma. h For the CON problem to minimize the objective function (4), no matter which model of positional dependence of procession time is selected, by Property 1 we may search for an optimal schedule only among those schedules in which one of the job is on-time. By Property 2, in any feasible schedule, the jobs of set NE are processed

798

C.-J. Hsu et al. / Computers & Industrial Engineering 60 (2011) 796–800

consecutively starting from time zero with no intermediate idle time and the completion time of the last of these jobs is set as the common due date. By Lemma 2, the jobs of set NE are sequenced in LPT order P ½r and the common due date dðpÞ ¼ j2NE pj that minimizes the contribution of these jobs to the objective function. In order to find the optimal solution, we need to take the contribution of the total cost of the discarded jobs into account. However, due to the special objective function, the dynamic programming can be made more efficient. Similar to that of Gordon and Strusevich (2009), the idea of a dynamic programming algorithm to minimize the function (4) is as follows. Define the states of the form (k, r), where k means the number of jobs that have been considered and r, 0 6 r 6 k, represents how many of these jobs have been sequenced as early jobs. A state (k, r) is associated with f(k, r), the smallest value of the objective function in the class of partial schedules for processing k jobs, provided that r of the these jobs have been sequenced early. The algorithm scans the jobs in the sequence that is provided by Lemma 2. The method tries either to discard each job or to schedule it. In the latter case, the job is scheduled as the last of the early jobs and its completion time will determine the new due date. The formal statement of the algorithm is below. 3.1.1. Algorithm CON  Step 1: If required then sequence the jobs in LPT rule. Initialize f(0, 0) = 0.  Step 2: For k from 1 to n compute

f ðk; 0Þ ¼ f ðk  1; 0Þ þ ak ; ( f ðk;rÞ ¼ min f ðk  1; rÞ þ ak ; f ðk  1; r  1Þ þ b þ

r1 X

! ½r

;

i¼1

1 6 r 6 k  1; f ðk; kÞ ¼ f ðk  1; k  1Þ þ b þ

k1 X

a

dj Þðpm  pi Þk 6 0:

j¼1

This implies that the interchange of jobs i and m will not result in an increase in total cost. By the repeated application of this argument, we will eventually generate a sequence in which the h shortest basic processing time jobs of N are early jobs. h Let F (d, p0 , h) denote the total cost associated with job sequence p0 , the common dueP date d, and h number of early jobs, i.e., Fðd; p0 ; hÞ ¼ bdðp0 Þ þ j2NE dj EpðjÞ þ ðn  hÞa. By Lemmas 2 and 3, an optimal solution algorithm is presented as follows:  Step 1: Sequence the jobs in SPT rule, i.e., p = (p(1), p(2), . . . , p(n)), where p(j) is the jth job in p and pp(1) 6 pp(2) 6    6 pp(n) .  Step 2: For h from 0 to n do  Step 2-1: Reverse the order of the former h jobs and keeping the other jobs in the same positions as in p, so that they form a new job sequence p0 = (p(h), p(h  1), . . . , p(1), p (h + 1), . . . , p(n)).  Step 2-2: Calculate the value of the common due date and the total cost associated with job sequence p0 , respectively, P ½i i.e., dðp0 Þ ¼ hi¼1 ppðhþ1iÞ where p(j) is the jth job in p and 0 F(d, p , h).  Step 3: The optimal value of the function F = min {F(d, p0 , h)|0 6 h 6 n} .

Theorem 2. The common due date assignment problem with a positional deterioration effect to minimize the function (5) is solvable in O(n log n) time.

! di

k1 X

Note that the optimal job sequence in p0 is a definite sequence of V-shaped. Clearly, the time complexity of the above algorithm is O(n log n). This implies that the following theorem holds.

)

di pk

Fðd; p0 Þ  Fðd; pÞ ¼ ðb þ

½k pk :

i¼1

3.2. Slack due date assignment problems  Step 3: The optimal value of the function F = min{f(n, r)|0 6 r 6 n}. ½r The values pk in above algorithm are found as defined by the selected model of deterioration, e.g., by (1) or by (2). The algorithm generates no more than O(n2) states; therefore, the time complexity is O(n2). This implies that the following theorem holds. Theorem 1. The common due date assignment problem with a positional deterioration effect to minimize the function (4) is solvable in O(n2) time.

The due date of job j e NE scheduled in position r is defined as ½r dj ¼ pj þ q, where q is the slack time. Clearly, the slack time q depends on the sequence of these jobs, i.e., q = q(p). Since for the SLK model, the main issue is how to choose an appropriate value of slack time so that a certain objective function is minimized. Thus, we choose bq as the cost function /(d). Then, in this subsection, we study the problem of minimizing the objective function

Fðq; pÞ ¼ bqðpÞ þ

X j2NE

Next, we examine the special case of the same penalty of each discarded jobs, i.e., aj = a, j e NT. That is, we study the problem of minimizing the objective function

Fðd; pÞ ¼ bdðpÞ þ

X j2N E

dj EpðjÞ þ

X

a:

ð5Þ

j2NT

Lemma 3. Scheduling the h shortest basic processing time jobs of N as early jobs yields the minimum total cost of function (5).

Proof. For an arbitrary sequence p, the common due date equals the completion time of hth job in p, i.e., d(p) = Cp(h). Assume that the set of the h shortest basic processing time jobs is not in NE. Then, there must exist a pair of jobs i e NE and m e NT so that pi > pm. For the convenience, we select model of deterioration by (1) and assume job i is sequenced in the kth position of p, i.e., 1 6 k 6 h. Let a new job sequence p0 be formed from p by interchanging jobs i and m and keeping the other jobs in the same positions as in p. Then, the different values of the total cost associated with job sequence p and p0 is

dj EpðjÞ þ

X

apðjÞ :

ð6Þ

j2N T

We consider a special case of h = n firstly. For an arbitrary schedule p, q(p) = Cp(n1) is treated as a slack to all jobs. Then, the objective is to find a schedule that minimizes the function Fðq; pÞ ¼ bqðpÞþ P j2NE dj EpðjÞ . Refer to this problem as Problem P2. For the convenience, a permutation p = (p(1), p(2), . . . , p(n)) so that pp(n) P pp(1) P pp(2) P    P pp(n1) is said to follow the approximation longest processing time (ALPT) rule, i.e., assign the job with the longest basic processing time to the last position, the job with the second longer basic processing time to the first position, the job with the third longer basic processing time to the second position, and so on. Lemma 4. For Problem P2, an optimal schedule can be found by ALPT rule. Proof. We first examine the job’s processing time is the positional polynomial deterioration case. The contribution of the slack and the contribution in each position associated with job sequence p are, respectively,

799

C.-J. Hsu et al. / Computers & Industrial Engineering 60 (2011) 796–800

bqðpÞ ¼ bð1a ppð1Þ þ 2a ppð2Þ þ . . . þ ðn  1Þa ppðn1Þ Þ; d1 Epð1Þ ¼ d1 ð1a ppð1Þ þ 2a ppð2Þ þ . . . þ ðn  1Þa ppðn1Þ Þ; d2 Epð2Þ ¼ d2 ð2a ppð2Þ þ . . . þ ðn  1Þa ppðn1Þ Þ;

f ðh;k;0Þ ¼ f ðh;k  1;0Þ þ ak ; ( f ðh;k;rÞ ¼ min f ðh;k  1;rÞ þ ak ;f ðh;k  1;r  1Þ þ b þ

a

dn1 Epðn1Þ ¼ dn1 ððn  1Þ ppðn1Þ Þ; dn EpðnÞ ¼ 0: Let wi denote the weight of contribution in position i, i = 1, 2, . . . , n. We have

f ðh;k;kÞ ¼ f ðh;k  1;k  1Þ þ b þ

k1 X

... wn1 ¼ ðb þ d1 þ d2 þ . . . þ dn1 Þðn  1Þa ; wn ¼ 0: Clearly, the inequality equation wn 6 w1 6 w2 6    6 wn1 holds. By Lemma 1, an optimal schedule can be found by ALPT rule. Next, we examine the job’s processing time is the positional exponential deterioration case. By the same way, we have

w1 ¼ ðb þ d1 Þc; w2 ¼ ðb þ d1 þ d2 Þc2 ; ...

di

)

½r pk

;

! ½k

di pk :

i¼1

 Step 3: The ( optimal value of the function

F ¼ min minff ðh; n  1; rÞj0 6 r 6 n  1; 1 6 h 6 ng; w1 ¼ ðb þ d1 Þ1a ; w2 ¼ ðb þ d1 þ d2 Þ2a ;

!

i¼1

1 6 r 6 k  1;

...

r1 X

X

)

aj :

j2N ½r

Similarly, the values pk in above algorithm are found as defined by the selected model of deterioration, e.g., by (1) or by (2). The algorithm generates no more than O(n3) states; therefore, the time complexity is O(n3). This implies that the following theorem holds. Theorem 3. The slack due date assignment problem with a positional deterioration effect to minimize the function (6) is solvable in O(n3) time. Next, we examine the special case of the same penalty of each discarded jobs, i.e., aj = a, j e NT. That is, we study the problem of minimizing the objective function

Fðq; pÞ ¼ bqðpÞ þ

X j2NE

dj EpðjÞ þ

X

a:

ð7Þ

j2N T

wn1 ¼ ðb þ d1 þ d2 þ . . . þ dn1 Þcn1 ; wn ¼ 0: The inequality equation wn 6 w1 6 w2 6    6 wn1 also holds. By Lemma 1, an optimal schedule can be found by ALPT rule. Therefore, we complete the proof of this Lemma. h By the definition of subset NE and Properties 1-2, only the last job p(h) completes on-time. It implies that the slack time P ½j qðpÞ ¼ h1 in NE, schedule the jobs by ALPT rule j¼1 ppðjÞ . For the jobs P ½j and the slack time qðpÞ ¼ h1 j¼1 ppðjÞ that minimizes the contribution of these jobs to the objective function. In order to find the optimal solution, we need to take the contribution of the total cost of the discarded jobs into account. Taking the advantages of the previous subsection, it also can be done by a dynamic programming algorithm. For each choice of the on-time job, the algorithm scans the jobs in the sequence that is provided by Lemma 4. The method tries either to discard each job or to schedule it. In the latter case, the job is scheduled immediately before the on-time job and the slack time increases by the actual processing time of the inserted job. Thus, we define the states of the form (h, k, r), where h is chosen on-time job, k means the number of jobs that have been considered and r, 0 6 r 6 k, represents how many of these jobs have been sequenced as early jobs. A state (h, k, r) is associated with f(h, k, r), the smallest value of the objective function in the class of partial schedules in which job h is fixed as the on-time job, k remaining jobs are considered, and r of the those jobs have been sequenced early. The formal statement of the algorithm is below.

3.2.1. Algorithm SLK  Step 1: If required then sequence the jobs in LPT rule.  Step 2: For each h from 1 to n, do  Step 2-1: Initialize f(h, 0, 0) = 0 and remove job h from consideration in this step. If h < n than renumber the remaining jobs by decreasing by one the number of each job h + 1, . . . , n, so that they form the sequence 1, 2, . . . , n  1.  Step 2-2: For k from 1 to n  1 compute

Lemma 5. Scheduling the h  1 shortest basic processing time jobs of N to the former h  1 position in p yields the minimum total cost of function (7). Proof. For an arbitrary sequence p, the slack equals the completion time of (h1)th job in p, i.e., q(p) = Cp(h1). Assume that the set of the h  1 shortest basic processing time jobs are not scheduled to the former h  1 position in p. Then, there must exist a pair of jobs i and m which are scheduled before the hth position and after the (h1)th position in p, respectively, so that pi > pm. For the convenience, we select model of deterioration by (1) and assume job i is sequenced in the kth position of p, i.e., 1 6 k 6 h  1. Let a new job sequence p0 be formed from p by interchanging jobs i and m and keeping the other jobs in the same positions as in p. Then, the different values of the total cost associated  P with job sequence p and p0 is Fðd; p0 Þ  Fðd; pÞ ¼ b þ kj¼1 a dj Þðpm  pi Þk 6 0. This implies that the interchange of jobs i and m will not result in an increase in total cost. By the repeated application of this argument, we will eventually generate a sequence in which the h  1 shortest basic processing time jobs of N are scheduled to the former h  1 position in p. h Let F(q, p0 , h) denote the total cost associated with job sequence 0 p , the slack q, and h number of early jobs, i.e., Fðq; p0 ; hÞ ¼ bqðp0 Þþ P j2NE dj EpðjÞ þ ðn  hÞa. By Lemmas 4 and 5, an optimal solution algorithm is presented as follows.  Step 1: Sequence the jobs in SPT rule, i.e., p = (p(1), p(2), . . . , p(n)) where p(j) is the jth job in p and pp(1) 6 i(2) 6    6 pp(n) .  Step 2: For h from 0 to n do  Step 2-1: Reverse the order of the former h  1 jobs and keeping the other jobs in the same positions as in p, so that they form a new job sequence p0 = (p(h  1), . . . , p(1), p(h), . . . , p(n)) where p(j) is the jth job in p.  Step 2-2: Calculate the value of the slack and the total cost associated with job sequence p0 , respectively, i.e., qðp0 Þ ¼ Ph1 ½i 0 i¼1 ppðhiÞ where p(j) is the jth job in p and F(q, p , h).

800

 Step 3: The optimal F = min {F(d, p0 , h)|0 6 h 6 n}.

C.-J. Hsu et al. / Computers & Industrial Engineering 60 (2011) 796–800

value

of

the

function

Note that the optimal job sequence in p0 is a definite sequence of V-shaped. Clearly, the time complexity of the above algorithm is O(n log n). This implies that the following theorem holds. Theorem 4. The slack due date assignment problem with a positional deterioration effect to minimize the function (7) is solvable in O(n log n) time.

4. Conclusion This study investigated the single-machine scheduling and due date assignment problems with position-dependent processing time. We extended part of the objective functions proposed by Gordon and Strusevich (2009) to the positional weighted earliness penalty. We, therefore, concluded that the problems remain polynomial time solvable based on the new objective functions. Significantly enough, after assessing the special case of each problem, this research found out that they can be optimally solved by lower order algorithms.

References Baker, K. R., & Scudder, G. D. (1990). Sequencing with earliness and tardiness penalties: A review. Operations Research, 38, 22–36. Biskup, D. (1999). Single-machine scheduling with learning considerations. European Journal of Operational Research, 115, 173–178. Biskup, D. (2008). A state-of-the-art review on scheduling with learning effects. European Journal of Operational Research, 188, 315–329. Brucker, P. (2001). Scheduling algorithms. New York: Springer-Verlag. Cheng, T. C. E., Ding, Q., & Lin, B. M. T. (2004). A concise survey of scheduling with time-dependent processing times. European Journal of Operational Research, 152, 1–13. Cheng, T. C. E., & Gupta, M. C. (1989). Survey of scheduling research involving due date determination decisions. European Journal of Operational Research, 38, 156–166. Gordon, V., Proth, J. M., & Chu, C. (2002). A survey of the state-of-the-art of common due date assignment and scheduling research. European Journal of Operational Research, 139, 1–25. Gordon, V. S., & Strusevich, V. A. (2009). Single machine scheduling and due date assignment with positionally dependent processing times. European Journal of Operational Research, 198, 57–62. Hardy, G. H., Littlewood, J. E., & Polya, G. (1967). Inequalities. London: Cambridge University Press. Lauff, V., & Werner, F. (2004). Scheduling with common due date, earliness and tardiness penalties for multimachine problems: A survey. Mathematical and Computer Modelling, 40, 637–655. Shabtay, D., & Steiner, G. (2007). A survey of scheduling with controllable processing times. Discrete Applied Mathematics, 155, 1643–1666. Wang, J. B. (2005). Flow shop scheduling jobs with position-dependent processing times. Journal of Applied Mathematics and Computing, 18, 383–391.