Research Article | Open Access

Shanlin Li, Maoqin Li, Hong Yan, "Supply Chain Batching Problem with Identical Orders and Lifespan", *Mathematical Problems in Engineering*, vol. 2015, Article ID 716248, 9 pages, 2015. https://doi.org/10.1155/2015/716248

# Supply Chain Batching Problem with Identical Orders and Lifespan

**Academic Editor:**Yuri Vladimirovich Mikhlin

#### Abstract

In the real world, there are a large number of supply chains that involve the short lifespan products. In this paper, we consider an integrated production and distribution batch scheduling problem on a single machine for the orders with a short lifespan, because it may be cheaper or faster to process and distribute orders in a batch than to process and distribute them individually. Assume that the orders have the identical processing time and come from the same location, and the batch setup time is a constant. The problem is to choose the number of batches and batch sizes to minimize the total delivery time without violating the order lifespan. We first give a backward dynamic programming algorithm, but it is not an actually polynomial-time algorithm. Then we propose a constant time partial dynamic programming algorithm by doing further research into the recursion formula in the algorithm. Further, using the difference characteristics of the optimal value function, a specific calculating formula to solve the problem with the setup time being integer times of the processing time is obtained.

#### 1. Introduction

In the past two decades, research in the area of supply chain management (SCM) has increased significantly. An important aspect of SCM concerns integrated planning of production and distribution processes since the increasing globalization and strong competition force companies not only to compete with others with regard to prices or quality, but with regard to reliability and timeliness of the deliveries as well. Thus, a coordinated planning of production and transportation is vital for the success of a business; especially if products with short lifespans are involved, the coordination of related operations becomes a challenging issue, such as food (Tarantilis and Kiranoudis [1]; Arbib et al. [2]; Chen et al. [3]; Farahani et al. [4]; MÃ©ndez et al. [5]; Amorim et al. [6]; Bilgen and GÃ¼nther [7]; Kaplan and Rabadi [8]; Shirvani et al. [9]), yoghurt products (Kopanos et al. [10]; Bilgen and Ã‡elebi [11]), industrial chemicals (Geismar et al. [12]; Armstrong et al. [13]; Viergutz and Knust [14]), ready-mix concrete (GarcÃa et al. [15]; Garcia and Lozano [16, 17]), medical specimens (Zangeneh-Khamooshi et al. [18]), or also daily newspapers (van Buer et al. [19]). The integrated production and distribution scheduling problems can be classified into two types based on whether there is a lifespan as the specific parameter of the problem. Since the focus of this paper is on problems with lifespan constraints, we do not review papers that study problems without lifespan constraints, which can be found in Chen [20].

Chen et al. [3] consider production scheduling and vehicle routing with time windows for perishable food products to maximize the expected total profit of the supplier. The demands at retailers are assumed stochastic and perishable goods will deteriorate once they were produced. They propose a nonlinear mathematical model, which is NP-hard, and give a solution algorithm composed of the constrained Nelder-Mead method and a heuristic for the vehicle routing with time windows to solve the complex problem. Farahani et al. [4] study a similar problem but with multiple production lines and sequence dependent setup times and costs. The production scheduling problem is solved through an mixed-integer linear programming modeling approach which is based on a block planning formulation.

MÃ©ndez et al. [5] and Amorim et al. [6] study the integrated batch scheduling and vehicle routing problem and the integrated lot sizing and scheduling and vehicle routing problem for perishable goods respectively. They propose mixed-integer programming models and analyse computational results of the models, respectively.

Bilgen and GÃ¼nther [7] present an integrated production scheduling and truck routing model for a fruit juice supply chain. They considered different transportation modes and described the production system based on the block planning approach which establishes cyclical production patterns with regard to the definition of setup families.

