Batch Delivery Scheduling with Multiple Decentralized Manufacturers

This paper addresses an integrated decision on production scheduling and delivery operations, which is one of the most important issues in supply chain scheduling. We study a model in which a set of jobs ordered by only one customer and a set of decentralized manufacturers located at different locations are considered. Specifically, each job must be assigned to one of the decentralized manufacturers to process on its single machine facility. Then, the job is delivered to the customer directly in batch without intermediate inventory. The objective is to find a joint schedule of production and distribution to optimize the customer service level and delivery cost. In our work, we discuss this problem considering two different situations in terms of the customer service level. In the first one, the customer service is measured by the maximum arrival time, while the customer service is measured by the total arrival time in the second one. For each situation, we develop a dynamic programming algorithm to solve, respectively. Moreover, we identify a special case for the latter situation by introducing its corresponding solutions.


Introduction
Supply chain scheduling has attracted a lot of attention in recent years.One of the important issues in this research area is the integration scheduling of production and delivery operations.In the make-to-order applications, manufacturers produce the ordered products and then deliver them to the customers directly without holding intermediate inventories.Nowadays, it is a quite common background in our social production activities, since it can improve the efficiency of certain production processes.In this context, the customer may cooperate with several manufacturers whose production capacity is of no significant difference.However, we sometimes have to face the fact that these manufacturers are located at decentralized places.In consequence, the transportation between each manufacturer and customer needs time and cost.This paper thus investigates a joint schedule of production and delivery in order to optimize both customer service level and delivery cost.Here, customer service level is measured by a function of the time when the jobs are delivered to the customers, while the delivery cost consists of a fixed charge and a variable cost.
The rest of this paper is organized as follows.Section 2 reviews the related research work in the literature.In Section 3, we describe the problem addressed and introduce the notation used.Section 4 details the service measure form of maximum arrival time.Next, a dynamic programming algorithm is proposed to find an optimal solution.In Section 5, we first study the service measure form of total arrival time and then a dynamic programming algorithm is developed to solve it optimally as well.For this problem, we study a special case.Finally, our conclusions are given in Section 6.

