Parallel Machine Scheduling with Batch Delivery to Two Customers

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 m parallel machines and two customers. A set of jobs containing n 1 jobs from customer 1 and n 2 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. Ifm = 2 and (n 1 − b)(n 2 − b) < 0, we propose a heuristic with worst-case ratio bound of 3/2, where b is the capacity of the delivery shipment. Otherwise, the worst-case ratio bound of the heuristic we propose is 2−2/(m+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  > 2 identical parallel machines facility,  = {1, 2, . . ., }.At time zero, the manufacturer receives a set of  jobs,  = {1, 2, . . ., }, 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 ,  = 1, 2. Let   = |  | denote the number of jobs in   .It is easy to see that  =  1 ∪  2 and  =  1 +  2 .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 0. All the finished jobs ordered by customer  need to be delivered in batch to customer  by the vehicle,  = 1, 2. 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  0 ,   , and  0 , respectively, to denote the variable cost for traveling from the processing facility to customer  ∈ {1,2}, from customer  ∈ {1,2} to customer  ∈ {1,2}, and from customer  ∈ {1,2} to the processing facility.The corresponding delivery times are denoted as  0 ,   , and  0 , respectively.We assume that   =   = 0,   =   ,   =   ,  0 +   ≥  0 , and  0 +   ≥  0 , ,  = 0, 1, 2. 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  max = max{  |  ∈ } 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,  max + (1 − ), is minimized, where  denotes the total distribution cost,  max measures customer service level, and 0 ≤  ≤ 1 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 productiondistribution 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 productiondistribution 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][2][3][4], among others).Chen and Vairaktarakis [1] studied a more general case, in which there are  ≥ 2 customers in the supply chain.They proposed a heuristic with worst case ratio bound of 2 − 1/, the time complexity of which is (   2  −1 ).Clearly, when  = 2 the heuristic also needs to take ( 2  4 ) time.However, if jobs are delivered to the customers individually and immediately, Woeginger [5] provided a heuristic with worst case ratio bound of 2 − 2/( + 1), the time complexity of which is merely ( log ).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  = 1 or  = 0 in Section 3 and with 0 <  < 1 in Section 4. Finally, in Section 5, we conclude the paper.

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 ,  = 1, 2.   : the number of jobs in   ,  = 1, 2.   : the processing time of job ,  ∈ .: the fixed cost of using a vehicle. 0 : the variable cost of traveling processing facility to customer ,  ∈ .  : the variable cost of traveling from customer  to customer ,  = 1, 2 and  = 1, 2.  0 : the time of traveling processing facility to customer ,  = 1, 2.   : the time of traveling from customer  to customer ,  = 1, 2 and  = 1, 2.   : the arrival time of job  to its customer,  ∈ . max (): 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, 0 ≤  ≤ 1. (): the objective value of solution , () =  max () + (1 − )(). * max : the optimal objective value of the problem with  = 1. * : the optimal objective value of the problem with  = 0.  * : 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.

The Problem with 𝛼 = 1 or 𝛼 = 0
In this section, we study two special cases of the problem with  = 1 or  = 0.
In the problem with  = 1, 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  max .If  01 =  02 =  12 = 0, this case is equivalent to the classical parallel machine maximum completion time scheduling problem   ‖  max , 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 2−2/(+1).Denote such a heuristic as MLS in [5].The running complexity time of heuristic MLS is ( log ).By the major idea of heuristic MLS, we propose a heuristic with worst-case ratio bound of 2 − 2/( + 1) for the problem with  = 1 or  = 0. Denote this heuristic as MMLS (Modified MLS).The running time complexity of heuristic MMLS is ( log ).Similar to heuristic MLS, in heuristic MMLS, let   () = ( − 1)  +  0 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   = 0, 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  =1 .
Clearly, our problem with  = 1 is a special case of the problem studied by Woeginger [5] and can also be solved by heuristic MMLS.Then, we have the following.
The problem with  = 0 is to minimize the total distribution cost.Because  max 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  = 0. 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   =   − (⌈  /⌉ − 1),  = 1, 2. The useful properties are presented as follows.= 0 and  1 + 2 ≤ , in the optimal distribution schedule of the problem with  = 0, ⌈  /⌉−1 vehicles are used to direct deliver (⌈  /⌉−1) jobs in   , each of which contains  jobs,  = 1, 2, one vehicle is used to deliver the remaining  1 +  2 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  = 0 by adopting these results.

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

