Advertisement

Optimization Letters

, Volume 12, Issue 7, pp 1609–1623 | Cite as

Integrated scheduling of production and distribution for manufacturers with parallel batching facilities

  • Bayi Cheng
  • Jun Pei
  • Kai Li
  • Panos M. Pardalos
Original Paper
  • 192 Downloads

Abstract

We consider a class of integrated scheduling problems for manufacturers. The manufacturer processes job orders and delivers products to the customer. The objective is to minimize the service span, that is, the period lasting from the time when the order is received to the time when all the products have been delivered to the customer. In the production phase, parallel batch-processing facilities are used to process the jobs. Jobs have arbitrary sizes and processing times. Each facility has a fixed capacity and jobs are processed in batches with the restriction that the total size of jobs in a batch does not exceed the facility capacity. When all the jobs in a batch are completed, the batch is completed. In the distribution phase, the manufacturer uses a vehicle with a fixed capacity to deliver products. The transportation time from the manufacturer to the customer is a constant. Completed products can be delivered in one transfer if the total size does not exceed the vehicle capacity. We first consider the problem where jobs have the same size and arbitrary processing times. We propose approximation algorithms for the problem and we show that a worst-case ratio performance guarantee is respectively 2–1/m. Then we consider the problem where jobs have the same processing time and arbitrary sizes. An approximation algorithm is proposed with an absolute worst-case ratio of 13/7 and an asymptotic worst-case ratio of 11/9. Both the proposed algorithms can be executed in polynomial time.

Keywords

Integrated scheduling Production Distribution Identical batch-processing facilities Approximation algorithms 

1 Introduction

Integrated scheduling of production and logistics has attracted the interest of researchers in recent years. In contrast with classical scheduling, which focuses on the production operations, integrated scheduling focuses on the coordination of production and logistics. The objective of production scheduling is to optimize the production and the ordinary measurements including makespan, total weighted completion time, maximum lateness, and so on. However, the optimal production plan does not lead to an optimal integrated plan of production and distribution because the logistic factors are not considered. In the distribution phase, the logistic factors should be considered including the vehicle configuration, transport time, locations of customers, etc. Therefore, integrated scheduling is more practical and is also more difficult to solve. So far, there has been a considerable amount of literature on integrated scheduling.

Hall and Potts [1] studied the integrated scheduling which involves the supplier, the manufacturer and the customer. Their results show that the coordination of the supplier and the manufacturer can reduce the total system cost by at least 20%. This kind of scheduling is concerned with the supply of materials, production, and distribution. Other researchers considered the scheduling with different constraints and proposed effective algorithms [2, 3, 4, 5]. The integrated scheduling involves two parts, i.e., the manufacturer and the customer are also well studied. Chen and Vairaktarakis [6] showed that most of the integrated scheduling problems dealing with production and distribution are NP-hard. Therefore, the practical algorithms to handle such problems are approximation algorithms and intelligent algorithms [7, 8, 9, 10, 11].

The current integrated scheduling models use the classical production mode [12], where the facility processes one job or a fixed number of jobs at a time. In real industries, however, batch-processing facilities with arbitrary sizes are also widely applied. In production with batch-processing facilities, each facility has a limited capacity to accommodate jobs which have arbitrary sizes. The problem of minimizing makespan for a single batch-processing facility is NP-hard in the strong sense since it can be converted to a bin-packing problem. Approximation algorithms with better performances have also been proposed to solve single-facility problems [13, 14, 15]. Pei et al. [16, 17, 18] proposed branch-and-bound algorithms and the results show that these algorithms are effective to solve such problems. Furthermore, parallel-machine scheduling problems were considered in [19, 20, 21, 22].

In this paper, we consider the integrated scheduling problem considering production and distribution for manufacturers with parallel batch-processing facilities. To respond quickly to the customer, the manufacturer needs to minimize the total time of production and distribution. That is, the period lasting from the time when the order is received to the time when all the products arrive at the customer. For simplicity, we call this period the service span. In this paper, we consider two problems of minimizing service span for manufacturers with batch-processing facilities and design approximation algorithms for them. The rest of the paper is as follows. In Sect. 2, we introduce the models and notation. In Sect. 3, we propose an approximation algorithm for the problem where jobs have the same size but arbitrary processing times. In Sect. 4, we propose an approximation algorithm for the problem where jobs have the same processing time but arbitrary sizes. In Sect. 5, we conclude this paper and present directions for future research.

2 Preliminaries

The problem under investigation can be described as follows. There are n jobs to be processed and delivered to the customer. Each job has a given size and processing time. Several jobs can be processed together in a batch as long as their total size does not exceed the facility capacity. The processing of a batch cannot be interrupted until it is completed. Each job can be processed on any facility and only needs to be processed one time. Completed products are delivered to the customer with a vehicle which has a given transportation capacity. When the last delivery arrives at the customer, the service is completed. Service span is the period lasting from the processing of the first job to the time when the last product is delivered to the customer. Let SS denote the service span. The variables are listed as following.

n

Number of jobs

j

jth job

\(p_j\)

Processing time of j

\(s_j\)

Size of j

m

Number of facilities

\(M_i\)

ith facility

D

Facility capacity

K

Number of batches

\(K_i\)

Number of batches processed on \(M_i\)

\(b_{ik}\)

kth batch processed on \(M_i\)

\(P_{ik}\)

Processing time of \(b_{ik}\)

\(C_{ik}\)

Completion time of \(b_{ik}\)

V

Transportation capacity of the vehicle

T

Transportation time from manufacturer to customer

L

Number of deliveries

\(d_l\)

Set of products in the lth delivery

\(g_l\)

Departure time of \(d_l\)

SS

Service span

