A branch-and-price method for the Vehicle Routing Problem with Cross-Docking and Time Windows

. One important factor in supply chain management is to efficiently control the supply chain flows. Due to its importance, many companies are trying to develop efficient methods to increase customer satisfaction and reduce costs. Cross-docking is considered a good method to reduce inventory and improve responsiveness. The Vehicle Routing Problem with Cross-Docking and Time Windows (VRP-CD-TW) consists on designing the minimum-cost set of routes to serve a given set of transportation requests while respecting constraints on vehicles capacity, customer time windows and using transfers on a cross-docking base. Each customer must be visited just once and mixed tours comprising pick-up and delivery stops are not allowed. For a given vehicle, the designed pick-up tour must precede its delivery tour. In this work, we model the VRP-CD-TW assuming that all feasible orders are known in advance. We present a new mixed integer program to model the VRP-CD-TW and reformulate it via Dantzig–Wolfe decomposition to later develop a column generation procedure. The proposed branch-and-price algorithm shows encouraging results on solving some Solomon-based instances.


Introduction
Cross-docking has emerged as an important and efficient goods transportation strategy.As a variation of the well-known vehicle routing problem (VRP), the VRP with Cross-docking (VRPCD) arises in a number of logistic planning contexts.At cross-docking terminals incoming deliveries of inbound trucks are unloaded, sorted, moved across the dock and finally loaded onto outbound trucks, which immediately leave the terminal towards their next destination in the distribution chain.The crossdock is a consolidation point in a distribution network, where multiple smaller shipments can be merged to full truck loads in order to obtain savings in transportation [1].The objective of the VRP-CD-TW consists of designing the minimum-cost set of routes to serve a given set of transportation requests while fulfilling constraints on vehicles capacity and customer time windows and using goods transfers on a cross-docking base.As cross-docking is a comparatively new logistic strategy, there is not yet a massive body of literature on the subject.In fact, no research on the short-term truck-scheduling-problem was published before 2005.Lee at al. [2] considered cross-docking from an operational viewpoint in order to find the optimal vehicle routing schedule.Thus, an integrated model considering both crossdocking and vehicle routing scheduling was presented.Since the problem is NP-hard, a heuristic algorithm based on a taboo search algorithm was proposed.One of the objectives for cross docking systems is how well the trucks can be scheduled at the dock and how the items in inbound trucks can be allocated to the outbound trucks to optimize on some measure of system performance [3].The authors researched on how to find the best truck docking or scheduling sequence for both inbound and outbound trucks to minimize total operation time when a storage buffer to hold items temporarily is located at the shipping dock.The product assignment to trucks and the docking sequences of the inbound and outbound trucks are all determined simultaneously.Wen et al. [4] presented a very detailed mixed formulation for the problem and a taboo search heuristic embedded within an adaptive memory procedure.The procedure was tested on data sets unreported in the paper that were provided by the Danish Transvision consultancy involving up to 200 pair of nodes.Liao et al. [5] presented a new taboo search (TS) algorithm that was proposed to obtain a good feasible solution for the problem.Through extensive computational experiments, they claim that the proposed TS algorithm can achieve better performance than a previous TS by Lee et al. algorithm while using much less computation time.Boloori Arabani et al [6] studied some meta-heuristics to find the best sequence of inbound and outbound trucks, so that the objective, minimizing the total operation time or makespan, can be satisfied.In this work, we study the VRP-CD-TW and propose a branch-and-price algorithm for solving such a problem.In section 2 we formulate the problem.In section 3 we present and describe the branchand-price algorithm devised to solve the CRP-CD-TW.Computational results are presented and discussed in section 5 and the conclusions are outlined in section 4.

