THE SINGLE MACHINE SERIAL BATCH PRODUCTION SCEDULING WITH OUTSOURCING ALLOWED

Original scientific paper We consider several serial batch scheduling problems with outsourcing allowed. Each job can be either processed on the in-house machine or outsourced. The objective is to minimize the weighted sum of the scheduling cost and the total outsourcing cost. We discuss three classical scheduling objective functions. The first is the total completion time, the second is the maximum lateness, and the third is the weighted number of late jobs. For each problem, we derive an efficient dynamic programming algorithm that minimizes the total cost.


Introduction
In flexible manufacturing systems, batch scheduling is the decision about whether or not to process certain jobs consecutively.Batching problems that arise in modern manufacturing present a fruitful research direction and their solution enhances the ability to manage manufacturing operations efficiently.In the serial batch model (see Fig. 1), the machine can handle one job at a time.The jobs in a batch are processed serially and their completion times are defined to be the finishing time of the last job in the batch.For each batch, a machine setup time s ≥ 0 is required before the first job of this batch is processed.Coffman et al. [1] provided an algorithm to solve the problem 1|s -batch|ΣCj in O(n.log.n)time.Webster and Baker [2] proposed a dynamic programming algorithm to minimize the maximum lateness in O(n 2 ) time.Brucker and Kovalyov [3] developed a pseudopolynomial dynamic programming algorithm to minimize the weighted number of late jobs, which is converted into a fully polynomial approximation scheme, and also solved the problem with equal weights in O(n 3 ) time.In the batch delivery model, it is generally assumed that jobs are delivered to customers in batches where the delivery cost will be incurred.Cheng et al. [4] considered a single machine batch scheduling problem, in which they minimize the sum of batch delivery cost plus job earliness penalties.Cheng et al. [5] studied the single machine batch delivery problem to minimize the sum of the total weighted earliness and mean batch delivery time.This problem is significant and relevant to logistics and supply chain management.In the context of supply chains, Hall and Potts [6] analyzed the complexity of some single machine scheduling problems with batch deliveries.
On the other hand, in the modern manufacturing industries, outsourcing is often used as a complementary source to its own in-house production which has a limited capacity.When the demand level is beyond the in-house production capacity, the manufacturer may have the option to outsource some orders to available subcontractors so that all orders can be completed as early as possible.In our model, the manufacturer needs to pay the subcontractor for what is outsourced, the outsourced jobs, upon completion, need to be transported back from the subcontractor to the manufacturer, and thus necessary transportation delay and transportation cost may be incurred.The problem is then how to coordinate the inhouse production and outsourcing in an efficient way.For a given set of jobs, the decisions we need to make include the selection of a subset of jobs to be outsourced, the schedule of the jobs, the assignment of jobs to the batches and a transportation plan for the outsourced jobs.The literature on scheduling with an outsourcing option has studied the problem of simultaneously deciding which jobs to be outsourced and how to schedule in-house jobs.Qi [7] considered a single machine scheduling problem that allows some jobs to be outsourced to a single outsourcing machine, with a transportation delay and transportation cost.Qi [8] considered the production scheduling problem for a twostage flow shop in which there are options of outsourcing some operations to subcontractors.Ruiz-Torres et al. [9] considered the situation with parallel in-house machines and parallel outsourcing machines, where they dealt with a bi-criteria scheduling problem to minimize the outsourced production time, associated presenting the outsourcing cost and the number of late orders.Lee and Sung [10,11] considered a single machine scheduling problem to minimize the weighted sum of the outsourcing cost and the associated scheduling cost with an outsourcing budget constraint.Chen and Li [12] dealt with a parallel machine scheduling problem with an outsourcing option to minimize the total production cost subject to a constraint on the makespan.For updated results on scheduling with an outsourcing option, the reader may refer to Mokhtari et al. [14] and Choi et al. [15].In Qi's model, jobs are processed on a single machine at in-house production.Whereas in our model, we consider the jobs are processed in batches on a single machine at in-house production, and the objective is to minimize the weighted sum of the scheduling cost and the total outsourcing cost.To the best of our knowledge, this subject has not been studied in the literature.
This paper is organized as follows.In Section 2, we introduce some notation and describe the scheduling problems with outsourcing allowed.In Section 3, we provide three dynamic programming algorithms for the three scheduling problems with the option of outsourcing.In Section 4, we conclude the paper and suggest some topics for future research.

