Abstract
In this paper, we study several coordinated productiondelivery scheduling problems with potential disruption motivated by a supply chain in the manufacturing industry. Both singlemachine environment and identical parallelmachine environment are considered in the production part. The jobs finished on the machines are delivered to the same customer in batches. Each delivery batch has a capacity and incurs a delivery cost. There is a situation that a possible disruption in the production part may occur at some particular time and will last for a period of time with a probability. We consider both resumable case and nonresumable case where a job does not need (needs) to restart if it is disrupted for a resumable (nonresumable) case. The objective is to find a coordinated schedule of production and delivery that minimizes the expected total flow times plus the delivery costs. We first present some properties and analyze the NPhard complexity for four various problems. For the corresponding singlemachine and parallelmachine scheduling problems, pseudopolynomialtime algorithms and fully polynomialtime approximation schemes (FPTASs) are presented in this paper, respectively.
1. Introduction
Production scheduling and delivery decision are two key operations in the supply chain management. Coordinated production and delivery schedules play an important role in improving optimal operational performance in the supply chain of high energyconsuming manufacturing industry. However, traditionally, the scheduling decisions of coordinated production and delivery in a firm are often made in a certain environment. In a real industry, the production scheduling environment is dynamic and uncertain. Unexpected events may occur from some time point and will last a period. There is a situation that the internal and external factors cause various disruptions since the machines or facilities are disrupted and unavailable for a certain period of time during production, such as material shortages, machine breakdowns, power failures, quality issues, and others. This will lead to affect production efficiency, extra energy consumption, and logistics management in the service system.
For example, in the iron and steel industry, the slabs are first rolled into the coils in the hot rolling mill. The coils are transported by the trucks to the customers or the downstream facilities for further processing. The slabs need high temperature to ensure to be processed on the hot rolling machines. If the disruption occurs on the hot rolling machines, it will lead to the temperature decrease of the slabs. When the disruption time exceeds a limit, the slabs must to return to the heating furnaces to reheat to keep high temperature. This disruption will not only affect the production rhythm and increase the energy consumption in the mill but also influence the delivery decision for the customers. Hence, the reasonable scheduling for the disruption affects the revenue in the iron and steel industry. The inventory level and the total delivery cost are the major concerns for the industry managers. The inventory level is measured by a function of the flow time when the finished coils arrive to the customers. It is well understood that coordinated scheduling of production and delivery can significantly improve inventory level and reduce delivery cost.
In this paper, we study several coordinated productiondelivery scheduling problems with potential disruption motivated by the dynamic and uncertain environment. All the jobs are first finished processing on the machines and then delivered to the customers in batches. A possible disruption in the production part may occur at a particular time and will last for a period of time with a probability. We investigate the optimal strategies on how to deal with disruptions in scheduling in the singlemachine environment and identical parallelmachine environment, respectively. The objective is to find a feasible schedule to minimize the expected total flow times and the delivery costs.
Many coordinated scheduling problems with production and delivery in most manufacturing systems consider the balance relationship between the finished products and the transportation or delivery. Chen [1] presented a survey of integrated production and outbound distribution scheduling with batch delivery. Wang et al. [2] provided a survey of the integrated scheduling models of production and distribution. The coordinated scheduling problems of production and transportation with batching decisions in the iron and steel industry are considered in [3–6]. Some researchers addressed production and distribution scheduling of minimizing the sum of the total (weighted) flow time and delivery cost from a batch delivery point of view. This environment is related to batching because all the completed jobs are delivered in batches to the customer. Hall and Potts [7] considered the singlemachine or identical parallelmachine scheduling problems in supply chain with batch deliveries. Wang and Cheng [8] considered a parallelmachine scheduling problem with batch delivery cost where the batch delivery date is equal to the completion time of the last job in a batch. Chen and Vairaktarakis [9] considered the singlemachine and parallelmachine scheduling problems with distribution scheduling and routing for delivery of completed jobs to the customers. Wan and Zhang [10] studied the extension of the parallelmachine scheduling problem with batch delivery. The above scheduling literatures do not deal with the coordination of production and delivery related to potential disruptions.
The research on machine scheduling with potential disruption has some results in a significant amount of interest in production scheduling research. Lee and Yu [11] considered the singlemachine scheduling problems with potential disruptions due to external factors where the objective functions are the expected total weighted completion times and the expected maximum tardiness. Lee and Yu [12] further considered the parallelmachine problems to minimize the expected total weighted completion time. Yin et al. [13] considered the parallelmachine scheduling problems with deterioration in a disruptive environment in which the machines may be unavailable due to potential disruptions. Zheng and Fan [14] studied the parallelmachine scheduling problems with positiondependent processing times under potential disruption. Lee et al. [15] considered a twomachine scheduling problem with disruptions and transportation considerations. In [15], once one machine undergoes disruption and is unavailable, the jobs can either be moved to other available machines for processing, which consider transportation time and transportation cost, or be processed by the same machine after the disruption.
In this paper, we study coordinated scheduling problems with potential disruption and batch deliveries considering single machine or identical parallel machines. Our problem is an extension of the problem proposed by Gong et al. [6] and Hall and Potts [7], who studied the singlemachine and parallelmachine scheduling problems with batch delivery without potential disruption. On the other hand, our problem is a natural extension of the problem proposed by Lee and Yu [12], who studied the parallelmachine problem under potential disruption without production and delivery coordination. We develop coordinated scheduling on the single machine and parallel machines with both batch deliveries and potential disruption in this paper. Both resumable case and nonresumable case are considered in this paper where a job does not need (needs) to restart if it is disrupted for a resumable (nonresumable) case. The objective is to minimize the sum of the expected total flow time and total delivery costs. To the best of our knowledge, the scheduling problems with batch deliveries and potential disruption on the single machine and parallel machines have never been discussed. In this paper, we first pinpoint the difficulty by reducing the problems to be NPhard. We also present pseudopolynomialtime algorithms to solve these problems and further show that the problems proposed in this paper are NPhard in the ordinary sense, respectively. Finally, we provide fully polynomialtime approximation schemes via the scaling and trimming techniques to solve the problems.
For many NPhard scheduling problems, it will be clearly hard to find optimal schedules in a timeeffective manner. The existence of a pseudopolynomialtime algorithm for a NPhard problem means that this NPhard problem is ordinarily NPhard, but not strongly NPhard [16]. A fully polynomialtime approximation scheme (FPTAS) for a problem is an approximation scheme with a time complexity that is polynomial in the input size n and in for any given . With regard to worstcase approximations, an FPTAS is the strongest possible polynomialtime approximation result that one can obtain for an NPhard problem unless [17].
The rest of the paper is organized as follows. We introduce the problem description and some properties in Section 2. In Section 3, we provide the algorithms and approximation schemes for the singlemachine scheduling problems. Section 4 deals with twoparallelmachine problems and develops the corresponding algorithms and approximation schemes. Section 5 provides a conclusion and some suggestions for future research.
2. Problem Description and Notation
In this section, we describe our problems briefly. There are n jobs {J_{1}, …, J_{n}} to be first processed on either a single machine or m identical parallel machines M_{1}, …, M_{m}, all to be delivered in batches to the same customer. Each machine can process at most one job at a time. All the jobs are available for processing at initial time. For job J_{j}, let a_{j} and C_{j} be the processing time and the completion time on the machine, respectively. Preemption may happen for some jobs if potential disruption of some machines happens. We assume that a machine disruption occurs at time point r and will last for α time units with a certain probability . The machines are the same for all the disrupted machines once the disruption occurs. Here, is the probability that the potential disruption will not happen and the machine is always available. Without loss of generality, we assume the machine disruption situation that the disruption may happen simultaneously on the first k machines M_{1}, …, M_{k}, with . Let represent the total processing time for the first jobs J_{1}, …, J_{j}. Set a_{max} = .
Once the disruption machines have unavailable time intervals , the disrupted jobs need to restart on the machines. We consider two cases: resumable and nonresumable. If a job is disrupted during processing on some disrupted machine, it is called resumable (nonresumable) that the job does not need (needs) to restart when the machine becomes available again. For the resumable case, the remaining part of the disrupted job will continue at time point r + α without any penalty. For the nonresumable case, the disrupted job needs to restart at time point r + α.
In the delivery part, a fleet of transporter for delivering the jobs in batches to the same customer will be viewed as a single transporter because they have common departure times and return times. A group of jobs forms a delivery batch B_{l} if all of these jobs are delivered to the customer simultaneously. The number of jobs in a delivery batch cannot exceed the delivery capacity C. Let y be the number of delivery batches for all jobs in a schedule. Delivering a batch will incur a fixed delivery cost D. The single transporter is located at the production area at initial time. Assume that is the transportation time from the machine to the customers, and the return time from the customer to the machine is . There is at least minimum time interval T between any consecutive batches. Let denote the flow time of job when it is delivered to the customer. The objective that we consider is to schedule the jobs for production and delivery such that the sum of the expected total flow times and the delivery costs is minimized. The problems considered in this paper can be expressed as , and , by adopting the notation introduced by Hall and Potts [7]. The four various problems can be expressed as follows:
Next, we analyze the complexity of the problems studied in this paper.
For the singlemachine scheduling problem with batch deliveries without delivery capacity, problem proposed by Hall and Potts [7] is optimal to sequencing the jobs in SPT rule. Note that a special case of our problem , , in which the delivery part is ignored and the objective is to minimize , was studied by Lee and Yu [11]. On the other hand, even if (it means that the disruption will certainly happen in a fixed period), problem in [11] is ordinarily NPhard. We extend to consider disruption constraint and to consider delivery coordination. Hence, and proposed in this paper are NPhard.
For the parallelmachine scheduling problem with batch deliveries, is shown NPhard in the ordinary sense by Gong et al. [6] even if the potential disruption does not happen. Hence, is at least NPhard even if . If the delivery is ignored, twoparallelmachine scheduling problem with potential disruption is already NPhard even if as presented by Lee and Yu [12]. Hence, our problems and are also NPhard.
In [6, 7], the goal is to determine the job sequencing on the machines and the job partitioning into delivery batches, but not considering the machine potential disruption. In [11, 12], they made the production scheduling decision on potential disruption according to two sequential decisions at 0 and disruption r. In this paper, we need to not only sequence the jobs on the single machine or parallel machines and reschedule the jobs with disruption consideration in the production part but also partition the jobs into delivery batches in the delivery part. In this paper, we will derive the corresponding pseudopolynomialtime algorithms for problem , and , based on dynamic programming, respectively. Furthermore, the fully polynomialtime approximation schemes are provided for four problems that show that the problems are NPhard in the ordinary sense.
The following properties hold for both resumable and nonresumable cases.
2.1. General Results
Lemma 1. For –, there exists an optimal schedule without idle time between jobs for any machine except during the machine disruption time interval.
Lemma 2. For –, there exists an optimal schedule that all the departure times of delivery batches are made either at the completion times of jobs or at immediate available times of the transporter.
Lemma 3. For and , there exists an optimal schedule that the jobs finished no later than r are sequenced in the shortest processing time (SPT) rule, and the remaining jobs finished after r are also sequenced in the SPT rule.
Proof. Assume an optimal schedule . If contains jobs that are not sequenced in SPT rule, then J_{j} is followed by J_{i} where a_{j} > a_{i}.(1)If J_{j} and J_{i} are assigned into the same delivery batch, then the jobs can be sequenced in the SPT rule without affecting the objective cost.(2)If J_{j} is the last job in batch B_{l − 1} and J_{i} is the first job in batch B_{l}, then form a schedule with B_{l − 1}{i}\{j}and B_{l}{j}\{i} by interchanging J_{j} and J_{i}. Before r or after r, B_{l − 1}{i}\{j} in schedule is delivered at the same time as batch B_{l − 1} in schedule , and B_{l}{j}\{i} in schedule is delivered at the same time as batch B_{l} in schedule . All other delivery batches are identical and delivered at the same time in as in . Hence, the objective cost associated with is the same as the objective cost associated with . Repeating the argument can find an optimal schedule with SPT rule.
Lemma 4. For and , there exists an optimal schedule in which(1)The jobs finished no later than r are sorted in the SPT rule on each disrupted machine M_{i}, i = 1, …, k, and sorted in the SPT rule on each nondisrupted machine M_{i}, i = k + 1, …, m, respectively.(2)The remaining jobs finished after r are also sorted in the SPT rule on each disrupted machine M_{i}, i = 1, …, k.
Proof. For any given scenario α, Lemma 3 shows that the subproblem is optimal to schedule the jobs finished no later than r or after r in the SPT rule when M_{i} can be viewed as a single machine. For all possible scenarios α and all the machines, this argument holds when the objective is to minimize .
3. SingleMachine Scheduling
In this section, two pseudopolynomialtime algorithms to solve two singlemachine problems with the nonresumable case () and the resumable case () are developed, respectively. Furthermore, we will convert the dynamic programming algorithms into fully polynomialtime approximation schemes (FPTASs) to solve problems and . We will recall the definition of an FPTAS in Section 3.3.
3.1. The Nonresumable Case
In this section, a pseudopolynomialtime algorithm based on dynamic programming is presented to solve . At first, reindex jobs in the SPT rule. Fix the following variables: jobs J_{1}, …, J_{j} are assigned to two sets, S and {J_{1}, …, J_{j}}\S, such that and the jobs in S will be processed consecutively without idle time on the single machine from initial time 0. Define t as the starting time of the first job in {J_{1}, …, J_{j}}\S if the disruption does not happen but the first job will finish after time r. It is clear that t ranges from max {q, r − a_{max} + 1} to r. Let F (j, q, t, ) be the expected objective value of a feasible partial schedule for jobs J_{1}, …, J_{j}, where is the number of jobs assigned into delivery batch B_{l} and the variable q denotes the total actual processing time of jobs in S finished no later than r on the machine. Let be the delivery completion time of batch B_{l}, which is the flow time of each job in B_{l} delivered to the customer. We provide a dynamic programming to solve problem , nonresumable, disruption .
Theorem 1. Algorithm 1 (DP1) can solve problem in time complexity O (n log_{n} + r^{2}n^{2}).

