#### Abstract

In some make-to-order supply chains, the manufacturer needs to process and deliver products for customers at different locations. To coordinate production and distribution operations at the detailed scheduling level, we study a parallel machine scheduling model with batch delivery to two customers by vehicle routing method. In this model, the supply chain consists of a processing facility with parallel machines and two customers. A set of jobs containing jobs from customer 1 and jobs from customer 2 are first processed in the processing facility and then delivered to the customers directly without intermediate inventory. The problem is to find a joint schedule of production and distribution such that the tradeoff between maximum arrival time of the jobs and total distribution cost is minimized. The distribution cost of a delivery shipment consists of a fixed charge and a variable cost proportional to the total distance of the route taken by the shipment. We provide polynomial time heuristics with worst-case performance analysis for the problem. If and , we propose a heuristic with worst-case ratio bound of 3/2, where is the capacity of the delivery shipment. Otherwise, the worst-case ratio bound of the heuristic we propose is .

#### 1. Introduction

To meet the soaring demands of electronic devices in recent years, manufacturers in China start building new factories to increase production capacities. Two different strategies are mainly adopted by these manufacturers, one is to build a new factory at the undeveloped land near current factory and the other is to place the new factory to a different region with lower labor cost. Take Foxconn Technology Group, the world’s largest electronics contractor manufacturer, for example, it not only built a new factory at Guanlan Technology Park after running one at Yousong Industrial District in Shenzhen city of China but also has been building many other factories at different regions of China. Clearly, it can share resources easily by adopting the former strategy and reduces production cost by adopting the latter one. Meanwhile, as a nonstandard parts supplier of a manufacturer adopting the former strategy, it should not only offer parts to the current factory but also provide parts to the new-built factory. In such applications, very little inventory of finished parts exists at any point of time since nonstandard parts are custom made and the supplier will not start production early before it receives orders from the manufacturer. Hence, the production and distribution operations of the supplier are linked immediately, and the close linkage between production and distribution necessitates coordinating production and distribution operations at the level of detailed scheduling.

In this paper, we consider a parallel machine scheduling problem with batch delivery to two customers faced by the nonstandard part supplier in the above-described supply chain, which can be described as follows. There is a manufacturer, who has a set of identical parallel machines facility, . At time zero, the manufacturer receives a set of jobs, , from two customers 1 or 2, which are located at different locations in an underlying transportation network. Among jobs in , jobs in the subset are ordered by customer , . Let denote the number of jobs in . It is easy to see that and . Each job in should be processed onto one of the machines in manufacturer and then delivered to its customer in batch without intermediate inventory. Associated with each job has a processing time of units. Job preemption is not allowed; that is, processing a job on a machine cannot be interrupted until it is finished. All jobs and machines are available at time . All the finished jobs ordered by customer need to be delivered in batch to customer by the vehicle, . Suppose that there are enough homogeneous vehicles available so that each vehicle will be used once and each delivery shipment will be transported by a dedicated vehicle. All the vehicles are stationed at the processing facility at time 0 and must go back to the facility once they complete a shipment. Each vehicle can carry up to at most jobs in one shipment. The transportation cost incurred by each batch consists of a fixed charge and a variable cost dependent on the particular route taken by the vehicle. We use , , and , respectively, to denote the variable cost for traveling from the processing facility to customer , from customer to customer , and from customer to the processing facility. The corresponding delivery times are denoted as , , and , respectively. We assume that , , , , and , . A delivery vehicle can depart from the processing facility only when all the jobs to be delivered have completed processing. We use to denote the time when job arrives to its customer. Define as the maximum arrival time to the two customers of jobs in . The problem is to find a joint production and distribution schedule such that the tradeoff between maximum delivery time of the jobs and total distribution cost, that is, , is minimized, where denotes the total distribution cost, measures customer service level, and is a given constant and represents the decision maker’s relative preference on customer service level and total distribution cost. Such an objective function is also adopted by Chen and Vairaktarakis [1].

