Single-machine scheduling with a variable maintenance activity

Single-machine scheduling with a variable maintenance activity

Accepted Manuscript Single-machine scheduling with a variable maintenance activity Wenchang Luo, T.C.E. Cheng, Min Ji PII: DOI: Reference: S0360-8352...

345KB Sizes 0 Downloads 20 Views

Accepted Manuscript Single-machine scheduling with a variable maintenance activity Wenchang Luo, T.C.E. Cheng, Min Ji PII: DOI: Reference:

S0360-8352(14)00363-5 http://dx.doi.org/10.1016/j.cie.2014.11.002 CAIE 3855

To appear in:

Computers & Industrial Engineering

Received Date: Revised Date: Accepted Date:

13 May 2014 30 October 2014 3 November 2014

Please cite this article as: Luo, W., Cheng, T.C.E., Ji, M., Single-machine scheduling with a variable maintenance activity, Computers & Industrial Engineering (2014), doi: http://dx.doi.org/10.1016/j.cie.2014.11.002

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Single-machine scheduling with a variable maintenance activity Wenchang Luo ∗ Email: [email protected] T.C.E. Cheng † Email: [email protected] Min Ji‡ Corresponding author. Email: [email protected]



Faculty of Science, Ningbo University, Ningbo 315211, PR China Department of Logistics and Maritime Studies, The Hong Kong Polytechnic University, Kowloon, Hong Kong ‡ School of Computer Science and Information Engineering, Contemporary Business and Trade Research Center, Zhejiang Gongshang University, Hangzhou 310018, PR China †

1

Highlights

z We consider a new scheduling model with a maintenance activity on a single machine. z The maintenance activity must start before a given deadline. z The maintenance duration increases with its starting time. z Polynomial time optimal algorithms are proposed for several classic objectives.

Acknowledgement

Acknowledgements We thank the anonymous referees for their helpful comments on an earlier version of our paper. Luo was supported by Ningbo Natural Science Foundation (2013A610099), Hu Lan outstanding doctoral foundation of Ningbo University, Science Foundation of Ningbo University (xkl1320) and the K.C. Wong Magna Foundation of Ningbo University. Ji was supported in part by the National Social Science Foundation of China (Grant No. 14CGL071), the Humanities and Social Sciences Planning Foundation of the Ministry of Education (Grant No. 13YJA630034), and the Contemporary Business and Trade Research Center of Zhejiang Gongshang University, which is the key Research Institute of Social Sciences and Humanities of the Ministry of Education.

Single-machine scheduling with a variable maintenance activity

Abstract: We consider the problem of scheduling a maintenance activity and jobs on a single machine, where the maintenance activity must start before a given deadline and the maintenance duration increases with its starting time. We provide polynomial-time algorithms to solve the problems to minimize the makespan, sum of completion times, maximum lateness, and number of tardy jobs. Keywords: Scheduling; maintenance; single machine; polynomial-time algorithm

1

Introduction

Scheduling jobs with machine maintenance in a manufacturing system has received considerable attention in the recent past. During a maintenance period, job processing is stopped while maintenance operations such as cleaning, recharging, refilling, or partial replacement of tools are performed. Usually, we use two parameters to define a maintenance activity. One is its starting time and the other is its duration. According to the two parameters, scheduling with machine maintenance falls roughly into two categories, i.e., scheduling with fixed maintenance and scheduling with variable maintenance. In scheduling with fixed maintenance, the starting time and the duration of maintenance are both determined in advance. Since the 1990s, various scheduling models with fixed maintenance in different machine environments and job characteristics have been investigated extensively in the literature. For the related important papers, see e.g., [1], [2], [3], [6], [7], [9], [10], [11], [12], [13], [14], [15], [16], [17], [22], [23], [24], [25] and [28]. For the related surveys, we refer the reader to Ma et al. [21] and Schmidt [26]. For scheduling with variable maintenance, the starting time is a decision variable, which is determined by the scheduler, and the maintenance duration is a positive and nondecreasing function of its starting time. To the best of our knowledge, Kubzin and Strusevich [8] first considered scheduling problems with variable maintenance in the two-machine shop setting. Studying makespan minimization in a two-machine flow shop and a two-machine open shop, they showed that the open shop problem is polynomially solvable for quite general functions defining the maintenance duration while the flow shop problem is binary NP-hard and pseudo-polynomially solvable by dynamic programming. Furthermore, they presented a fully polynomial-time approximation scheme and a fast 3/2-approximation algorithm for this problem. Mosheiov and Sidney [20] studied a problem of scheduling 1

an optional maintenance activity on a single machine, where the maintenance duration is assumed to be a nondecreasing linear function of its starting time and the processing time of a job scheduled after the maintenance activity becomes smaller than it is scheduled before the maintenance activity. They showed that the problems to minimize the makespan, flowtime, maximum lateness, total earliness, tardiness and due-date costs, and number of tardy jobs are all polynomially solvable. Xu et al. [29] considered two scheduling problems with machine maintenance under the assumption that the maintenance duration is an increasing linear function of the total processing time of the jobs that are processed after the machine’s last maintenance activity. The first problem concerns parallel-machine scheduling to minimize the completion time of the last finished maintenance, where the length of the time interval between any two consecutive maintenance activities is between two given positive numbers. The second problem deals with single-machine scheduling to minimize the completion time of the last finished job, where the length of the time interval between any two consecutive maintenance activities is fixed. They proposed two approximation algorithms for the considered problems and analyze their performance. Luo et al. [18] considered the problem of scheduling weighted jobs on a single machine with a maintenance activity whose starting time must be prior to a given deadline and whose duration is a nondecreasing function of its starting time. Studying the problem to minimize the total weighted job completion time, they showed that it is weakly NP-hard. For the case where the maintenance duration is a concave (and nondecreasing) function of its starting time, they provided two approximation algorithms with an approximation √ ratio of 2 and at most 1 + 2/2 + , respectively. In this paper we study some problems of scheduling a variable maintenance activity and jobs on a single machine. Studying the problems to minimize the makespan, sum of completion times, maximum lateness, and number of tardy jobs, we show that they are all polynomially solvable. As a practical example for the proposed problems, we consider steel strip production in a steel plant [27], in which steel slabs must pass a re-heat furnace before they are rolled into strips. We can regard the slabs as “jobs”and the re-heat furnace as the “machine”. To ensure that the re-heat furnace functions normally, we must clean it and refill its fuels prior to a given deadline. However, the duration of cleaning and refilling the furnace depends on the total processing time of the steel slabs that have been handled, which can be regarded as “a variable maintenance activity”. The remainder of the paper is organized as follows: In the next section we introduce and formulate the problems. In Sections 3, 4, 5, and 6, we solve the problems to minimize the makespan, sum of completion times, maximum lateness, and number of tardy jobs, respectively. We conclude the paper in Section 7.

2

Problem statement

The problem can be described as follows: There is a set of n independent jobs J = {1, 2, · · · , n} to be non-preemptively processed on a single machine, all of which are avail2

able for processing at time zero. The machine must undergo mandatory maintenance activity prior to a given deadline and the maintenance duration increases with its starting time, i.e., the later the maintenance activity begins, the longer is its duration. Let pj denote the job processing time of job j, j = 1, 2, · · · , n, s denote the starting time of maintenance, and sd denote the deadline for the starting time of maintenance. Clearly, we have s ≤ sd . The maintenance duration l is a positive and nondecreasing function of the starting time of maintenance s, i.e., l = f (s), where f (s) is positive and nondecreasing function of s. For a given schedule, let Cj denote the completion time of job j, j = 1, 2, · · · , n. Then its lateness is Lj = Cj − dj , where dj denotes the due date of job j, j = 1, 2, · · · , n, and the maximum lateness is Lmax (= maxj=1,2···,n Lj ). Furthermore, let Uj = 1 if Cj > dj (a tardy job), and Uj = 0 if Cj ≤ dj (an on-time job), j = 1, 2, · · · , n. The task is to determine the starting time of the maintenance activity and sequence all the jobs on the machine such that the makespan, sum of completion times, maximum lateness, or number of tardy jobs is minimized. Formally, we use “VM”to denote a variable maintenance activity. Using the threefield classification scheme for scheduling problems proposed by  Graham et al. [4], we , 1, V M || denote the four problems under study as 1, V M ||C max j Cj , 1, V M ||Lmax , and  1, V M || j Uj . To facilitate the understanding of the reader, we summarize the notations used in the entire paper as follows: n Number of jobs; J The set of all the jobs, J = {1, 2, · · · , n}; The processing time of job j; pj The due date of job j; dj The completion time of job j; Cj The lateness of job j; Lj Uj The tardiness indicator of job j; s The starting time of maintenance activity; The deadline of maintenance activity; sd l The duration of maintenance activity (l = f (s), where f (·) is a positive and nondecreasing function on s); Cmax The maximum completion time (makespan); and Lmax The maximum lateness.  Without loss of generality, we assume sd < nj=1 pj throughout the paper. Otherwise, all the above problems are equivalent to the corresponding counterparts without maintenance. The following lemma provides an obvious property for an optimal schedule for all the problems under study. Lemma 1 There exists an optimal schedule without idle time among the jobs and the maintenance activity. Proof. If there exists idle time between jobs, we can move the jobs after the idle time 3

earlier to clear the gap without increasing the objective value. If the maintenance activity is scheduled δ times after some job, we can move the maintenance activity δ times forward to clear the idle time. Then the maintenance duration is shortened and the completion times of the jobs after the maintenance activity all become smaller. If the maintenance activity is scheduled δ times just before some job, we can move the job δ times earlier without increasing the objective value. The above analysis shows that we can always clear the idle time, if any, among the jobs and the maintenance activity without increasing the objective value, so Lemma 1 holds. 

3

Minimizing the makespan

 For this problem, notice that sd < nj=1 pj . Clearly starting the maintenance activity at time zero (i.e., the maintenance duration is minimized) and scheduling all the jobs in an arbitrary order after the maintenance activity yield an optimal schedule. Hence, starting maintenance at time zero solves problem 1, V M ||Cmax in O(n) time.

4

Minimizing the sum of completion times

Recall that the shortest processing time (SPT) rule solves single-machine scheduling to minimize  the sum of completion times without maintenance. To solve problem 1, V M || j Cj , we derive the optimal job order as follows: Lemma 2 For problem 1, V M || are scheduled in the SPT order.

 j

Cj , there exists an optimal schedule in which the jobs