Kaplan and Rabadi [8] focus on the scheduling of perishable products on parallel machines. Each job has a due date, which is the preferred delivery date of the retailers and might be violated subject to a penalization as lateness penalty, and there is a strict deadline imposed by the retailer that should not be exceeded. The objective is to minimize the total penalty cost. They propose a mixed-integer programming model and analyse computational results of the model. Shirvani et al. [9] study a similar problem but with job dependent holding cost. They propose also a mixed integer programming model and a heuristic solution beside an iterated greedy algorithm is developed to generate good and feasible solutions for the problem.

Kopanos et al. [10] consider production scheduling and distribution planning in the yoghurt processing industry with the limited shelf life of intermediate mixes in the aging stage. The model proposed by them decides the assignment of transportation trucks to processing sites-distribution center in every period as well as transportation load for every truck. They impose material balance and logistics operations constraints. Three different transportation modes and min/max truck capacity are taken into consideration. Bilgen and Ã‡elebi [11] study a similar problem but with maximizing the benefit by considering the shelf life dependent pricing component and costs such as processing, setup, storage, overtime, backlogging, and transportation costs. A mixed-integer linear programming model is developed for the considered problem. The efficiency and applicability of the proposed model and approach are demonstrated in a case study for a dairy manufacturing company in Turkey.

Motivated by applications of certain time-sensitive chemical compounds, Geismar et al. [12], Armstrong et al. [13], and Viergutz and Knust [14] consider problems where orders expire within a certain time frame once they are produced and hence must be delivered before they expire. In Geismar et al.â€™s problem, orders to be delivered in the same batch are produced as a lot together and once a lot is completed the shipment must depart immediately and deliver the orders to their destinations within a given time frame. They propose a metaheuristic for this strongly NP-hard problem and evaluate the performance of the heuristic computationally. In the Armstrong et al.â€™s problem, all the orders are processed and delivered in a single shipment in a prespecified sequence. In addition to a common expiration time frame, each order has an individual time window within which the order must be delivered. The objective is to choose a subset of the orders to be delivered such that the total demand of the chosen orders is maximized. The authors show that their problem is at least ordinarily NP-hard and give a branch-and-bound exact algorithm and a heuristic for the problem. Viergutz and Knustâ€™s problem is similar to Armstrong et al.â€™s. They refine the Armstrong et al.â€™s algorithm and extend the model for handling delays of the production start as well as for variable production and distribution sequences and give heuristic and evaluate their performance computationally.

Garcia and Lozano [16] consider a ready-mix concrete production and vehicle scheduling problem with identical parallel machines and multiple customers. They give a new approach for constructing the min-cost network flow problem. They also consider a dual problem with the objective of minimizing the number of vehicles used subject to the constraint that a given number of orders are covered. They give an exponential-time exact solution approach and a partial branch and bound heuristic. More specifically, Garcia and Lozano [17] study a similar problem but with an ideal due date for each order. The revenue of a delivered order decreases with the deviation from the ideal due date. This problem is strongly NP-hard. They give a tabu search based heuristic.

Zangeneh-Khamooshi et al. [18] consider a medical specimens collection problem with a central depot and multiple customers which is modeled as a multishift vehicle routing problem with windows and cycle times, which is a strongly NP-hard problem. They give an new version of the vehicle routing problem with time windows that minimizes the total cycle time of the orders. When the courierâ€™s schedule is allowed to vary, they propose an algorithm to determine feasible routes and schedules of the available couriers and evaluate their performance computationally.

van Buer et al. [19] consider a newspaper printing and delivery problem with a single machine and multiple customers. There are sequence-dependent setup times between orders in the production part and each order has a delivery deadline that must be met. There is a fixed cost for using a vehicle and a vehicle if used can be used to cover multiple trips. The objective is to minimize the total fixed and variable transportation cost. The authors give several heuristics and evaluate their performance computationally.

