# The Supplying Chain Scheduling with the Cost Constraint and Subcontracting

Authors: Guo Sun; Liying Yu
Journal: Advances in Operations Research
 (2014)

---

## Abstract

We propose an analytical scheduling model with subcontracting. Each job can be processed either on a single machine at a manufacturer or outsourced to a subcontractor, possibly at a higher cost. For a given set of jobs, the decisions the manufacturer needs to make include the selection of a subset of jobs to be outsourced and the schedule of all the jobs. The objective functions are to minimize the commonly used scheduling measures, subject to a constraint on the total production and subcontracting cost. We show the NP-hardiness for the problems with different objective functions and develop dynamic programming algorithms for solving them.


---

## Body

## 1. Introduction and Problem Description

With widespread globalization, subcontracting is widespread in many industries. Subcontracting is the procurement of an item or service that a firm is normally capable of producing using its own facilities. Subcontracting can be used as a strategic tool to reduce operation cost and as a means to hedge against the capacity shortage when facing a large demand. When a firm subcontracts out some orders, this allows it to concentrate on its core competencies and improve its response to customer demand. Furthermore, subcontracting lowers investment requirements and the financial risk of the firm. However, in making subcontracting decisions, many factors need to be taken into account, such as production cost, subcontracting cost, customer demand, and delivery lead times. Obviously, analytical models and problem-solving tools are needed if a manufacturer is to optimize the tradeoffs from those factors.In this paper, we propose an analytical scheduling model for a firm with an option of subcontracting. In our model, we assume that there is a single machine at the manufacturer’s plant and there is a subcontractor, who has a sufficient number of identical parallel machines, such that each of these machines will handle at most one job, possibly at a higher cost. Each job can be processed either at the manufacturer’s plant or outsourced to a subcontractor. The objective functions are to minimize the common scheduling measures, subject to a constraint on the total production and subcontracting cost. Given a set of orders, the manufacturer needs to determine which orders should be scheduled in-house and which should be outsourced. While controlling the production and subcontracting costs, the manufacturer needs to consider in-house scheduling and subcontracting simultaneously.The study of subcontracting under machine scheduling models just started recently. Chung et al. [1] considered a job shop scheduling problem in which each job has a due date that must be satisfied, but operations of orders can be subcontracted at a certain cost. The objective is to minimize the total subcontracting cost. Bertrand and Sridharan [2] studied a make-to-order manufacturing environment where orders arrive over time randomly and can either be processed in-house on a single machine or outsourced. The objective is to maximize the utilization of in-house capacity while minimizing tardiness in fulfilling orders. Recently, Qi [3] studied the production scheduling problem for a two-stage flow shop where there are options of subcontracting some operations to subcontractors. He considered a minimum makespan objective and analyzed various models for different situations of subcontracting. Chen and Li [4] proposed an analytical scheduling model, where each job can be either processed by the manufacturer in-house or outsourced. The objective is to minimize the total production and subcontracting cost, subject to a constraint on the maximun completion time of the orders. Sotskov [5] considered the objective function with the different machine cost including production cost and subcontracting cost.Beyond the research field of scheduling, some work has been conducted to study the joint decisions of in-house production and subcontracting under the context of inventory management, for example, van Mieghem [6], Atamtürk and Hochbaum [7], and Yang et al. [8]. In these models, products are supposed to be identical, customers are assumed equally important, and all demands are aggregated. The objective is to minimize certain cost which is a function of the production, subcontracting, inventory, and backlog orders. Different from these models, in our scheduling model the orders placed by the customer are differentiated based on their processing times and due dates, and we need to decide which jobs are processed by in-house machine and which are oursourced and need to schedule all jobs.Now we describe our model in detail as follows. If jobj is processed at the manufacturer’s plant, a processing time p0j and a production cost g0j are required. If job j is outsourced, a processing time p1j and a subcontracting cost g1j are needed. Given a schedule, we denote Cj as the completion time of job j. All jobs are available at the time zero, and preemption is not allowed. The objective functions in our model are to minimize two common scheduling measures, namely, the total completion time ΣCj and the makespan Cmax⁡=max⁡{Cj}, subject to a constraint on the total production and subcontracting cost. Using the notation introduced by Graham et al. [9], we denote the general form of our problems as 1+∞∥H/G≤W, where “1” indicates the number of the available in-house machines, “∞” indicates that the subcontractor has unlimited capacity, H∈{ΣCj,Cmax⁡}, and G denotes the whole sum of production cost and outsourcing cost. The main problem is then how to coordinate the in-house production and subcontracting in an efficient way, subject to the constraint that the total cost G is no more than W.The rest of the paper is organized as follows. In Section2, we give the complexity analysis for the first problem 1+∞∥ΣCj/G≤W and present a dynamic programming algorithm for it. In Section 3, we show the complexity analysis for the second problem 1+∞∥Cmax⁡/G≤W and solve it by a dynamic programming algorithm. We summarize our results in the last section.


## 2. Problem1+∞∥ΣCj/G≤W

Now, we prove that the problem1+∞∥ΣCj/G≤W is NP-hard, as in Theorem 1.Theorem 1.
The problem1+∞∥ΣCj/G≤W is binary NP-hard.Proof.
The proof can be done in polynomial reduction from the knapsack problem [10], which is known to be NP-hard. In the knapsack problem, we are given a set of n items N={1,2,…,n}, where each item i has a value ei and a size si. All sizes and values are positive integers. The knapsack has capacity B, where B is also a positive integer. The goal is to find a subset of items Q⊆N that maximizes the value Σj∈Qej of items in the knapsack subject to the constraint that the total size of these items is no more than the capacity; that is, Σj∈Qsj≤B. The decision version of the knapsack problem is stated as follows.
Knapsack Problem. Given T, is there a subset Q⊆N such that Σj∈Qsj≤B and Σj∈Q≥T?
We construct the instance of the problem1+∞∥ΣCj/G≤W as follows.(i)
Number of jobs:n.(ii)
p0j=0, p1j=ej,  for j=1,2,…,n.(iii)
g0j=2sj, g1j=sj,  for j=1,…,n.(iv)
Threshold value:S+B, ΣCj≤E-T, where S=Σj=1nsj, E=Σj=1nej.(v)
The decision asks whether there is a scheduleπ such that G≤W=B+S and ΣCj≤E-T.
It can be observed that the above construction can be done in polynomial time.
First, we assume that the knapsack problem has a solution, that is, for givenT, there exists a subset Q⊆N={1,2,…,n} such that Σj∈Qsj≤B and Σj∈Qej≥T.
We construct a schedule such thatG≤W=B+S and ΣCj≤E-T by the following way: assign each job in {Jj:j∈Q} to be scheduled on the in-house machine and outsourced all the other jobs. It is not hard to verify that
(1)G=∑j∈Q‍g0j+∑j∈N∖Q‍g1j=∑j∈Q‍2sj+∑j∈N∖Q‍sj=∑j=1n‍sj+∑j∈Q‍sj=S+∑j∈Q‍sj≤S+B,∑j=1n‍Cj=∑j∈Q‍Cj+∑j∈N∖Q‍Cj=∑j∈N∖Q‍Cj=∑j∈N∖Q‍ej=∑j=1n‍ej-∑j∈Q‍ej≤E-T.
Now, suppose that there is a scheduleπ whose objective function value ΣCj is at most ≤E-T and G≤W=S+B; we will show that there exists a solution to the knapsack problem.
LetQ be the set of jobs scheduled on the in-house machine; we obtain that
(2)G=∑j∈Q‍g0j+∑j∈N∖Q‍g1j=∑j∈Q‍2sj+∑j∈N∖Q‍sj=∑j=1n‍sj+∑j∈Q‍sj=S+∑j∈Q‍sj.
Using the fact thatG≤B+S, we have ∑j∈Q‍sj≤B.
Since(3)∑j∈Q‍Cj+∑j∈N∖Q‍Cj=∑j∈N∖Q‍Cj=∑j∈N∖Q‍ej=∑j=1n‍ej-∑j∈Q‍ej≤E-T,
we obtain Σj∈Qej≥T. Thus, the knapsack problem has a solution.Next, we design a dynamic programming algorithm to solve problem1+∞∥ΣCj/G≤W, denoted as DP1. Before proceeding further, we need to introduce the following Lemma.Lemma 2.
For problem1+∞∥ΣCj/G≤W, there exists an optimal solution in which jobs scheduled on the in-house machine are sequenced in the SPT order; that is, jobs are sequenced in the nondecreasing order of processing times on the in-house machine.Proof.
It can be proved in interchange arguments.Now assume that jobs are indexed asp01≤p02≤⋯≤p0n. Let f(j,h,v) be the optimal value of the objective function for partial jobs j,j+1,…,n where (1) h is the number of the jobs processed on the in-house machine and (2) v is the current total cost. The recurrence relation is described as follows.If jobj is scheduled on the in-house machine, its contribution to the total completion time of objective function depends on both the number of jobs scheduled after j and the processing time p0j, which is hp0j. We set
(4)f0(j,h,v)={f(j+1,h-1,v-g0j)+hp0j,ifv≤W;+∞,otherwise.Similarly, if jobj is outsourced, its contribution to the total completion time of objective function is p1j. Then set
(5)f0(j,h,v)={f(j+1,h,v-g1j)+p1j,ifv≤W;+∞,otherwise.Thus(6)f(j,h,v)=min⁡{f0(j,h,v),f1(j,h,v)}.The initial conditions is as follows:(7)f(n,h,v)={p0n,h=1,v=g01,v≤W;p1n,h=0,v=g11,v≤W;+∞,otherwise.The optimal value ismin⁡{f(1,h,v)∣h=0,1,2,…,n;v=0,1,…,W} where W stands for the total cost for all the jobs. The running time of the algorithm DP1 is O(n2W).


## 3. Problem1+∞∥Cmax⁡/G≤W

In this section, using the knapsack problem for the reduction, we similarly prove that the problem1+∞∥Cmax⁡/G≤W is NP-hard.Theorem 3.
The problem1+∞∥Cmax⁡/G≤W is binary NP-hard.Proof.
The proof can also be done in polynomial reduction from the knapsack problem. Now, consider the following instance of the given problem1+∞∥Cmax⁡/G≤W.(i)
Number of jobs:n.(ii)
p0j=ej, p1j=0, for j=1,2,…,n.(iii)
g0j=0, g1j=sj, for j=1,…,n.(iv)
Threshold value:B, E-T, where E=Σj=1nej.(v)
The decision asks whether there is a scheduleπ such that G≤W=B and Cmax⁡≤E-T.
It can be observed that the above construction can be done in polynomial time.
First, we assume that the knapsack problem has a solution; that is, for givenT, there exists a subset Q⊆N={1,2,…,n} such that Σj∈Qsj≤B and Σj∈Qej≥T. Then consider the following schedule by subcontracting all jobs in {Jj:j∈Q} and scheduling all the other jobs on the in-house machine in any sequence. It is not hard to show that
(8)G=∑j∈N∖Q‍g0j+∑j∈Q‍g1j=∑j∈Q‍sj≤B,Cmax⁡=∑j∈N∖Q‍p0j=∑j∈N∖Q‍ej=∑j=1n‍ej-∑j∈Q‍ej≤E-T.
Now, we suppose that there is a scheduleπ whose objective function value Cmax⁡ is at most ≤E-T and G≤W=B; we will show that there exists a solution to the knapsack problem.
LetQ be the set of jobs outsourced; we have that
(9)G=∑j∈N∖Q‍g0j+∑j∈Q‍g1j=∑j∈Q‍sj.
Using the fact thatG≤B, we get ∑j∈Q‍sj≤B. Since p1j=0, for all j=1,2,…,n,
(10)Cmax⁡=∑j∈N∖Q‍p0j=∑j∈N∖Q‍ej=∑j=1n‍ej-∑j∈Q‍ej.
ByCmax⁡≤E-T, we obtain Σj∈Qej≥T. Thus the knapsack problem has a solution.For the problem1+∞∥Cmax⁡/G≤W, we design a dynamic programming algorithm, denoted as DP2. We do not reindex the jobs before scheduling, because any arbitrary job sequence leads to the same makespan on a single machine.Define(j,x,y,v) as a state variable describing a subschedule for jobs 1,2,…,j where (1)  x is the load of the in-house machine, that is, the sum of the processing times of the jobs scheduled on the in-house machine, (2)  y is the maximal processing time of the outsourced jobs, and (3)  v is the current total cost. Let f(j,x,y,v) be the optimal value of the objective function for the subschedule described by (j,x,y,v). The recurrence relation is described as follows.If jobj is scheduled on the in-house machine, we set
(11)f0(j,x,y,v)={f(j-1,x-p0j,y,v-g0j)+max⁡{x,y}-max⁡{x-p0j,y},ifv≤W;+∞,otherwise.If jobj is outsourced, we have
(12)f1(j,x,y,v)={f(j-1,x,y,v-g1j),ifp1j≤y,v≤W;f(j-1,x,p1j,v-g1j)+max⁡{x,p1j}-max⁡{x,y},ifp1j>y,v≤W;+∞,otherwise.Furthermore(13)f(j,x,y,v)=min⁡{f0(j,x,y,v),f1(j,x,y,v)}.We give the initial conditions as follows:(14)f(1,x,y,v)={p11,x=0,y=p11,v=g11≤W;p01,x=p01,y=0,v=g01≤W;+∞,otherwise.The optimal value ismin⁡x,y,v{f(n,x,y,v)}, where x=0,1,2,…,P;y=0,1,2,…,P;v=0,1,…,W, and P, W, respectively, stand for the sum of processing times and the total cost for all the jobs. The running time of the algorithm DP2 is O(nP2W). Obviously, the dynamic programming algorithm DP2 is pseduopolynomial dynamic programming algorithm.


## 4. Conclusion

An analytical model for the coordination of in-house production and outsourcing has been studied. The objective functions are to minimize the common scheduling measures, subject to a constraint on the total production and subcontracting cost. We give their complexity analysis and solve them by dynamic programming algorithms. In the further, we will investigate the problems with other objective functions such as minimizing the number of tardy jobs and the maximum lateness. And we will discuss more complex models with multiple available subcontractors and batch processing.



---

*Source: 490987-2014-09-02.xml*