This problem is a variation of the integrated production-distribution scheduling models with batch delivery to multiple customers by vehicle routing method, which is always encountered in make-to-order or time-sensitive product supply chains. In these supply chains, finished jobs are often delivered to customers immediately or shortly after the production which lead to production and distribution operations that are intimately linked with no intermediate inventory. Even though the research on integrated production-distribution scheduling models is fairly recent, much excellent work have been done in the last decade. Vehicle routing method is an efficient way to serve multiple customers by a shipment. However, only few literature studied the models with vehicle routing method (e.g., [1–4], among others). Chen and Vairaktarakis [1] studied a more general case, in which there are customers in the supply chain. They proposed a heuristic with worst case ratio bound of , the time complexity of which is . Clearly, when the heuristic also needs to take time. However, if jobs are delivered to the customers individually and immediately, Woeginger [5] provided a heuristic with worst case ratio bound of , the time complexity of which is merely . Hence, there may exist a heuristic that could outperform the heuristic proposed by Chen and Vairaktarakis [1]. According to this observation, we are interested in designing a more effective and efficient algorithm by adopting the approach proposed by Woeginger [5].

The rest of the paper is organized as follows. In Section 2, we give some optimality properties of the problem and introduce some notations. Then, we study the problem with or in Section 3 and with in Section 4. Finally, in Section 5, we conclude the paper.

#### 2. Notations and Preliminary Results

In this section, we first summarize the notations we used in our model and introduce some new notations in the following list: : a set of identical parallel machines in manufacturer. : a set of jobs ordered by two customers. : a subset of jobs ordered by customer , . : the number of jobs in , . : the processing time of job , . : the fixed cost of using a vehicle. : the variable cost of traveling processing facility to customer , . : the variable cost of traveling from customer to customer , and . : the time of traveling processing facility to customer , . : the time of traveling from customer to customer , and . : the arrival time of job to its customer, . : the maximum arrival time of the jobs in solution . : the total distribution cost in solution . : the preference on customer service level and total distribution cost, . : the objective value of solution , . : the optimal objective value of the problem with . : the optimal objective value of the problem with . : the optimal solution of our problem.

We then present some straightforward optimality properties for the problem. Proofs are omitted.

Lemma 1. *There exists an optimal solution for the problem in which*(1)*there is no idle time between the jobs processed on each machine in the processing facility,*(2)*the departure time of each shipment is the completion time of the last job included in the shipment,*(3)*jobs that are processed on the same machine and delivered in the same shipment are processed consecutively on that machine.*

Lemma 2. * and .*

#### 3. The Problem with or

In this section, we study two special cases of the problem with or .

In the problem with , because no cost is considered, each job is delivered in a separate vehicle immediately after it completes processing. Then, the problem is reduced to minimize . If , this case is equivalent to the classical parallel machine maximum completion time scheduling problem , which is known to be NP-hard [6]. Hence, this case is also NP-hard. Woeginger [5] studied a model as the same as ours except that each job is associated with an individual delivery time and develop a heuristic with worst-case ratio bound of . Denote such a heuristic as MLS in [5]. The running complexity time of heuristic MLS is . By the major idea of heuristic MLS, we propose a heuristic with worst-case ratio bound of for the problem with or . Denote this heuristic as MMLS (Modified MLS). The running time complexity of heuristic MMLS is . Similar to heuristic MLS, in heuristic MMLS, let denote a weight of job depending on its processing time and delivery time, . The value of can be computed in advance for each . Also, we let represent the total processing time of jobs assigned to machine so far during the algorithm execution, . Heuristic MMLS can be described in detail as follows.

*Heuristic MMLS*

*Step **1*. Place all jobs in a list sorted by nonincreasing weight . Set , for .

*Step **2*. Select a machine for which is as small as possible (select arbitrarily if there is a tie). Choose the first unscheduled job of the list and assign it to machine . Set . Repeat Step 2 until all jobs are scheduled.

*Step **3*. For all , resort the jobs assigned to machine in Step 2 by nonincreasing delivery time. Denote this solution by .

Clearly, our problem with is a special case of the problem studied by Woeginger [5] and can also be solved by heuristic MMLS. Then, we have the following.

Theorem 3. *.*

The problem with is to minimize the total distribution cost. Because is not considered, each vehicle should deliver as many jobs as possible to minimize the total distribution cost. Thus, the following results hold for the problem with . Before showing these results, we especially point out that job directly delivered by a vehicle indicates that job is delivered to its corresponding customer directly, and the vehicle loading job does not pass by the other customer. We let , . The useful properties are presented as follows.

Lemma 4. *There exists an optimal solution for the problem with in which jobs in are directly delivered by vehicles, each of which contains jobs, .*

Corollary 5. *If , vehicles are used in the optimal distribution schedule of the problem with to direct deliver all jobs in , each of which contains jobs, .*

Corollary 6. *If , vehicles are used in the optimal distribution schedule of the problem with to direct deliver all jobs in , each of which contains jobs, .*