In this paper, we study a supply chain involving the product with a short lifespan which consists of a plant and a set of customer groups, where the production facility of the plant consists of a single machine and the set of customer groups comes from the same location (e.g., a distribution hub). At the single machine a single product with a limited lifespan is produced. The product lifespan specifies that the product expires after the end of its production. The orders of the product from all of customers are identical. Our problem is to schedule and deliver these identical orders in batches, since it may be cheaper or faster to process and deliver orders in a batch than to process and deliver them individually. A setup time is required at the start of the schedule and on each occasion when the machine switches from processing orders in one batch to orders in another batch (e.g., the time of changing a tool or to clean the machine). The delivery time of an order coincides with the delivery time of the last scheduled orders in its batch and all orders in this batch have the same delivery time. For a given number of orders, we want to choose batch sizes so as to minimize the sum of the delivery times of the orders without violating the order lifespan.

Formally, there is a set of orders from the same location with identical processing time and a limited lifespan , , to be processed on a single machine. In a given schedule, for each job , we denote to be its completion time and delivery time of order , where is the transportation time from the plant to order â€™s destination. The problem is, given a setup time , to find the number of batches and batch sizes satisfying , so as to minimize without violating the order lifespan, where all of , , , and are positive integers.

In a given batch schedule, to respect the lifespan constraint of the order, it is necessary that for each batch sizes , where is the time from the completion time point of the first scheduled order in th batch to its delivery time point. Let denote the maximal integer less than or equal to rational number . Since in the objective function is a constant, our problem can be translated to the problem: find the number of batches and batch sizes satisfying and for , so as to minimize . The problem is referred to as .

This paper is organized as follows. In Section 2, we give a backward dynamic programming algorithm to solve problem , which is not an actually polynomial-time algorithm. In Section 3, we first show the relation between optimal solution and the first order difference of the optimal objective function of the number of orders and investigate the properties of the first order difference. Then a partial dynamic programming algorithm to solve the problem in constant time is given. A specific calculating formula to solve the problem in case is shown in Section 4. In Section 5, we present some numerical examples to show the effectiveness of our proposed algorithms. Section 6 contains a conclusion and a discussion of some possible extensions.

#### 2. Dynamic Programming Algorithm

For ease of presentation, we sequence the orders according to nonincreasing indices. Any solution of problem is of the formwhere is the number of batches, , and batch sizes , satisfied with for . Every solution corresponds to a objective function valuewhere .

In order to solve the batch sizing problem, we obviously have to find a constant and a sequence of indices such that the above objective function value is minimized. Clearly, problem is a trivial matter when or . We have the result as follows.

Theorem 1. *If or , then for problem there exists an optimal solution in which and for ; that is, .*

By Theorem 1, we assume that and hereafter. Below we give a backward dynamic programming algorithm to solve the problem .

*Algorithm 2 (dynamic programming algorithm). *Let denote the minimum the sum of the completion times for -orders batching problem containing orders . The initialization isand the recursion for is

The minimization selects a batch which dose not violate the product lifespan to insert at the start of the previous schedule containing orders . Batch completes at time , and the processing of the batches containing jobs is delayed by time as a result of the insertion. The optimal solution value is then equal to . Under the most natural implementation, the algorithm requires time.

However, it is not an actually polynomial-time algorithm, since the usual definition of the input size is the sum of the logarithms of the input parameters , , , and . In the following sections, we will do further research into the recursion formula: , so as to determine completely the optimal successor for every in an polynomial-time of the input size.

#### 3. Partial Dynamic Programming Algorithm

In this section, we first show the relation between optimal solution and the first order difference of the optimal objective function in terms of the number of orders and investigate the properties of the first order difference. Then we give a partial dynamic programming algorithm to solve the problem in constant time. For each order , if order with such thatholds, we call order the optimal successor of order and denote the optimal successor of by . For , setThus, we have

Note that the fact that is better (worse) than as a successor of , that is, , is equivalent to , which indicates that the optimal successor of is related to the first order difference sequence of the optimal objective function of the number of orders. We denote the first order difference sequence of the optimal objective function of the number of orders by for . We define that . Then, is better (worse) than as a successor of if and only if . To break ties when choosing the successor, we assume that if , that is, , then is better than as a successor of . The following lemma shows an important characteristic of the first order difference sequence.

Lemma 3. *If , then all of the following hold: *(i)* for ;*(ii)