The Problem with 0 < 𝛼 < 1
When 0 <  < 1, the problem is NP-hard.This is because the following case of the problem  =  0 =  0 =   =   = 0, for  = 1, 2 and  = 1, 2, is equivalent to the classical NP-Hard problem   ‖  max .Associated with  1 and  2 we study a case with   <  for  = 1, 2 and the other cases.We will develop a heuristic for the case with   <  for  = 1, 2 in Mathematical Problems in Engineering 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  = 1, 2 and the case with ( 1 − )( 2 − ) ≤ 0.
4.1.The Case with   <  for  = 1, 2. 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   < ,  = 1, 2, and either  12 >  +  01 +  02 , or  1 +  2 > , in which all the jobs for customer  are delivered by a single vehicle,  = 1, 2.
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   () = ( − 1)  +  0 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.
Step 2. Place all jobs in a list in LPT order.Set   = 0, 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  22 and  23 , respectively.
Step 5. Place all jobs in a list sorted by nonincreasing weight   ().Set   = 0, 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  = 1, 2, deliver all jobs in   by a single vehicle.Denote the resulting solution by  23 .
Step 9. Denote the final solution by  2 .If  1 +  2 ≤  and  12 <  +  01 +  02 , select one from the three solutions  21 ,  22 , and  23 with the lowest objective value as the final solution.Otherwise, set  23 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 ( log ).Next, we analyze its worst-case performance.
Proof.There are three cases associated with  1 and  2 .

Subcase (ii).
If only one vehicle is used to deliver all jobs in , then ( * ) =  +  01 +  12 +  02 and the optimal route of the vehicle is one of the routes adopted by  21 or  22 .Therefore, the problem is reduced to the classical scheduling problem   ‖  max .It is well known that the worst-case performance bound of the heuristic for this problem by applying LPT rule is 4/3 − 1/3 [7].Thus, in this subcase, min{( 21 ), ( 22 )} ≤ (4/3 − 1/3)( * ).

The Other Cases.
As mentioned before, except the case with   <  for  = 1, 2 the other cases include the case with   ≥  for  = 1, 2 and the case with ( 1 − )( 2 − ) ≤ 0. We have discussed the case with   <  for  = 1, 2 in Section 4.1.In this subsection, we develop below a heuristic, denoted as H2, for the case with   ≥  for  = 1, 2 and the case with ( 1 − )( 2 − ) ≤ 0. Similar to heuristic MMLS, we also let   () = ( − 1)  +  0 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.
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 5.For  = 1, 2, use ⌈  /⌉ − 1 vehicles to deliver the last   −   jobs in   with largest processing completion time, each of which contains  jobs, where   =   − (⌈  /⌉ − 1).Use one vehicle to deliver the remaining  1 +  2 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  12 and  13 , respectively.
Step 6. Denote the final solution by  1 .Select one from the three solutions  11 ,  12 , and  13 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 ( log ).Next, we analyze its worst case performance.
Proof.It is clear that  max ( 11 ) =  max ( =1 ) 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  11 , let   be the maximum processing completion time of jobs in   , for  = 1, 2. Proof.In  11 , ( 11 ) = ∑ ∈ ⌈  /⌉( + 2 0 ).There are three cases associated with  1 and  2 .

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 worstcase ratio bound of 2 − 2/( + 1) and a polynomial time exact algorithm for the problem with  = 1 and  = 0, respectively; then we developed heuristics for the problem with 0 <  < 1.When the number of machines  is equal to 2 and the number of customer 1's orders  1 and the number of customer 2's orders  2 meet ( 1 −)( 2 −) < 0, the worst-case ratio bound of our heuristic is 3/2.Otherwise, the worst-case ratio of our developed heuristic is bounded by 2 − 2/( + 1).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.