Using the five-field notation of Chen [23], an integrated scheduling problem can be denoted as \(\varphi _1|\varphi _2|\varphi _3|\varphi _4|\varphi _5\). Here \(\varphi _1\) represents the facility configuration of the manufacturer and \(\varphi _2\) represents the production constraints. \(\varphi _3\) represents the vehicle configuration and is often denoted by (vV) where v represents the number of vehicles and V represents the vehicle capacity. \(\varphi _4\) represents the number of customers and \(\varphi _5\) represents the optimization objective. By the above notation, the two problems considered in this paper can be denoted as following.
$$\begin{aligned} \Phi _1: Pm|D,s_j=1,p_j,p-batch|1,V|1|SS.\\ \Phi _2: Pm|D,s_j,p_j=1,p-batch|1,V|1|SS. \end{aligned}$$
In problem \(\Phi _1\), each job has a unit size but arbitrary processing time. By contrast, in \(\Phi _2\), each job has an arbitrary size but a unit processing time. A mixed integer programming model can be proposed for the problems. First we define two decision variables, \(\alpha _{jik}\) and \(\beta _{jl}\). \(\alpha _{jik}\) is set to assign each job in a batch and is defined as follows.
$$\begin{aligned} \alpha _{jik} = {\left\{ \begin{array}{ll} 1 &{}\quad \text {job}\, j\, \text {is assigned in }~ b_k.\\ 0 &{}\quad \text {Otherwise.} \end{array}\right. } \end{aligned}$$
(1)
\(\beta _{jl}\) is set to assign each product in a delivery and is defined as follows.
$$\begin{aligned} \beta _{jl} = {\left\{ \begin{array}{ll} 1 &{}\quad \text {product}\, j\, \text {is delivered in}\, d_l.\\ 0 &{}\quad \text {Otherwise.} \end{array}\right. } \end{aligned}$$
(2)
Then the mathematical model is as follows.
$$\begin{aligned} Minimize\quad SS = f_L+T \end{aligned}$$
(3)
s.t.
$$\begin{aligned}&\sum _{i=1}^{m} \sum _{k=1}^{K_i} \alpha _{jik} =1\quad j=1,\ldots ,n \end{aligned}$$
(4)
$$\begin{aligned}&\sum _{j=1}^{n} \alpha _{jik}s_j \le D\quad i=1,\ldots ,m;~~k=1,\ldots ,K_i \end{aligned}$$
(5)
$$\begin{aligned}&P_ {ik} = max\{\alpha _{jik}p_j\}\quad i=1,\ldots ,m;~~k=1,\ldots ,K_i \end{aligned}$$
(6)
$$\begin{aligned}&S_{i,k+1} \ge P_{i,k+1}+C_{ik}\quad i=1,\ldots ,m \end{aligned}$$
(7)
$$\begin{aligned}&\sum _{l=1}^{L} \beta _{jl} =1\quad j=1,\ldots ,n \end{aligned}$$
(8)
$$\begin{aligned}&\sum _{j=1}^{n} \beta _{jl}s_j \le V\quad l=1,\ldots ,L \end{aligned}$$
(9)
$$\begin{aligned}&g_{l} = max\{max\{C_{ik}:b_{ik} \in d_{l}\},g_{l-1}+2T\}\quad l=2,\ldots ,L-1 \end{aligned}$$
(10)
Objective (3) is to minimize service span which lasts from the beginning of production to the end of distribution. Constraint (4) ensures that each job needs and only needs to be processed one time. Constraint (5) ensures that the total size of jobs in each batch does not exceed the facility capacity. Equation (6) presents the processing time of a batch. Constraint (7) means the processing of each batch cannot be interrupted until it is completed. Constraint (8) and (9) ensures that each completed job should be delivered to the customer using a vehicle with a capacity of V. Equation (10) presents the departure time of a delivery. In the next section, we will show the computational complexity of \(\Phi _1\) and propose an approximation algorithm for it.

3 Algorithm for \(Pm|B,s_j=1,p_j,p-batch|1,V|1|SS\)

In this section, we study problem \(\Phi _1\), where jobs have the same size, i.e., \(s_j=1\). In practice, manufacturers select equipments with appropriate sizes in order to improve the production and logistics. If different equipments match well, then the efficiency of supply chain can be improved and waste can be reduced. So in the following content, we assume that the manufacturer use appropriate equipments. That is, \(V = rmD\), where \(r \ge 2\) and is a positive integer. Under this assumption, the waste in production and logistics can be reduced obviously. First we show the computational complexity of \(\Phi _1\). Consider the special case \(\Phi _1'\), where \(D = 1\), i.e., each batch contains at most one job. Simultaneously, \(T =0\), i.e., no delivery is needed. It is easy to see that \(\Phi _1'\) is equivalent to \(Pm||C_{max}\), which is a famous NP-hard problem. Since \(\Phi _1'\) is a special case of \(\Phi _1\), we have \(Pm||C_{max} \propto \Phi _1 \). So we obtain the following conclusion.

Proposition 1

\(Pm|D,s_j=1,p_j,p-batch|1,V|1|SS\) is NP-hard.

In the following content, we use \(\pi ^*\) to represent an optimal solution of the problem. Let \(X^*\) to represent the variables of \(\pi ^*\), for example, \(SS^*\) and \(L^*\) represent the optimal service span and the optimal number of deliveries. When there is no ambiguity, the corresponding symbols without \(^*\) represent the variables of \(\pi \), which is obtained by our proposed algorithms. In practice, the number of deliveries L is usually large. So a too small L does not make sense. In the following content we assume \(L^* \ge 3\).

We propose algorithm A1 for \(Pm|D,s_j=1,p_j,p-batch|1,V|1|SS\).

Algorithm A1.

Step 1. Order the jobs in non-increasing order of their processing times.

Step 2. Generate batches using the following rule. Create the first empty batch \(B_1\) and put the first D jobs in \(B_1\). Then create \(B_2\) and put the next D jobs in it. Repeat the assignment until there are only y jobs left where \(1\le y \le D\). Put them in the last batch \(B_K\) and the obtained batch set is \(\{B_1,\ldots , B_K\}\). The batches are in non-increasing order of processing times.

Step 3. Assign batches on facilities using First Available Facility rule. First order the batches in non-decreasing order and re-label them as \(B_1,\ldots , B_K\). Then assign the first m batches on the facilities, i.e., \(B_1, \ldots , B_m\). For the subsequent batches, if any facility becomes idle, assign the next batch on it. Execute the assignment until all batches are assigned.

Step 4. Deliver completed jobs. Find positive integers x and y to make \(K = xrm+y\) where \(1\le y \le rm\). Assign the first y batches in the first delivery \(d_1\) and deliver them to the customer immediately. Then assign the next rm ones in \(d_2\). If the vehicle returns to the manufacturer when batches in \(d_2\) are completed, then deliver all the jobs in \(d_2\) immediately. If the vehicle has not returned, then wait until it returns and then deliver. Repeat the distribution rule, that is, deliver rm batches in each delivery until all the batches are delivered. The obtained deliver set is \(\{d_1,\ldots , d_L\}\). Denote the obtained integrated schedule as \(\pi \). \(\square \)

Since the facility capacity is D, we can obtain the optimal number of batches and optimal number of deliveries as following. The proof is omitted.

Lemma 1

The optimal number of batches and deliveries are respectively \(K^* = \lceil n/D\rceil \) and \(L^* = \lceil n/V\rceil \), where \(\lceil a\rceil \) represents the smallest integer larger than a. In the solution \(\pi \) generated by A1, \(K = K^*\) and \(L = L^*\).

Lemma 2

Order all the batches of \(\pi \) and \(\pi ^*\) in non-decreasing order of processing times and re-label them as \(B_1, \ldots , B_K\) and \(B_1^*, \ldots , B_K^*\). Then \(P_k \le P_k^*\) for \(k = 1,\ldots , K^*\).

Proof

Find positive numbers \(\alpha \) and \(\beta \) to make \(n = \alpha D+\beta \) where \(1\le \beta \le D\). We see that the optimal number of batches is \(K^* = \alpha +1\). For simplicity, we order all the jobs in non-decreasing order and their processing times are \(p_1,\ldots , p_n\). Obviously, the last batch \(B_{\alpha +1}\) has a processing time \(P_{\alpha +1}= p_n\) since job n is assigned in the batch. The processing time of the second last batch is \(P_{\alpha } \ge p_{(\alpha -1)D+\beta }\). In \(\pi \), we have \(P_{\alpha } = p_{(\alpha D -1)D+\beta }\). So the processing time of \(P_{\alpha }\) is also optimal. By Lemma 1, \(K = K^*\). Therefore, all the batches has an optimal processing time. So for any \(k = 1,\ldots K^*\), \(P_k \le P_k^*\). \(\square \)

In the distribution, rm batches are delivered in one delivery since \(V = rmD\). If \(K = xrm+y\), where x and y are both positive integers and \(1\le y\le rm\), then the optimal number of deliveries is \(L = x+1\). By Step 3, the obtained production schedule is a Shortest Processing Time First (SPT) schedule. Let \(C_l\) denote the completion time of batches in \(d_l\) and let \(Q_l = C_l-C_{l-1}\) where \(l = 1,\ldots , L\). Since the processing of batches in \(d_1\) starts at time 0, we define \(C_0 = 0\).

Lemma 3

In \(\pi \), \(Q_1 \le Q_2 \le \cdots \le Q_L\).

Proof

The batches in \(\pi \) are in SPT order, so on each facility,
$$\begin{aligned} P_{ik}\le P_{i,k+1}~~~~k = 1,\ldots , K_i. \end{aligned}$$
(11)
Here \(P_{ik}\) represents the processing time of \(b_{ik}\) and \(K_i\) represents the number of batches processed on facility \(M_i\). Since \(V = rmD\), there are r batches in \(d_2,\ldots , d_L\). In \(d_1\), there are y batches. Now observe \(Q_l\) and \(Q_{L+1}\) where \(2\le l\le L-1\), we find that \(d_l\) and \(d_{L+1}\) have the same number of batches processed on each facility. By (11), on \(M_i\), the processing time of each batch in \(d_l\) is no longer than the corresponding batch in \(d_l\). So
$$\begin{aligned} Q_l \le Q_{l+1}~~~~l \ge 2. \end{aligned}$$
(12)
Now compare \(Q_1\) and \(Q_2\). By the above discussion, even if there are rm batches in \(d_1\), we have \(Q_1 \le Q_2\). Actually in \(d_1\), there are y batches and \(y\le rm\). So
$$\begin{aligned} Q_1 \le Q_2. \end{aligned}$$
(13)
By (12) and (13), we see Lemma 3 follows. \(\square \)

By Lemma 3, we obtain the following lemma on the service span of \(\pi \).

Lemma 4

If the last delivery \(d_L\) can be delivered immediately when the batches in it are completed, \(SS = C_L+T\). Otherwise, \(SS = Q_1+(2L-1)T\).

Proof

First we consider the case where \(d_L\) can be delivered immediately. In this case, the time when the last delivery arrives at the customer is \(C_L+T\). At this time, all the production and distribution have been finished and so
$$\begin{aligned} SS = C_L+T. \end{aligned}$$
(14)
Now we consider the other case where \(d_L\) cannot be delivered immediately. First we show that all the deliveries cannot be delivered except \(d_1\) by contradiction.
Suppose \(d_{L-1}\) can be delivered immediately when the batches in \(d_{L-1}\) are completed. Then the transport time satisfies
$$\begin{aligned} 2T > Q_L. \end{aligned}$$
(15)
By Lemma 3 and (15), we have
$$\begin{aligned} 2T > Q_L \ge Q_{L-1} \ge \cdots \ge Q_1. \end{aligned}$$
(16)
Since \(2T > Q_2\), the vehicle cannot return when batches in \(d_2\) are completed. So \(d_2\) cannot be delivered immediately. In the same way, we see \(d_l\) cannot be delivered immediately for \(l = 3,\ldots , L-1\). This is a contradiction to our supposition. So \(d_{L-1}\) cannot be delivered immediately.
By the above discussion, we obtain that each delivery in \(\{d_2, d_3,\ldots , d_L\}\) cannot be delivered immediately. Therefore, when the vehicle returns to the manufacturer, it can carry out the next delivery immediately. The departure time of the first delivery is \(C_1\), so
$$\begin{aligned} SS = C_1+(L-1)\times 2T+T = C_1+(2L-1)T. \end{aligned}$$
(17)
This completes the proof of Lemma 4. \(\square \)

Now we give the performance of A1 for solving \(\Phi _1\).

Theorem 1

Algorithm A1 can be executed in \(O(n^2)\) time. When solving \(\Phi _1\), the worst case ratio is no more than \((2-1/m)\).

Proof

First we analyze the time complexity of A1. Step 1 is to order n jobs and the time complexity is \(O(n\log n)\). Step 2 is to use First Fit rule to assign n jobs and the time complexity is \(O(n\log n)\). Step 3 is to use SPT for K batches and the time complexity is \(O(K\log K)\), which is no more than \(O(n\log n)\). Step 4 is to assign the delivery when batches in each delivery are completed and the time complexity is no more than \(O(n^2)\). Therefore, the time complexity of A1 is \(O(n^2)\).

Now we analyze the worst case ratio of A1. As discussed in Lemma 4, we show the worst case ratio in two cases.

Case 1 \(d_L\) can be delivered immediately when batches in \(d_L\) are completed.

In this case, \(SS = C_L+T\). Observe the optimal solution \(\pi ^*\), obviously we have
$$\begin{aligned} SS^* = max\{C_{L^*}^*+T, C_1^*+(2L-1)T\}. \end{aligned}$$
(18)
Actually, \(C_L\) is the makespan of production in \(\pi \) and \(C_{L^*}^*\) is the makespan of production in \(\pi ^*\). Now consider the following solution \(\pi ^c\), where the batch set is the same as that in \(\pi ^*\) but the batches are ordered on facilities using SPT rule. By Lemma 2, we find that each batch in \(\pi \) has a processing time no longer than \(\pi ^c\). Simultaneously, It is well known that SPT rule has a performance guarantee of \((2-1/m)\) when solving \(Pm||C_{max}\). So
$$\begin{aligned} \begin{aligned} SS = C_L+T&\le C_L^c+T \\&\le (2-1/m)C_L^*+T < (2-1/m)(C_L^*+T)\\&\le (2-1/m)SS^* \end{aligned} \end{aligned}$$
(19)
Case 2 The last delivery,i.e., \(d_L\) cannot be delivered immediately when batches in it are completed.
By Lemma 1, we have \(L=L^* \ge 3\). By Lemma 3, we find that \(Q_1\le 2T\). By Lemma 4 and Eq. (18), we have
$$\begin{aligned} \frac{SS}{SS^*} \le \frac{Q_1+(2L-1)T}{C_1^*+(2L^*-1)T} < \frac{(2L+1)T}{(2L-1)T} = 1+\frac{2}{2L-1} \le 1+\frac{2}{5} = 1.4 \end{aligned}$$
(20)
By (19) and (20), since \(m \ge 2\), \(2-1/m \ge 1.5 > 1.4\). So the worst case ratio is \(2-1/m\) and Theorem 1 follows. \(\square \)

4 Algorithm for \(Pm|B,s_j,p_j=1,p-batch|1,V|1|SS\)

In \(\Phi _2\), i.e., \(Pm|B,s_j,p_j=1,p-batch|1,V|1|SS\), all the jobs has a unit processing time but arbitrary sizes. First we present the computational complexity of \(\Phi _2\).

Proposition 2

\(Pm|B,s_j,p_j=1,p-batch|1,V|1|SS\) is NP-hard in the strong sense.

Proof

Consider the following problem \(\Phi _2'\), which is a special case of \(\Phi _2\). In \(\Phi _2'\), there is only one batch-processing facility. No distribution is needed, i.e., \(T=0\). Since each job has a processing time of 1, all the batches have a processing time of 1. So minimizing service span is equivalent to minimizing the number of batches. Therefore, \(\Phi _2'\) is equivalent to the following bin-packing problem (BPP).
  • BPP.

  • Minimize the number of Bins K

  • Number of items: n

  • Size of item j: \(s_j/D\)

  • Bin capacity: 1

The above BPP is a well known NP-hard problem in the strong sense and so \(\Phi _2'\) is NP-hard in the strong sense. In computational complexity, \(\Phi _2' \propto \Phi _2\). So \(\Phi _2\) is NP-hard in the strong sense. \(\square \)

We propose the following approximation algorithm for \(\Phi _2\).

Algorithm A 2.

Step 1. Order the jobs in non-increasing order of their sizes. Re-label them as job \(1,2,\ldots , n\).

Step 2. Use First Fit Decreasing rule (FFD) to assign jobs into batches. Create the first empty batch \(b_1\) and put job 1 in it. Check the following jobs one by one whether it can be put in the batch. If so, put the job in \(b_1\) and delete it from the job list. If it is not the case, go on to check the next job. When all the jobs have been assigned, create the second batch \(b_2\) and assign the remaining jobs in the job list. Repeat the assignment until there is no job in the job list. The obtained batch set is \(\{B_1,\ldots , B_K\}\).

Step 3. Assign the batches on facilities in arbitrary order.

Step 4. Find positive integers x and y to make \(K = xrm+y\) where \(1\le y \le rm\). Deliver the first completed y batches in \(d_1\). For the next batches, deliver rm batches immediately in each delivery. If the vehicle is available when the rm batches are completed, deliver them immediately. If the vehicle is not available at the time, wait until the vehicle returns to the manufacturer and deliver the batches. When the last rm batches are delivered to the customer, The production and distribution are finished and the obtained deliveries are \(d_1,\ldots , d_L\).

Dosa et al. [24] proved that when solving bin-packing problem, FFD can obtain a solution where the number of batches \(K(FFD) \le \frac{11}{9}K^*+\frac{6}{9}\). In algorithm A2, Steps 1 and 2 assign jobs in batches with FFD rule, So we have the following conclusion on K.

Proposition 3

(Dosa et al. [24]) \(K \le \frac{11}{9}K^*+\frac{6}{9}\).

In the production, \(C_L\) is the completion time of batches in the last delivery. Actually, \(C_L\) is the makespan of the production part. In an optimal solution \(\pi ^*\), \(C_{L^*}^*\) is the makespan.

Lemma 5

When \(x^* \le 9\), \(C_L \le 1.5C_{L^*}^*\).

Proof

For \(\pi ^*\), find positive integers \(x^*\) and \(1 \le y^* \le m\) to make \(K^* = x^*m+y^*\). Since each batch has a unit processing time and there are m parallel facility to process batches,
$$\begin{aligned} C_{L^*}^* = x^*+1. \end{aligned}$$
(21)
Now consider \(\pi \), which is obtained by A2. By Proposition 3,
$$\begin{aligned} K \le \frac{11}{9}K^*+\frac{6}{9} = \frac{11}{9}x^*m+\frac{11y^*+6}{9}. \end{aligned}$$
(22)
Since \(m \ge 2\),
$$\begin{aligned} C_L = \left\lceil \frac{K}{m}\right\rceil \le \left\lceil \frac{11}{9}x^*+\frac{11}{9}+\frac{6}{9m}\right\rceil \le \left\lceil \frac{11}{9}x^*+\frac{11}{9}+\frac{1}{3}\right\rceil = \left\lceil \frac{11}{9}x^*+\frac{14}{9}\right\rceil .\nonumber \\ \end{aligned}$$
(23)
By (21) and (23), we have
$$\begin{aligned} \frac{C_L}{C_{L^*}^*} \le \frac{\left\lceil \frac{11}{9}x^*+\frac{14}{9}\right\rceil }{x^*+1}. \end{aligned}$$
(24)
Since \(L^*\ge 3\), \(x^*\ge 2\). So in this case, \(2 \le x^* \le 9\). First we consider the case where \(x^* = 2\). Since \(x^*=2\), by (21) we have \(C_{L^*}^*=3\). By (23), \(C_L \le \lceil \frac{36}{9}\rceil = 4\). So when \(x^*=2\),
$$\begin{aligned} \frac{C_L}{C_{L^*}^*} \le \frac{4}{3}. \end{aligned}$$
(25)
In the similar way, we obtain the upper bound (UB) of \(C_L/C_{L^*}^*\) in Table 1. In the table, Line 1 shows the value of \(x^*\), and Line 2 shows the makespan of \(\pi ^*\). Line 3 shows the makespan of \(\pi \) and Line 4 shows the ratio of \(C_L/C_{L^*}^*\).
Table 1

The upper bound of \(C_L/C_{L^*}^*\)

\(x^*\)

2

3

4

5

6

7

8

9

\(C_{L^*}^*\)

3

4

5

6

7

8

9

10

\(C_L\)

4

6

7

8

9

11

12

13

UB of \(C_L/C_{L^*}^*\)

4/3

3/2

7/5

4/3

9/7

11/8

4/3

13/10

Observe the results in Table 1 and we find that when \(x^* \le 9\),
$$\begin{aligned} \frac{C_L}{C_{L^*}^*} \le 1.5. \end{aligned}$$
(26)
The worst result appears when \(x^* = 2\). \(\square \)

Lemma 6

When \(x^* \ge 10\), \(C_L \le 1.308C_{L^*}^*\).

Since \(x^* \ge 10\), we can find positive integers \(e \ge 1\) and \(1 \le f \le 9 \) to make \(x^* = 9e+f\). First we show the maximal value of \(C_L/C{L^*}^*\) when \(f=1\), i.e., \(x^* = 9e+1\). By (21), we have
$$\begin{aligned} C_{L^*}^* = 9e+2. \end{aligned}$$
(27)
By (23),
$$\begin{aligned} C_L \le \left\lceil \frac{11}{9}x^*+\frac{14}{9}\right\rceil = \left\lceil \frac{11}{9}(9e+1)+\frac{14}{9} \right\rceil = \left\lceil 11e+\frac{25}{9} \right\rceil = 11e+3. \end{aligned}$$
(28)
So when \(f=1\),
$$\begin{aligned} \frac{C_L}{C_{L^*}^*} \le \frac{11e+3}{9e+2} = \frac{11}{9}+\frac{\frac{5}{9}}{9e+2} \le \frac{11}{9}+\frac{5}{99} = \frac{14}{11} \end{aligned}$$
(29)
In the similar way, we obtain the maximal value of \(C_L/C_{L^*}^*\) when \(f = 2,3\ldots , 9\). The results are shown in Table 2. Line 1 shows the value of f and line 2 shows the optimal makespan. Line 3 shows the makespan generated by A2 and Line 4 shows the upper bound of \(C_L/C_{L^*}^*\).
Table 2

The upper bound of \(C_L/C_{L^*}^*\)

f

1

2

3

4

5

6

7

8

9

\(C_{L^*}^*\)

9e\(+\)2

9e\(+\)3

9e\(+\)4

9e\(+\)5

9e\(+\)6

9e\(+\)7

9e\(+\)8

9e\(+\)9

9e\(+\)10

\(C_L\)

11e\(+\)3

11e\(+\)4

11e\(+\)6

11e\(+\)7

11e\(+\)8

11e\(+\)9

11e\(+\)10

11e\(+\)12

11e\(+\)13

UB of \(C_L/C_{L^*}^*\)

14/11

5/4

17/13

9/7

19/15

5/4

21/17

23/18

24/19

The worst result in Table 2 is 17/13 and the ratio incurs when \(f=3\) and \(e=1\). The ratio is larger than 14 / 11. Therefore, when \(x^* \ge 10\)
$$\begin{aligned} \frac{C_L}{C_{L^*}^*} \le \frac{17}{13} < 1.308. \end{aligned}$$
(30)
Both the two cases are discussed above. By (26) and (30), we obtain that \(C_L/C_{L^*}^* \le 1.5\). Lemma 6 follows. \(\square \)
Now we investigate the distribution part. In \(\pi ^*\), \(L^* = x^*1+1\). So the service span \(SS^*\) is as (18). In \(\pi \), let \(K =xrm+y\). \(d_1\) contains y batches and all the next deliveries contain rm batches. Since all the batches have the same processing time,
$$\begin{aligned} Q_2 = Q_3 =\cdots = Q_L \end{aligned}$$
(31)
Now we analyze the absolute worst case ratio, i.e., \(R_{A2}\). We consider the following two cases.

Case 1 \(2T \le Q_2\).

In this case, \(d_2\) can be delivered immediately when batches in it are completed. In the same way, all the batches can be delivered immediately. Since the last delivery can be delivered immediately, \(SS = C_L+T\). By (18) and Lemma 5,
$$\begin{aligned} R_{A2} = \frac{SS}{SS^*} \le \frac{C_L+T}{C_{L^*}^*+T} \le \frac{1.5C_{L^*}^*+T}{C_{L^*}^*+T} < \frac{1.5C_{L^*}^*+1.5T}{C_{L^*}^*+T} =1.5. \end{aligned}$$
(32)
When the number of jobs \(n \rightarrow \infty \), we have \(L^* \rightarrow \infty \) and \(C_{L^*}^*\rightarrow \infty \). So the asymptotic ratio of A2 is
$$\begin{aligned} \begin{aligned} R_{A2}^\infty&= \lim \limits _{n \rightarrow \infty }\frac{SS}{SS^*} = \lim \limits _{L^* \rightarrow \infty }\frac{C_L+T}{C_{L^*}^*+T} = \lim \limits _{L^* \rightarrow \infty }\frac{C_L}{C_{L^*}^*}\\&\le \lim \limits _{x^* \rightarrow \infty }\frac{\left\lceil \frac{11}{9}x^*+\frac{14}{9}\right\rceil }{x^*+1} \le \lim \limits _{x^* \rightarrow \infty }\frac{\frac{11}{9}x^*+3}{x^*+1} = \frac{11}{9} \end{aligned} \end{aligned}$$
(33)
Case 2 \(2T > Q_2\).
In this case, we find that the vehicle has not returned when batches in \(d_2\) are completed. So \(d_2\) cannot be delivered immediately. Any of the next deliveries cannot be delivered, too. By Lemma 4, \(SS = C_1+(2L-1)T = C_1+(2L-1)T\). So
$$\begin{aligned} R_{A2} = \frac{SS}{SS^*} \le \frac{Q_1+(2L-1)T}{Q_1^*+(2L^*-1)T} \le \frac{2T+(2L-1)T}{(2L^*-1)T} \le \frac{2L+1}{2L^*-1}. \end{aligned}$$
(34)
Now we consider the upper bound of \((2L+1)/(2L^*-1)\). By Proposition 3, \(K \le \frac{11}{9}K^*+\frac{6}{9}\). Find integers \(x^*\ge 0\) and \(1 \le y^* \le rm\) to make \(K^* = x^*rm+y^*\). Then
$$\begin{aligned} L^* = x^*+1. \end{aligned}$$
(35)
The number of batches in \(\pi \) satisfies \(K \le \frac{11}{9}(x^*rm+y^*)+\frac{6}{9}\). Since \(r \ge 2\) and \(m \ge 2\),
$$\begin{aligned} L = \left\lceil \frac{K}{rm} \right\rceil = \left\lceil \frac{11}{9}x^*+\frac{11y^*}{9rm}+\frac{6}{9rm}\right\rceil \le \left\lceil \frac{11}{9}x^*+1+\frac{6}{36} \right\rceil = \left\lceil \frac{11}{9}x^*+\frac{25}{18}\right\rceil .\nonumber \\ \end{aligned}$$
(36)
First we consider \(x^* \le 9\). When \(x^* = 2\), \(L^* = 3\). By (26), \(L = \lceil \frac{69}{18}\rceil = 4\). So \((2L+1)/(2L^*-1) = \frac{9}{5}\). When \(x^* = 3, 4,\ldots , 9\), the results are shown in Table 3. Line 1 shows the value of \(x^*\) and Line 2 shows \(L^*\). Line 3 shows the value of L and Line 4 shows the ratio of \((2L+1)/(2L^*-1)\).
Table 3

The results of \((2L+1)/(2L^*-1)\) for \( x^*\le 9\)

\(x^*\)

2

3

4

5

6

7

8

9

\(L^*\)

3

4

5

6

7

8

9

10

L

4

6

7

8

9

10

12

13

\((2L+1)/(2L^*-1)\)

9/5

13/7

5/3

17/11

19/13

7/5

23/17

25/19

By the above discussion, we have
$$\begin{aligned} \frac{2L+1}{2L^*-1} \le \frac{13}{7} =1.858~~~~x^*\le 9. \end{aligned}$$
(37)
The worst result of 13/7 incurs when \(x^* = 3\).
Now we consider the ratio of \((2L+1)/(2L^*-1)\) when \(x^* \ge 10\). Find positive integers \(e \ge 1\) and \(1\le f \le 9\) to make \(x^* = 9e+f\). If \(f = 1\), i.e., \(x^* = 9e+1\),then \(L^* = 9e+2\). By (36), we have \(L = \lceil \frac{11}{9}(9e+1)+\frac{25}{18} = \lceil 11e+\frac{47}{18} \rceil = 11e+3\). Since \(e \ge 1\),
$$\begin{aligned} \frac{2L+1}{2L^*-1} = \frac{22e+7}{18e+3} \le \frac{29}{21}. \end{aligned}$$
(38)
If \(f = 2, 3,\ldots , 9\), the results are shown in Table 4. Line 1 shows the value of f and Line 2 shows \(L^*\). Line 3 shows L and Line 4 shows the upper bound (UB) of \((2L+1)/(2L^*-1)\).
Table 4

The upper bound of \((2L+1)/(2L^*-1)\) for \(x^*\le 9\)

f

2

3

4

5

6

7

8

9

\(L^*\)

9e\(+\)3

9e\(+\)4

9e\(+\)5

9e\(+\)6

9e\(+\)7

9e\(+\)8

9e\(+\)9

9e\(+\)10

L

11e\(+\)4

11e\(+\)6

11e\(+\)7

11e\(+\)8

11e\(+\)9

11e\(+\)10

11e\(+\)12

11e\(+\)13

UB of \(\frac{2L+1}{2L^*-1}\)

31/23

7/5

37/27

39/29

41/31

43/33

47/35

49/37

By (38) and Table 4, we obtain
$$\begin{aligned} \frac{2L+1}{2L^*-1} \le \frac{7}{5} = 1.4~~~~x^* \ge 10. \end{aligned}$$
(39)
The ratio of 1.4 incurs when \(e=1 \) and \(f = 2\), that is, \(x^* = 11\). By (37) and (39), we have
$$\begin{aligned} \frac{2L+1}{2L^*-1} \le \frac{13}{7}~~~~x^*\ge 2. \end{aligned}$$
(40)
By (34) and (40), we find when \(2T > Q_2\),
$$\begin{aligned} R_{A2} \le \frac{2L+1}{2L^*-1} \le \frac{13}{7}. \end{aligned}$$
(41)
When \(n\rightarrow \infty \), we have
$$\begin{aligned} \begin{aligned} R_{A2}^\infty&= \lim \limits _{n \rightarrow \infty }\frac{2L+1}{2L^*-1} = \lim \limits _{L^* \rightarrow \infty }\frac{2L+1}{2L^*-1} = \lim \limits _{L^* \rightarrow \infty }\frac{L}{L^*} \\&= \lim \limits _{x^* \rightarrow \infty }\frac{\left\lceil \frac{11}{9}x^*+\frac{25}{18}\right\rceil }{x^*+1} \le \lim \limits _{x^* \rightarrow \infty }\frac{\frac{11}{9}x^*+3}{x^*+1} = \frac{11}{9} \end{aligned} \end{aligned}$$
(42)
From the above, we obtain the performance of A2 as follows. By (32) and (41), the absolute worst case ratio is \(13/7 = 1.858\). By (33) and (42), the asymptotic worst case ratio of A2 is \(11/9 = 1.22\ldots \). The time complexity of A2 can be obtained by the analysis of the steps. Step 1 orders n jobs and costs \(O(n\log n)\) time. Step 2 uses FFD to assign jobs and costs \(O(n\log n)\) time. Step 3 and step 4 both cost no more than \(O(n^2)\) time. Therefore, the time complexity of A2 is \(O(n^2)\). So we obtain the performance of A2.

Theorem 2

The time complexity of A2 is \(O(n^2)\). When solving \(\Phi _2\), the absolute worst case ratio is \(R_{A2} = 13/7\) and the asymptotic worst case ratio is \(R_{A2}^\infty = 11/9\).

5 Conclusions

In this paper, we study a class of integrated scheduling problems for manufacturers. The manufacturer serves the customer by producing and delivering products to it. In the production phase, parallel batch-processing facilities are used to process jobs. In the distribution phase, a vehicle with a fixed capacity is used to deliver products to the customer. We first consider the problem where jobs have the same size and propose an approximation algorithm with a worst-case ratio of \((2-1/m)\). Then we consider the problem where jobs have the same processing time and propose an algorithm with a worst-case ratio of 13/7 and an asymptotic ratio of 11/9. Both the algorithms can be executed in \(O(n\log n)\) time.

Many related problems remain open and deserve more research. First, the total cost is an important objective for integrated scheduling. Multi-objective problems deserve more work and the objectives could involve service span, production cost, distribution cost, and inventory cost. How to handle these objectives and propose effective algorithms is an interesting direction. Second, online integrated scheduling deserves more work. The off-line problems are NP-hard and the online problems are even more complex to solve. Effective online algorithms are an interesting goal for future research. Finally, the equilibrium between the manufacturer and the customer is also an interesting research focus. In this paper, we study the scheduling decisions made by the manufacturer. However, in practice, the customers have different demands regarding the production and distribution. More investigation is needed to find the best balance between the manufacturers capabilities and the customers demands.

Notes

Acknowledgements

This work is supported by the National Natural Science Foundation of China under Grants 71671055, 71601065, 71331002, 71521001 and 71531008. This work is also supported by Anhui Social Science Foundation under Grants SK2016A0526 and 1607a0202031.

References

  1. 1.
    Hall, N.G., Potts, C.N.: Supply chain scheduling: batching and delivery. Oper. Res. 51(4), 566–584 (2003)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Selvarajah, E., Steiner, G.: Approximation algorithms for the supplier’s supply chain scheduling problem to minimize delivery and inventory holding costs. Oper. Res. 57(2), 426–438 (2009)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Sawik, T.: Coordinated supply chain scheduling. Int. J. Prod. Econ. 120(2), 437–451 (2009)CrossRefGoogle Scholar
  4. 4.
    Yeung, W.K., Choi, T.M., Cheng, T.C.E.: Supply chain scheduling and coordination with dual delivery models and inventory storage cost. Int. J. Prod. Econ. 132(2), 223–229 (2011)CrossRefGoogle Scholar
  5. 5.
    Azadian, F., Murat, A., Chinnam, R.B.: Integrated production and logistics planning: contract manufacturing and choice of air/surface transportation. Eur. J. Oper. Res. 247(1), 113–123 (2015)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Chen, Z.L., Vairaktarakis, G.L.: Integrated scheduling of production and distribution operations. Manag. Sci. 51(4), 614–628 (2005)CrossRefGoogle Scholar
  7. 7.
    Amorim, P., Gunther, H., Almada-Lobo, B.: Multi-objective integrated production and distribution planning of perishable products. Int. J. Prod. Econ. 138(1), 89–101 (2012)CrossRefGoogle Scholar
  8. 8.
    Leung, J.Y.-T., Chen, Z.L.: Integrated production and distribution with fixed delivery departure dates. Oper. Res. Lett. 41(3), 290–293 (2013)MathSciNetCrossRefGoogle Scholar
  9. 9.
    Gao, A., Qi, L., Lei, L.: Integrated batch production and distribution scheduling with limited vehicle capacity. Int. J. Prod. Econ. 160, 13–25 (2015)CrossRefGoogle Scholar
  10. 10.
    Nasiri, G.R., Zolfaghari, R., Davoudpour, H.: An integrated supply chain production–distribution planning with stochastic demands. Comput. Ind. Eng. 77, 35–45 (2014)CrossRefGoogle Scholar
  11. 11.
    Averbakh, I.: On-line integrated production–distribution scheduling problems with capacitated deliveries. Eur. J. Oper. Res. 200(2), 377–384 (2010)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Pinedo, M.L.: Scheduling: Theory, Algorithms, and Systems, 4th edn. Springer, New York (2012)CrossRefGoogle Scholar
  13. 13.
    Leung, J.Y.-T., Ng, C.T., Cheng, T.C.E.: Minimizing sum of completion times for batch scheduling of jobs with deteriorating processing times. Eur. J. Oper. Res. 187(3), 1090–1099 (2008)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Cheng, B., Cai, J., Yang, S., Hu, X.: Algorithms for scheduling incompatible job families on single batching machine with limited capacity. Comput. Ind. Eng. 75, 116–120 (2014)CrossRefGoogle Scholar
  15. 15.
    Malapert, A., Guret, C., Rousseau, L.: A constraint programming approach for a batch processing problem with non-identical job sizes. Eur. J. Oper. Res. 221(3), 533–545 (2012)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Pei, J., Liu, X., Pardalos, P.M., Fan, W., Yang, S.: Single machine serial-batching scheduling with independent setup time and deteriorating job processing times. Optim. Lett. 9(1), 91–104 (2015)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Pei, J., Liu, X., Pardalos, P.M., Li, K., Fan, W., Migdalas, A.: Single-machine serial-batching scheduling with a machine availability constraint, position-dependent processing time, and time-dependent set-up time. Optim. Lett. (2016). doi: 10.1007/s11590-016-1074-9 CrossRefzbMATHGoogle Scholar
  18. 18.
    Mazdeh, M.M., Sarhadi, M., Hindi, K.S.: A branch-and-bound algorithm for single-machine scheduling with batch delivery and job release times. Comput. Oper. Res. 35(4), 1099–1111 (2008)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Jula, P., Leachman, R.C.: Coordinated multistage scheduling of parallel batch-processing machines under multi-resource constraints. Oper. Res. 58(4), 933–947 (2010)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Parsa, N.R., Karimi, B., Kashan, A.H.: A branch and price algorithm to minimize makespan on a single batch-processing machine with arbitrary job sizes. Comput. Oper. Res. 37(10), 1720–1730 (2010)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Liu, L.L., Ng, C.T., Cheng, T.C.E.: Scheduling jobs with release dates on parallel batch processing machines to minimize the makespan. Optim. Lett. 8(1), 307–318 (2014)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Xu, S., Bean, B.C.: Scheduling parallel-machine batch operations to maximize on-time delivery performance. J. Sched. 19(5), 583–600 (2016)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Chen, Z.L. Integrated production and outbound distribution scheduling: review and extensions. Operations Res. 58(1), 130–148 (2010)CrossRefGoogle Scholar
  24. 24.
    Dosa, G., Tan Z., Tuza, Z., Yan Y., Lányi, C.S. Improved bounds for batch scheduling with nonidentical job sizes. Naval Res. Logist. 61(5), 351–358 (2014)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Bayi Cheng
    • 1
    • 2
  • Jun Pei
    • 1
    • 2
  • Kai Li
    • 1
    • 2
  • Panos M. Pardalos
    • 3
  1. 1.School of ManagementHefei University of TechnologyHefeiPeople’s Republic of China
  2. 2.Key Laboratory of Process Optimization and Intelligent Decision-Making, Ministry of EducationHefeiPeople’s Republic of China
  3. 3.Center for Applied Optimization, Department of Industrial and Systems EngineeringUniversity of FloridaGainesvilleUSA

Personalised recommendations