*if**and**, then*.*Proof. *We prove this lemma by induction. Simple calculations yield the following: â€‰â€‰ and ,â€‰, and ,â€‰ and and .Thus, (i) and (ii) hold for . Now suppose that they hold when for some positive integer , that is, and for . We need to show that they hold when . Assume that . By and for , we have that . Equation does not hold. Otherwise, inequalities imply that is better than , better than better than in order as a successor of . The result is that ; that is, . Then . This is a contradiction. Thus, we have that . Noting the fact that is a strictly monotone increasing sequence, there is such that . There are two cases to consider: (a) ; (b) .*Case (a) (**)*. Since the inequalities imply that is better than , better than better than in order and the inequalities imply that is better than , better than better than in order as a successor of , along with , we have that . This implies that and if and only if .

If , then . If , either or follows from the fact that . If , due to , either or follows from the fact that . In sum, if , then either or . Similarly, we have that if , then either or . This implies that (ii) holds. To end the proof of (i), there are four cases to consider: (a1) , (a2) , , (a3) , , and (a4) , , .*Case (a1) (**)*. In this case,Thus, we have that , , and*Case (a2) (**, **)*. In this case,Thus, we have that ,â€‰â€‰, andSince , the inequalities hold. This implies . By , hold. Due to the induction assumption, along with , we have that .*Case (a3) (**,â€‰â€‰**)*. In this case,Thus, we have that , , andSince , the inequalities hold. This implies . Also, we have that . Otherwise, implies . This contradicts with the fact that .*Case (a4) (**,â€‰â€‰**,â€‰â€‰**)*. In this case,Thus, we have thatSince , along with the induction assumption, the inequalities hold. This ends the proof for Case (a).*Case (b) (**)*. The inequalities still hold, where . Clearly, . Otherwise, . Since which means that the product lifespan is not violated and , . This contradicts with . Assume that . There are two cases to consider: (b1) and (b2) .*Case (b1) (**)*. By and , we have that . This, along with , implies that ; that is . similarly, . Similar to the proof of Case (a4), (i) and (ii) hold for the case.*Case (b2) (**)*. Clearly, . By , along with , we have that . Meanwhile we claim . Otherwise . Then . This contradicts with . Similarly, by , . Similar to the proof of Case (a3), (i) and (ii) hold for the case. This ends the proof of the lemma.

The lemma, as well as four formulas yielded in the proof of the lemma, is very important for our batch sizing problem. implies that is the optimal successor of , where denotes the maximal integer less than rational number and . implies that each positive integer must be the optimal successor of one or two positive integers. If and , then for . By (ii) in Lemma 3, we may assume that is the minimal integer such that and . Then and imply that and then that and hold if and only if . By (ii) in Lemma 3, if may be found by recursion (4) in a constant time, then the our problem is solvable in a constant time, since for .

Now we define that optimal number of batches of -orders batching problem is equal to for , called -batches case set of orders and sequence integers in in increasing natural order. Then is a partition of the set of position integers. Let for . Then . We define that for and , called the th periodic set of , and sequence integers in in increasing natural order. Then and is a partition of the set of position integers. If we can find a upper bound of , the upper bound of will be estimated, where , and . The following lemma shows how to do this.

Lemma 4. *Let and , where , , and are integers. Then for all of satisfying with where and , all of the following hold: *(i)* for ,*(ii)* for .*

*Proof. *By and , if ; if . Let if and if . We prove this lemma by induction. Clearly, for . If , for follows from (9), since . If , for follows from (9), since . By , , and (13), . Thus (i) and (ii) hold when . Now suppose that they hold when for some positive integer . We need to show that they hold when . For any , by result (ii) with : and if and only if , we have that . Thus the result (i) holds when .

Now we rewrite as , where . By and , every integer in must be the optimal successor of some integer in and there is a integer, say where , in such that it is the optimal successor of two integers in . So, we have thatBy (15),By (11),By (13),By (15),Equations (17), (18), (19), and (20), along with the induction assumption, imply ; that is, the result (ii) holds when . This ends the proof of the lemma.