Literature Review
A considerable amount of work has been done on batch delivery problems in the literature.Cheng and Kahlbacher [1] studied a single machine batch delivery scheduling to minimize the sum of the total weighted earliness and delivery cost.In their work, the earliness of a job is defined as the difference between its delivery time and completion time.Cheng and Gordon [2] discussed a problem which involves a set of independent jobs that are to be partitioned into several batches and sequenced for processing by a single machine.Later, Cheng et al. [3] further show that this problem can be formulated as a classical parallel machine scheduling problem, and thus the complexity results and algorithms for the corresponding parallel machine scheduling problem can be easily extended to the problem.Cheng et al. [4] studied the single machine batch delivery problem to minimize the sum of the total weighted earliness and mean batch delivery time.Ji et al. [5] studied batch delivery scheduling on a single machine.The objective is to minimize the sum of the total weighted flow time and delivery cost.Wang and Cheng [6] studied parallel machine scheduling with batch delivery cost.The objective is to minimize the sum of the total flow time (i.e., equal weights) and delivery cost.Hall and Potts [7] studied a variety of problems where a supplier makes deliveries to several manufacturers, who also make deliveries to customers.The objective is to minimize the overall scheduling and delivery cost.Hall and Potts [8] considered several scheduling problems with batch delivery.The objective is to minimize the scheduling cost plus the delivery cost, and both single and parallel machine environments are considered.Note that delivery cost is defined as the nondecreasing function of the number of batch in [1][2][3][4][5][6][7][8].
In fact, most of the above research work considers customer service as their objective but without taking the transportation cost into account, or they assume that jobs can be delivered to customers instantaneously without any transportation delay.However, another set of batch delivery problems take transportation time and cost into account.Lee and Chen [9] incorporated transportation time and vehicle capacity requirements into machine scheduling models.They analyzed the complexity of various models in which jobs are first processed by machines and then delivered by one or more vehicles to a single customer.The vehicles have finite or infinite capacity and there is a transportation time for each customer of the delivery.Chang and Lee [10] extended Lee and Chen's work to the situation when each job occupies a different amount of space in the vehicle.Chen and Vairaktarakis [11] studied the problem of minimizing a convex combination of service level and distribution cost.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.Wang and Cheng [12] considered the identical parallel machine scheduling with job class setups and delivery to multiple customers.The delivery cost consists of a fixed charge and a variable cost related to the quantity of the delivery jobs.Li et al. [13] developed a single machine scheduling model that incorporated routing decisions of a delivery vehicle which serves customers at different locations.They considered the case where the single vehicle is infinite or bounded capacity.The objective is to minimize the sum of job arrival time.A similar problem setting of [13] is considered by Geismar et al. [14], who assume that a fixed limited number of trucks is available and the objective is to minimize the time to produce and deliver all jobs to all customers.Chen and Lee [15] studies a general two-stage scheduling problem, in which jobs of different importance are processed by one first-stage processor and then, in the second stage, the completed jobs need to be batch delivered to various prespecified destinations in one of a number of available transportation modes.The objective is to minimize the sum of weighted job delivery time and total transportation cost.
It is worth mentioning that, different from all the above cases, Chen and Pundoor [16] studied a problem in which multiple decentralized manufacturers with nonidentical production capacity are located at different locations and have different production cost.Finished jobs are shipped to the single customer with fixed batch delivery cost, and each delivery batch has a capacity limit.The decision is to assign jobs to manufacturers to determine the processing sequences and to obtain a delivery schedule for the finished jobs.
In this paper, we focus on the integration of production scheduling and batch delivery model where multiple decentralized manufacturers are located at different locations, but only one customer is considered.More clearly, a set of jobs needs to be produced by manufacturers for a customer.After completing jobs, all the manufacturers must directly deliver them in batch to the customer by vehicle.We assume that each manufacturer has sufficient vehicles to use.A delivery batch incurs a fixed cost and a variable cost related to the number of jobs in that batch.The batch size is bounded by the capacity of the delivery vehicle.The objective is to determine the job assignment to multiple manufacturers and job processing sequence in each manufacturer together with the delivery schedule, so as to balance the customer service level and delivery cost.As introduced above, the problems discussed by Chen-Pundoor [16] are somewhat similar to ours.However, there are the following significant differences between two research works.(1) In our model a delivery batch of each manufacturer incurs not only a fixed cost but also a variable cost.Consequently, they make our problems more difficult to solve.(2) For the problem with the service level of the maximum arrival time, we propose a dynamic programming algorithm to solve it optimally, but Chen and Pundoor solved the similar problem by heuristics.(3) For the problem with the service level of the total arrival times, we propose a dynamic programming algorithm with time complexity of (  ) to solve it optimally, while Chen and Pundoor solved the problem with agreeable processing time and production cost by a dynamic programming algorithm with time complexity of ( +1  2 ).( 4) We consider a special case of the problem with the service level of the total arrival time and solve it optimally by a polynomial algorithm.However, this point was not brought by Chen and Pundoor.

