Skip to main content

Integrated production and distribution scheduling problems related with fixed delivery departure dates and number of late orders

Abstract

We consider an integrated production and distribution scheduling problem faced by a typical make-to-order manufacturer which relies on a third-party logistics provider for finished product delivery to customers. In the beginning of a planning horizon, the manufacturer has received a set of orders to be processed on a single production line. Completed orders are delivered to customers by a finite number of vehicles (e.g. trucks, air freight containers on specific air flights) provided by the 3PL company which follows a fixed daily or weekly shipping schedule such that the vehicles have fixed departure dates which are not part of the decisions. The problem is to find a feasible schedule that minimizes one of the following objective functions: (1) the number of late orders, (2) the number of vehicles used subject to the condition that the number of late orders is minimum. We show that both problems are solvable in polynomial time.

1 Introduction

Fierce competition in today’s global market and heightened expectations of customers have forced companies to invest aggressively to reduce inventory levels across the supply chain on one hand and be more responsive to customers on the other. To reduce inventory, an increasing number of companies now adopt make-to-order (a.k.a. assemble-to-order, build-to-order) business models in which products are custom-made and delivered to customers within a very short lead time directly from the factory. Consequently, there is little or no finished product inventory in the supply chain such that production and outbound distribution are very intimately linked and must be scheduled jointly to achieve a desired on-time delivery performance at minimum total cost. To improve delivery timeliness without having to invest in logistics assets, a majority of the companies worldwide rely on third-party logistics (3PL) providers for their daily distribution and other logistics needs (Langley et al. [5]). 3PL providers often follow a fixed daily or weekly schedule for serving their customers. For example, many package delivery service providers such as UPS and FedEx have daily fixed package pickup times; and most 3PL rail, ocean, and air freight service providers have a fixed weekly schedule for a specific origin-destination pair.

In this paper, we study integrated production and outbound distribution scheduling decisions commonly faced by many manufacturers that operate in a make-to-order mode and rely on a 3PL provider for finished product delivery to customers where the 3PL provider follows a fixed delivery schedule. Examples of such manufacturers include most high-end custom-made consumer electronics product manufacturers based in Asia that rely on air flights (which have fixed departure times) to deliver finished products to the US and European markets. The production and distribution scheduling problem faced by such a manufacturer can be described as follows. At the beginning of a planning horizon, the manufacturer has received a set J={ J 1 , J 2 ,…, J n } of n independent orders from its customers to be processed on a single assembly line. Order J i has a processing time p i and a desired due date d i which is negotiated and agreed on by the manufacturer and the customer who placed the order. Finished orders are delivered by vehicles which have fixed departure times. In the planning horizon, there are z possible vehicle departure time instants T 1 , T 2 ,…, T z , whereby at time T j , 1≤j≤z, there are v j vehicles available for delivery. In the air flight case, each vehicle represents an air freight container. Based on a contractual agreement between the manufacturer and the 3PL provider, the manufacturer can use a certain number (e.g. v j ) of containers available on a given flight with departure time T j . Usually the 3PL provider charges the manufacturer a fixed transportation cost for each air freight container used. Thus, the total transportation cost is represented by the total number of vehicles (i.e. total number of containers) used. Each order is packaged into a standard-size pallet for delivery convenience regardless of the order size. Each vehicle can deliver at most C orders (e.g. in the air flight case, each container can hold up to C pallets). The v j vehicles can only deliver orders that are completed by time T j . A feasible schedule is one in which each order has completed processing and delivered by one of the available vehicles. Without loss of generality, we may assume that T z ≥ ∑ i = 1 n p i , otherwise, there is at least one order that cannot be delivered and hence there is no feasible schedule.

In a given feasible schedule, if order J i is delivered at time T j and T j > d i , we define U i to be 1; if order J i is delivered at time T j and T j ≤ d i , we define U i to be 0. We say in a given feasible schedule an order J i is early if U i =0 and late if U i =1. The minimum number of late orders ∑ i = 1 n U i measures the delivery timeliness relative to the customers’ desired due dates and is one of the most commonly used measurements in practice. The problem is to find a feasible schedule that minimizes one of the following objective functions: (1)  ∑ i = 1 n U i , (2) the number of vehicles used subject to the condition that ∑ i = 1 n U i is minimum. We show that all two problems are solvable in polynomial time.

The remainder of this paper is organized as follows. We give a brief literature review in the rest of this section. In Section 2, we give a simple algorithm to check the feasibility of a given instance of the problem. In Sections 3 and 4, we give polynomial-time algorithms to solve problems (1) and (2), respectively. We conclude the paper in Section 5.

1.1 Related literature

Research on integrated production and outbound distribution scheduling problems is relatively recent, but it has attracted a rapidly growing interest in the last several years [1]. In most of the problems considered in the literature, vehicle departure times are not fixed and need to be determined along with other decisions. Only a handful of problems considered in the literature involve fixed vehicle departure times. Such problems can be classified into two types based on vehicle availability. One type assumes that there are infinite number of vehicles available at each departure time, whereas the other type assumes that there are a limited number of vehicles available at each departure time. Stecke and Zhao [11], Melo and Wolsey [10] and Zhong et al. [14] all consider similar problems with an infinite number of vehicles where each order has a deadline which has to be satisfied and the objective is to minimize the total transportation cost. Their problems differ slightly in the structure of the transportation cost. Since the focus of this paper is on problems with a finite number of vehicles, we do not review these papers in detail.

