Mathematical Problems in Engineering

Volume 2015 (2015), Article ID 732437, 5 pages

http://dx.doi.org/10.1155/2015/732437

## Single-Machine Scheduling with Workload-Dependent Maintenance Duration to Minimize Maximum Lateness

College of Science, East China Institute of Technology, Nanchang, Jiangxi 330013, China

Received 31 August 2014; Accepted 15 September 2014

Academic Editor: Chin-Chia Wu

Copyright © 2015 Ting Wang and Dehua Xu. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

A single-machine scheduling problem with a mandatory maintenance whose duration is workload-dependent is considered. The start time of the maintenance is restricted to a time window. The objective is to determine the start time of the maintenance and schedule all the jobs to the machine such that the maximum lateness is minimized. An approximation algorithm based on the classical Earliest Due Date first rule is proposed. It is showed that the proposed algorithm is optimal for some special cases and that it has a tight bound for the scheduling problem under consideration.

#### 1. Introduction

Scheduling with due-date related criteria is an important issue in operations management. As is usually the case, if a job cannot be finished before the promised due date, there is a penalty for the producer. When this is the case, the credit standing of the producer also decreases at the same time. As a result, some costumers may turn to another producer in the future. Assume that there is a lateness tolerance for all the costumers. In order to avoid losing too many costumers, minimizing* maximum lateness*, which measures the worst violation of the due dates, is usually selected as the objective in production scheduling.

To the best of our knowledge, Jackson [1] is the first researcher that considers the maximum lateness objective in the field of scheduling. He shows that the Earliest Due Date first rule, which sequences the jobs in nondecreasing order of their due dates, is optimal for the maximum lateness objective in classical single-machine setting. Since then, numerous works have been done on the same objective for various machine settings and job parameters. For related papers published in recent years, see, for example, [2–7].

Note that a machine may be unavailable sometimes in reality due to various reasons such as refueling, tool changing, and regular check. Taking this factor into consideration, one has to make a coordination between job processing and machine maintenance. In this paper, instead of taking the duration of a maintenance as a constant [8–12] or as a function of its start time [13–15], we assume that the duration of the maintenance is an nonnegative increasing function of its workload before the maintenance [16]. This maintenance duration model is more practical than the start time related model for the fact that the machine may not be always busy before the maintenance in some scenarios. In order to be more realistic, we further assume that the maintenance must be started within a time window.

Formally, the problem under consideration can be described as follows. There are independent nonpreemptive jobs to be scheduled on a single-machine with a mandatory maintenance. All jobs are available at time zero. The processing time and due-date of job are and , respectively, where . The duration of the maintenance is a nonnegative increasing function of the workload that is scheduled to be carried by the machine before the maintenance, which must be started within time window , where . The lateness of a job in a schedule is defined as its completion time in the schedule minus its due-date. The objective of the problem is to determine the start time of the maintenance and schedule all the jobs to the machine such that the maximum lateness is minimized.

The rest of this paper is organized as follows. In the next section, we show that the problem under consideration is NP-hard. Then, in Section 3, we propose an approximation algorithm with a worst-case analysis. Finally, in Section 4, we conclude the paper.

#### 2. Computational Complexity

It is well-known that corresponding classical version of our problem, that is, , can be solved optimally in polynomial time by the Earliest Due Date first rule [17]. However, as can be seen later, our problem is NP-hard.

Theorem 1. *The scheduling problem under consideration is NP-hard.*

*Proof. *Consider the restricted version of our scheduling problem where is a constant function greater than zero, , and for every . It is easy to see that the decision version of the restricted version of our scheduling problem is in NP. Note that the Partition Problem [17, 18] which is NP-complete is reducible to the decision version of the restricted version of our scheduling problem. Hence, the decision version of the restricted version of our scheduling problem is also NP-complete. This implies that the restricted version of our scheduling problem is NP-hard. And thus, our scheduling problem (i.e., the nonrestricted version) is NP-hard.

#### 3. An Approximation Algorithm and Its Worst-Case Analysis

Note that the scheduling problem under consideration is NP-hard. So, there does not exist any polynomial time optimal algorithm for it unless P = NP. In what follows, we will present an approximation algorithm named EDDMW (Earliest Due Date first with Maximum Workload before the maintenance) based on the classical Earliest Due Date first rule. The underlying idea of the algorithm is to sort all the jobs according to nondecreasing order of their due dates first and then process as many jobs in this order as possible before maintenance.

*Algorithm EDDMW*. Consider the following.

*Step 1. *Sort all the jobs such that , where is a permutation of .

*Step 2. *Let and and .

*Step 3. *If , then process the first jobs in the sorted order consecutively from time zero. If , then keep the machine idle for a time of . Conduct the maintenance from time for a duration of . If , then process the rest of the jobs in the sorted order consecutively from time .

Note that Step 1 takes time while Step 2 takes time. Assume that the duration function is given by an oracle which for any given returns . Then, Step 3 also takes time. And hence, the running time of the algorithm EDDMW is .

The following notations will be used throughout this paper: : the schedule produced by algorithm EDDMW for the scheduling problem under consideration; : the workload (i.e., the total processing time of the jobs scheduled to be processed) before the maintenance in ; : the lateness of job in schedule ; : the maximum lateness of the jobs in schedule ; that is, ; : an optimal schedule for the scheduling problem under consideration; : the workload before the maintenance in ; : the lateness of job in schedule ; : the maximum lateness of the jobs in schedule ; that is, ; : the first job that achieves the maximum lateness in ; that is, ; : the last finished job among the jobs in .

Theorem 2. *If , then is optimal.*

*Proof. *If , then all the jobs are scheduled to be processed before the maintenance in nondecreasing order of their due date in , which means that our problem reduces to its classical version without maintenance. Note that Earliest Due Date first rule is optimal for the latter [17]. Therefore, is optimal.

Theorem 3. *If job is scheduled to be processed before the maintenance in , then is optimal.*

*Proof. *It is easy to see that Now, consider the following two cases.*Case **1*. is scheduled to be processed* before* the maintenance in .

It is easy to see that Note that . So we have Combining this with (1), we have which implies that is also optimal.*Case **2*. is scheduled to be processed* after* the maintenance in .

It is easy to see that Note that is nonnegative and that . So we have Combining this with (1), we have which implies that is also optimal.

This completes the proof.

Now, let , , and .

Theorem 4. *If job is scheduled to be processed after the maintenance in , then **and each of the bounds is tight.*

*Proof. *We declare that job cannot be scheduled to be processed* before* the maintenance in . To see this is the case, if is scheduled to be processed* before* the maintenance in , then by the definition of , jobs must be scheduled to be processed before the maintenance too, which clearly contradicts the assumption of the theorem. So, in what follows, we assume that job is scheduled to be processed* after* the maintenance in .

Now, consider the following four cases.*Case **1*. and . It is easy to see that and thatCombining (9) and (10) with the definitions of and , respectively, we have and that Recall that . Combining this with (12), we have Combining (13) with (11), we have To see that this bound is tight, consider the following instance.*Instance 1.* Consider , , , , , , , , and , where .

It can be checked that for this instance while (see Figure 1). Note that for this instance , , and . So we have as for Instance 1.*Case **2*. and . It is easy to see that in this case we have (11) and Recall that . Combining this with (15), we have Note that and that is increasing. So we have Combining this with (11), we have Note that . So we have To see that this bound is tight, consider the following instance.*Instance 2.* Consider , , , , , and , where .

It can be checked that for this instance while (see Figure 2). Note that for this instance , , and . So we have as for Instance 2.*Case **3*. and . It is easy to see that in this case we have (13) and Note that . So, by (20), we have Combining this with (13), we have To see that this bound is tight, consider the following instance.*Instance 3.* Consider , , , , , and , where .

It can be checked that for this instance while (see Figure 3). Note that for this instance , , and . So we have as for Instance 3.*Case **4*. and . Consider the following.

It is easy to see that in this case we have (16) and (21). And hence, To see that this bound is tight, consider the following instance.*Instance 4.* Consider , , , , and , where .

It can be checked that for this instance while (see Figure 4). Note that for this instance and . So we have as for Instance 4.

This completes the proof.