Problem Description
In this section, we describe our model formally.There are  manufacturers  = { 1 ,  2 , . . .,   }, which are located at different locations.Each manufacturer has a single machine facility.A customer plans to order  job, denoted by  = {1, 2, . . ., }.Each of these jobs should be assigned to one of decentralized manufacturers to process on its single machine facility and then delivered to the customer directly in batch without intermediate inventory.More precisely, an example with 5 manufacturers and 1 customer is shown in Figure 1, where the lines represent the delivery of job.From this figure, as introduced earlier, we can see that there exist different manufactures located at different geographic areas but only one customer to consider.
Indeed, each job  ∈  has a processing time of   units.Job preemption is not allowed; that is, processing a job on a machine can not be interrupted until it is finished.All jobs and machines are available at time 0. All the finished jobs produced by each manufacturer need to deliver in batch to the customer by the vehicle.A vehicle used by each manufacture must depart only when all the assigned jobs have completed their processing.Suppose that there are enough homogeneous vehicles available to deliver jobs at each manufacturer location and each vehicle can be loaded at most  jobs in a batch.This indicates that the total number of jobs delivered in a batch is no greater than .Let   denote the spending time when a vehicle travels from manufacturer  to the customer, for   ∈ .Let   denote the time when the completed jobs arrive at the customer, for  ∈ .With regard to the customer service level, we consider two particular forms: (i) maximum arrival time; that is,  max = max{ 1 , . . .,   }; (ii) total arrival times; that is, So, we consider this problem with two forms of customer service, level respectively.The batch delivery cost from manufacturer   to the customer needs total cost of   +   , where   is denoted by the fixed charge,  ≤  is denoted by the quantity of the delivered job in the batch, and   is denoted by the cost of each job delivered from   to the customer, for   ∈ .Let   denote the kth batch in +     be the total delivery cost, where   is denoted by the number of delivery batches in   ,   is denoted by the number of jobs that assigned to process on the machine of   , and   is denoted by the batch size of   (the number of jobs in   ).
Adopting the extensive three-field notation, the problem can be denoted by  → 1, 1||+, where the first part  → 1 of  field represents  manufacturers service for only single customer and the second part of  field represents that the processing facility in each manufacturer is single machine.The value of  under  represents the vehicle capacity.The objective functions that we consider under  comprise a delivery cost  and a customer service cost , where  =  max or  = ∑ ∈   .

Maximum Arrival Time
In this section, we focus on problem  → 1, 1|| max + .We present the following lemma which establishes several properties for an optimal solution to the problem.The proof is trivial and omitted.

Lemma 1.
There exists an optimal solution to problem  → 1, 1|| max + in which (1) there is no idle time at the beginning or between any two consecutively processed jobs on the machine of each manufacturer; (2) each batch delivery occurs when the last job of batch completes processing; (3) if manufacturer   has been assigned to   jobs, each of the first ⌈  /⌉ − 1 batches includes  jobs and the last one includes   − (⌈  /⌉ − 1) jobs for  = 1, 2, . . ., .
First, we consider the complexity issues.On one hand, when both the delivery cost and delivery time are negligible, problem  → 1, 1|| max +  is reduced to the parallel machine scheduling problem with minimizing the makespan, denoted by ‖ max .On the other hand, ‖ max is NP-hard in the ordinary sense when  is fixed and NP-hard in the strong sense when  is arbitrary.Thus, we have the the following theorem.
We now develop a dynamic programming algorithm to solve the problem.Let  = ∑  =1   .The algorithm is formally described as follows.

Algorithm DP1
Step 1. Value function: define ( 1 , . . .,   ,  1 , . . .,   ) as the minimum sum of the maximum arrival time and the total delivery cost, given that   jobs are assigned to manufacturer   so far and the arrival time of the last job in these   jobs is equal to   exactly.
Step 2. Initialization: sequence the jobs arbitrarily.
We establish the running time complexity of Algorithm DP1 as follows.Since  − 1 of the values  1 , . . .,   are independent and  − 1 of the values  1 , . . .,   are independent, the number of different states of the recursive relations is at most  −1 .For each state, the right-hand side of (2) can be calculated in () time.Thus, the overall time computational complexity of Algorithm DP1 is (() −1 ).
Theorem 3 implies that problem  → 1, 1|| max +  is NP-hard in the ordinary sense when  is fixed.