Corollary 7. *If , vehicles are used in the optimal distribution schedule of the problem with to direct deliver all jobs in , each of which contains jobs, .*

Corollary 8. *If and and , in the optimal distribution schedule of the problem with , vehicles are used to direct deliver jobs in , each of which contains jobs, , one vehicle is used to deliver the remaining jobs, which goes to customer 2 via customer 1 and then directly returns to the processing facility.*

Since the above results are straightforward, we omit the proofs. Obviously, it is easy to construct the following polynomial-time exact algorithm for the problem with by adopting these results.

*Algorithm EA*

*Step **1*. Assign all jobs in to the machines in arbitrary sequence.

*Step **2*. If , schedule the job delivery such that it satisfies Corollary 5. Otherwise, if , schedule the job delivery such that it satisfies Corollary 6; if , schedule the job delivery such that it satisfies Corollary 7; if and , schedule the job delivery such that it satisfies Corollary 8.

#### 4. The Problem with

When , the problem is NP-hard. This is because the following case of the problem , for and , is equivalent to the classical NP-Hard problem . Associated with and we study a case with for and the other cases. We will develop a heuristic for the case with for in Section 4.1 and develop another heuristic for the other cases in Section 4.2, respectively. Particularly notice that the other cases include two types: the case with for and the case with .

##### 4.1. The Case with for

We first introduce some straightforward optimality properties for this case, which will be used in the sequel. Proofs are easy, and we leave them to the reader.

Lemma 9. *There exists an optimal solution for the case , , and either , or , in which all the jobs for customer are delivered by a single vehicle, .*

In the following, we present a polynomial-time heuristic, denoted as H1, for the case and analyze its worst-case performance. In heuristic H1, similar to heuristic MMLS, we also let denote a weight of job depending on its processing time and delivery time, , and let represent the total processing time of jobs assigned to machine so far during the algorithm execution, . The value of can be computed in advance for each . Note also that we provide a Largest Processing Time first (LPT) rule for sorting the jobs. Heuristic H1 can be described in detail as follows.

*Heuristic H1*

*Step **1*. If and , go to Step 2; otherwise, go to Step 5.

*Step **2*. Place all jobs in a list in LPT order. Set , for .

*Step **3.* Select a machine for which is as small as possible (select arbitrarily if there is a tie). Choose the first unscheduled job of the list and assign it to machine . Set . Repeat Step 3 until all jobs are scheduled.

*Step **4*. Deliver all jobs in by a single vehicle. In order to complete the travel, two routes can be opted for the vehicle. The first one is that the vehicle goes to customer 1 via customer 2 and then direct returns to the processing facility and the second one is that the vehicle goes to customer 2 via customer 1 and then directly returns to the processing facility. Denote the resulting solution adopting the first route and the second route by and , respectively.

*Step **5*. Place all jobs in a list sorted by nonincreasing weight . Set , for .

*Step **6*. Select a machine for which is as small as possible (select arbitrarily if there is a tie). Choose the first unscheduled job of the list and assign it to machine . Set . Set . Repeat Step 6 until all jobs are scheduled.

*Step **7*. For all , resort the jobs assigned to machine in Step 6 by nonincreasing delivery time.

*Step **8*. For , deliver all jobs in by a single vehicle. Denote the resulting solution by .

*Step **9*. Denote the final solution by . If and , select one from the three solutions , , and with the lowest objective value as the final solution. Otherwise, set as the final solution.

In heuristic H1, most of the computing time is used for sorting jobs. Hence, the time complexity of the heuristic is . Next, we analyze its worst-case performance.

Theorem 10. *.*

*Proof. *There are three cases associated with and .*Case **(i)*. If , then by Lemma 9, the distribution schedule of is an optimal one. Meanwhile, . Therefore, we have . *Case **(ii)*. If and , then by Lemma 9, the distribution schedule of is an optimal one. Due to , we thus have . *Case **(iii)*. If and , there are two subcases associated with the distribution schedule of . *Subcase **(i)*. If two vehicles are used to deliver jobs, one vehicle delivers all jobs in and the other one delivers all jobs in ; then . *Subcase **(ii)*. If only one vehicle is used to deliver all jobs in , then and the optimal route of the vehicle is one of the routes adopted by or . Therefore, the problem is reduced to the classical scheduling problem . It is well known that the worst-case performance bound of the heuristic for this problem by applying LPT rule is [7]. Thus, in this subcase, .

In Step 9 of the heuristic, we select the best of the three solutions; hence .