Problem formulation and notation
The proposed problem is stated in detail as follows (see Fig. 2): there are n jobs available at time zero.A manufacturer can either process each job at its own machine or outsource it to a subcontractor for processing.There is a single machine available at the manufacturer's plant.Each job j has a processing time p j , a due date d j and a weight w j .The jobs are processed in batches on the in-house machine.The completion time of all jobs in a batch is defined to be equal to the finishing time of the last job in the batch, i.e., the processing time of a batch is equal to the sum of the processing times of all jobs in the batch.If a new batch is formed, a constant setup time s will be incurred.To make the jobs completed earlier, we can outsource some jobs to a subcontractor with a single machine.Outsourcing will cause some new concerns, the outsourcing cost, the transportation delay and the transportation cost.If job j is outsourced, its processing time at the outsourcing machine is αp j , where α denotes a probably different machine speed.At the same time, an extra cost βp j will be incurred which is assumed to be proportional to the processing time p j .This is the cost for paying to the subcontractor.In many cases, the subcontractor is in a different location from the in-house plant, and an outsourced job is not regarded as completed until it is transported back from the subcontractor.Therefore, a transportation delay τ may be incurred after an outsourced job is completed by the subcontractor.Transportation costs may also be incurred for the outsourced jobs.To reduce transportation costs, the outsourced jobs may be transported in batches where each batch incurs a fixed transportation cost D. A group of jobs forms a batch if all of these jobs are dispatched to the inhouse plant together in a single delivery.The batch delivery date is equal to the completion time of the last job in the batch.
For any schedule σ, we define the following notation: 1: a single machine; s-batch: serial batching ; C j (σ): the completion time of job j coincides with the completion time of the last job in its batch, if job j is processed on the in-house machine; the completion time of job j is the time when job j arrives at the in-house plant, if job j is outsourced; sum of processing times of all jobs; : sum of processing times of jobs 1,..., j.
Using the conventional three-field notation of Graham et al. [13].The scheduling problems with outsourcing allowed is denoted by where λ denotes a constant cost parameter and 0 < λ < 1.
are NP-hard in the ordinary sense.
Based on Lemma 1, we can obtain that the problems we show that it is solvable in polynomial time.

Sum of completion times
We first study minimizing the weighted sum of the total completion time and the total outsourcing cost).
there exists an optimal solution in which jobs are sequenced in SPT order at both the in-house machine and the outsourcing machine (i.e., jobs are sequenced in the non-decreasing order of processing times on both machines).
Proof: The claim is clearly true for the jobs on the inhouse machine as a conventional serial batch machine scheduling problem.Now assume that the outsourcing machine contains jobs that are not sequenced in SPT order.Consider an optimal schedule σ* on the outsourcing machine.Since all jobs within a delivery batch can be sequenced in SPT order without affecting the cost, we assume that this SPT property for jobs within a batch holds for σ*.If σ* contains jobs that are not sequenced in SPT order, then there is a job j that is the last job to be processed in some batch B, and another job i that is the first job to be processed in the next batch B' where p j > p i .Consider another schedule σ that is created by interchanging jobs j and i, and forming delivery batches containing jobs B ∪{i}\{ j } and B' ∪{ j}\{i } in σ, where the first of these batches is delivered at the earlier time than batch B in σ* and the second of these batches is delivered at the same time as batch B' in σ*.All other delivery batches are identical and delivered at the same time in σ as in σ*.A finite number of repetitions of this argument establishes that there exists an optimal schedule in which the jobs are sequenced in SPT order.This completes the proof.
As a result of Lemma 2, the jobs are indexed in SPT order such that as the minimum weighted cost of the objective function for a sub-schedule satisfying the following conditions: (1) The jobs in consideration are j, …, n.
(2) There are m jobs scheduled at in-house plant.
(3) The earliest batch has totally k jobs to be scheduled on the in-house machine, there are k' jobs already being scheduled in the earliest batch, where k -k' is the number of jobs to be scheduled in the earliest batch from jobs 1, …, j − 1. (4) The earliest batch has totally h jobs to be scheduled on the outsourcing machine, there are h' jobs already being scheduled in the earliest batch, where h -h' is the number of jobs to be scheduled in the earliest batch from jobs 1, …, j − 1.
In any such schedule, there are two possible cases: either job j is the first job on the in-house machine or the first job on the outsourcing machine.Now, we propose the following dynamic programming algorithm to solve