General Case.
In this subsection, we focus on problem  → 1, 1|| ∑ ∈   + .When  is arbitrary, Chen and Pundoor proved the first problem in [16] is NP-hard in the strong sense by a reduction of the minimum cover problem, and when  is fixed, they pointed out that the computational complexity of the problem is open.If  is arbitrary, the computational complexity of problem  → 1, 1|| ∑ ∈   +  is NP-hard in the strong sense.The proof is similar to the computational complexity proof of the first problem in [16].If  is fixed, based on the ideas from Cheng et al. [17], for a parallel machine batching problem, we propose a polynomial algorithm for problem  → 1, 1|| ∑ ∈   + .The following lemma establishes several properties for an optimal solution to this problem.The proof is trivial and omitted.

Lemma 4.
There exists an optimal solution to problem  → 1, 1|| ∑ ∈   +  in which (1) there is no idle time at the beginning or between any two consecutively processed jobs on a machine in the manufacturer; (2) all jobs assigned to the same manufacturer are scheduled with an order of nondecreasing processing times; (3) each batch is delivered when the last job in the batch completes processing; (4) any two consecutive batches   and  +1 satisfy   ≥  +1 in each manufacturer   .
Sort the  jobs from the single customer with an order of nondecreasing processing times such that  1 ≤  2 ≤ ⋅ ⋅ ⋅ ≤   .We have the following property.Lemma 5.There exists an optimal solution to problem  → 1, 1|| ∑ ∈   +  in which the jobs in each batch are sequenced continuously; that is, the jobs in a batch are ,  + 1, . . ., , for some , , 1 ≤  ≤  ≤ .
Proof.Given a schedule, the position weights on the machine of   are considered.Each job  ∈   contributes its processing time   to the completion time of every jobs in   ∪  +1 ∪ ⋅ ⋅ ⋅ ∪    .Hence, the position weight of each job in   is equal to   =   +  +1 + ⋅ ⋅ ⋅ +    .It is easy to see that the objective value of this schedule is equal to If the number of batches at each manufacturer   ( = 1, 2, . . ., ) and the number of jobs in each batch   ( = 1, 2, . . ., ,  = 1, 2, . . .,   ) are fixed, then in order to minimize the value of Δ we should assign the job with the largest processing time to the position with the smallest position weight and the job with the second largest processing time to the position with the second smallest position weight and so on.Since the positions occupied by the jobs in the same batch have identical position weights, we get the desired result.
Based on Lemmas 4 and 5, we now develop a dynamic programming algorithm to solve problem  → 1, 1|| ∑ ∈   + .The algorithm is formally described as follows: Algorithm DP2 Step 1. Value function: define   ( 1 ,  2 , . . .,   ) as the minimum sum of the total arrival times and the delivery cost if the last  −  + 1 jobs have been considered and manufacturer   has been assigned   jobs among the considered jobs for  = 1, 2, . . ., .Clearly, ∑  =1   =  −  + 1.
Proof.By Lemma 5, we generate the batches containing consecutive jobs and construct the batch sequences in each manufacturers backwards in Algorithm DP2.Assume that manufacturer   has been assigned  jobs in the current sequence and the batch containing jobs , . . .,  − 1( −  ≤ ) is added to the beginning of the sequence.It is not difficult to calculate that the contribution of this batch to the objective value is (+−)  +  +(−)(  +  ), where   = ∑ −1 =   is the total processing time of the jobs in the batch.This contribution depends only on the batch and on the number of jobs assigned to manufacturer   .Then, we can recursively compute the value of   ( 1 ,  2 , . . .,   ).Finally, the optimal solution can be obtained when  = 1.Thus, Algorithm DP2 solves the problem  → 1, 1|| ∑ ∈   +  optimally.
Theorem 6 shows that when the number of manufacturers  is fixed, Algorithm DP2 solves the problem optimally in polynomial time.