##### 4.2. The Other Cases

As mentioned before, except the case with for the other cases include the case with for and the case with . We have discussed the case with for in Section 4.1. In this subsection, we develop below a heuristic, denoted as H2, for the case with for and the case with . Similar to heuristic MMLS, we also let denote a weight of job depending on its processing time and delivery time, , and let represent the total processing time of jobs assigned to machine so far during the algorithm execution, . The value of can be computed in advance for each . Heuristic H2 can be described in detail as follows.

*Heuristic H2*

*Step **1*. Place all jobs in a list sorted by nonincreasing weight . Set , for .

*Step **2*. Select a machine for which is as small as possible (select arbitrarily if there is a tie). Choose the first unscheduled job of the list and assign it to machine . Set . Repeat Step 2 until all jobs are scheduled.

*Step **3*. For all , resort the jobs assigned to machine in Step 2 by nonincreasing delivery time.

*Step **4*. For , use vehicles to deliver jobs in , where the first vehicle delivers jobs and the remaining vehicles deliver jobs. Denote the resulting solution by .

*Step **5*. For , use vehicles to deliver the last jobs in with largest processing completion time, each of which contains jobs, where . Use one vehicle to deliver the remaining jobs. Two routes are available for the vehicle: the former one is that the vehicle goes to customer 1 via customer 2 and then directly returns to the processing facility and the latter one is that the vehicle goes to customer 2 via customer 1 and then directly returns to the processing facility. Denote the resulting solution adopting the former route and the latter route by and , respectively.

*Step **6*. Denote the final solution by . Select one from the three solutions , , and with the smallest objective value as the final solution.

In heuristic H2, most of the computing time is used for sorting jobs in Step 1. Hence, the time complexity of the heuristic is . Next, we analyze its worst case performance.

Theorem 11. *.*

*Proof. *It is clear that since they adopt the same production schedule and the maximum arrival time of the jobs is independent of how the delivery shipments are formed when each job is direct delivered to its customer with no vehicle routing. In , let be the maximum processing completion time of jobs in , for . Hence, . By Theorem 3, . Moreover, by Lemma 2, . Thus we have .

For the case with for and the case with , we have the following result.

Theorem 12. *If for , ; if , .*

*Proof. *In , . There are three cases associated with and .*Case **(i)*. If , then, by Corollary 6, . Hence, . *Case **(ii)*. If , then, by Corollary 7, . Hence, . *Case **(iii)*. If and , then, by Corollary 8, we haveThere are two subcases associated with and .*Subcase **(i)*. If , we have .*Subcase **(ii)*. If , we have . Now consider : When and , we have , for . This implies that , . Thus,When and , there exists a that satisfies and . Thus, Therefore, in both cases, we can conclude that if for and if . By Lemma 2, . Therefore, if and and if .

Corollary 13. *If and , ; otherwise, .*

*Proof. *By Theorem 11, . If and , by Theorem 12, . Due to when , we have . Otherwise, if , by Theorem 12, . Due to when , we have . However, if , then ; if , then . Hence, if and , ; if and , . Because is one of the solutions , , and with the smallest objective value, . This implies that if and , and otherwise.

#### 5. Conclusion

In this paper, we have studied a parallel machine scheduling model with batch delivery to two customers. The objective is to minimize the tradeoff between the maximum arrival time of the jobs and total distribution cost. Computational complexity of various cases of the problem has been clarified, and algorithms for these cases are provided. More specifically, we first provided a polynomial time heuristic with worst-case ratio bound of and a polynomial time exact algorithm for the problem with and , respectively; then we developed heuristics for the problem with . When the number of machines is equal to 2 and the number of customer 1’s orders and the number of customer 2’s orders meet , the worst-case ratio bound of our heuristic is . Otherwise, the worst-case ratio of our developed heuristic is bounded by . The heuristic we proposed has the advantages over the existing heuristic proposed by Chen and Vairaktarakis [1] that it possesses tighter worst-case ratio bound and lower time complexity. However, in this paper we just consider the case with two customers in the supply chain; for future research it will be worth designing heuristics with tighter bound for multiple customers.

#### Conflict of Interests

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

#### Acknowledgments

The authors thank the AE and the anonymous referees for their helpful comments and suggestions. This research was supported in part by the National Natural Science Foundation of China (71501051), the Humanities and Social Sciences Research Foundation of Ministry of Education of China (13YJC630239), and the Foundation for Distinguished Young Teachers in Higher Education of Guangdong Province (YQ201403).