Proof. We first analyze the possible recursive situations. Suppose that jobs J_{1}, …, J_{j − 1} have been assigned optimally, and start to assign J_{j}. In an optimal schedule, J_{j} will be either the last job processed no later than t or last in the whole sequence. If J_{j} is assigned no later than t, then it will be completed at least at time q on the machine. On the other hand, if job J_{j} is assigned last in the whole sequence, then its completion time on the machine is at least . Simultaneously, delivery batch B_{l} at either the completion time of job J_{j} or the return time of the transporter which has finished the previous batch to the machine. If J_{i} is assigned into a new batch, then the delivery cost contributes D. Hence, the objective contribution of a new batch is . If J_{i} is assigned into the current batch, the objective contribution is and the delivery cost does not change. Simultaneously, the number of jobs in each delivery batch cannot exceed the delivery capacity C. The SPT rule needs O (n log_{n}) time to sequence the jobs in Step 1. By the definition of the recursive relations, we have and . Hence, the overall complexity is O (n log n + r^{2}n^{2}).
3.2. The Resumable Case
Actually, Algorithm 1 (DP1) can be modified as below to solve problem with resumable consideration.
Theorem 2. Algorithm 2 (DP2) can solve problem in time complexity O (n log n + r^{2}n^{2}).

Theorem 3. and are NPhard in the ordinary sense.
3.3. Fully PolynomialTime Approximation Schemes for P1 and P2
A fully polynomialtime approximation scheme for the singlemachine scheduling problems is provided in this section. Let represent the objective value of the optimal schedule and f represent the objective value of the schedule generated by the approximation algorithms. Note that a polynomialtime approximation scheme (PTAS) for a problem is a family of polynomial time − approximation algorithms if , where is a bound on relative error of the algorithms. Furthermore, a special PTAS is called a fully polynomialtime approximation scheme (FPTAS) if its time complexity is polynomial in . In pure technical sense, an FPTAS is a best one that may tackle to solve an NPhard optimization problem, unless [16].
In the following, we present the general outline of an FPTAS for solving and . This is done by applying the wellknown scaling technique to formulate a certain scaled problem for the original problem. The pseudopolynomialtime algorithm based on dynamic programming for the original problem can generate this scaled problem with its parameter. This algorithm to solve this scaled problem provides a fully polynomialtime approximation scheme for the original problem.
Next, we convert the pseudopolynomialtime algorithm using the scaling technique into an FPTAS.
3.3.1. FPTAS_{S} for and
Step 1. Given an arbitrary , we define . Step 2. Construct a scaled problem. Define new parameters of each job J_{j} for the scaled problem: Step 3. For the scaled problem, apply Algorithms 1 (DP1) and 2 (DP2) to obtain a schedule with minimal objective value. Let be an optimal schedule and be its objective value for the scaled problem. Suppose that for the original problem is an optimal schedule and its objective value is . Note that the schedule has at most processing operations if the potential disruption occurs. For each state , increase each processing time by before disruption q or after disruption, which increases C_{j} by at most . Increase each disruption time point by and each returning time by . Increase each delivery cost by . Further, the total flow time of all n jobs increases at most . Now consider to be a unit. Then, we obtain a schedule with an approximate solution for the original problem, and its objective value can be formulated as We have due to the definition of . It follows that from for any number x. We obtain Thus, we can see that the approximate solution is at most a factor of away from the optimum solution. The time complexity of the approximation scheme is dominated by the step to solve the scaled problem. It is easy to see that . Thus, the running time of the approximation scheme is bounded by which is polynomial for given and . Combining the above discussion and the time complexity, we summarize our main result as the following statement.
Theorem 4. There exists an FPTAS with the running time for problem or .
4. ParallelMachine Scheduling
In this paper, we will develop pseudopolynomialtime algorithms based on dynamic programming to solve problems and with m = 2. Then, the algorithms for two parallel machines can be extended to solve general mparallelmachine problems.
4.1. The Nonresumable Case
For a feasible partial schedule {J_{1}, …, J_{j}} where these jobs are divided into two sets, S and {J_{1}, …, J_{j}}/S, we first give the following notation:where u_{1} (u_{2}): the total actual processing time of jobs finished no later than r on the first machine M_{1}(the second machine M_{2}).
Jobs in {J_{1}, …, J_{j}}\S finish after r. Jobs in {J_{1}, …, J_{j}}\S are divided into two groups: one is assigned to M_{1} with the total processing time of the jobs and the other is assigned to M_{2} with the total processing time of the jobs .
: the completion time of delivery batch B_{l}.
Let be the expected optimal objective value of a feasible partial schedule for jobs J_{1}, …, J_{j}, where is the number of jobs assigned into delivery batch B_{l}. Set , if there is no feasible schedule for the problem. The following dynamic programming algorithm (Algorithm 3) is developed to solve with m = 2.