Li et al. [7–9] and Zandieh and Molla-Alizadeh-Zavardehi [13] study several similar problems with a finite number of vehicles at each departure time which are all motivated by applications involving synchronizing assembly operations of consumer electronics products such as PCs and air transportation schedules. Orders may have different sizes and the capacity of a vehicle is measured by the total size (weight or volume) of orders that it can carry. There is an earliness or tardiness penalty if an order is delivered earlier or later than the due date. The objective is to minimize the total transportation cost and total weighted earliness and tardiness penalty. Li et al. [9] consider the case where all the orders are processed on a number of parallel production lines, whereas the other papers consider the case with a single production line. The problems are strongly NP-hard as they contain the strongly NP-hard classical single-machine total weighted tardiness scheduling problem (Lenstra et al. [4]) as a special case when the delivery part is not considered. These papers propose various heuristics for solving their problems. Wang et al. [12] study a problem with a finite number of vehicles which involves coordinating mail processing and distribution schedules at a mail processing and distribution center. The objective is to minimize the total unused vehicle capacity. The authors show that this problem is strongly NP-hard and propose dispatching rules and heuristics.

Fu et al. [2] consider a problem where there is a limit on the total delivery capacity at each departure time. Each order has a delivery departure deadline, a production window, a size and a profit. The problem is to select a subset of orders to accept so as to maximize the total profit of the accepted orders under the constraint that each accepted order is processed within its production window, the delivery of this order is departed by its delivery departure deadline, and the total size of the orders delivered at each departure time does not exceed the available vehicle capacity limit. The problem is strongly NP-hard as it contains the bin packing problem as its special case when only the delivery part is considered. The authors propose a polynomial-time approximation scheme for the problem.

Leung and Chen [6] discuss an integrated production and distribution scheduling problem. In the beginning of a planning horizon, the manufacturer has received a set of orders to be processed on a single production line. Completed orders are delivered to customers by a finite number of vehicles provided by the 3PL company which follows a fixed daily or weekly shipping schedule such that the vehicles have fixed departure dates. The problem is to find a feasible schedule that minimizes one of the following objective functions: (1) the maximum lateness of orders, (2) the number of vehicles used subject to the condition that the maximum lateness is minimum, (3) the weighted sum of the maximum lateness and the number of vehicles used. They show that all three problems are solvable in polynomial time.

Finally we note that a remotely related class of problems - production scheduling problems that involve fixed delivery departure dates but do not involve delivery vehicles - have been extensively studied in the literature (e.g. Hall et al. [3]). These problems only consider production scheduling decisions without explicitly involving delivery vehicles. They do not consider any vehicle related objective function, and they can be viewed as special cases of our problems with an infinitely many delivery vehicles available at each departure time so that vehicle availability and vehicle capacity are never a constraint.

2 Feasibility

Given an instance of the problem, we first need to determine whether there is any feasible schedule. The following, Algorithm VA, comes from Leung and Chen [6] and is now stated. The idea is to schedule the orders in Smallest-Processing-Time first (SPT) order. Let S be a SPT schedule. Let S( T i , T j ) denote the set of orders completed in the interval ( T i , T j ] in S. Let T z + 1 be any integer greater than T z . We then assign the orders to the vehicles by the following algorithm.

Algorithm VA Input: An SPT schedule S. For each departure time T j , for 1≤j≤z, there are v j vehicles available for delivery at T j .

Output: ‘Yes’ if it is possible to deliver all the orders in the schedule S; ‘No’ otherwise.

Method:

  1. 1.

    S( T z , T z + 1 ):=∅; T 0 :=0.

  2. 2.

    For j=1 to z do

    1. (a)

      Assign the orders in S( T j − 1 , T j ) to one of the v j vehicles available at time T j . After an order is assigned to a vehicle, it is removed from S( T j − 1 , T j ).

    2. (b)

      If all of the v j vehicles are full and there is still at least one unassigned order in S( T j − 1 , T j ), then put all the unassigned orders into S( T j , T j + 1 ).

  3. 3.

    If S( T z , T z + 1 )=∅ then return ‘Yes’, else return ‘No’.

If the algorithm returns ‘Yes’, then there is a feasible schedule; otherwise, there is no feasible schedule.

Let ( S 1 , S 2 ) be a SPT schedule of the instance of the problem. Clearly, there is no feasible schedule for the instance of the problem if | S 2 |= ∑ j = k z v j C and ∑ J i ∈ S 1 p i > T k − 1 , where 1≤k≤z. In the remainder of this paper, we will assume that there is a feasible schedule for the given instance.

3 Number of late orders

In this section we give a polynomial-time algorithm to solve the number of late orders problem. Similar to the idea in Leung and Chen [6], we first classify the set of orders based on certain criteria, and then do iteration for the types to obtain an optimal schedule. For each 1≤i≤n, we compute the maximal departure time d ¯ i =max{ T m | T m ≤ d i ,1≤m≤z} such that order J i must be a late order if it is delivered after time d ¯ i . For each 1≤j≤z, we classify the set of orders based on d ¯ i : N 0 , j ={ J i | d ¯ i = T j ,1≤i≤n}. Clearly, in a given schedule an order J i ∈ N 0 , j is early if and only if it is completed and delivered by time  T j . The following algorithm decides whether there is a feasible schedule that minimizes the number of late orders. To break ties when sequencing the orders in increasing order of their processing times, we employ the last-in first rule, i.e., we arrange order J j before order J i if J j is merged into a set of orders S and p j = p i , where J i ∈S.

Algorithm NF Input: A set of n orders J 1 ,…, J n .

Output: A feasible schedule that minimizes the number of late orders.

Method:

  1. 1.

    For each 1≤i≤n, let d ¯ i =max{ T m | T m ≤ d i ,1≤m≤z}.

  2. 2.

    For each 1≤j≤z, let N 0 , j ={ J i | d ¯ i = T j ,1≤i≤n}.

  3. 3.

    P= ∑ i = 1 n p i ; P ′ :=P; t:=0. T 0 :=0. N 0 , 0 :=∅.

  4. 4.

    For j=z down to 1 do

    1. (a)

      Let R t , j be all the orders in N t , j , arranged in non-decreasing order of their processing times.

    2. (b)

      If v j C<| R t , j |, then update N t , j − 1 := N t , j − 1 ∪ F t , j and R t , j := R t , j ∖ F t , j , where F t , j are the first | R t , j |− v j C orders from R t , j .

    3. (c)

      p:= ∑ J i ∈ R t , j p i .

    4. (d)

      Schedule the orders in R t , j from time P ′ −p to P ′ . These orders will be delivered by the vehicles available at time T j .

    5. (e)

      P ′ := P ′ −p.

    6. (f)

      If P ′ > T j − 1 , find J l t ∈ N t , j l such that 0≤ j l ≤j−1 and p l t =max{ p i | J i ∈ ⋃ i = 0 j − 1 N t , i }. Update N t , 0 := N t , 0 , N t , 1 := N t , 1 , …, N t , j l − 1 := N t , j l − 1 , N t , j l := N t , j l ∖{ J l t }, N t , j l + 1 := N t , j l + 1 , …, N t , j − 1 := N t , j − 1 , N t , j := R t , j , …, N t , z − 1 := R t , z − 1 , N t , z := R t , z ∪{ J l t } and t:=t+1, return to 4.

  5. 5.

    Stop. The schedule ( R t , 1 ,…, R t , z ) is an optimal feasible schedule, where the orders in R t , j will be delivered by the vehicles available at time T j and t denotes the number of late orders in the optimal feasible schedule.

Algorithm NF consists of t+1 iterations. t in Algorithm NF decides not only the number of iterations but also the number of late orders. The iteration starts from t:=0. The t+1th iteration checks whether there is a feasible schedule such that it contains t late orders exactly. If not, select an order as a late order, update t:=t+1 and other data, proceed to the next iteration. For ease of presentation, we list detailed output data generated by the t+1 iterations as follows:

( R 0 , j 0 ,…, R 0 , z ), J l 0 ;…;( R t − 1 , j t − 1 ,…, R t − 1 , z ), J l t − 1 ;( R t , 1 ,…, R t , z ),
(1)

where for k=0,1,…,t−1, 1≤ j k ≤z, P− ∑ J i ∈ ⋃ j = j k z R k , j p i > T j k − 1 , J l k ∈J∖ ⋃ j = j k z R k , j , and p l k =max{ p i | J i ∈J∖ ⋃ j = j k z R k , j }.

The following lemma describes some properties of the data obtained by Algorithm NF.

Lemma 1 Let data in (1) be obtained by Algorithm  NF. All of the following hold.

  1. (i)

    j 0 ≥ j 1 ≥⋯≥ j t =1.

  2. (ii)

    p l 0 ≥ p l 1 ≥⋯≥ p l t − 1 .

  3. (iii)

    For each 0≤k≤t−1 and k+1≤i≤t, J l k ∈ ⋃ j = j k z R i , j and is a late order if the orders in R i , j are delivered at time T j .

Proof Let ( R 0 , j 0 ,…, R 0 , z ), J l 0 be the output data obtained by the first iteration of Algorithm NF. Then we have P− ∑ J i ∈ ⋃ j = m z R 0 , j p i ≤ T m − 1 , | R 0 , m |≤ v m C for m=z,z−1,…, j 0 +1 and P− ∑ J i ∈ ⋃ j = j 0 z R 0 , j p i > T j 0 − 1 , | R 0 , j 0 |≤ v j 0 C. When running the second iteration on the data ( N 1 , 0 , N 1 , 1 ,…, N 1 , z ), R 1 , z = R 0 , z ∪{ J l 0 } if | R 0 , z |< v z C and R 1 , z = R 0 , z ∪{ J l 0 }∖{ J l } otherwise, where p l =min{ p i | J i ∈ R 0 , z ∪{ J l 0 }}. In either case, ∑ J i ∈ R 1 , z p i ≥ ∑ J i ∈ R 0 , z p i . This implies that P− ∑ J i ∈ R 1 , z p i ≤P− ∑ J i ∈ R 0 , z p i ≤ T z − 1 . Further, we have for m=z−1,…, j 0 ,

⋃ j = m z R 1 , j = ⋃ j = m z R 0 , j ∪{ J l 0 }if  ∑ j = m z | R 0 , j |< ∑ j = m z v j C,
(2)
⋃ j = m z R 1 , j = ⋃ j = m z R 0 , j ∪{ J l 0 }∖{ J l }if  ∑ j = m z | R 0 , j |= ∑ j = m z v j C,
(3)

where p l =min{ p i | J i ∈ ⋃ j = m z R 0 , j ∪{ J l 0 }}. This implies that for m=z−1,…, j 0 +1, P− ∑ J i ∈ ⋃ j = m z R 1 , j p i ≤P− ∑ J i ∈ ⋃ j = m z R 0 , j p i ≤ T m − 1 . Thus, j 0 ≥ j 1 holds. The proof of the following inequalities in (i) are similar to that of the first inequality. We conclude that (i) holds.

By Algorithm NF, we have J l 0 ∈J∖ ⋃ j = j 0 z R 0 , j and J l 1 ∈J∖ ⋃ j = j 1 z R 1 , j , where p l 0 =max{ p i | J i ∈J∖ ⋃ j = j 0 z R 0 , j } and p l 1 =max{ p i | J i ∈J∖ ⋃ j = j 1 z R 1 , j }. Due to (i), j 0 ≥ j 1 . It follows from the argument of (i) that ⋃ j = j 0 z R 1 , j = ⋃ j = j 0 z R 0 , j ∪{ J l 0 } if ∑ j = j 0 z | R 0 , j |< ∑ j = j 0 z v j C. In the case, since J∖ ⋃ j = j 0 z R 0 , j ⊇J∖ ⋃ j = j 1 z R 1 , j , we have p l 0 ≥ p l 1 . ⋃ j = j 0 z R 1 , j = ⋃ j = j 0 z R 0 , j ∪{ J l 0 }∖{ J l } if ∑ j = j 0 z | R 0 , j |= ∑ j = j 0 z v j C, where p l =min{ p i | J i ∈ ⋃ j = j 0 z R 0 , j ∪{ J l 0 }}. In the case, since J∖ ⋃ j = j 0 z R 0 , j ⊇{ J l }∪J∖ ⋃ j = j 1 z R 1 , j , along with p l ≤ p l 0 , we have p l 0 ≥ p l 1 . Thus, the first inequality p l 0 ≥ p l 1 in (ii) holds. The proofs of the following inequalities in (ii) are similar to that of the first inequality. We conclude that (ii) holds.

For any k∈{0,1,…,t−1}, Suppose J l k ∈ N 0 , k 0 . Clearly, J l k is a late order if it is delivered at time T j , where k 0 <j≤z. To show (iii), there are two cases to consider: (a) k 0 < j k and (b) k 0 ≥ j k .

  1. (a)

    k 0 < j k . Assume that J l k ∈ ⋃ j = j k z R k + 1 , j does not hold. Due to the argument of (i), we have ∑ j = j k z | R k , j |= ∑ j = j k z v j C, ⋃ j = j k z R k + 1 , j = ⋃ j = j k z R k , j , and p l k =min{ p i | J i ∈ ⋃ j = j k z R k , j ∪{ J l k }}. This, along with p l k =max{ p i | J i ∈J∖ ⋃ j = j k z R k , j }, implies that for any J i 1 ∈J∖ ⋃ j = j k z R k , j and J i 2 ∈ ⋃ j = j k z R k , j , p i 1 ≤ p i 2 . This, along with ∑ j = j k z | R k , j |= ∑ j = j k z v j C and P− ∑ J i ∈ ⋃ j = j k z R k , j p i > T j k − 1 , implies that there is no feasible schedule for the instance of the problem, which contradicts the assumption that there is a feasible schedule for the given instance. Thus, we have J l k ∈ ⋃ j = j k z R k + 1 , j and is a late order if the orders in R k + 1 , j are delivered at time T j . Further, due to the argument of (i), we have ⋃ j = j k z R k + 2 , j = ⋃ j = j k z R k + 1 , j ∪{ J l k + 1 } if ∑ j = j k z | R k + 1 , j |< ∑ j = j k z v j C, ⋃ j = j k z R k + 2 , j = ⋃ j = j k z R k + 1 , j ∪{ J l k + 1 }∖{ J l } if ∑ j = j k z | R k + 1 , j |= ∑ j = j k z v j C, where p l =min{ p i | J i ∈ ⋃ j = j k z R k + 1 , j ∪{ J l k + 1 }}. This, along with p l k ≥ p l k + 1 and J l k is merged into ⋃ j = j k z R k + 1 , j before J l k + 1 merged, implies that J l k ∈ ⋃ j = j k z R k + 2 , j and is a late order if the orders in R k + 2 , j are delivered at time T j . Similarly, we can show J l k ∈ ⋃ j = j k z R i , j and it is a late order if the orders in R i , j are delivered at time T j for i=k+3,…,t.

  2. (b)

    k 0 ≥ j k . Note the fact that order J l k is pushed by the iterations from N 0 , k 0 into J∖ ⋃ j = j k z R k , j . By Step 4(a) and Step 4(b), we have | R k , j |= v j C for j= j k ,…, k 0 and p l k =min{ p i | J i ∈ ⋃ j = j k k 0 R k , j }. This implies J l k ∈ ⋃ j = k 0 + 1 z R k + 1 , j (⊆ ⋃ j = j k z R k + 1 , j ). Otherwise, due to the argument of (i), we have ∑ j = k 0 + 1 z | R k , j |= ∑ j = k 0 + 1 z v j C, ⋃ j = k 0 + 1 z R k + 1 , j = ⋃ j = k 0 + 1 z R k , j , and p l k =min{ p i | J i ∈ ⋃ j = k 0 + 1 z R k , j ∪{ J l k }}, and then we have ∑ j = j k z | R k , j |= ∑ j = j k z v j C, ⋃ j = j k z R k + 1 , j = ⋃ j = j k z R k , j , and p l k =min{ p i | J i ∈ ⋃ j = j k z R k , j ∪{ J l k }}. Similar to the argument of case (a), we can derive a contradiction. Similarly, we can show J l k ∈ ⋃ j = j k z R i , j and it is a late order if the orders in R i , j are delivered at time T j for i=k+2,…,t. This ends the proof for (iii). □

Theorem 1 Algorithm  NF correctly finds a feasible schedule that minimizes the number of late orders in O(z n 2 logn) time.

Proof We first prove that ⋃ j = j k z R k , j has not only exactly k late orders but also the maximum total processing time among all schedules for k=0,1,…,t−1. By the definition of N 0 , z and Step 4(a) and Step 4(b) of Algorithm NF, we see that R 0 , z is a set of early orders delivered at time T z with the maximum total processing time among all schedules. Similarly, we see that ⋃ j = m z R 0 , j is a set of early orders with the maximum total processing time among all schedules for m=z−1,…, j 0 , where the orders in R 0 , j are delivered at time T j .

By (2) and (3), we have ⋃ j = j 0 z R 1 , j = ⋃ j = j 0 z R 0 , j ∪{ J l 0 } if ∑ j = j 0 z | R 0 , j |< ∑ j = j 0 z v j C, ⋃ j = j 0 z R 1 , j = ⋃ j = j 0 z R 0 , j ∪{ J l 0 }∖{ J l } if ∑ j = j 0 z | R 0 , j |= ∑ j = j 0 z v j C where p l =min{ p i | J i ∈ ⋃ j = j 0 z R 0 , j ∪{ J l 0 }}. This, along with (iii) in Lemma 1, p l 0 =max{ p i | J i ∈J∖ ⋃ j = j 0 z R 0 , j }, and ⋃ j = j 0 z R 0 , j being a set of early orders with the maximum total processing time among all schedules, implies that ⋃ j = j 0 z R 1 , j does not only have exactly a late order but also the maximum total processing time among all schedules. Further, by Step 4(a) and Step 4(b) of Algorithm NF, we see that ⋃ j = m z R 1 , j does not only exactly have a late order but also the maximum total processing time among all schedules for m= j 0 −1,…, j 1 . Similarly, we can show the result for k=2,…,t−1.

We below prove that ( R t , 1 ,…, R t , z ) is a feasible schedule minimizing the number of late orders. By Algorithm NF, the feasibility is obvious. For any feasible schedule S=( R 1 ,…, R z ), where the orders in R j are delivered at time T j for j=1,…,z, we see that ⋃ j = j 0 z R j contains at least a late order. Otherwise, by ∑ J i ∈ ⋃ j = j 0 z R j p i ≤ ∑ J i ∈ ⋃ j = j 0 z R 0 , j p i , we see that ∑ J i ∈ S ∖ ⋃ j = j 0 z R j p i ≥P− ∑ J i ∈ ⋃ j = j 0 z R 0 , j p i > T j 0 − 1 . This contradicts the feasibility of S. Given that ⋃ j = j 0 z R j contains at least a late order, ⋃ j = j 1 z R j contains at least two late orders. Otherwise, ⋃ j = j 1 z R j contains a late order. By ∑ J i ∈ ⋃ j = j 1 z R j p i ≤ ∑ J i ∈ ⋃ j = j 1 z R 1 , j p i , we have ∑ J i ∈ S ∖ ⋃ j = j 1 z R j p i ≥P− ∑ J i ∈ ⋃ j = j 1 z R 1 , j p i > T j 1 − 1 . This contradicts the feasibility of S. Similarly, we can show that ⋃ j = j k z R j contains k+1 late orders at least for k=2,…,t−1. Thus, ( R t , 1 ,…, R t , z ) is a feasible schedule minimizing the number of late orders.

We now show that the algorithm can be implemented to run in O(z n 2 logn) time. The algorithm consists of n+1 iterations at most since there are n late orders at most. Step 1 of the algorithm takes O(nlogz) time. Step 2 takes O(nlogn) time since we can sort the jobs in ascending order of d ¯ i and then divide the jobs into various N 0 , j . Step 3 takes O(n) time. Step 4 is iterated z times. Within each iteration, the most time-consuming step is Step 4(a), sorting the orders in ascending order of their processing times, which takes O(nlogn) time. Hence Step 4 takes O(znlogn) time. Thus, the overall running time of the algorithm is O(z n 2 logn) time. □

4 Minimum number of vehicles used

In this section we show that the problem of minimizing the number of vehicles used subject to the constraint that the number of late orders is minimum can be solved in polynomial time. We assume that we have found the minimum number of late orders using the algorithm given in the previous section. The sets ( R t , 1 ,…, R t , z ) were obtained by Algorithm NF, where t is the minimum number of late orders. By the fact that if | R t , j |< v j C, then each order in ⋃ i = 1 j − 1 R t , i is an early order and will be a late order if we push the order to be delivered by vehicles at T j . Thus, either there is no feasible schedule or the number of late orders must will be increased if we push some order in R t , i to be delivered by vehicles at T i + 1 ,…, T z . By the optimality of t, we see that the number of late orders must will not be decreased if we push some order in R t , i to be delivered by vehicles at T 1 ,…, T i − 1 . The following algorithm finds a solution with a minimum number of vehicles used under the constraint that the number of late orders is minimum by pushing some orders to an earlier departure time for delivery.

Algorithm MV Input: z sets of orders R t , 1 ,…, R t , z given by Algorithm NF, where t is the minimum number of late orders.

Output: A vehicle assignment: V 1 ,…, V z , where the orders in V j will be delivered by the vehicles available at time T j , so that the number of vehicles used is minimum.

Method:

  1. 1.

    T 0 :=0. v 0 :=0.

  2. 2.

    For j=z down to 1 do

    1. (a)

      Let V j ′ be all the orders in R t , j , arranged in non-decreasing order of their processing times, and | V j ′ |=kC+r, where k and r are nonnegative integers, and 0≤r<C, and F is the set of the first r orders from V j ′ .

    2. (b)

      If ∑ J i ∈ ⋃ m = 1 j − 1 R t , m ∪ F p i > T j − 1 , then update A:=∅ and V j := V j ′ , and the orders in V j will be delivered by the vehicles at time T j and proceed to the next j.

    3. (c)

      Let A ′ are the first k 0 C+r orders from V j ′ , where k 0 is the maximal nonnegative integer such that ∑ J i ∈ ∪ m = 1 j − 1 R t , m ∪ A ′ p i ≤ T j − 1 .

    4. (d)

      If ⌈| R t , j − 1 ∪ A ′ |/C⌉≤ v j − 1 C, then update A:= A ′ , R t , j − 1 := R t , j − 1 ∪A and V j := V j ′ ∖A and the orders in V j will be delivered by the vehicles available at time T j and proceed to the next j.

    5. (e)

      Call Subalgorithm CA to computer A, then update R t , j − 1 := R t , j − 1 ∪A and V j := V j ′ ∖A, and the orders in V j will be delivered by the vehicles at time T j and proceed to the next j.

The algorithm schedules the order delivery backwards, starting from T z and going down to T 1 . Now, suppose we are considering the orders in R t , j , 1≤j≤z. Step 2(a) sorts these orders in R t , j in ascending order of their processing times, and assigns these sorted orders to the set V j ′ , and expresses the number of orders in V j ′ as kC+r and assigns the first r orders from V j ′ to the set F. As we will see later, some orders from a later departure time, e.g., some orders from R t , h for some h>j, may be pushed to an earlier departure time for delivery and join the set R t , j . Therefore, there could be more orders in R t , j than are in the initially defined set R t , j . We will try to use the minimum number of vehicles to deliver all or part of the orders in V j ′ . Step 2(b) checks whether it is possible to push the orders in F to be delivered by vehicles at T j − 1 ,…, T 1 . If it is not possible, Step 2(b) stops the algorithm and outputs A=∅ and V j = V j ′ . Otherwise, Step 2(c) computes the set of orders A ′ which made ⌈| V j ′ |/C⌉−⌈| A ′ |/C⌉ the minimal number possibly of vehicles used at T j . Step 2(d) and 2(e) exactly decide the set of orders A which made ⌈| V j ′ |/C⌉−⌈|A|/C⌉ minimal number of vehicles used at T j .

Subalgorithm CA

  1. 1.

    A ′ := the first k 0 C+r orders from V j ′ , arranged in non-decreasing order of their processing times.

  2. 2.

    Sort the orders in R t , j − 1 ∪ A ′ in ascending order of their processing times.

  3. 3.

    If | R t , j − 1 ∪ A ′ |≤ v j − 1 C, then stop and output A= A ′ .

  4. 4.

    For h=1 to j−2, let R t , h ′ := R t , h .

  5. 5.

    B:= the first | R t , j − 1 ∪ A ′ |− v j − 1 C orders from R t , j − 1 ∪ A ′ .

  6. 6.

    For h=j−2 down to 1 do

    1. (a)

      Sort the orders in R t , h ′ ∪B in ascending order of their processing times.

    2. (b)

      If ∑ J i ∈ ⋃ m = 1 h R t , m ′ ∪ B p i > T h ,

      1. (b1)

        if | A ′ |<C, stop and output A=∅;

      2. (b2)

        update A ′ := the first | A ′ |−C orders from A ′ and return 2.

    3. (c)

      If | R t , h ′ ∪B|≤ v h C, then stop and output A= A ′ .

    4. (d)

      If h=1, stop and output A=∅ if | A ′ |<C and update A ′ := the first | A ′ |−C orders from A ′ and return 2 else.

    5. (e)

      Update B:= the first | R t , h ′ ∪B|− v h C orders from R t , h ′ ∪B and proceed to the next h.

Subalgorithm CA operates as follows. The algorithm consists of k 0 +1 main iterations for the first k 0 C+r orders, the first ( k 0 −1)C+r orders, … , the first r orders from V j ′ , respectively, and exactly decides the set of orders A which made ⌈| V j ′ |/C⌉−⌈|A|/C⌉ minimal number of vehicles used at T j . In Step 1, it sorts the orders in the initial A ′ in ascending order of their processing times. Now, suppose we are considering the s th main iteration, where 1≤s≤ k 0 +1. In Step 2, it sorts the orders in R t , j − 1 ∪ A ′ in ascending order of their processing times. If | R t , j − 1 ∪ A ′ |≤ v j − 1 C, all orders in A ′ can be delivered by vehicles at T j − 1 . Step 3 stops the algorithm and outputs A= A ′ . Otherwise, Step 4 assigns the orders in R t , h to a temporary set R t , h ′ for each h from 1 to j−2. This is necessary since Subalgorithm CA operates on R t , h ′ without changing the content of R t , h . Step 5 assigns the first | R t , j − 1 ∪ A ′ |− v j − 1 C orders from R t , j − 1 ∪ A ′ to a set B. Step 6 consists of j−2 secondary iterations, starting from j−2 and going down to 1. Step 6 checks whether it is possible to push the orders in A ′ to be delivered by vehicles at T j − 2 ,…, T 1 . Suppose we are considering the h th secondary iteration for the s th main iteration. In Step 6(a), it sorts these orders in R t , h ′ ∪B in ascending order of their processing times. There are two cases to consider. In case 1, ∑ J i ∈ ⋃ m = 1 h R t , m ′ ∪ B p i > T h . It is impossible to deliver all orders in A ′ by the vehicles at T 1 ,…, T h . If | A ′ |<C, Step 6(b1) stops the algorithm and outputs A=∅. Otherwise, Step 6(b2) assigns the first | A ′ |−C orders from A ′ to A ′ and proceed to the next main iteration. In case 2, ∑ J i ∈ ⋃ m = 1 h R t , m ′ ∪ B p i ≤ T h . If | R t , h ′ ∪B|≤ v h C, all orders in A ′ can be delivered by vehicles at T j − 1 ,…, T 1 . Step 6(c) stops the algorithm and outputs A= A ′ . Otherwise, when we reach h=1, it is impossible to deliver all orders in A ′ by the vehicles at T 1 ,…, T h . Step 6(d) stops the algorithm and outputs A=∅ if | A ′ |<C, and assigns the first | A ′ |−C orders from A ′ to A ′ else, and proceed to the next main iteration. Step 6(e) assigns the first | R t , h ′ ∪B|− v h C orders from R t , h ′ ∪B to B and proceed to the next secondary iteration.

Theorem 2 Algorithm  MV finds an optimal solution with the minimum number of vehicles used under the constraint that the number of late orders is minimum in O( z 2 n 2 logn) time.

Proof We first point out that the solution by Algorithm MV does not change the optimality of the number of late orders, since the solution is found by pushing some orders in R t , 2 ,…, R t , z to an earlier departure time for delivery.

Let V z and A be the output data obtained by the first iteration of Algorithm MV, where V z = V z ′ ∖A and A is the set of the first |A| orders from V z ′ (the orders of V z ′ = R t , z have been arranged in non-decreasing order of their processing times). Step 2(b) corresponds to the case where ∑ J i ∈ ⋃ m = 1 z − 1 R t , m ∪ F p i > T z − 1 , where F the set of the first |F| orders from V z ′ and 0<|F|<C. In the case, it is impossible to deliver all orders in F by the vehicles at T 1 ,…, T z − 1 . This, along with F consists of the first |F| orders from V z ′ , means that the number of vehicles used at T z cannot decrease by one. Thus, ⌈| V z ′ |/C⌉ is the minimal number of vehicles used at T z . However, we cannot push part of orders in F to be delivered by vehicles at T z − 1 ,…, T 1 , since if we do that, it not only does not decrease the number of vehicles used at T z , but it also increases the amount of orders delivered by vehicles at T z − 1 ,…, T 1 . In the case, the data V z = V z ′ and A=∅ are optimal. Under the case of ∑ J i ∈ ⋃ m = 1 z − 1 R t , m ∪ F p i ≤ T z − 1 , Step 2(c) computes the set of orders A ′ which made ⌈| V z ′ |/C⌉−⌈| A ′ |/C⌉ the minimal number of vehicles possibly used at T z , where A ′ are the first k 0 C+r orders from V z ′ . This is because k 0 is the maximal nonnegative integer such that ∑ J i ∈ ⋃ m = 1 z − 1 R t , m ∪ A ′ p i ≤ T z − 1 and A ′ consists of some small orders in V z ′ . Step 2(d) corresponds to the case where ⌈| R t , z − 1 ∪ A ′ |/C⌉≤ v z − 1 C. This means that we can push all of orders in A ′ to be delivered by vehicles at T z − 1 . Thus, in the case, the output data A= A ′ and V z = V z ′ ∖A make ⌈| V z |/C⌉ the minimal number of vehicles used at T z . Under the case of ⌈| R t , z − 1 ∪ A ′ |/C⌉> v z − 1 C, Step 2(e) calls Subalgorithm CA to decide a set of orders A such that ⌈| V z |/C⌉ is the minimal number of vehicles used at T z , where V z = V z ′ ∖A. We show below that Subalgorithm CA can really do that.

Subalgorithm CA consists of k 0 +1 main iterations for the first k 0 C+r orders, the first ( k 0 −1)C+r orders, … , the first r orders from V z ′ , respectively. We now run the first main iteration for the first k 0 C+r orders A ′ from V z ′ . Due to the corresponding case by Step 2(e), we have A ′ ≠∅ and | R t , z − 1 ∪ A ′ |> v z − 1 C. We need to proceed through Step 4. Step 4 assigns the orders in R t , h to a temporary set R t , h ′ for each h from 1 to j−2. This is necessary since Subalgorithm CA operates on R t , h ′ without changing the content of R t , h . Step 5 assigns the first | R t , z − 1 ∪ A ′ |− v z − 1 C orders from R t , z − 1 ∪ A ′ to a set B. If we want to push the orders in A ′ to be delivered by vehicles at T z − 1 ,…, T 1 , all orders of B are the minimal increment undertaken by vehicles at T z − 2 ,…, T 1 to deliver. Now we proceed through Step 6.

Step 6 consists of z−2 secondary iterations. We now run the first secondary iteration. If ∑ J i ∈ ⋃ m = 1 z − 2 R t , m ′ ∪ B p i > T z − 2 , it is impossible to deliver all orders in B by the vehicles at T 1 ,…, T z − 2 . This means that the number of vehicles used at T z should to be at least ⌈| V z ′ |/C⌉−⌈| A ′ |/C⌉+1. Step 6(b1) corresponds to the case where | A ′ |<C and outputs A=∅. This, along with A ′ ≠∅ and V z = V z ′ , implies that ⌈| V z |/C⌉ is the minimal number of vehicles used at T z . Step 6(b2) corresponds to the case where | A ′ |≥C and starts the second main iteration for the first ( k 0 −1)C+r orders A ′ from V z ′ to check whether it is possible to push the orders in A ′ to be delivered by vehicles at T z − 1 ,…, T 1 . On the other hand, ∑ J i ∈ ⋃ m = 1 z − 2 R t , m ′ ∪ B p i ≤ T z − 2 . Step 6(c) corresponds to the case where | R t , z − 2 ′ ∪B|≤ v z − 2 C. This means that we can push all of orders in A ′ to be delivered by vehicles at T z − 1 and T z − 2 . Thus, the output data A= A ′ by Step 6(c) and V z = V z ′ ∖A make ⌈| V z |/C⌉ the minimal number of vehicles used at T z . Otherwise, Step 6(e) start the second secondary iteration to check whether it is possible to push the orders in a set of the first | R t , z − 2 ′ ∪B|− v z − 2 C orders from R t , z − 2 ′ ∪B to be delivered by vehicles at T z − 3 ,…, T 1 . Similarly, we can show the result for the following secondary iterations. If need may be, we proceed through the last secondary iteration. Suppose that B is a set of orders output by the last time secondary iteration. In the case of ∑ J i ∈ R t , 1 ′ ∪ B p i > T 1 , Step 6(b1) outputs A=∅ if | A ′ |<C and Step 6(b2) starts the second main iteration for the first ( k 0 −1)C+r orders A ′ from V z ′ else. In the case of ∑ J i ∈ R t , 1 ′ ∪ B p i ≤ T 1 , Step 6(c) outputs data A= A ′ if | R t , 1 ′ ∪B|≤ v 1 C. Otherwise, Step 6(d) outputs A=∅ if | A ′ |<C and starts the second main iteration for the first ( k 0 −1)C+r orders A ′ from V z ′ else, since it is impossible to deliver all orders in the set of the first | R t , 1 ′ ∪B|− v 1 C orders from R t , 1 ′ ∪B by the vehicles at T 0 =0. Similarly, we can show the result for the following main iterations in Subalgorithm CA, which can really decide a set orders A such that ⌈| V z |/C⌉ is the minimal number of vehicles used at T z , where V z = V z ′ ∖A. For the following iterations in Algorithm MV, we can show the result. At last, the algorithm must be able to find an optimal solution with the minimum number of vehicles used.