In the following we give a partial dynamic programming algorithm to solve the problem .

*Algorithm 5 (partial dynamic programming algorithm). *Let denote the minimum the sum of the completion times for -orders batching problem containing orders . The initialization isand for the recursion isfor the recursion iswhere is the minimal integer such that and .

Theorem 6. *Algorithm 5 finds an optimal solution of problem in constant time.*

*Proof. *By (ii) in Lemma 3, is monotonic increasing, where . By (i) in Lemma 4, for and , where . Noting the fact that , where and are the last orders in and , respectively, we have that for . This, along with , implies that the recursion: for finishes in time. Thus, Algorithm 5 finds an optimal solution of the problem in constant time.

In the following section, we will show a specific calculating formula for the solution of the problem with .

#### 4. Specific Calculating Formula in Case

Assume . By (i) in Lemma 4, we may obtain a partition of the set of -orders with as follows: , ,â€‰ andâ€‰. For example, if , , , , and , , , , and .

For ease of presentation, we denote by the th order in the th periodic set of the th batch case set , where all , , and with , , and are integers; that is,where . Equation (24) establishes a one-to-one correspondence between and the set of positive integers. For example, if , and . We define ;â€‰â€‰ if and ; if and . The following lemma describes the special properties of first order difference in case .

Lemma 7. *Assume . Then all of the following hold.*(i)*For each order with , if and if , where , , and .*(ii)*Let , where and are nonnegative integers. Then .*

*Proof. *We prove result (i) by induction. By for , along with (9), we have that for . By and , along with (13), we have . Thus, result (i) holds for . Now suppose that it holds when ; that is, if and if for . We need to show it for .

For each with , by the induction assumption, for and for follow from the fact that if and if for . Since if and , along with the induction assumption, we have that if and . This implies that , , and are different from each other for . By (15) and the induction assumption, we have that for . Since and , â€‰â€‰âˆ’â€‰â€‰ follows from (11). By , (ii) in Lemma 4 and the induction assumption, we have that â€‰â€‰â€‰â€‰. This implies that . Note the fact that if and if . We have that and . By (19), . By , (ii) in Lemma 4 and the induction assumption, we have that . This implies that . This ends the proof of result (i).

By (ii) in Lemma 3 and result (i), order satisfying with and must be one of the set of . Since and , holds. This ends the proof of the lemma.

In the following we give a specific solution formula to solve the problem .

*Algorithm 8 (specific solution formula). *Let . Then for -orders batch sizing problem,(1) and ,(2)the number of batches ,(3)batch sizes â€‰where denotes the minimal nonnegative integer greater than or equal to rational number .

Theorem 9. *Algorithm 8 give a specific calculating formula to solve problem with .*

*Proof. *By (ii) in Lemma 4 and if , along with , we have that . This implies that for and . By and (i) in Lemma 7, we have that ,â€‰â€‰, and ,â€‰â€‰. Thus, for , ; that is, for , and for , ; that is, for ,â€‰â€‰. This ends the proof of the theorem.

#### 5. Results and Discussion

In this section, we will present three numerical examples to show the effectiveness of our proposed algorithms.

*Example 1. *Solve by Algorithm 2 the following instance of the problem: *Solution*. Let . We have . Set .

By , we have that . Thus .

By and , we have that . Thus .

By , , and , we have that . Thus .

By , , , and , we have that . Thus .

By , , , , and , we have that . Thus .

By , , , , and , we have that . Thus .

By , , , , and , we have that . Thus .

By , , , , and , we have that . Thus .

By , , , , and , we have that . Thus .

We obtain the optimal solution of the problem instance: the number of batches ; batch sizes , , and .

*Example 2. *Solve by Algorithm 5 the following instance of the problem: *Solution*. By doing same calculations in Example 1, we have that , , , , , , and . Noting the fact that is the minimal integer such that and , along with Algorithm 5, we obtain the optimal solution of the problem instance: the number of batches ; batch sizes for , , and .

*Example 3. *Solve by Algorithm 8 the following instance of the problem: