L Berghman
email: lotte.berghman@econ.kuleuven.be

C Briand
email: cyril.briand@laas.fr

R Leus

P Lopez

The truck scheduling problem at cross-docking terminals

Keywords: cross docking, truck scheduling, parallel machine scheduling, integer programming, branch-and-bound

Introduction

Cross docking is a warehouse management concept in which items delivered to a warehouse by inbound trucks are immediately sorted out, reorganized based on customer demands and loaded into outbound trucks for delivery to customers, without requiring excessive inventory at the warehouse. Compared to traditional warehousing, the storage as well as the length of the stay of a product in the warehouse is limited, which requires an appropriate coordination of inbound and outbound trucks. The truck scheduling problem, which decides on the succession of truck processing at the dock doors, is especially important to ensure a rapid turnover and on-time deliveries. The problem studied in this paper concerns the operational level: trucks are allocated to the different docks so as to minimize the storage usage during the product transfer. The internal organization of the warehouse is not explicitly taken into consideration. We also do not model the resources that may be needed to load or unload the trucks, which implies the assumption that these resources are available in sufficient quantities to ensure the correct execution of an arbitrary docking schedule.

The concept of cross docking has received a lot of attention in recent literature: cases with one receiving and one shipping door are most frequently studied. A comprehensive overview of different variations and the existing literature can be found in [START_REF] Boysen | Cross dock scheduling: Classification, literature review and research agenda[END_REF]. [START_REF] Carlo | Analysis of optimum shape and door assignment problems in rectangular unit-load crossdocks[END_REF] state that in a typical cross-dock application, each dock serves exclusively either as an outbound dock or as an inbound dock throughout the schedule's execution; this is called the exclusive mode. Their experiments show that clustering the inbound docks together and the outbound docks together is generally not a good configuration when minimizing the travel distance of the forklifts inside the warehouse. For this reason, we study the more general case in which each dock can be used both for loading and unloading; this is referred to as the mixed mode.

In the following section, a detailed problem statement is given. A time-indexed (linear programming) formulation is presented in Section 3. Section 4 describes a branch-andbound algorithm, and Section 5 summarizes our contributions.

Problem statement

We examine a cross-docking warehouse where incoming trucks i ∈ I need to be unloaded and outgoing trucks o ∈ O need to be loaded (where I is the set containing all inbound trucks while O is the set containing all outbound trucks). The warehouse features n docks that can be used both for loading and unloading (this is called mixed mode). The processing time of truck j ∈ I ∪ O equals p j . This processing time includes the loading or unloading but also the transportation of goods inside the cross dock and other handling operations between dock doors. It is assumed that there is sufficient workforce to load/unload all docked trucks at the same time. The products on the trucks are packed on unit-size pallets, which move collectively as a unit. Each pallet on an inbound truck i needs to be loaded on an outbound truck o, which gives rise to a precedence relation (i, o) ∈ P ⊂ I × O. Each truck j has a release time r j (planned arrival time) and a deadline dj (its latest allowed departure time). Products can be transshipped directly from an inbound to an outbound truck, if the outbound truck is placed at a dock. Otherwise, the products are temporarily stored and will be loaded later on. Each couple (i, o) ∈ P has a weight w io , representing the number of pallets that go from inbound truck i to outbound truck o. The objective is to minimize the weighted duration of the pallets stocked in the warehouse. According to N. [START_REF] Boysen | Cross dock scheduling: Classification, literature review and research agenda[END_REF], this is a valuable objective because the cross-docking concept relies on a rapid turnover of shipments. Also the danger of late shipments is reduced in this way: the number of products in the storage area can only be decreased by loading them on outbound trucks to leave the terminal as early as possible. Moreover, a lower stock size also reduces the material handling effort inside the terminal. Our problem can be modeled as a parallel machine scheduling problem with release dates, deadlines and precedence constraints. As 1|r i |L max is NP-hard, even finding a feasible solution for the problem considered is difficult.

For all trucks j ∈ I ∪ O, let s j = the starting time of the handling of truck j.

A conceptual problem statement with these variables is the following:

min ∑ (i,o)∈P w io (s o -s i ) (1)
subject to

s j ≥ r j ∀j ∈ I ∪ O (2) s j + p j ≤ dj ∀j ∈ I ∪ O (3) s o -s i ≥ 0 ∀(i, o) ∈ P (4) |A t | ≤ n ∀t ∈ T (5)
with A t = {j ∈ I ∪ O|s j ≤ t < s j + p j } the set containing all tasks being executed at time t and T the set containing all time instants considered. The objective function (1) minimizes the total weighted usage of the storage area. Constraints ( 2) and (3) impose the time windows for all trucks. Constraints (4) ensure that, if there exists a precedence relationship between inbound truck i and outbound truck o, then o cannot be processed before i. Finally, constraints (5) enforce the capacity of the docks.

Time-indexed formulation