Problem Formulation
Let G[I; A] a directed graph involving the locations set I = {w ∪ I + ∪ I -} and the net A = {a ii' : i, i' ∈ I and i ≠ i'}.I contains the the cross-dock-base w, the pick-up nodes I + = {i 1 , ..., i n } and the delivery nodes I -= {i' 1 , ..., i' n' }.A request r = {i, i'} of a request list R = {r 1 , ... r r } consists of a demand of a transportation service from the origin-node(s) i ∈ I + to the destination node(s) i' I + for certain load l i .Each arc a ii' ∈ A have an associated non-negative cost c ij and an associated non-negative travel-time t ij .The service time on each node i ∈ I is defined by the parameter st i .Requests must be fulfilled through a homogeneous vehicles fleet V = {v 1 , v 2 , ..., v m }.The solution consists of a finite set of sequences of arcs, called routes, for some vehicles v ∈V such that: (i) Each vehicle can perform pick-up and/or delivery tours but each individual tour contains either pick-up or delivery locations.No "mixed" routes with both type of locations are allowed.(ii) For each vehicle, the pick-up tour must precede its designed delivery route.(iii) Each vehicle starts and ends the pick-up and/or delivery routes at the cross-dock base w.(iv) Each pick-up/delivery site i ∈ I + ∪ I -is assigned to exactly one route.(v) The actual load carried by a vehicle v must never exceed its transport capacity q v .(vi) The service for any pick-up/delivery node i ∈ I + ∪ I -must start within the time-window [a i , b i ]; (vii) The whole duration of the vehicle-v trip, including the pick-up tour, the transfer operations and the delivery tour must be shorter than a maximum routing time tv v max .(viii) The problem goal is to minimize the total cost for providing pickup/ delivery service to every node i ∈ I + ∪ I -.

Column Generation
In this section we introduce a set partitioning formulation of the problem above presented to later provide the formulations of the master problem and the pricing subproblem.

The Master Problem
The definition of the master problem requires the following notation: c r + is the cost of the pick-up route r + and a ir denotes a binary parameter equal to 1 if the route r + picks-up the cargo of the request r ∈ R. In the same way, c r -is the cost of the delivery route r -while b ir denotes a binary parameter equal to 1 if the route r -delivers the cargo of the request r ∈ R.After the introduction of the time-coordination constraint (4), the master problem can be formulated as follows: where x r + and x r -are binary variables associated respectively to pick-up routes r + and r -.The dual variables associated to constraints (2) and (3) are both collected in the vector π = [π 1 ,..., π i ,...] while π r = [πr 1 ,..., π rr ] collect the dual values associated to coordination constraint (4).The objective function (1) selects the set of pick-up and delivery routes that minimizes the total traveling cost.Constraints (2) ensure that all requests r ∈ R are picked from pick-up sites i ∈I + , while constraint (3) ensure that all requests r ∈ R are delivered to delivery locations i ∈I -.Constraint (4) coordinates the pick-up and delivery tours that move a request from its origin to its destination.So, the end of the pick-up tour must precede the time-start of the delivery tour.We remark that constraints (2) and (3) need to be modeled as partitioning constraints in the VRP-CD-TW, unlike common reformulations for routing problems that generally make use of covering constraints.This is due to the fact that a linear combination of active pick-up and delivery routes must lead to a solution on which the pick-up tour starts before the end of the delivery route.As a consequence, a partitioning solution equivalent to the optimal covering solution may be infeasible.

Pricing sub-problem
In a column generation scheme, given a dual solution of the (restricted) master problem, the pricing sub-problem identifies the route r* with the minimum reduced cost: The sub-problem formulation relies on the some integer and continuous variables and can be written as follows The objective (5) identifies the route with minimum reduced cost to perform by a single vehicle.Prices values are obtained from the dual values for constraints (3), ( 4) and (5).The cost constraints of the pick-up tour are given by eqs ( 6), ( 7) and (8).They compute the distances travelled to reach the visited sites i ∈ I + and the total cost of the generated route respectively.So, eqs.( 7) fix the accumulated distance up to each visited site.I.e. if nodes i and j are allocated to the generated pick-up route (Y i = Y j = 1), the visiting ordering for both sites is determined by the value of the sequencing variable S ij .If location i is visited before j (S ij = 1), according constraints (7.a), the travelled distance up to the location j (D j ) must be larger than D i by at least d ij .In case node j is visited earlier, (S ij = 0), the reverse statement holds and constraint (7.b) becomes active.If one or both nodes are not allocated to the tour, eqs (7.a)-(7.b)become redundant.M D is an upper bound for variables D i .Eq (8) transforms the total travelled distance into the route-cost CV.M C is an upper bound for the variable CV.The timing constraints stated by eqs.( 9), ( 10) and (11) define visiting-time constraints that are similar to constraints ( 6), ( 7) and (9) but apply to the time dimension.M T is an upper bound for the times T i spent to reach the nodes i ∈ I. Eq. ( 12) is the cargo-capacity constraint related to the pick-up tour.Eqs.(13) activate the variables YR r indicating that the cargo r is picked-up and delivered by the same vehicle.In such a case, the request cargo will remain on the truck and no dropoff/pick-up activities are incurred.Constraint (14.a) states that the time-end of the pick-up phase must be the sum of the time spent completing the pick-up tour plus the time incurred unloading cargos at the cross-dock base.Conversely, eq.(14.b) states that the delivery stage must start after the sum of time t end + and the time incurred in loading goods to be later delivered.Constraints (15)-( 17) are cost constraints related to the delivery tour while eqs.( 18)-(20) define time constraints related to this delivery tour.Eq. ( 21) apply the vehicle capacity constraint to the delivery tour and eq.( 22) forces the service time at any pick-up/delivery site i ∈ I to start at a time T i bounded by the time interval [a i , b i ].Finally, the eq.( 23) imposes the upper bound t v max to the total tour-time.

Branch and Price Implementation
The Foster and Ryan branching rule is very favourable for branch and price applications and fits easily with the VRP-CD-TW pricing problem since it is equivalent to branch on assignment decisions Y i , for all i ∈ I + ∪ I -.This branching rule is implemented as follows: Routes without any branching constraint are generated in the root node until no more columns can be obtained.After the bounds comparison in this node, a location is chosen based on a usual branching criterion (i.e.best first search) to later generate two sub-problems in the second tree-level.The first sub-problem generates routes that include a second chosen location while the second sub-problem generates a route without it.In the third level another location is introduced rising to (2 n-1 -1) = 3 the number of nodes of the branch-and-price tree.The worst case propagation involves (2 n-1 -1) nodes at the n level of the tree.To prune this tree, the global upper bound (GUB) and the local lower bound (LLB) are computed on each tree-node.The lower bound within a branch-and-price node is found by solving the linear problem defined by eqs.( 1)-( 4) on the subset of columns that fulfil the frozen assignment decisions of the node.That is easy because linear RMP involving several thousand columns are solved within a small fraction of a second using modern CPLEX codes in standard PCs.The GUB is more difficult to compute because involves the resolution of an integer RMP on all generated columns.Several computation techniques aimed at avoiding the complete problem resolution have been proposed.Nevertheless, the best upper bound can be computed by solving the integer RMP, branching on the column selection variables x r , because if the columns set remains in moderate sizes (i.e. a few thousand columns) this problem can be solved in a few seconds with state of the art branch-and-cut solvers.If the size of the columns poll grows above this threshold, some columns can be ignored according a filtering criterion.The filtering leads to a slimmed integer problem that provides a heuristic upper bound that may coincide with the optimal bound.This frequently occurs if the columns selection is correctly carried out.

Computational Results
The algorithm was coded and compiled with Gams 26.6.2 and the problems run under a Windows 7 operating system on a 2 GHz 16 GB RAM PC.To the best of our knowledge there are no standard datasets used to evaluate VRP-CD-TW solution algorithms.Some cited instances as those provided by the Danish Transvision Group [4] are not openly available.Consequently, we generated our test bed from the wellknown VRPTW Solomon's test-bed [7].To generate VRP-CD-TW instances, we took the first n = 10, 20, 30, 40 and 50 customers of the Solomon's R1-class problems.For each instance, the first half of them are considered pick-up sites while the second half are regarded as delivery locations.The service times at pick-up and delivery nodes are constants kept at the value st i = 10 taken from the Solomon instances.Also, the maximum routing time is kept at the value t v max = 230.In addition, different time-windows within with the pickup and delivery services must start, are also considered.They are taken from the Solomon instances R101, R105 and R109.As pick-up tours must precede delivery tours, some time-windows will be inconsistent and must be eliminated.In such a case, no time windows must be considered on the delivery locations.The Table 1 presents a summary of the instances solved by the branch-and price procedure.

Conclusions
In this work we presented a branch-and-price algorithm for solving the VRP-CD-TW.The branch-and-price algorithm has been implemented by adapting state-of-the-art techniques to the specific structure and properties of the problem.Computational results have shown that our algorithm is quite efficient in solving moderate-size instances.By analyzing the computational results, we can conclude that the problem is quite complex and therefore, hard to solve.Nevertheless, we managed to solve instances with up to 50 customers in reasonable CPU times.Although more efficient solution techniques could be explored, we consider these results satisfactory and a good starting point for investigating more sophisticated approaches in the future.

Table 1 .
Summary of the solutions found by the Branch-and-price procedure on the generated.