#### Abstract

A single machine predictive scheduling problem is considered. The primary objective is to minimize the total completion times. The predictability of the schedule is measured by the completion time deviations between the predictive schedule and realized schedule. The surrogate measure of predictability is chosen to evaluate the completion time deviations. Both of the primary objective and predictability are optimized. In order to absorb the effects of disruptions, the predictive schedule is generated by inserting idle times. Right-shift rescheduling method is used as the rescheduling strategy. Three methods are designed to construct predictive schedules. The computational experiments show that these algorithms provide high predictability with minor sacrifices in shop performance.

#### 1. Introduction

Production scheduling is a decision making process which is related to the allocation of resources to tasks on machines for optimization of one or more scheduling objectives [1, 2]. It plays an important role in most manufacturing and service systems [3–5]. In traditional scheduling problems, uncertainties will not be considered [1, 6]. However, in real cases, disruptions are inherently existent in every manufacturing environment. Examples of such disruptions include machine breakdowns, new job arrivals, rush job arrivals, jobs cancellation, processing time changes, due date changes, and unavailability of raw materials or tools. Dealing with these disruptions in the manufacturing environment is a very important factor in the design of scheduling algorithms.

McKay et al. [7] classified uncertainties into three main categories in practical manufacturing environment: (i) complete unknowns, (ii) suspicions about the future, and (iii) known uncertainties. Complete unknowns are those about which no advance information is available. They are unpredictable. Suspicions about the future originate from the experience and intuition of the manager. Both of the two types of uncertainties are difficult to incorporate into making production plan. Known uncertainties mean that some information is available when the predictive schedule is generated. For instance, machine breakdowns belong to the known uncertainties, and their occurrence and duration can be described using probability distributions. A large number of theoretical researches and practices indicate that there are lots of parameters with exponential distributions in the industrial production and the analysis of the reliability of equipment. In this paper, we work on the same assumption that the interval between two consecutive machine breakdowns is exponentially distributed as in [4, 8–10].

As we know, machine breakdowns are common disruptions in manufacturing systems. In order to absorb the machine breakdown disruptions’ effects, a predictive schedule is generated in advance by inserting idle times in the practical production system [11–13]. The scheduling process is stated as follows. An initial schedule (called predictive schedule) is generated according to the machine environment and the information of the current orders. Then the predictive schedule is executed. When the machine breakdowns occur, the predictive schedule is modified to improve the performance and reduce the impacts of the disruptions. The finial schedule (called realized schedule) is obtained after all the jobs have been processed. Generating a predictive schedule without affecting planned activities, the difference between the predictive schedule and realized schedule should be controlled while maintaining high shop performance.

We briefly discuss some works related to predictive scheduling problems. Mehta and Uzsoy [9] presented a predictive scheduling method which inserted idle times into the schedule. The scheduling problem was minimizing maximum lateness in job shop environment with random machine breakdowns. The results showed that the predictive scheduling improved the predictability significantly with minor sacrifices in the performance. O’Donovan et al. [10] considered a predictive scheduling problem of a single machine to minimize total tardiness with stochastic machine breakdowns. Similar to that in [9, 10], Mehta and Uzsoy [4] constructed predictive scheduling of a single machine to minimize maximum lateness with release times and machine breakdowns. Liu et al. [8] considered a predictive scheduling of a single machine to minimize the total weighted tardiness with machine breakdowns. They provided a two-stage multipopulation genetic algorithm. In fact, the idle time inserting methods of the predictive scheduling are generally two-stage algorithms. An initial sequence is determined without considering machine breakdowns in the first stage. The predictive schedule is generated by inserting some amount of idle times in the second stage. In this paper, we take the total completion times as the objective. We construct predictive schedules by using similar algorithms as in [4, 9, 10] but introducing the new scheme which considers the feedback of the idle times’ effects.

The remainder of this paper is organized as follows. In Section 2, we present the problem formulation of the single machine scheduling problem to minimize the total completion times. In Section 3, we provide some preliminaries of the problem. We choose a surrogate measure of predictability to evaluate the completion time deviations. In Section 4, we provide three predictive schedule algorithms by inserting idle times. In Section 5, extensive experiments are conducted to compare the performance of the three algorithms. Finally, we give a summary of the paper and a discussion of future work in Section 6.

#### 2. Problem Formulation and Notations

