Abstract

This paper investigates a scheduling problem on a single machine with maintenance, in which the starting time of the maintenance is given in advance but its duration depends on the load of the machine before the maintenance. The goal is to minimize the makespan. We formulate it as an integer programming model and show that it is NP-hard in the ordinary sense. Then, we propose an FPTAS and point out that a special case is polynomial solvable. Finally, we design fast heuristic algorithms to solve the scheduling problem. Numerical experiments are implemented to evaluate the performance of the proposed heuristic algorithms. The results show the proposed heuristic algorithms are effective.

1. Introduction

We consider the following scheduling problem. Given a set of jobs to be nonpreemptively processed on a single machine, all of which are available at time zero. To prevent the machine breakdown, we must start maintenance at a prefixed time, but the duration of maintenance depends on the load of the machine before the maintenance, that is, the sum of processing times of jobs that is scheduled before the maintenance, which is a nonnegative and nondecreasing function on the load. The goal is to schedule all the jobs to minimize the maximum completion time (makespan).

For a given schedule, write for the processing time and for the completion time of job , , respectively. Let denote the starting time of maintenance, which is given in advance, and let denote the load of the machine before the maintenance and let denote the duration of maintenance. Then, , where is a nonnegative and nondecreasing function on (without loss of generality, we assume that function can be computed in polynomial time). Furthermore, let denote the maximum completion time (i.e., makespan). Using the three-field notation proposed by Graham et al. [1], we denote our problem as , , where “LDM” denotes the maintenance subject to load-dependent duration.

As a practical example, consider the casting production in steel-making plant [2], in which the steel slabs used for downstream hot rolling operation are melted by the caster. Each steel slab can be viewed as a job and the caster can be viewed as a machine. At a given time, we must refill the fuels for the caster, which can be regarded as maintenance. The time for refilling the fuels is its duration, which depends on the consumed fuels before the maintenance.

The above problem roughly falls into a class of scheduling problem which is referred to as scheduling with machine unavailable constraints. Since 1996, scheduling with machine unavailable constraints has been investigated extensively. For the related surveys, we refer the readers to Schmidt [3] and Ma et al. [4]. In the following, we only review the previous works very related to our problem. Lee [5] considered the scheduling problem with unavailable intervals on a single machine, in which the starting times and the durations of the unavailable intervals are given in advance with the goal to minimize the makespan and showed the problem is NP-hard with one unavailable interval and strong NP-hard with multiple unavailable intervals. He et al. [6] proposed a fully polynomial time approximation scheme with one unavailable interval for the problem proposed by Lee [5]. Breit et al. [7] showed that no polynomial time approximation algorithm with a fixed performance ratio exists with two intervals for the problem proposed by Lee [5]. Wu and Lee [8], Gawiejnowicz [9], and Ji et al. [10] extended the problem proposed by Lee [5] to job deterioration case, where the processing time of a job is a simple linear function of its starting time. For other related problems involving machine unavailable constraints, see Lee [11], Lee et al. [12], Hwang et al. [13], Liao et al. [14], Liao and Sheen [15], Zhong et al. [16], Wan [17], Yin et al. [18], Yin et al. [19], and Yin et al. [20].

All of the above reviewing models assume that the duration of maintenance is fixed. But in our model, we assume that the duration is variable, which depends on the load of the machine before the maintenance. As pointed in the practical example, such assumption captures the real setting in steel-making process and our problem extends the previous models.

The paper is organized as follows. In Section 2, we formulate our problem as a integer programming model. In Section 3, we show that our problem is NP-hard and propose an FPTAS for it. In Section 4, we point out that a special case of our problem is polynomially solvable. Finally, we derive the fast heuristic algorithms and carry out the numerical experiment to evaluate their performance in Section 5. Some concluding remarks are given in Section 6.

2. Mathematical Model

In this section, the problem , is formulated as an integer programming model. The decision variable is a 0-1 variable, . If , then job is scheduled before the maintenance, . Otherwise, job is scheduled after the maintenance, . The proposed model is presented as follows.

Integer programming model is

The objective function (1) minimizes the makespan, that is, the maximum completion time of the final job. Constraint (2) denotes the sum of processing times of jobs scheduled before the maintenance no larger than the starting time of the maintenance. Constraint (3) denotes the completion time of the final job. Constraint (4) indicates that the range of the decision variables is 0 or 1.

3. An FPTAS

In this section, we first state the computational complexity for our problem. Lee [5] showed that the scheduling problem with an unavailable fixed interval on a single machine to minimize the makespan is NP-hard, which can be viewed as a special case of our problem with the fixed-length duration. Therefore, our general problem is also NP-hard. Accordingly, we have the following theorem.

Theorem 1. The problem , is NP-hard.

Next, we derive a fully polynomial time approximation scheme (FPTAS) for our problem based on the classical 0-1 Min-Knapsack Problem (Min-KP). For completeness, we describe Min-KP in advance here. Given a knapsack and a set of items, the size of the knapsack is given; associated with each item is a given size and a given profit. The problem is to select a subset of items into knapsack so as to minimize the total profit of all unselected items. Kellerer et al. [21] showed that there exists an FPTAS for solving Min-KP.

We now propose an FPTAS for problem , based on the FPTAS to Min-KP.

Algorithm H.

Step 1. Let be a given positive constant and . Compute a series of such that , with . Let , .