We now look at the time complexity of Algorithm MV. In the algorithm, Step 1 takes constant time. Step 2 is iterated z times. Inside the iteration loop, the most time-consuming steps are 2(a) and 2(e). Step 2(a) calls for sorting the jobs which takes O(nlogn) time. Step 2(e) calls Subalgorithm CA which takes O(z n 2 logn) time. Thus, the overall time complexity of Algorithm MV is O( z 2 n 2 logn). □

5 Conclusion

In this paper, we have given polynomial-time algorithms for minimizing: (1) the number of late orders, (2) the number of vehicles used subject to the condition that the number of late orders is minimum. An interesting open question is whether the problem related with release dates is NP-hard or not.

References

  1. Chen Z-L: Integrated production and outbound distribution scheduling: review and extensions. Oper. Res. 2010, 58: 130–148. 10.1287/opre.1080.0688

    Article  MATH  Google Scholar 

  2. Fu B, Hou Y, Zhao H: Coordinated scheduling of production and delivery with production window and delivery capacity constraints. Theor. Comput. Sci. 2012, 422: 39–51.

    Article  MathSciNet  MATH  Google Scholar 

  3. Hall NG, Lesaoana M, Potts CN: Scheduling with fixed delivery dates. Oper. Res. 2001, 49: 134–144. 10.1287/opre.49.1.134.11192

    Article  MathSciNet  MATH  Google Scholar 

  4. Lenstra JK, Rinnooy Kan AHG, Brucker P: Complexity of machine scheduling problems. Ann. Discrete Math. 1977, 1: 343–362.

    Article  MathSciNet  MATH  Google Scholar 

  5. Langley CJ, van Dort E, Sykes SR: 2005 Third-Party Logistics: Results and Findings of the 10th Annual Study. 2006.

    Google Scholar 

  6. Leung JY-T, Chen Z-L: Integrated production and distribution with fixed delivery departure dates. Oper. Res. Lett. 2013, 41: 290–293. 10.1016/j.orl.2013.02.006

    Article  MathSciNet  MATH  Google Scholar 

  7. Li KP, Ganesan VK, Sivakumar AI: Synchronized scheduling of assembly and multi-destination air-transportation in a consumer electronics supply chain. Int. J. Prod. Res. 2005, 43: 2671–2685. 10.1080/00207540500066895

    Article  Google Scholar 

  8. Li KP, Ganesan VK, Sivakumar AI: Scheduling of single stage assembly with air transportation in a consumer electronic supply chain. Comput. Ind. Eng. 2006, 51: 264–278. 10.1016/j.cie.2006.02.007

    Article  Google Scholar 

  9. Li KP, Sivakumar AI, Ganesan VK: Complexities and algorithms for synchronized scheduling of parallel machine assembly and air transportation in consumer electronic supply chain. Eur. J. Oper. Res. 2008, 187: 442–455. 10.1016/j.ejor.2007.03.006

    Article  MathSciNet  MATH  Google Scholar 

  10. Melo RA, Wolsey LA: Optimizing production and transportation in a commit-to-delivery business mode. Eur. J. Oper. Res. 2010, 203: 614–618. 10.1016/j.ejor.2009.09.011

    Article  MATH  Google Scholar 

  11. Stecke KE, Zhao X: Production and transportation integration for a make-to-order manufacturing company with a commit-to-delivery business mode. Manuf. Serv. Oper. Manag. 2007, 9: 206–224.

    Google Scholar 

  12. Wang Q, Batta R, Szczerba RJ: Sequencing the processing of incoming mail to match an outbound truck delivery schedule. Comput. Oper. Res. 2005, 32: 1777–1791. 10.1016/j.cor.2003.11.029

    Article  MATH  Google Scholar 

  13. Zandieh M, Molla-Alizadeh-Zavardehi S: Synchronizing production and air transportation scheduling using mathematical programming models. J. Comput. Appl. Math. 2009, 230: 546–558. 10.1016/j.cam.2008.12.022

    Article  MathSciNet  MATH  Google Scholar 

  14. Zhong W, Chen Z-L, Chen M: Integrated production and distribution scheduling with committed delivery dates. Oper. Res. Lett. 2010, 38: 133–138. 10.1016/j.orl.2009.11.007

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

This work was supported in part by the Zhejiang Natural Science Foundation of China grant Y6110054. The authors wish to thank Weiya Zhong and Zhi-Long Chen for their technical advice, and C Cascante for his editorial work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shanlin Li.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors’ contributions

All authors contributed equally to the manuscript and typed, read, and approved the final manuscript.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0), which permits use, duplication, adaptation, distribution, and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Li, S., Li, M. Integrated production and distribution scheduling problems related with fixed delivery departure dates and number of late orders. J Inequal Appl 2014, 409 (2014). https://doi.org/10.1186/1029-242X-2014-409

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1029-242X-2014-409

Keywords