Algorithm DP1
The boundary conditions: If h = h' = 0, it implies that all jobs j, …, n are to be processed on the in-house machine.So we have implies that all jobs are outsourced.So we have The recursive function: and job j is processed on the in-house machine, job j must be in a new batch.If h' = 1 and job j is outsourced, job j must be in a new batch different from the jobs j + 1, …, n.Thus, Some remarks should be made about algorithm DP1.In the recursive function, formulae ( 1) and ( 5) denote job j is processed on the in-house machine and append job j to the earliest batch, formulae ( 2) and ( 8) denote job j is processed on the outsourced machine and append job j to the earliest batch, formulae ( 3) and ( 7) denote job j is processed on the in-house machine and form a new batch of job j only, formulae ( 4) and ( 6) denote job j is processed on the outsourced machine and form a new batch of job j only.Theorem 1. Algorithm DP1 gives an optimal schedule for time.
Proof: There are at most O(n 6 ) states in the dynamic program.If k' > 1, h' > 1, each iteration costs a constant time; For other cases, there are O(n 5 ) possible states, each of which takes O(n) time.Therefore, the overall time complexity of Algorithm DP1 is O(n 6 ).

Lemma 3: For
, there exists an optimal schedule in which the jobs are sequenced according to an earliest due date (EDD) rule at the in-house machine and the outsourcing machine.Proof: The claim is clearly true for the jobs on the inhouse machine as a conventional single serial batch machine scheduling problem.Now assume that the outsourcing machine contains jobs that are not sequenced in EDD order.Consider an optimal schedule σ* on the outsourcing machine.Since all jobs within a delivery batch can be sequenced in EDD order without affecting the cost, we assume that this EDD property for jobs within a batch holds for σ*.If σ* contains jobs that are not sequenced in EDD order, then we must have a job j that is the last job to be processed in some batch B, and another job i that is the first job to be processed in the next batch B', where d j > d i .Consider another schedule σ that is created by interchanging jobs j and i , and forming delivery batches containing jobs B\{j} and B'∪{j} in σ, where the first of these batches is delivered at the same time as batch B in σ* and the second of these batches is delivered at the same time as batch B' in σ*.All other delivery batches are identical and delivered at the same time in σ as in σ*.Only job j is delivered later in σ than in σ*.However, since job j and i are delivered at the same time in σ and d j > d i , we have L j (σ) < L i (σ) = L i (σ*), which establishes that σ is another optimal schedule.A finite number of repetitions of this argument establishes that there exists an optimal schedule in which the jobs are sequenced in EDD order.This completes the proof.
As a result of Lemma 3, the jobs are indexed in EDD order such that Define L(j, t 1 , d, x, h, t) as the minimum value of the maximum lateness of the partial schedule satisfying the following conditions: (1) The jobs in consideration are 1, …, j.
(2) The completion time of the last batch on the in-house machine is t 1 .(3) d is the due date of the first job in the last batch of the current partial schedule at in-house plant.(4) The sum of processing times of the outsourced jobs is αx.(5) The last outsourced one is in the h-th batch on the outsourcing machine.( 6) The h-th batch is delivered at time αt.(7) Where Let L O (j, t 1 , d, x, h, t) be the minimum maximum lateness if job j is outsourced , let L I (j, t 1 , d, x, h, t) be the minimum maximum lateness if job j is processed at in- house plant.Obviously, we have propose the following dynamic programming algorithm to solve the problem