Step 2. For each , , construct a corresponding Min-KP(i) as follows. Each job in an instance for problem , is corresponding to a item. The size and the profit of each item are the processing time of its corresponding job. The size of the knapsack is .

Step 3. Invoke the FPTAS for each constructed Min-KP(i), [21]; then, we obtain the corresponding items that are selected into the knapsack. Denote them as a corresponding job subset . Construct a schedule , where the jobs in are scheduled before the maintenance in an arbitrary order, and the remaining jobs are scheduled after the maintenance in an arbitrary order. Let denote the corresponding objective value, .

Step 4. From all the constructed schedule , , we choose the schedule with the minimal objective value as the output. Denote it as ; that is,

Next, we show that Algorithm is an FPTAS for problem , .

Let denote an optimal schedule and let denote the sum of processing times of jobs scheduled before the maintenance in the optimal schedule . Let . Then, the makespan of the optimal schedule is equal to ; that is, . We split the interval into a series of subintervals . Clearly, there exists a subinterval such that , . Consider the constructed schedule ; let denote the sum of processing times of jobs scheduled before the maintenance in the schedule . Then, the makespan of the schedule is equal to ; that is, . According to the choice of , we know . Furthermore, we have , because the schedule is obtained by an FPTAS for Min-KP(i) and is corresponding to a feasible solution for Min-KP(i). In the end, we have ; that is, . Consequently, . For the computation for each , since is nonnegative and nondecreasing and can be computed in polynomial time, by binary search it needs at most time. Thus, in all it needs at most time. Invoking each Min-KP() needs polynomial time. Thus, Algorithm needs polynomial time.

With the above argument, we have the following theorem.

Theorem 2. There exists an FPTAS for problem .

4. A Special Case

Now, we consider a special case for our problem that the function is differential and . From the expression on in (3), we knowApplying the well-known Mean-value Theorem [22], we have , where . Because and is constant, to minimize , we set all the , , to 0, that is, , , which implies that we schedule all the jobs after the maintenance. The optimal makespan is equal to .

5. Heuristic Algorithms and Numerical Experiments

Although the integer programming model provides the optimal solution, Theorem 1 indicates that the existence of a polynomial time algorithm for solving our problem is impossible. So designing fast heuristic algorithm to obtain near-optimal solution is reasonable. In this section, we propose heuristic algorithms to find approximate solutions. Numerical experiments are implemented to evaluate the effectiveness of these proposed heuristic algorithms.

Heuristic 1 (H1).
Step 1. Order the jobs as according to nondecreasing processing time; that is, .
Step 2. Compute the value such that .
Step 3. Construct a series of schedules , , where the jobs scheduled before the maintenance in are and the remaining jobs are scheduled after the maintenance. Construct schedule , where all the jobs are scheduled after the maintenance in .
Step 4. From all the schedules , , , choose the best as the output.

Heuristic 2 (H2).
Step 1. Order the jobs as according to nonincreasing processing time; that is, .
Step 2. Compute the value such that .
Step 3. Construct a series of schedules , , where the jobs scheduled before the maintenance in are and the remaining jobs are scheduled after the maintenance. Construct schedule , where all the jobs are scheduled after the maintenance in .
Step 4. From all the schedules , , choose the best as the output.

The heuristic algorithms H1 and H2 are coded in MATLAB language and executed on the computer with 1 G RAM and 512 KB L2 cache. For the experiments, we choose the following parameters to generate randomly the test problems:number of jobs (): 50, 100, 200, 400;the starting time of the maintenance (): 10, 20, 40, 60;processing times of jobs: generated from the discrete uniform distribution with range ;the duration of the maintenance (): .

To evaluate the performance of the heuristic algorithms, we adopt the trivial lower bound . Based on the lower bound, define the relative error ratio as , where denotes the makespan of the schedule generated by the heuristic algorithm Hi, , or 2. The Average Error Ratio and the Maximum Error Ratio measured over the lower bound of the makespan are used for the performance evaluation.

For each parameter combination, 200 random problems are generated to evaluate the performance of the heuristics algorithms. We do not report CPU times since even the largest problem is solved in a matter of seconds and there are no substantial differences in CPU times between the two algorithms. The evaluation results are showed in Tables 1 and 2.

The results of numerical experiments indicate that Heuristic 1 (H1) dominates Heuristic 2 (H2) in most cases and the performance of Heuristic 1 (H1) is effective in obtaining near-optimal solution. They also display that the error ratios reflect a downward trend when the value of increases (see Figures 1, 2, 3, and 4). We also observe that the error ratios appear in an upward trend when the value of increases; that is, the heuristic solutions get worse when the starting time of the maintenance becomes larger (see Figure 5). Furthermore, the heuristic algorithm H1 exhibits minor error ratios when the duration is relatively small (see Figure 6).

6. Concluding Remarks

In this paper, we investigate a scheduling problem on a single machine, in which maintenance on the machine must be performed. The starting time of the maintenance is given beforehand but its duration depends on the load of the machine before the maintenance. The goal is to minimize the makespan. We formulate it as an integer programming model and then propose an FPTAS and show that a special case of our problem is polynomially solvable. Finally, we propose fast heuristic algorithms and carry out numerical experiments to evaluate their performance.

Appendix

See Figures 16.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

This work was supported by the Natural Sciences Foundation (Grant no. 20142BAB211017) of Jiangxi Province and the School Subject (Grant no. 06162015 and Grant no. 06102015) of Jiangxi University of Finance and Economics.