A time-indexed formulation discretizes the continuous time space into periods τ of a fixed length (with T the set containing all time periods τ ). Let period τ be the interval [t-1, t[. It is well known that time-indexed formulations perform well for scheduling problems because the linear programming relaxations provide strong lower bounds. For this reason, we will test the integer programming formulation below, which is called F1 in the sequel. For all inbound trucks i ∈ I and for all time periods τ ∈ T i , we have

x iτ = { 1 if the unloading of inbound truck i is started during time period τ , 0 otherwise, with T i = [r i + 1, di -p i + 1],
x iτ = 1 ∀i ∈ I (7) ∑ τ ∈To y oτ = 1 ∀o ∈ O (8) ∑ τ ∈T τ (x iτ -y oτ ) ≤ 0 ∀(i, o) ∈ P (9) ∑ j∈I∪O τ ∑ u=τ -pj +1
x ju ≤ n ∀τ ∈ T (10)

x iτ ∈ {0, 1} ∀i ∈ I; ∀τ ∈ T i (11) y oτ ∈ {0, 1} ∀o ∈ O; ∀τ ∈ T o (12)
The objective function (6) minimizes the total weighted usage of the storage area. Constraints ( 7) and ( 8) demand each truck to be assigned to at least one gate. Constraints (9) ensure that if there exists a precedence relationship between inbound truck i and outbound truck o, then o cannot be processed before i. Constraints (10) enforce the capacity of the docks.

An alternative precedence constraint is the following:

τ ∑ u=1 x iu -y oτ ≤ 0 ∀(i, o) ∈ P ; ∀τ ∈ T (13)
Christofides et. al. (1987) call this constraint disaggregated. The formulation obtained by replacing constraint (9) in formulation F1 by (13) will be referred to as F2. F2 is theoretically stronger since each feasible solution for formulation F2 is also a feasible solution to formulation F1. [START_REF] Artigues | Resource-Constrained Project Scheduling[END_REF] observe, however, that the additional CPU time needed to solve the larger linear program can counterbalance the significant improvement of the bound. Both formulations will be tested empirically.

Branch and bound

We propose a branch-and-bound algorithm where at each node u of the search tree, an uncapacitated cross-docking problem is considered. We impose release times r u and deadlines du for the tasks. At the root 0 of the search tree, r 0 j and d0 j are set to their initial values r j and dj , respectively.

In a first step, the problem defined at each node is solved. It corresponds to the linear program of minimizing (1) subject to (2)-( 4). With minor modifications, the dual of this

  the relevant time window for inbound truck i. Additionally, for all outbound trucks o ∈ O and for all time periods t ∈ T o , we have

		{
	y oτ =	1 if the loading of outbound truck o is started during time period τ , 0 otherwise,
	with T o = [r o + 1, do -p o + 1], the relevant time window for outbound truck o.
	A time-indexed formulation for the considered truck scheduling problem is the following:
		∑	∑
		min	w io τ (y oτ -x iτ )	(6)
		(i,o)∈P	τ ∈T
	subject to
		∑
		τ ∈Ti

problem is a max-cost flow problem, which can be solved in polynomial time. If no feasible solution is found, then the node can be fathomed. Otherwise, an integer solution is returned that gives us the local optimal objective value F u as well as the starting times s u i and s u o . In a second step, the returned solution is analyzed to identify a minimal time period

with its corresponding set of critical tasks σ u , for which the gate capacity n is exceeded. If no such period is found then the LP solution is locally optimal for the capacitated problem and so, a feasible solution is found. We use best to represent the tightest upper bound found so far. For a feasible solution, the couple of tasks (y, z) ∈ P with minimal w yz is selected such that either y or z belongs to σ u . If y ∈ σ u , then two new nodes v and w are expanded from u by setting r v y = t u -p y + 1 and dv y = du y (r w y = r u y and dw y = t u ), respectively. Similarly, if z ∈ σ u , two new nodes v and w are also generated from u by setting r v z = t u and dv z = du z (r w z = r u z and dw z = t u + p z -1), respectively. Each new node is inserted on top of a stack for depth-first search. A node u can be fathomed either if F u ≥ best or if one interval [r u j , du j ] becomes smaller than p j . Note also that, at each node, computing mandatory amounts of resource consumption per period can be easily performed (for more details, see [START_REF] Artigues | The energy scheduling problem: industrial case study and constraint propagation techniques[END_REF], so that infeasible nodes can be cut earlier in the search tree.

Conclusions and future work

We have presented a time-indexed (integer programming) formulation and a branch-andbound method for the truck scheduling problem at cross-docking terminals. This work is still in progress, and we will compare both approaches in preliminary experimental results. Moreover, we will compare experimentally the mixed mode strategy with the exclusive one.

For future research, it may be interesting to investigate the special case of the problem with p i = p. The complexity of P m|r i , di , p i = p| ∑ w i C i is open [START_REF] Kravchenko | Parallel machine problems with equal processing times: a survey[END_REF] and this problem is a special case of our problem with p i = p, so the complexity of our problem with p i = p is open as well. Another interesting problem is an extension in which trailers are allowed to remain at the gate longer as strictly needed for loading or unloading. In this way, the number of direct transfers from inbound to outbound trailers can be augmented and as such, the usage of the storage area can be decreased.