Algorithm DP2
The boundary conditions: If job j is processed at in-house production, Some remarks should be made about algorithm DP2.In the recursive function, if job j is outsourced, formula (9)  denotes job j is the first job in the h-batch, formula (10)   denotes job j is not the first job in the h-batch; If job j is processed at in-house production, formula (11) denotes job j is appended to the last batch, formula (12)  Proof: There are at most O(n 3 P 3 ) states in the dynamic program.Each iteration costs a constant time.Therefore, the overall time complexity of Algorithm DP2 is O(n 3 P 3 ).

Weighted number of late jobs
there exists an optimal schedule in which the on-time jobs are sequenced according to an earliest due date (EDD) rule on both the in-house and the outsourcing machines, and all tardy jobs are processed on the in-house machine following the on-time jobs.
Proof: The EDD property can be built similarly to Lemma 3. The claim of no outsourced jobs being tardy is due to the fact that if an outsourced job is tardy, we can always make it in-house to save outsourcing costs.
As a result of Lemma 4, the on-time jobs are indexed in EDD order.For convenience in presentation, here we instead consider the maximization of the weighted number of non-tardy jobs.job is non-tardy if the batch containing it is fully finished no later than its due date.Define V(j, t 1 , d, x, h, t) as the maximum weighted number of non-tardy jobs for a sub-schedule satisfying the following conditions: (1) The jobs in consideration are 1, …, j.
Let V O (j, t 1 , d, x, h, t) be the maximum weighted number of non-tardy jobs if job J j is outsourced, V I (j, t 1 , d, x, h, t) be the maximum weighted number of non-tardy jobs if job j is not outsourced.Obviously, we have V(j, t 1 , When considering job j, we may encounter three possible situations: job j is discarded and treated to be tardy; job j is scheduled early or on time and solely forms a batch; or job j is appended to an existing batch without making other jobs in the same batch tardy.With the observations, we can formulate the following recursive program for composing a schedule with a maximum weighted number of non-tardy jobs.

Algorithm DP3
The boundary conditions:    Proof: There are at most O(n 3 P 3 ) states in the dynamic program.Each iteration costs a constant time.Therefore, the overall time complexity of Algorithm DP3 is O(n 3 P 3 ).

Conclusion
We have studied a single machine serial batch scheduling problems with outsourcing allowed.We proposed three dynamic programming algorithms for the three scheduling problems with the option of outsourcing.
For the first problem, it is optimally solved in polynomial time, for the other two problems, they are solved in pseudo-polynomial time.For future research, it would be interesting to focus on the scheduling problems with multiple available subcontractors, other objective functions and more complex outsourcing models.

Figure 1
Figure 1 Serial process batching

Figure 2
Figure 2 Problem model

( 2 )
The completion time of the last batch on the in-house machine is t 1 .(3)d is the due date of the first job in the last batch of the current partial schedule at in-house production.(4) The sum of processing times of the outsourced jobs is αx.(5)The last outsourced one is in the h-th batch on the outsourcing machine.(6) The h-th batch is delivered at time αt.(7)Where 1
denotes job j belongs to a new batch.
The recursive function: If job j is processed in batches on the in-house machine,V I (j, t 1 , d, x, h, t) = If job j is outsourced, V O (j, t 1 , d, x, h, t) =