The problem is stated as follows. Let denote the set of jobs to be processed on a single machine. We use to denote the processing time of job , . The machine can process only one job at the same time and the jobs are processed without preemption. Once the processing of the job starts, the machine is occupied until the process is completed. The machine is subject to random breakdowns. The primary objective is to minimize the total completion times. In this model, we should optimize not only the primary objective, but also the total completion time deviations between the predictive schedule and realized schedule. Denote as the predictive schedule and as the realized schedule. Let denote the completion time of job in predictive schedule and let denote the completion time of job in realized schedule . We define as the total completion times in the predictive schedule and as the total completion times in the realized schedule . Let be a predictive schedule to minimize the primary objective without machine breakdowns and let be a predictive schedule by inserting idle times.

#### 3. Preliminaries

In this section, we develop a surrogate measure of predictability, which will be used in subsequent sections.

Let the jobs be indexed in the order in which they appear in the predictive schedule. We evaluate the predictability of a predictive schedule by the total completion time deviations between the predictive schedule and realized schedule. It is calculated as where and [9]. Lower value of total time deviations means that the schedule has better predictability performance. Hence, it can generate predictive schedule with better predictability performance to minimize the total completion time deviations. However, it is hard to optimize predictability performance because of the random machine breakdowns. Mehta and Uzsoy [9] presented five surrogate measures of predictability to evaluate the completion time deviations. According to computational experiments, they showed that surrogate measure provides significantly higher correlation with the expected completion time deviations than other measures. Therefore, we choose as the surrogate measure of predictability. The surrogate measure is defined as follows: where is the schedule formed by increasing the processing time of job by while maintaining the same sequence with , is the mean rate at which machine breakdowns occur, and is the mean repair duration.

Adiri et al. [3] and Lee and Liman [14] proved that the single machine scheduling problem to minimize the total completion times with a single breakdown under a deterministic environment is NP-complete. Hence, the predictive scheduling to optimize the total completion times and predictability with random machine breakdowns is fairly difficult to solve.

#### 4. Heuristic Predictive Scheduling Methods

In this section, three heuristic predictive algorithms are developed. In Section 4.1, an optimized surrogate measure heuristic algorithm is designed to construct a predictive schedule. In Section 4.2, a linear programming based heuristic algorithm for the predictive schedule is provided. In Section 4.3, a feedback algorithm is presented.

In order to maintain high predictability of the schedule with minor sacrifices in primary objective performance, we use the right-shift rescheduling (RSR) method after the machine breakdowns occur. The right-shift rescheduling method implies that the jobs’ starting time is right-shift to the end of the machine breakdown, while keeping the job sequence in the predictive schedule.

##### 4.1. SPT-OSMH Algorithm

Mehta and Uzsoy [9] provided an optimized surrogate measure heuristic (OSMH) for the predictive scheduling of a job shop to minimize the maximum lateness. In the OSMH heuristic, a predictive schedule is generated to minimize the primary objective assuming no breakdowns. Then keep the same job sequence and insert idle time into the schedule to minimize without considering the effects on the primary objective. Using the idea of OSMH, we design the SPT-OSMH algorithm for the predictive scheduling on a single machine to minimize the total completion times. The SPT-OSMH algorithm is given as the follows.

*Algorithm H1*

*Step **1.* Generate the predictive schedule to minimize using shortest processing time first (SPT) rule assuming no machine breakdowns.

*Step **2.* Calculate the jobs’ idle time . Generate the predictive schedule by inserting the idle time into while keeping the same job sequence as in , .

*Step **3.* Use right-shift rescheduling method when machine breakdown occurs.

##### 4.2. Linear Programming Based Algorithm

Mehta and Uzsoy [4] presented a linear programming based heuristic for the predictive scheduling on a single machine with release times to minimize maximum lateness. In the linear programming based heuristic, a predictive schedule is also generated to minimize the primary objective assuming no breakdowns. But the amount of inserted idle time is constrained by a linear programming to control the realized schedule primary objective degradation. Using the idea of linear programming based algorithm, we provide H2 algorithm for the predictive schedule to minimize the total completion times.

*Algorithm H2*

*Step **1.* Generate the predictive schedule to minimize using shortest processing time first (SPT) rule assuming no machine breakdowns.

*Step **2.* Compute the completion time by linear programming (LP) while keeping the same sequence as in . The predictive schedule is obtained.

*Step **3.* Use right-shift rescheduling method when machine breakdown occurs:

Let denote the completion time of job in the schedule which is obtained by Algorithm H1. Constraint (3) guarantees the precedence relationship. Constraint (5) controls the degradation in realized schedule. We define as the control parameter.

##### 4.3. Feedback Algorithm

The initial sequences generated by Algorithms H1 and H2 are both optimizing the total completion times without considering the random machine breakdowns. The sequence of the predictive schedule will not change after inserting the idle times in the schedule. In order to consider the feedback effects of the idle time on the initial sequence, we present the feedback Algorithm H3.