Theorem 5. Problem with m = 2 can be solved in time complexity O (n log n + r^{2}n^{2}·A^{2}).
Proof. We first analyze the possible recursive situations. Suppose that jobs J_{1}, …, J_{j − 1} have been assigned optimally, and start to assign J_{j}. J_{j} needs to be assigned into machine 1 or machine 2. In an optimal solution, J_{j} on each machine will be either the last job processed no later than t or last in the whole sequence. If J_{j} is assigned no later than t, then it will be completed at time u_{1} or u_{2} on the machine. On the other hand, if J_{j} is assigned last in the whole sequence, then its completion time on the machine is or . Delivery batch B_{l} starts at either the completion time of J_{j} or the return time of the transporter which has finished the previous batch to the machine. Note that if J_{i} is assigned into a new batch, then the delivery cost contributes D and the objective is . If J_{i} is assigned into the current batch, the objective contribution is . The SPT rule needs O (n log n) time to sequence the jobs in Step 1. By the definition of the recursive relations, we have , and . Hence, the overall complexity is O (n log n + r^{2}n^{2}A^{2}).
4.2. Modified Algorithm DP3
Similar to Algorithm 3 (DP3), denote u_{i} as the total actual processing time of jobs finished no later than r on the machine M_{i}, such that , Denote as the total actual processing time of jobs finished after r on the machine M_{i}, for i = 1, …, m. Set as the expected optimal objective value of a feasible partial schedule for {J_{1}, …, J_{j}}, where B_{l} is the number of jobs assigned into delivery batch B_{l}. Algorithm 3 (algorithm DP3) can be extended to the mparallelmachine scheduling problem. For l = 1 and , set For l = 2 to n do, Schedule job J_{j} to be finished after r on machine M_{i}, for i = 1, …, k If and , then set and If and , then set and Endif Schedule job J_{j} to be finished after r on machine M_{i}, for i = 1, …, k If and , then set and If and , then set and Endfor Optimal solution:_{ }_{ }.
Time complexity: the SPT rule needs O(nlogn) time to sequence the jobs. Because , , and , the overall complexity of modified algorithm DP3 to solve mparallelmachine problem is O (n log n + r^{m}n^{2}·A^{m}).
4.3. The Resumable Case
Similar to the nonresumable case , a pseudopolynomialtime algorithm based on dynamic programming is developed for with m = 2.
For a feasible partial schedule {J_{1}, …, J_{j}} where these jobs are divided into two sets, S and {J_{1}, …, J_{j}}/S, we first give the following notation: S = S_{1}S_{2} and for i = 1, 2. Jobs in {J_{1}, …, J_{j}}\S are finished processing after r. And jobs in {J_{1}, …, J_{j}}\S are divided into two groups: one is assigned to M_{1} with the total processing time , and starts at time q_{1}, while the other is assigned to M_{2} with the total processing time and starts at time q_{2}. If there is no feasible solution for , then . Here, q_{1} and q_{2} represent the state link between the set of jobs finished no later than r and the set of jobs finished after r.
Time complexity: the SPT rule needs O(nlogn) time to sequence the jobs in Step 1. By the definition of the recursive relation, we have , and . Hence, the overall complexity is O (n log n + r^{4}n^{2}·A^{2}).
Theorem 6. Problem with m = 2 can be solved in time complexity O (n log n + r^{4}n^{2}·A^{2}).
Similar to modified algorithm DP3, define as the objective value for , and we can extend Algorithm 4 to solve general mparallelmachine problem with resumable case. The overall time complexity to solve is O (n log n + r^{2m}n^{2}·A^{m}).