Proof. Clearly, both the jobs scheduled before the maintenance activity and the jobs scheduled after the maintenance activity are scheduled in the SPT order. Now we only consider the job (denote it as b) scheduled just before the maintenance activity and the job (denote it as a) scheduled just after the maintenance activity. If the processing time of b is larger than the processing time of a (i.e., pb > pa ), then we swap the jobs b and a, and start the maintenance activity at the completion time of job a. To ease presentation, we call the original schedule as the first schedule and the schedule that swaps b and a as the second schedule. It follows that the maintenance duration is reduced in the second schedule. Thus Cb + Ca in the first schedule is no smaller than Ca + Cb in the second one. The completion times of all the other jobs in the second schedule are no larger than those of all the corresponding jobs in the first schedule. Thus, the sum of completion times does not increase, so Lemma 2 holds.  By Lemma 2, we observe that the optimal job order is the SPT order. Thus we only need to determine the position of the maintenance activity. Clearly, there are at 4

most n choices that need to be considered to position the maintenance activity, i.e., the maintenance activity starts at time zero or at the completion time of some job except the last job. Now we present a solution algorithm as follows: Algorithm H1 : Step 1: Arrange the jobs in the SPT order such that p[1] ≤ p[2] ≤ · · · ≤ p[n] , where [j] denotes the job in position j, j = 1, 2, · · · , n.  Step 2: Consider the maintenance activity that starts at time 0, p[1] , · · · , or kj=1 p[j] ,   where k satisfies kj=1 p[j] ≤ sd ≤ k+1 j=1 p[j] , and construct the corresponding schedules as π i = (0, [1], [2], · · · , [i − 1], V M, [i], · · · , [n]), i = 1, 2 · · · , k + 1, where 0 denotes a dummy job with processing time 0. Let Z(π i ) denote the corresponding objective value of π i , i = 1, · · · , k + 1. Step 3: From all the constructed schedules π i , i = 1, · · · , k + 1, choose the schedule with the minimum objective value as the output and write it as π, i.e., Z(π) = min Z(π i ). i=1,2,···,k+1

Theorem 3 Algorithm H1 solves problem 1, V M ||

 j

Cj in O(n2 ) time.

Proof. The correctness of Algorithm H1 is evident because it enumerates all the possible cases for the optimal schedule.  The initial sorting requires O(nlogn) time, while the computation of j Cj (given the SPT sequence and a starting time of the maintenance activity) requires O(n) time. The latter is repeated at most n times. Hence, Algorithm H1 solves the problem in O(n2 ) time. 

4.1

A numerical example

To illustrate Algorithm H1 , we consider the following numerical example. Given five jobs and one machine, the processing times pj , j = 1, 2, · · · , 5 are given in Table 1. The deadline of the maintenance activity is sd = 37 and the maintenance duration is l = f (s) = 1 + s, where s is the starting time of the maintenance activity. Executing Algorithm H1 , we Table 1: The values on pj Job 1 2 3 4 5 pj 9 11 14 16 18 first sequence the jobs in the SPT order as p[1] ≤ p[2] ≤ p[3] ≤ p[4] ≤ p[5] (note that p[j] = pj , j = 1, 2, 3, 4, 5). Then we compute the value of k to obtain k = 3 and construct

5

the following schedules: 1

π = (V M, 1, 2, 3, 4, 5), where

5 

Cj = 186;

j=1 2

π = (1, V M, 2, 3, 4, 5), where

5 

Cj = 221;

j=1 3

π = (1, 2, V M, 3, 4, 5), where

5 

Cj = 244; and

j=1

π 4 = (1, 2, 3, V M, 4, 5), where

5 

Cj = 251.

j=1

By comparing the above schedules, we pick the schedule yielding the minimum sum of completion times as the optimal schedule. We conclude that the optimal schedule is π 1 = (V M, 1, 2, 3, 4, 5).

5

Minimizing the maximum lateness