Special Case.
In this subsection, we consider a special case with the objective function of ∑ ∈   +.In this special case, at most, one job can be delivered in a batch; that is,  = 1.Denote such a special case by  → 1, 1| = 1| ∑ ∈   +.It is easy to observe that when the delivery time and the delivery cost are negligible, problem  → 1, 1| = 1| ∑ ∈   +  is reduced to the classical parallel machine scheduling problem to minimize makespan, denoted by ‖ ∑   .It is well known that ‖ ∑   is solved optimally by the generalized shortestprocessing-time-first (SPT) rule, which can be described as follows: schedule the jobs with an order of nondecreasing The optimality of Algorithm SA can be easily justified.In terms of the time complexity, sorting the jobs with an order of nondecreasing processing times in Step 1 needs ( log ) time, and executing Step 2 needs () time since it takes () time to find the value of .Hence, the overall running time complexity of algorithm SA is ( log  + ).Now, we present a numerical example for this special case to demonstrate the optimality of the algorithm.
Example 8. Consider the instance with  = 6,  = 3, and  = 1.The delivery times and delivery cost to the customer are shown in Table 1.The processing times of jobs are given in Table 2. Using Algorithm SA to solve the instance, we have the following results: When  = 1, find  = 3, and so we have  3 = 3 and  3 = 11.
Therefore, the value of the optimal solution to Example 8 generated by Algorithm SA is equal to  * =  1 +  2 +  3 = 35 + 46 + 30 = 112.In such an optimal solution, the assignment of all the jobs to manufacturers  1 ,  2 , and  2 and the schedule on the machine of each manufacturer are illustrated in detail in Figure 2. In Figure 2, the horizontal axis represents time.In order to explain Figure 2, we see job 2. Job 2 is assigned to manufacturer  2 ; it starts to process on the single machine of manufacturer  2 at the point of time 0 and completes to process at the point of time 5 (shown in Figure 2).Once job 2 is completed to process, it is delivered as a batch to its customer immediately and needs 1 unit of delivery time and 8 units of delivery cost.Note that there does not show the delivery time and delivery cost of each job in Figure 2.

Conclusion
In this paper, we study a joint schedule of production and distribution to optimize the customer service level and delivery cost.Moreover, two different situations are considered by measuring the customer service in terms of: (i) total arrival times and (ii) maximum arrival time.To deal with these two situations, two dynamic programming algorithms are introduced, respectively, which are pseudopolynomial when the number of manufacturers is fixed.We also identified a solvable special case for the latter situation.Compared with the related research work in the literature, we conclude our following contributions.(1) We extend the previous models with one manufacturer to a novel one with multiple decentralized manufacturers.(2) A delivery batch only incurs a fixed cost in the previous models.However, we consider here a model with a complicated cost structure in which a delivery batch of each manufacturer incurs not only a fixed cost but also a variable cost.(3) We propose the efficient dynamic programming algorithms to solve this problem optimally.However, heuristics was often developed for similar problems in the literature.
For future research, it will be worth considering the design of efficient and effective heuristics for the problems considered here.Our interesting research topic is also to study the extension of the current scheduling model with other objective functions, such as minimizing the total (weighted) tardiness or the number of the tardy jobs.Moreover, alternative machine configurations like flowshop facilities is a promising direction to study.At last, it might be worthy to extend the model with multiple decentralized manufacturers and multiple decentralized customers.

3 Figure 1 :
Figure 1: An example of the problem.

Figure 2 :
Figure 2: The result of Example 8.

Table 1 :
The delivery time and delivery cost to the customer.

Table 2 :
The processing time of jobs.consider the jobs in this order and assign the current considering job to the earliest available machine.By Lemma 4, we develop an algorithm, denoted by SA, which is similar to SPT rule.Let   denote the current value of the objective function at manufacturer   when considering the first  jobs,   denote the total completion time of the jobs assigned to manufacturer   when considering the first  jobs, and  * denote the optimal value of the objective function.Algorithm SA is shown in detail as follows.Sort and renumber the  jobs with an order of nondecreasing processing times such that  1 ≤  2 ≤ ⋅ ⋅ ⋅ ≤   . =1   .