*Algorithm H3*

*Step **1.* Generate the predictive schedule to minimize using shortest processing time first (SPT) rule assuming no machine breakdowns.

*Step **2.* Compute the idle time of job , by the LP optimization of Algorithm H2.

*Step **3.* Insert into the schedule . Schedule the jobs in nondecreasing order of and generate the new predictive schedule .

*Step **4.* Use right-shift rescheduling method when machine breakdown occurs.

In the next section, computational experiments are conducted for the predictive scheduling problem.

#### 5. Experimental Results

In order to examine the performance of the predictive schedule, a series of computational experiments using randomly generated test problems are conducted. These algorithms are coded in Matlab and run on an Intel Core Quad PC with 2.66 GHz CPU and 4.0 GB RAM. The test instances are generated as in [4]. There are six levels of job numbers; . The processing times are from two discrete uniform distributions, where = uniform (1,11) and = uniform (4,8). Therefore, we have a total of 12 problem parameter combinations. For each problem parameter combination, 20 instances are generated. There are a total of 240 instances in the problem set (see Table 1).

The time between machine breakdowns is exponentially distributed with mean , where is the expected job processing time and . Higher value of indicates less frequent machine breakdowns. The machine breakdown durations are generated from a uniform distribution between and . Six types of machine breakdown parameter combinations are generated (see Table 2). Let the control parameter be 0.5. Therefore, we have 240 instances subject to 6 types of machine breakdowns and a total of 1440 combinations of the problem and breakdown type.

For each instance, predictive schedules are generated by Algorithms H1, H2, and H3. We simulate the execution of each predictive schedule 30 times to calculate the average completion time deviation and average realized schedule total completion times using the right-shift rescheduling method when machine breakdowns occur. Let and denote the average completion time deviation and average realized schedule for problem Q using predictive Algorithm H. Denote and as the average completion time deviation and average realized schedule for problem Q using predictive-reactive algorithm (i.e., schedule the jobs in SPT order without inserting idle times) and right-shift rescheduling method. We define as the average percentage total completion time deviation improvement for the same problem class and as the average percentage total completion times improvement for the same problem class (the positive value indicates improvement while the negative value means degradation). The problem class is defined as a set of instances, in which some parameter has a fixed value. Let denote the problem class where represents the breakdown type, represents the number of jobs, and represents the processing times. Let denote all possible values of a parameter. For instance, indicates the set of all instances with processing time :

Tables 3 and 4, respectively, show and values for various problem classes. The running times of the algorithms are not reported since the majority of the instances are finished in a few seconds. According to Tables 3 and 4, we can draw the conclusions as follows.(i)The predictability of the predictive schedules generated by Algorithms H1, H2, and H3 improved significantly over those without inserting idle time. Meanwhile, inserting idle time sacrifices minor shop performance.(ii)The predictive schedule obtained by Algorithm H2 effectively controls the objective degradation, which is obviously better than that by Algorithm H1. When the types of machine breakdown are B1, B4, and B5, the predictive approach H2 yields substantial predictability improvements over PRS at the cost of very slight degradation in the performance of realized schedule . Moreover, the greater number of jobs indicates higher predictability of the predictive schedule.(iii)The predictability and shop performance generated by Algorithm H3 are both better than that by H2. It shows that the predictive schedule constructed by feedback based algorithm which considers the effects of idle time on the initial sequence has great advantages in predictability and shop performance.

#### 6. Conclusions

In this paper, we address a single machine predictive scheduling using idle times. From the performance and stability measure, we optimize both the total completion times and the predictability of the schedule.

As the predictive schedule plays important role in the manufacturing system, it should be generated to serve as a basis for planning activities. We provide three heuristic predictive scheduling algorithms for the single machine scheduling problem. The key of the heuristic is the strategies of inserting idle times. The experiment results show that predictive schedule provides significant improvement in predictability with minor sacrifices in shop performance. The feedback algorithm has advantages in both predictability and shop performance.

For future research, we can consider several extensions of the predictive scheduling. First, it is interesting to develop algorithms for scheduling problems in complex machine environment, such as flow shop and open shop machine environment. Second, we can consider other disruptions. It is possible to deal with new job arrivals, rush job arrivals, processing time changes, and due date changes in the predictive scheduling problems. Furthermore, probabilistic analysis can be employed to get the length of idle time.

#### Conflict of Interests

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

#### Acknowledgments

The authors would like to thank the reviewers for their constructive suggestions and kind help. This research is supported by the Natural Science Foundation of China (Grants nos. 71071008 and 91224007), China Scholarship Council, and the Innovation Foundation of BUAA for PhD Graduates.