Recall that the earliest due-date (EDD) rule solves single-machine scheduling to minimize the maximum lateness without maintenance. To solve problem 1, V M ||Lmax , we first derive the optimal job order as follows: Lemma 4 For problem 1, V M ||Lmax , there exists an optimal schedule in which the jobs are scheduled in the EDD order. Proof. Using the standard job interchange argument, we can easily show that an optimal schedule exists in which the jobs before the maintenance activity and the jobs after the maintenance activity are scheduled in the EDD order. It remains to check jobs b and a, where job b is the last job before the maintenance activity and job a is immediately after the maintenance activity. Next we claim that these two jobs are scheduled in the EDD order as well. If db ≥ da , then let π denote a schedule in which job b is scheduled before job a. Let T denote the starting time of job b in π. We have Lb (π) = T + pb − db and La (π) = T + pb + f (T + pb ) + pa − da . Now, as shown in Figure 1, we construct a new schedule π ˆ by scheduling job b immediately after job a, while starting the maintenance activity at time T and keeping the π ) = T + f (T ) + pa − da and remaining jobs in the same positions in π. We obtain La (ˆ π ) = T +f (T )+pa +pb −db . With simple calculations, we can verify that La (ˆ π ) < La (π) Lb (ˆ π ) < La (π), and the completion times of all the remaining jobs are non-increasing, and Lb (ˆ which imply that the maximum lateness of π ˆ is no larger than that of π, so Lemma 4 holds.  6

π

······

b

VM

a

······

T π ˆ

······

VM

a

b

······

T Figure 1: The illustration on schedules π and π ˆ. By Lemma 4, notice that an optimal schedule can be found by sequencing the jobs in the EDD order and then inserting the maintenance activity at time zero or at the completion time of some job except the final job. Thus there are at most n cases that need to be considered. Next, we propose Algorithm H2 as follows: Algorithm H2 : Step 1: Arrange the jobs in the EDD order such that d[1] ≤ d[2] ≤ · · · ≤ d[n] , where [j] denotes the job in position j, j = 1, 2, · · · , n.  Step 2: Consider the maintenance activity that starts at time 0, p[1] , · · · , or rj=1 p[j] ,   where r satisfies rj=1 p[j] ≤ sd ≤ r+1 j=1 p[j] , and construct the corresponding schedules as π i = (0, [1], [2], · · · , [i − 1], V M, [i], · · · , [n]), i = 1, 2 · · · , r, r + 1 where 0 denotes a dummy job with processing time 0 and due date 0. Let L(π i ) denote the corresponding objective value of π i , i = 1, 2 · · · , r + 1. Step 3: From all the constructed schedules π i , i = 1, · · · , r, r + 1, choose the best as the L(π i ). output and denote it as π, i.e., L(π) = min i=1,2,···,r,r+1

Theorem 5 Algorithm H2 solves problem 1, V M ||Lmax in O(n2 ) time. Proof. By Lemma 4, the correctness of Algorithm H2 is established. The initial sorting needs O(nlogn) time, while the computation of Lmax (given the EDD sequence and a starting time of the maintenance activity) needs O(n) time. The latter is repeated at  most n times. Thus, Algorithm H2 solves the problem in O(n2 ) time.

5.1

A numerical example

To illustrate Algorithm H2 , we use the same example as that in Subsection 4.1. Moreover, we define the corresponding due dates of the jobs as d1 = 17, d2 = 16, d3 = 24, d4 = 31, and d5 = 27. Executing Algorithm H2 , we first sequence the jobs in the EDD order as d2 ≤ d1 ≤ d3 ≤ d5 ≤ d4 . Then we compute the value of r to obtain r = 3 and construct the following

7

schedules: π1 π2 π3 π4

= = = =

(V M, 2, 1, 3, 5, 4), (2, V M, 1, 3, 5, 4), (2, 1, V M, 3, 5, 4), (2, 1, 3, V M, 5, 4),

where where where where

Lmax Lmax Lmax Lmax

= 38; = 49; = 58; and = 72.

Upon comparing the above schedules, we pick the schedule yielding the minimum maximum lateness as the optimal schedule. We conclude that the optimal schedule is π 1 = (V M, 2, 1, 3, 5, 4).

6

Minimizing the number of tardy jobs

Moore [19] provides a polynomial algorithm to solve the classical single-machine scheduling problem to minimize the number of tardy jobs without maintenance. In his algorithm, the optimal schedule is obtained by arranging the on-time jobs in the EDD order, followed by arranging the tardy jobs inan arbitrary order. To solve problem 1, V M || j Uj , a natural idea is that we first apply Moore-Hodgson algorithm [19] to obtain the on-time jobs, which are in the EDD order; then insert the maintenance activity in feasible candidate positions and choose the best result as the optimal solution. However, the following simple example shows that such an idea fails to obtain the optimal solution. The simple example consists of three jobs 1, 2, and 3. Their corresponding processing times are p1 = 1, p2 = 2, and p3 = 3, and their corresponding due dates are d1 = 7, d2 = 6, and d3 = 5, respectively. The deadline of the maintenance activity sd is 3 and the maintenance duration l (= f (s)) is 7 + s, where s is the starting time of the maintenance activity. First applying Moore-Hodgson algorithm, we obtain the on-time jobs as 3, 2, 1 by the EDD order. Then we insert the maintenance activity in the feasible candidate positions. We obtain schedules (V M, 3, 2, 1) and (3, V M, 2, 1), and their corresponding objective values are 3 and 2, respectively. But the optimal schedule is (J2 , J1 , V M, J3 ) and its objective value is 1. For problem 1, V M || j Uj , it is clear that there exists an optimal schedule in which the maintenance activity starts either at time zero or just after some on-time job. Furthermore, there also exists an optimal schedule with the following property.  Lemma 6 For problem 1, V M || j Uj , there exists an optimal schedule in which the ontime jobs are scheduled in the EDD order. Proof. If in an optimal schedule the maintenance activity starts at time zero or after the last on-time job, then the conclusion is valid. Next we assume that the maintenance activity is inserted between two consecutive on-time jobs. Clearly, the on-time jobs scheduled before and after the maintenance activity are sequenced in the EDD order. We only need 8

to check the last job b scheduled before the maintenance activity and the job a scheduled immediately after the maintenance activity. Similar to the proof in Lemma 4, if db > da , let π denote a schedule with job b scheduled before job a. Let T denote the starting time of job b in π. Now we construct a new schedule π ˆ as follows: Start the maintenance activity at time T (i.e., the starting time of job b in π), and schedule job a, then job b. All the remaining jobs keep their same positions in π. By the on-time assumption, ˆ , we have we know in π we have db ≥ T + pb and da ≥ T + pb + f (T + pb ) + pa . In π da > T + f (T ) + pa and db > T + f (T ) + pa + pb (since db > da ). All the other jobs’ completion times do not increase, which implies that the minimum number of tardy jobs in π ˆ is no larger than that in π. Thus, Lemma 6 holds.   Recently,  Hoogeveen and T kindt [5] provide another algorithm to solve the classical problem 1|| j Uj , which is called as SPT-based algorithm. The SPT-based algorithm runs in O(n2 ) time, which is slower than Moore-Hodgson algorithm, which runs in O(nlogn) time. However, the SPT-based algorithm has a nice property, which underpins our algorithm. We describe it as follows:  The SPT-based algorithm for 1|| j Uj .

• Step 1. Re-order the jobs in the SPT order such that p[1] ≤ p[2] ≤ · · · ≤ p[n] , where [k] denotes the job in position k, k = 1, 2, · · · , n. Break ties by putting the corresponding jobs in the EDD order. Initialize S0 ← ∅ and k ← 1.  • Step 2. Sequence thejobs in Sk−1 {[k]} in the EDD order. If each job is on time, then let Sk = Sk−1 {[k]}; otherwise Sk = Sk−1 , where Sk denotes the temporal on-time job set after considering job [k]. • Step 3. If k < n, then increase k by one and go to Step 2. If k = n, then S = Sn is the final set containing all the on-time jobs; stop. The following theorem provides a nice property of the SPT-based algorithm. Theorem 7 (Hoogeveen and T kindt [5]) The set Sk generated by the SPT-based algorithm has the maximum cardinality and minimum sum of processing times among all the feasible on-time subsets of {[1], [2], · · · , [k]} with the maximum cardinality. We are now ready to present our algorithm. If in an optimal schedule the maintenance activity starts at time zero, then we can directly apply the Moore-Hodgson algorithm to obtain an optimal schedule. Next we analyze the case where the maintenance activity is scheduled after some on-time job. In this case, we know that the on-time jobs are divided into two job subsets. One is sequenced before the maintenance activity and the other is sequenced after the maintenance activity (it may be empty). By Lemma 6, all the on-time jobs are arranged in the EDD order. To determine the two on-time job subsets, we first assume the maintenance activity is immediately implemented after the on-time job j (j can be found by enumeration). Then we find the on-time jobs in the two different job subsets, i.e., the job subset containing 9

jobs (including job j) with due dates no larger than the due date of job j, and the job subset containing jobs (excluding job j) with due dates no less than the due date of job j. We denote the on-time job subsets scheduled before and after the maintenance activity by E1 and E2 , respectively. Note that the due date of any job in E2 is no less than that of any job in E1 by Lemma 6. In the following description, we use (E1 , V M, E2 , T ) to define a schedule, meaning that • Jobs in E1 are scheduled in the EDD order before the maintenance activity. If E1 = ∅, we omit it. • The maintenance activity  starts immediately when the jobs of E1 are completed, i.e., it starts at time j∈E1 pj (≤ sd ). • Jobs in E2 are scheduled in the EDD order, too, immediately after the maintenance activity. If E2 = ∅, we omit it. • T is the tardy job subset. Jobs in T are scheduled in an arbitrary order. If T = ∅, we omit it. Algorithm H3 : Step 1: Arrange the jobs in the EDD order such that d[1] ≤ d[2] ≤ · · · ≤ d[n] , where [j] denotes the job in position j, j = 1, 2, · · · , n and write Ji = {[1], [2], · · · , [i]} for i = 1, 2, · · · , n and J0 = ∅. Define a dummy job 0 with p0 = 0 and d0 = 0. Step 2: Construct schedule π 0 (0) = (V M, E20 (0), T 0 (0)), where E20 (0) (the on-time job subset) and T 0 (0) (the tardy job subset) are obtained by invoking Moore-Hodgson algorithm for the job set J = {1, 2, · · · , n} and setting the starting time to process the jobs at f (0). Step 3: For i from 1 to n, do the following. • Step 3.1: Invoke the SPT-based algorithm on Ji−1 and let {i1 , i2 , · · · , im } be the set of on-time jobs with pi1 ≤ pi2 ≤ · · · ≤ pim . Compute the value qi∗ (0 ≤ qi∗ ≤ m) with qi∗ qi∗ +1 qi∗ satisfying ( k=0 pik + pi ) ≤ min{sd , di } ≤ ( k=0 pik + pi ), where i0 = 0. • Step 3.2: Construct a series of schedules π i (i0 ) = π i (i1 ) = π i (i2 ) = ··· ··· i π (ik ) = ··· ··· i π (iqi∗ ) =

(E1i (i0 ), V M, E2i (i0 ), T i (i0 )), (E1i (i1 ), V M, E2i (i1 ), T i (i1 )), (E1i (i2 ), V M, E2i (i2 ), T i (i2 )), ············, (E1i (ik ), V M, E2i (ik ), T i (ik )), ············, (E1i (iqi∗ ), V M, E2i (iqi∗ ), T i (iqi∗ )), 10

where E1i (ik ) = {i0 , i1 , i2 , · · · , ik , [i]} (the on-time job subset scheduled before the maintenance activity), E2i (ik ) (the on-time job subset scheduled after the maintenance activity) is obtained by invoking Moore-Hodgson algorithm for the partial job · , [n]} and setting the starting time to process  i the jobs at time k set {[i + 1], · ·  k i i E2 (ik )} (the tardy job r=0 pir + pi + f ( r=0 pir + pi ), and T (ik ) = J \ {E1 (ik ) subset), k = 0, 1, 2, · · · , qi∗ . Step 4: From all the above constructed schedules, choose the best (the schedule with the minimum number of tardy jobs) as our output and denote it as π, i.e., Z(π) =

min

k=0,1,···,qi∗ ; i=0,1,2,···,n

Z(π i (ik )),

where q0∗ = 0 and Z(π i (ik )) denotes the corresponding objective value of schedule π i (ik ), k  = 0, 1, · · · , qi∗ ; i = 0, 1, 2, · · · , n. Next, we show that Algorithm H3 solves problem 1, V M || j Uj in O(n3 logn) time.  Theorem 8 Algorithm H3 solves problem 1, V M || j Uj in O(n3 logn) time. Proof. If the maintenance activity starts at time zero, the optimal schedule is obtained in Step 2 of Algorithm H3 and we are done. Otherwise, without loss of generality, we may assume that in the optimal schedule the job that is scheduled just before the maintenance activity is [i] (notice that [i] is an on-time job) and the number of jobs scheduled before job [i] is k. For convenience, let π ∗ denote the optimal schedule. Then π ∗ has the following pattern π ∗ = (i1 ∗ , i2 ∗ , · · · , ik ∗ , [i], V M, E2∗ , T ∗ ). Now consider the schedules constructed by Algorithm H3 . In Step 3.1, when invoking the SPT-based algorithm on Ji−1 , weobtain theset of on-time job {i1 , i2 , · · · , im }. By Theorem 7, we claim that m ≥ k and kr=1 pir ≤ kr=1 p∗ir (i.e., the sum of the processing times  of the jobs i1 , · · · , ik is no larger than that of the jobs i1 ∗ , i2 ∗ , · · · , ik ∗ ), which means that ( kr=1 pir + pi ) ≤ min{sd , di }. Thus, in Step 3.2, we can constructe schedule π i (ik ) = (i1 , · · · , ik , [i], V M, E2i (ik ), T i (ik )). Now we compare schedules π i (ik ) and π ∗ . The numbers of on-time jobs scheduled before the maintenance activity are the same for them. By Lemma 6, both E2∗ and E2i (ik ) are obtained by invoking Moore-Hodgson algorithm for the same partial job subset Jˆ = {[i + 1], [i + 2], · · · , [n]} and setting  starting times to process the jobs.  different Clearly, with the previous inequality kr=1 pir ≤ kr=1 p∗ir , the starting time to process the jobs [i + 1], [i + 2], · · · , [n] in π i (ik ) is no larger than that in π ∗ , which implies that the number of on-time jobs in E2i (ik ) is no smaller than that in E2∗ . At the end, the number of tardy jobs in π i (ik ) is no larger than that in π ∗ and the correctness of Algorithm H3 is established. Clearly we only need to construct at most n2 schedules and each schedule needs  O(nlogn) time. Thus, Algorithm H3 solves the problem in O(n3 logn) time. 11

6.1

A numerical example

To demonstrate the working of Algorithm H3 , we solve the following ten-job instance: The job processing times and corresponding due dates are shown in Table 2. Table Job 1 2 pj 2 4 dj 9 6

2: 3 5 8

The 4 6 9

values on pj and dj 5 6 7 8 9 10 8 9 11 14 16 18 11 17 18 20 36 22

The deadline of the starting time of the maintenance activity is sd = 35; The maintenance duration is l = f (s) = 2 + s/5, where s is the starting time of the maintenance activity. Executing Algorithm H3 , in Step 1, we sequence the jobs in the EDD order as d2 ≤ d3 ≤ d1 ≤ d4 ≤ d5 ≤ d6 ≤ d7 ≤ d8 ≤ d10 ≤ d9 , and obtain J0 = ∅, J1 = {2} J2 = {2, 3}, J3 = {2, 3, 1}, J4 = {2, 3, 1, 4}, J5 = {2, 3, 1, 4, 5}, J6 = {2, 3, 1, 4, 5, 6}, J7 = {2, 3, 1, 4, 5, 6, 7}, J8 = {2, 3, 1, 4, 5, 6, 7, 8}, J9 = {2, 3, 1, 4, 5, 6, 7, 8, 10}, and J10 = {2, 3, 1, 4, 5, 6, 7, 8, 10, 9}. In Step 2, construct schedule π 0 (0) as follows: 0

π (0) = ( V M, 2, 1, 6, 9 , 3, 4, 5, 7, 8, 10 ), where       the on-time jobs the tardy jobs

10 

Uj = 6;

j=1

In Step 3, for i = 1, first invoke the SPT-based algorithm on J0 = ∅ to obtain the set of on-time jobs (which is an empty set) and q1∗ = 0. Construct schedule π 1 (0) as follows: 1

2, V M, 1, 9 , 3, 4, 5, 6, 7, 8, 10), where       the on-time jobs the tardy jobs

π (0) = (

10 

Uj = 7;

j=1

for i = 2, first invoke the SPT-based algorithm on J1 = {2} to obtain the set of on-time jobs (which is {2}) and q2∗ = 0. Construct schedule π 2 (0) as follows: π 2 (0) = (

3, V M, 6, 9 , 1, 2, 4, 5, 7, 8, 10), where       the on-time jobs the tardy jobs

12

10  j=1

Uj = 7;

for i = 3, first invoke the SPT-based algorithm on J2 = {2, 3} to obtain the set of on-time jobs (which is {2}) and q3∗ = 1. Construct schedules π 3 (0) and π 3 (2) as follows: π 3 (0) = (

1, V M, 6, 9 , 2, 3, 4, 5, 7, 8, 10), where       the on-time jobs the tardy jobs

3

2, 1, V M, 9 , 3, 4, 5, 6, 7, 8, 10), where       the on-time jobs the tardy jobs

π (2) = (

10 

Uj = 7;

j=1 10 

Uj = 7;

j=1

for i = 4, first invoke the SPT-based algorithm on J3 = {2, 3, 1} to obtain the set of on-time jobs (which is {1, 2}) and q4∗ = 1. Construct schedules π 4 (0) and π 4 (1) as follows: 4

π (0) = (

, 1, 2, 3, 5, 6, 7, 8, 10), where 4, V M, 9       the on-time jobs the tardy jobs

π 4 (1) =

(

1, 4, V M, 9 , 2, 3, 5, 6, 7, 8, 10),       the on-time jobs the tardy jobs

where

10 

Uj = 8;

j=1 10 

Uj = 7;

j=1

for i = 5, first invoke the SPT-based algorithm on J4 = {2, 3, 1, 4} to obtain the set of on-time jobs (which is {1, 2}) and q5∗ = 1. Construct schedules π 5 (0) and π 5 (1) as follows: π 5 (0) = (

, 1, 2, 3, 4, 6, 7, 8, 10), where 5, V M, 9       the on-time jobs the tardy jobs

5

π (1) =

(

1, 5, V M, 9 , 2, 3, 4, 6, 7, 8, 10),       the on-time jobs the tardy jobs

where

10 

Uj = 8;

j=1 10 

Uj = 7;

j=1

for i = 6, first invoke the SPT-based algorithm on J5 = {2, 3, 1, 4, 5} to obtain the set of on-time jobs (which is {1, 2}) and q6∗ = 2. Construct schedules π 6 (0), π 6 (1), and π 6 (2) as follows: 10  6 , 1, 2, 3, 4, 5, 7, 8, 10), where 6, V M, 9 Uj = 8; π (0) = (       j=1 the on-time jobs the tardy jobs 10  π 6 (1) = ( 1, 6, V M, 9 , 2, 3, 4, 5, 7, 8, 10), where Uj = 7;       j=1 the on-time jobs the tardy jobs 10  6 where π (2) = ( 2, 1, 6, V M, 9 , 3, 4, 5, 7, 8, 10 ), Uj = 6;       j=1 the on-time jobs the tardy jobs 13

for i = 7, first invoke the SPT-based algorithm on J6 = {2, 3, 1, 4, 5, 6} to obtain the set of on-time jobs (which is {1, 2, 6}) and q7∗ = 2. Construct schedules π 7 (0), π 7 (1), and π 7 (2) as follows: 7

π (0) = (

, 1, 2, 3, 4, 5, 6, 8, 10), where 7, V M, 9       the on-time jobs the tardy jobs

π 7 (1) =

(

7

π (2) =

(

1, 7, V M, 9 , 2, 3, 4, 5, 6, 8, 10),       the on-time jobs the tardy jobs 2, 1, 7, V M , 3, 4, 5, 6, 8, 9, 10),       the on-time jobs the tardy jobs

where

10 

Uj = 8;

j=1 10 

Uj = 7;

j=1

where

10 

Uj = 7;

j=1

for i = 8, first invoke the SPT-based algorithm on J7 = {2, 3, 1, 4, 5, 6, 7} to obtain the set of on-time jobs (which is {1, 2, 6}) and q8∗ = 2. Construct schedule π 8 (0), π 8 (1), and π 8 (2) as follows: 8

π (0) = (

, 1, 2, 3, 4, 5, 6, 7, 10), where 8, V M, 9       the on-time jobs the tardy jobs

π 8 (1) = (

, 2, 3, 4, 5, 6, 7, 9, 10), where 1, 8, V M       the on-time jobs the tardy jobs

8

π (2) =

(

2, 1, 8, V M , 3, 4, 5, 6, 8, 9, 10),       the on-time jobs the tardy jobs

where

10 

Uj = 8;

j=1 10 

Uj = 8;

j=1 10 

Uj = 7;

j=1

for i = 9, first invoke the SPT-based algorithm on J8 = {2, 3, 1, 4, 5, 6, 7, 8} to obtain the set of on-time jobs (which is {1, 2, 6}) and q9∗ = 1. Construct schedules π 9 (0) and π 9 (1) as follows: 9

, 1, 2, 3, 4, 5, 6, 7, 8, 9), where 10, V M       the on-time jobs the tardy jobs

π (0) = (

π 9 (1) =

, 2, 3, 4, 5, 6, 7, 8, 9), 1, 10, V M       the on-time jobs the tardy jobs

(

where

10 

Uj = 9;

j=1 10 

Uj = 8;

j=1

and for i = 10, first invoke the SPT-based algorithm on J9 = {2, 3, 1, 4, 5, 6, 7, 8, 10} to ∗ obtain the set of on-time jobs (which is {1, 2, 6}) and q10 = 3. Construct schedules π 10 (0), 14

π 10 (1), π 10 (2), and π 10 (6) as follows: π 10 (0) = (

, 1, 2, 3, 4, 5, 6, 7, 8, 10), where 9, V M       the on-time jobs the tardy jobs

10

π (1) =

10

π (2) =

π 10 (6) =

, 2, 3, 4, 5, 6, 7, 8, 10), 1, 9, V M       the on-time jobs the tardy jobs

(

where

Uj = 9;

j=1 10 

Uj = 8;

j=1

2, 1, 9, V M , 3, 4, 5, 6, 7, 8, 10),       the on-time jobs the tardy jobs

where

( 2, 1, 6, 9, V M , 4, 5, 6, 7, 8, 10 ),       the on-time jobs the tardy jobs

where

(

10 

10 

Uj = 7;

j=1 10 

Uj = 6.

j=1

In Step 4, by comparing the above schedules, we pick the schedules yielding the minimum number of tardy jobs as the optimal schedules. We conclude that the optimal schedules are π 0 (0), π 6 (2), and π 10 (6). They all have the same optimal objective value 6.

7

Concluding Remarks

In this paper we study some problems of scheduling a variable maintenance activity and jobs on a single machine, where the maintenance activity must start before a given deadline, and the maintenance duration is a positive and nondecreasing function of its starting time. We show that the problems to minimize the makespan, sum of completion times, maximum lateness, and number of tardy jobs are all polynomially solvable.

References [1] Cheng, T.C.E., Hsu, C-J., & Yang, D-L. (2011). Unrelated parallel-machine scheduling with deteriorating maintenance activities. Computers & Industrial Engineering, 60(4), 602–605. [2] Epstein, L., Levin, A., Marchetti-Spaccamela, A., Megow, N., Mestre, J., Skutella, M., & Stougie, L. (2012). Universal sequencing on an unreliable machine. SIAM Journal on Computing, 41(3), 565-586. [3] Fu, B., Huo, Y., & Zhao, H. (2009). Exponential inapproximability and FPTAS for scheduling with availability constraints. Theoretical Computer Science, 410(27), 2663-2674.

15

[4] Graham, R.L., Lawler, E.L., Lenstra, J.K., & Rinnooy Kan, A.H.G. (1979). Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics 5, 287–326. [5] Hoogeveen, H., & T kindt, V. (2012). Minimizing the number of late jobs when the start time of the machine is variable. Operations Research Letters, 40(5), 353-355. [6] Ji, M., He, Y., & Cheng, T.C.E. (2007). Single-machine scheduling with periodic maintenance to minimize makespan. Computers & Operations Research, 34(6), 17641770. [7] Ji, M., Ge, J., Chen, K., & Cheng, T.C.E. (2013). Single-machine due-window assignment and scheduling with resource allocation, aging effect, and a deteriorating rate-modifying activity. Computers & Industrial Engineering, 66(4), 952-961. [8] Kubzin, M. A., & Strusevich, V. A. (2006). Planning machine maintenance in twomachine shop scheduling. Operations Research, 54(4), 789-800. [9] Kacem, I., Chu, C., & Souissi, A. (2008). Single-machine scheduling with an availability constraint to minimize the weighted sum of the completion times. Computers & Operations Research, 35(3), 827-844. [10] Kacem, I. (2008). Approximation algorithm for the weighted flow-time minimization on a single machine with a fixed non-availability interval. Computers & Industrial Engineering, 54(3), 401-410. [11] Kacem, I., & Chu, C. (2008). Worst-case analysis of the WSPT and MWSPT rules for single machine scheduling with one planned setup period. European Journal of Operational Research, 187(3), 1080-1089. [12] Kellerer, H., Kubzin, M. A., & Strusevich, V. A. (2009). Two simple constant ratio approximation algorithms for minimizing the total weighted completion time on a single machine with a fixed non-availability interval. European Journal of Operational Research, 199(1), 111-116. [13] Lee, C. Y., & Liman, S. D. (1992). Single machine flow-time scheduling with scheduled maintenance. Acta Informatica, 29(4), 375-382. [14] Lee, C. Y. (1996). Machine scheduling with an availability constraint. Journal of Global Optimization, 9(3-4), 395-416. [15] Lee, C. Y. (1997). Minimizing the makespan in the two-machine flowshop scheduling problem with an availability constraint. Operations Research Letters, 20(3), 129-139. [16] Lee, C. Y. (1999). Two-machine flowshop scheduling with availability constraints. European Journal of Operational Research, 114(2), 420-429.

16

[17] Lee, C. Y., & Chen, Z. L. (2000). Scheduling jobs and maintenance activities on parallel machines. Naval Research Logistics, 47(2), 145-165. [18] Luo, W., Chen, L., & Zhang, G. (2010). Approximation algorithms for scheduling with a variable machine maintenance. In: Algorithmic Aspects in Information and Management, Springer Berlin Heidelberg, LNCS 6124, 209-219, [19] Moore, J. M. (1968). An n job, one machine sequencing algorithm for minimizing the number of late jobs. Management Science, 15(1), 102-109. [20] Mosheiov, G., & Sidney, J. B. (2010). Scheduling a deteriorating maintenance activity on a single machine. Journal of the Operational Research Society, 61(5), 882-887. [21] Ma, Y., Chu, C., & Zuo, C. (2010). A survey of scheduling with deterministic machine availability constraints. Computers & Industrial Engineering, 58(2), 199-211. [22] Mati, Y. (2010). Minimizing the makespan in the non-preemptive job-shop scheduling with limited machine availability. Computers & Industrial Engineering, 59(4), 537543. [23] Mor, B., & Mosheiov, G. (2012). Heuristics for scheduling problems with an unavailability constraint and position-dependent processing times. Computers & Industrial Engineering, 62(4), 908-916. [24] Moncel, J., Thiery, J., & Waserhole, A. (2014). Computational performances of a simple interchange heuristic for a scheduling problem with an availability constraint. Computers & Industrial Engineering, 67, 216–222. [25] Qi, X., Chen, T., & Tu, F. (1999). Scheduling the maintenance on a single machine. Journal of the Operational Research Society, 50(10), 1071-1078. [26] Schmidt, G. (2000). Scheduling with limited machine availability. European Journal of Operational Research, 121(1), 1-15. [27] Tang, L., Ren, H., & Yang, Y. (2014). Reheat furnace scheduling with energy consideration. International Journal of Production Research, DOI: 10.1080/00207543.2014.919418. [28] Wang, G., Sun, H., & Chu, C. (2005). Preemptive scheduling with availability constraints to minimize total weighted completion times. Annals of Operations Research, 133(1-4), 183-192. [29] Xu, D., Yin, Y., & Li, H. (2010). Scheduling jobs under increasing linear machine maintenance time. Journal of Scheduling, 13(4), 443-449.

17