a branch-and-price algorithm for the double vehicle ... filea branch-and-price algorithm for the...

12
A Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas B. C. Chagas 1 and André G. Santos 1 1 Departamento de Informática, Universidade Federal de Viçosa, Viçosa, Minas Gerais, Brazil [email protected],[email protected] Abstract. This paper introduces the Double Vehicle Routing Problem with Mul- tiple Stacks and Heterogeneous Demand (DVRPMSHD). This problem is a more realistic generalization of the Double Vehicle Routing Problem with Multiple Stacks when customers have heterogeneous demands and the demand of each customer cannot be divided among two or more vehicles. The objective of this problem is to find optimal routes for a fleet of vehicles to visit all pickup and delivery locations while ensuring the feasibility of the loading plan. An integer linear programming and a branch-and-price algorithm are proposed. The com- putational results show that our branch-and-price algorithm is able to find the optimal solution for most of the instances reported and find better solutions than those found by the integer linear programming formulation for some instances. 1 Introduction Given the increasing competition among companies that seek to achieve consolidation and stability, scientific/technological advances and strategic business planning are cru- cial so that they become more competitive and able to conquer the consumer market. In this way, the companies seek to steadily improve the quality of their logistics processes. The transportation is one of the most important logistics processes, being funda- mental in providing services to customers [1]. The transport planning has been gaining importance in the current scenario and arousing attention for researchs that seek to adapt logistic processes to current needs, since the costs associated with transport has a high factor in logistic costs in most companies [2]. Due to economic importance, one of the most studied problems in combinatorial optimization is the Vehicle Routing Problem (VRP). Since it was first proposed in 1959 by Dantzig and Ramser [3], several studies have been done with the aim to propose new methods for solving the variations of this problem. According to Desrochers et. al. [4] the variants of VRP’s differ in aspects related to the type of vehicle fleet, location and customer demand, existence of temporal and spatial constraints, type of loading, objective of the problem and several other characteristics related to a specific scenario. Among the VRP’s variants, the one which considers load constraints, known as Routing Problems with Loading Constraints, has become very attractive because these problems are beyond the theoretical field, being viewed in the real-world. Iori and

Upload: phungdieu

Post on 02-Jul-2019

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

A Branch-and-Price Algorithm for the Double VehicleRouting Problem with Multiple Stacks and

Heterogeneous Demand

Jonatas B. C. Chagas1 and André G. Santos1

1Departamento de Informática, Universidade Federal de Viçosa,Viçosa, Minas Gerais, Brazil

[email protected],[email protected]

Abstract. This paper introduces the Double Vehicle Routing Problem with Mul-tiple Stacks and Heterogeneous Demand (DVRPMSHD). This problem is a morerealistic generalization of the Double Vehicle Routing Problem with MultipleStacks when customers have heterogeneous demands and the demand of eachcustomer cannot be divided among two or more vehicles. The objective of thisproblem is to find optimal routes for a fleet of vehicles to visit all pickup anddelivery locations while ensuring the feasibility of the loading plan. An integerlinear programming and a branch-and-price algorithm are proposed. The com-putational results show that our branch-and-price algorithm is able to find theoptimal solution for most of the instances reported and find better solutions thanthose found by the integer linear programming formulation for some instances.

1 Introduction

Given the increasing competition among companies that seek to achieve consolidationand stability, scientific/technological advances and strategic business planning are cru-cial so that they become more competitive and able to conquer the consumer market. Inthis way, the companies seek to steadily improve the quality of their logistics processes.

The transportation is one of the most important logistics processes, being funda-mental in providing services to customers [1]. The transport planning has been gainingimportance in the current scenario and arousing attention for researchs that seek to adaptlogistic processes to current needs, since the costs associated with transport has a highfactor in logistic costs in most companies [2].

Due to economic importance, one of the most studied problems in combinatorialoptimization is the Vehicle Routing Problem (VRP). Since it was first proposed in 1959by Dantzig and Ramser [3], several studies have been done with the aim to proposenew methods for solving the variations of this problem. According to Desrochers et. al.[4] the variants of VRP’s differ in aspects related to the type of vehicle fleet, locationand customer demand, existence of temporal and spatial constraints, type of loading,objective of the problem and several other characteristics related to a specific scenario.

Among the VRP’s variants, the one which considers load constraints, known asRouting Problems with Loading Constraints, has become very attractive because theseproblems are beyond the theoretical field, being viewed in the real-world. Iori and

Page 2: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

2 Chagas, J.B.C. and Santos, A.G.

Martello [5] made an study about the problems that combine routing and loading con-straints, reporting its characteristics, importance and applications.

In 2009, Petersen and Madsen [6] formulated the Double Travelling Salesman Prob-lem with Multiple Stacks (DTSPMS) motivated by a real world application arising intransportation of pallets between a pickup region and a delivery region. The DTSPMSarises in a context where the pickup and delivery regions are widely separated. In thisproblem, a single vehicle must load all products in the pickup region before unloadthem in the delivery region. All products have the same size and shape, and the load-ing compartment of the vehicle (container) is divided into stacks of fixed height. Theproduct are collected in the pickup region and stored in stacks. The products cannotbe rearranged in container, i.e., once that a particular product is stored in some stack itshould remain unmoved up to the unloading. In the delivery region the products must beunloaded and delivered respecting a LIFO policy, i.e., at any time, the customers servedmust be the ones with items on top of a stack, according to the loading in the pickupregion. The cost of transport between the two regions is fixed and is not considered aspart of the optimization problem. The objective is to find two tours, one for each region,of minimum total cost while ensuring the feasibility of the loading plan.

Since Petersen and Madsen [6] proposed a mathematical formulation and a heuris-tic approach based on the simulated annealing metaheuristic to solve the DTSPMS, agreat interest on the problem aroused in the academic community, emerging several ap-proaches to solve it. Felipe et. al. [7] proposed a neighborhood structure and a variableneighborhool serch algorithm. Carrabs et. al. [8] proposed a branch-and-bound algo-rithm for a special case of the problem, when the vehicle has exactly two stacks. AlbaMartínez et. al. [9] proposed an exact algorithm based on a branch-and-cut framework.

In 2015, Iori and Riera-Ledesma [10] formulated a generalization for the DTSPMSmotivated by the fact that not always a single vehicle is able to meet the demand ofproducts, thus more than one is needed. Similarly as in the DTSPMS, the goal is to col-lect the products in the pickup region and deliver them in their respective places in thedelivery region, respecting the LIFO policy on the containers. However, the differenceis that now there is a fleet of vehicles available to performe the needs. The vehicle fleetis fixed, i.e., the number of vehicles used is already defined. Also, the fleet of vehiclesmay be heterogeneous, i.e., the vehicle loading compartment may be different.

Regarding the proposed approaches to solve the DVRPMS, Iori and Riera-Ledesma[10] proposed three exact algorithms to solve the DVRPMS: a branch-and-cut, a branch-and-price and a branch-and-cut-and-price. Silveira et. al [11] proposed three heuristicalgorithms based on simulated annealing, iterated local search and variable neighboorddescent.

In this paper we consider a more realistic generalization of the DVRPMS, whichconsiders that customers have heterogeneous demand and all demand of each customershould be served by a single vehicle. We call this generalization the Double VehicleRouting Problem with Multiple Stacks and Heterogeneous Demand (DVRPMSHD).

Figure 1 represents a viable solution example for an instance of the DVRPMSHDinvolving 12 requests and 3 vehicles with containers of size (2×4), (2×3) and (2×3).The demand value of each vertex is indicated by the number beside of each one. Foreach vehicle are associated a tour in the pickup region, a tour in the delivery region and

Page 3: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand 3

a loading plan of the container. The tours of each vehicle respect the LIFO policy onthe container. Notice that the demand of a customer may be split in different stacks, aslong as they belong to the same vehicle.

Fig. 1. An example of a feasible solution for the DVRPMSHD

The remaining of this paper is organized as follows. In Section 2 the DVRPMSHDis formally defined. In Section 3 we present an Integer Linear Programming (ILP) for-mulation for the problem. Section 4 presents the proposed branch-and-price algorithm.Finally, the computational experiments are reported in section 5 and in section 6 wepresent our conclusions.

2 Problem definition

The DVRPMSHD can be formally described as follows. Let I = {1,2, ...,n} be the setof n customer requests, and let also V P

c = {1P,2P, ...,nP} be the set of vertices thatrepresent the locations of the pickup customers and V D

c = {1D,2D, ...,nD} representingthe locations of the delivery customers. Each request i ∈ I is associated with a pickupvertex iP, a delivery vertex iD and a value di representing the request demand, i.e., thenumber of products that has to be loaded at the vertex iP, transported and unloaded atthe vertex iD.

The DVRPMSHD is defined on two complete directed graphs, GP = (V P, EP)and GD = (V D, ED), where V P = V P

c ∪ {0P} and V D = V Dc ∪ {0D} represents, re-

spectively, the vertices in the pickup and delivery regions, being 0P and 0D the de-pots on each region. The set of edges in pickup and delivery regions are defined byEP = {(iP, jP,cP

i j)∀iP ∈V P,∀ jP ∈V P | jP 6= iP} and ED = {(iD, jD,cDi j)∀iD ∈V D,∀ jD ∈

V D | jD 6= iD}, where cPi j and cD

i j are, respectively, the routing costs associated to edges(iP, jP) and (iD, jD).

The vehicles of set K depart always from the pickup and delivery depots. The load-ing compartment of each vehicle k ∈ K is divided into Rk stacks of height Lk. Thevehicles must collect all products from customers located in the pickup region, storing

Page 4: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

4 Chagas, J.B.C. and Santos, A.G.

them in their containers and then deliver them in the delivery region. The routes of eachvehicle must satisfy the LIFO policy in all stacks of all vehicles, i.e., if a pickup vertexiP is visited before the pickup vertex jP, and some product of the request i and someproduct of the request j are loadead into the same stack, then the delivery vertex jD

must be visited before the delivery vertex iD.In order to simplify the notation, we use T = {P, D} to define the properties applied

in both graphs. We also adopted the notation described by Iori and Riera-Ledesma in[10] using i to denote both iP and iD, and (i, j) to denote both (iP, jP) and (iD, jD).

3 ILP formulation

Our formulation for the DVRPMSHD is based on the ILP formulations for the DTSPMSdefined by Petersen and Madsen [6] and for the DVRPMS proposed by Iori and Riera-Ledesma [10]. The decision variables used are:

– xkTi, j : binary variable that gets 1 if vehicle k crosses the arc (i, j) and 0 otherwise. T

indicates that the properties of the variable are valid for both regions, P or D.– y T

i j : binary variable that gets 1 if vertex i is visited before vertex j in region T and0 otherwise.

– wkTi : binary variable that gets 1 if vehicle k visits the customer in i of region T and

0 otherwise.– zrk

ih : binary variable that gets 1 if the h-th item of customer i is placed in stack r ofthe vehicle k and 0 otherwise.

Using these variables we can obtain the following ILP formulation:

min ∑k∈K

∑T∈{P,D}

∑(i, j)∈ET

c Ti j xkT

i j (1)

∑j∈V T

c

xkT0 j = 1 ∀k ∈ K,∀ T ∈ {P,D} (2)

∑i∈V T

c

xkTi0 = 1 ∀k ∈ K,∀ T ∈ {P,D} (3)

∑i∈V T \{ j}

xkTi j = wkT

j ∀k ∈ K,∀ T ∈ {P,D},∀ j ∈V Tc (4)

∑j∈V T \{i}

xkTi j = ∑

j∈V T \{i}xkT

ji ∀k ∈ K,∀ T ∈ {P,D},∀i ∈V Tc (5)

∑k∈K

wkTi = 1 ∀ T ∈ {P,D},∀i ∈V T

c (6)

∑i∈I

di

∑h=1

zrkih = Lk ∀k ∈ K,∀r = 1..Rk (7)

di

∑h=1

Rk

∑r=1

zrkih = diwkP

i ∀k ∈ K,∀i ∈ I (8)

Page 5: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand 5

wkPi = wkD

i ∀k ∈ K,∀i ∈ I (9)

y Ti j + y T

ji = 1 ∀ T ∈ {P,D},∀i ∈V Tc ,∀ j ∈V T

c \{i} (10)

y Til + y T

l j ≤ y Ti j +1 ∀ T ∈ {P,D},∀l ∈V T

c ,∀i ∈V Tc ,∀ j ∈V T

c \{i} (11)

xkTi j ≤ y T

i j ∀k ∈ K,∀ T ∈ {P,D},∀i ∈V T ,∀ j ∈V T \{i} (12)

y Pi j + zrk

ih + zrkjh′ ≤ 3− y D

i j∀k ∈ K,∀i ∈ I,∀ j ∈ I \{i},

∀h = 1..di,∀h′ = 1..d j,∀r = 1..Rk(13)

∑j∈I

jxkP0 j ≤∑

j∈Ijxk′P

0 j ∀k ∈ K,∀k′ ∈ K | k < k′,Rk = Rk′ ,Lk = Lk′ (14)

xkTi j ∈ {0,1} ∀k ∈ K,∀ T ∈ {P,D},∀(i, j) ∈ ET (15)

y Ti j ∈ {0,1} ∀ T ∈ {P,D},∀i ∈V T ,∀ j ∈V T \{i} (16)

zrkih ∈ {0,1} ∀k ∈ K,∀i ∈ I,∀h = 1..di,∀r = 1..Rk (17)

wkTi ∈ {0,1} ∀k ∈ K,∀ T ∈ {P,D},∀i ∈V T

c (18)

The objective function (1) minimizes the total routing cost of the vehicles. The con-straints (2) and (3) force each vehicle to leave and arrive in the depot. The constraint(4) ensures that a edge (i, j) is crossed by a vehicle k only if the request j is served byvehicle k. The constraint (5) ensures that the same vehicle must arrive and leave of onevertex. The constraint (6) guarantees that each customer is attended by just one vehi-cle. The constraint (7) ensures that the capacity of the stacks is not extrapolated. Theconstraint (8) forces that all demand of a customer must be carried by a single vehi-cle. The constraint (9) ensures that the same vehicle must attend the same customer inthe pickup region and in the delivery region. The constraints (10) and (11) respectivelyimpose an order of visit of customers on each region and ensures a transitivity on thisorder. The constraint (12) ensures that if the edge (i, j) is used by some vehicle, theni is visited before j. The constraint (13) expresses the LIFO constraints: if products ofcustomers i and j are loaded in the same stack r of vehicle k, with i visited before j inthe pickup region, then i cannot be visited before j in the delivery region. The constraint(14) breaks the symmetry arising from the formulation imposing a lexicographical or-der on the routes of vehicles with the same container configuration. And, finally, theconstraints (15) to (18) define the scope and domain of the decision variables.

This formulation completely describes the problem and may used by an ILP solverto solve a given instance. An alternative formulation, more suitable to be solved by acolumn generation technique, is given in the next section.

4 Branch-and-price algorithm

In this section we describe our branch-and-price algorithm, detailing the set partitioningformulation, the components of the column generation (pricing) and the criteria used inthe branching process.

4.1 Set partitioning formulation

Let Sk be the set of all feasible loadings for vehicle k ∈ K. In order to be feasible, aloading must serve a subset of requests, include all demand of the requests served, do

Page 6: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

6 Chagas, J.B.C. and Santos, A.G.

not exceed the vehicle’s capacity, and the products be positioned in a way that there isa sequence of customer’s visit that respects the LIFO policy. For a given s ∈Sk, let cs

kbe the minimal total routing cost to load and unload the items considering the loadingpattern s, and let ps

ki describe the requests served, being 1 if the request i is attended bythe loading pattern s and 0 otherwise.

In order to formulate the DVRPMSHD using a set partitioning formulation we de-fine the decision binary variable λ s

k that assumes 1 if the requests of the loading patterns are attended by the vehicle k, and 0 otherwise. Then, DVRPMSHD can be formulatedby:

min ∑k∈K

∑s∈Sk

cskλ

sk (19)

∑k∈K

∑s∈Sk

p skiλ

sk = 1 ∀i ∈ I (20)

∑s∈Sk

λsk = 1 ∀k ∈ K (21)

λsk ∈ {0,1} ∀k ∈ K,∀s ∈Sk (22)

By the constraints (21), exactly one loading pattern is chosen for each vehicle. Thechosen patterns must serve all requests (constraint (20)) and have minimal total cost(objective function (19)).

Although simple to describe, this formulation has an implicit complexity, whichis the necessity to generate (and work with) the set of all feasible loading patterns foreach vehicle configuration. The size of these sets may be quite huge. Fortunately the setsmay be generated on-the-fly using a column generation technique, which is describedin the following. However, this technique requires the integrality constraint (22) to berelaxed, forcing the process to be embedded in a branch-and-bound approach, leadingto a branch-and-price algorithm, which will be detailed later.

4.2 Column generation

As pointed before, the model (19)-(22) may be difficult to solve due to the huge numberof variables. In fact, this number grows exponentially with the number of customers andstacks on the vehicles. In this formulation, a variable (from now on called column) rep-resents a feasible pattern (routes and loading plan). In a column generation approach,the model is decomposed into a master problem, that is a linear version of the origi-nal problem containing only a restricted number of columns, and in a subproblem, thatiteratively generates promising columns. In order to iteratively improve the current so-lution, the master problem sends the dual prices of its constraints to the subproblem,which in turn uses these dual prices to evaluate and generate patterns whose reducedcost improves the current master solution by the simplex algorithm. The process con-tinues until the subproblem is not able to generate improve columns. If the subproblemis solved to optimality, the last solution of the master problem will be (linear) optimal.The master problem and the subproblem of our approach are detailed in the following.We suggest the book [12] for the readers interested in the theory behind the columngeneration method.

Page 7: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand 7

Master problem The master problem is a linear version of the set partitioning basedformulation, i.e., objective function (19), constraints (20), (21) and the following (23)instead of (22). Moreover, instead of using the full set Sk of feasible columns for eachvehicle, the model uses a subset Sk ⊆ Sk of the columns, which is filled iterativelyby the subproblem. Every time the master problem is solved, besides a linear solution,the simplex method provides dual prices associated to its constraints. We denote by πithe dual price for request i and by αk the dual price for vehicle k, respectively fromconstraints (20) and (21). These values are passed to the subproblem in order to obtainnew promising columns.

0≤ λsk ≤ 1 ∀k ∈ K,∀s ∈Sk (23)

Subproblem Guided by the dual prices provided by the master problem, the subprob-lem searches a column of minimal reduced cost, or at least a column with negativereduced cost. A column, in our context, is a loading pattern, including the routing cost.The reduced cost is the routing cost discounted the dual prices, which varies accordingto the requests attended and the vehicle used. The objective is then expressed by (24).Instead of only one subproblem, we work with |K| subproblems, one for each vehicle.This is possible because the only dependence between the different vehicles is that eachrequest must be attended by one and only one vehicle, a constraint already covered inthe master problem. The ILP formulation for the subproblem is then very similar to themodel (1)-(18) with the following differences: the index k is dropped in all variablesas it deals with one vehicle a time; constraints (6), (9) and (14) are removed; and con-straint (10) is substituted by (25), because not all requests are to be attended by a singlevehicle.

min ∑T∈{P,D}

∑(i, j)∈ET

c Ti j xT

i j−∑i∈I

πiwi−αk (24)

y Ti j + y T

ji = wi ∀ T ∈ {P,D},∀i ∈V Tc ,∀ j ∈V T

c \{i} (25)

4.3 Branching

If the column generation process runs until no column with negative reduced cost exists,the final solution of the master problem is optimal. It may not be integral, however, asthe model solved is a linear relaxation of the set partitioning model. In this case, westart a branch-and-bound (B&B) enumeration to achieve the integer optimal solution.The difference to a standard B&B is that columns, i.e., new variables, may be generatedon each node of the enumeration tree. The whole process is then called branch-and-price[12].

In every node of the B&B tree, if a non-integral solution is found, a request is chosento be fixed (and later forbidden) in a certain vehicle. Similarly as was demonstrated bySavelsbergh in [13] for the generalized assignment problem, if λ s′

k is fractional for anys′ ∈ Sk, then some request is only partially served by the vehicle k, i.e., there is arequest i covered by s′ such that ∑s′∈Sk

p s′ki λ s′

k < 1. Among such requests not integraly

Page 8: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

8 Chagas, J.B.C. and Santos, A.G.

served by a vehicle we chose the one that has close value to zero. In one side of thetree, the vehicle is forbid to serve this request, by fixing wi = 0 in the subproblem ofvehicle k. In the other side, it is forced to be served by this vehicle, by fixing wi = 1in the subproblem of vehicle k and wi = 0 in other subproblems. Additional constraintson values of the variables are also added on the master problem accordingly. Integersolutions found during the process updates the best solution, which are kept as an upperbound to the final solution.

Due to time constraints, the process may not run until the end. We would have asubset of columns that not necessarily contains the ones of the optimal solution. In thiscase, we simply run the master problem again, this time imposing integrality on allvariables. This may lead to a feasible solution, although not optimal.

5 Computational experiments

Our implementations were coded in C/C++ using the Concert Technology Library ofCPLEX 12.5 academic version, with CPLEX default settings, except for the runtimethat was limited to 1 hour. All experiments were performed on an Intel Core i7-4790KCPU @ 4.00 GHz x 8 desktop computer with 32GB RAM, Ubuntu 14.04 LTS 64 bits.

5.1 Instances description

In order to validate our approaches, the computational experiments were performedusing 90 instances built from the DTSPMS instances proposed by Petersen and Madsen[6], where the items are randomly arranged in two regions (pickup and delivery) ofdimension 100 ×100, being the depot located at (50, 50). Euclidean distances wererounded to the nearest integer and the sets of items were named R00 to R04. In some ofthese instances, not all items are used. Therefore, the items were chosen in ascendingorder starting from the first item in the list.

Based on Iori and Riera-Ledesma [10], we defined 18 types of fleet configurations,whose characteristics are show in Table 1. Each type is descrived by the number ofvehicles |K|, the configuration of the containers of the vehicle fleet and the maximumcapacity of the freight.

In order to define the demand values for each customer, we used an integer-valueduniform distribution between 1 and 3. Table 2 shows the values generated considering6, 9, 12, 15, 18 and 24 customers.

5.2 Experimental results

Here we report the results obtained by our approaches for the DVRPMSHD. Noticethat since there is no literature regarding this problem, we are only going to comparethe results of our approaches.

In Table 3 the four first columns describe the instances, being that each instance isidentified by a number (column ID), a name indicating the pickup and delivery regions(column R), a type of vehicle feet (column F) (see Table 1) and a demand distribution(column D) (see Table 2). The results obtained by the ILP formulation are described

Page 9: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand 9

Table 1. Configuration of the containers for each type of fleet

Type |K| (R×L)′s ∑k∈K RkLk

(a) 2 (2×3) (2×3) 12(b) 2 (2×2) (2×4) 12(c) 3 (2×2) (2×2) (2×2) 12

(d) 2 (2×3) (3×4) 18(e) 3 (2×3) (2×3) (2×3) 18( f ) 4 (2×2) (2×2) (2×2) (2×3) 18

(g) 2 (3×4) (3×4) 24(h) 3 (2×4) (2×4) (2×4) 24(i) 4 (2×3) (2×3) (2×3) (2×3) 24

( j) 2 (3×5) (3×5) 30(k) 3 (2×5) (2×5) (2×5) 30(l) 4 (2×3) (2×4) (2×4) (2×4) 30

(m) 2 (3×6) (3×6) 36(n) 3 (3×4) (3×4) (3×4) 36(o) 4 (2×4) (2×4) (2×4) (3×4) 36

(p) 2 (3×8) (3×8) 48(q) 3 (3×5) (3×5) (3×6) 48(r) 4 (3×4) (3×4) (3×4) (3×4) 48

Table 2. Uniform distribution of the demand values for each number of customers

Type # customers Demands∑ demands1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

(i) 6 3 1 3 1 2 2 12(ii) 9 3 1 3 2 2 2 1 1 3 18(iii) 12 3 1 3 2 3 2 1 1 3 2 1 2 24(iv) 15 2 1 3 2 3 2 1 1 3 2 1 2 1 3 3 30(v) 18 2 1 3 2 3 2 3 1 3 2 1 1 1 3 3 2 1 2 36(vi) 24 2 1 3 3 1 2 3 1 3 2 1 2 1 3 3 2 1 2 2 2 1 3 1 3 48

in the following columns. The column UB shows the best solution value obtained atthe end of the computation, LB0 informs the value of the lower bound computed re-laxing the ILP formulation to an LP formulation,%g0 shows the relative gap betweenUB and LB0 computed as (UB - LB0)/UB, %g shows the relative gap between UBand LB computed as (UB - LB)/UB, where LB is the lower bound value at the end ofthe computation. The column Opt indicates by an asterisk the instances solved to op-timality and the column t(s) informs the total processing time. The following columnsdescribe the results obtained for the branch-and-price algorithm. The column LB0 in-forms the value of the lower bound computed in the root node, the columns #N and #Cshow, respectively, the number of nodes expanded and the number of columns addedby the algorithm. The other columns have the same meaning of the columns for the ILPformulation.

Notice that the best results are boldfaced, and each empty cell means that the infor-mation has not been obtained with the processing time limited to 1 hour.

For all instances which the branch-and-price algorithm was not able to find theoptimal solution, the following procedure was performed. All variables λ s

k included inthe master problem (columns) were defined to be binary (λ s

k ∈ {0,1} ∀k ∈K,∀s∈ Sk),and the master problem is solved again. The goal of this process is to find an integersolution using the columns already inserted in the master problem.

Page 10: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

10 Chagas, J.B.C. and Santos, A.G.

Table 3: Comparison between ILP formulation and branch-and-price algorithmInstance ILP formulation Branch-and-Price

ID R F D UB LB0 %g0 %g Opt t(s) UB LB0 %g0 #N #C Opt t(s)1 R00 (a) (i) 555 478.0 13.87 0.00 * 0.1 555 555.0 0.00 1 14 * 0.12 R01 636 419.0 34.12 0.00 * 0.2 636 636.0 0.00 1 14 * 0.23 R02 614 513.0 16.45 0.00 * 0.1 614 614.0 0.00 1 10 * 0.24 R03 507 446.0 12.03 0.00 * 0.2 507 507.0 0.00 1 16 * 0.25 R04 573 443.0 22.69 0.00 * 0.2 573 573.0 0.00 1 16 * 0.3

6 R00 (b) 572 556.0 2.80 0.00 * 0.2 572 572.0 0.00 1 15 * 0.57 R01 589 412.1 30.03 0.00 * 0.1 589 589.0 0.00 1 17 * 1.28 R02 590 590.0 0.00 0.00 * 0.1 590 590.0 0.00 1 15 * 0.99 R03 480 399.0 16.88 0.00 * 0.1 480 480.0 0.00 1 16 * 0.6

10 R04 559 452.1 19.12 0.00 * 0.2 559 559.0 0.00 1 14 * 0.8

11 R00 (c) 699 699.0 0.00 0.00 * 0.2 699 699.0 0.00 1 21 * 0.212 R01 783 527.0 32.69 0.00 * 0.3 783 783.0 0.00 1 12 * 0.113 R02 746 548.0 26.54 0.00 * 0.2 746 746.0 0.00 1 12 * 0.114 R03 616 400.6 34.97 0.00 * 0.3 616 616.0 0.00 1 18 * 0.115 R04 678 438.6 35.31 0.00 * 0.3 678 678.0 0.00 1 18 * 0.2

16 R00 (d) (ii) 725 581.0 19.86 0.00 * 1.2 725 725.0 0.00 1 30 * 4.117 R01 741 534.0 27.94 0.00 * 1.5 741 741.0 0.00 1 28 * 5.818 R02 776 514.9 33.65 0.00 * 4.9 776 776.0 0.00 1 25 * 5.719 R03 693 545.2 21.33 0.00 * 1.5 693 693.0 0.00 1 26 * 4.520 R04 679 545.3 19.69 0.00 * 1.2 679 679.0 0.00 1 32 * 7.3

21 R00 (e) 887 580.8 34.52 0.00 * 3.5 887 887.0 0.00 1 51 * 1.822 R01 932 538.3 42.24 0.00 * 3.7 932 932.0 0.00 1 60 * 2.623 R02 995 522.0 47.54 0.00 * 3.3 995 987.5 0.75 11 58 * 8.424 R03 870 546.0 37.24 0.00 * 22.1 870 854.0 1.84 11 73 * 10.725 R04 863 541.0 37.31 0.00 * 20.4 863 863.0 0.00 1 72 * 3.3

26 R00 (f) 1013 591.9 41.57 0.00 * 3.5 1013 999.0 1.38 17 52 * 9.427 R01 1054 534.2 49.32 0.00 * 4.5 1054 1054.0 0.00 1 47 * 1.528 R02 1077 524.0 51.35 0.00 * 4.2 1077 1077.0 0.00 1 39 * 1.229 R03 985 546.0 44.57 0.00 * 33.9 985 985.0 0.00 1 47 * 1.630 R04 977 541.0 44.63 0.00 * 16.9 977 977.0 0.00 1 44 * 2.0

31 R00 (g) (iii) 844 621.3 26.39 0.00 * 87.0 844 844.0 0.00 1 86 * 33.332 R01 852 604.0 29.11 0.00 * 42.0 852 852.0 0.00 1 52 * 13.633 R02 813 550.6 32.28 0.00 * 151.0 813 813.0 0.00 1 84 * 78.634 R03 836 624.0 25.36 0.00 * 133.2 836 836.0 0.00 1 80 * 54.235 R04 763 560.5 26.54 0.00 * 58.8 763 758.0 0.66 7 138 * 85.9

36 R00 (h) 959 623.0 35.04 0.00 * 80.5 959 959.0 0.00 1 77 * 7.237 R01 1032 604.0 41.47 0.00 * 67.2 1032 1032.0 0.00 1 81 * 8.338 R02 944 550.5 41.68 0.00 * 178.3 944 944.0 0.00 1 93 * 13.639 R03 988 621.3 37.12 0.00 * 231.5 988 988.0 0.00 1 90 * 17.140 R04 842 562.0 33.25 0.00 * 59.6 842 842.0 0.00 1 105 * 17.2

41 R00 (i) 1162 623.0 46.39 0.00 * 575.6 1162 1162.0 0.00 1 100 * 7.542 R01 1176 604.0 48.64 0.00 * 224.7 1176 1176.0 0.00 1 68 * 5.243 R02 1129 549.8 51.30 0.00 * 384.2 1129 1103.5 2.26 27 176 * 75.044 R03 1095 620.0 43.38 0.00 * 510.8 1095 1079.5 1.42 83 209 * 159.745 R04 992 563.1 43.24 0.00 * 366.8 992 992.0 0.00 1 96 * 6.9

46 R00 (j) (iv) 909 632.0 30.47 0.00 * 2740.5 909 908.5 0.06 7 180 * 1873.447 R01 935 587.7 37.14 0.00 * 703.0 935 935.0 0.00 1 74 * 338.548 R02 822 566.7 31.06 0.00 * 864.8 822 822.0 0.00 1 125 * 1701.349 R03 938 668.9 28.69 0.00 * 608.3 938 938.0 0.00 1 104 * 751.950 R04 855 681.1 20.34 0.00 * 376.4 855 855.0 0.00 1 122 * 277.2

51 R00 (k) 1094 632.0 42.23 2.96 1h 1094 1076.0 1.65 49 344 * 1017.452 R01 1088 589.2 45.85 0.00 * 3302.0 1088 1088.0 0.00 1 147 * 79.053 R02 1010 563.5 44.21 8.86 1h 1006 1006.0 0.00 1 165 * 163.854 R03 1115 663.4 40.50 5.45 1h 1115 1103.0 1.08 41 333 * 752.255 R04 1008 668.6 33.67 0.00 * 1863.1 1008 1008.0 0.00 1 147 * 92.5

56 R00 (l) 1162 632.0 45.61 16.78 1h 1151 1151.0 0.00 1 102 * 44.257 R01 1243 587.1 52.77 15.04 1h 1243 1243.0 0.00 1 116 * 45.358 R02 1129 567.6 49.73 20.35 1h 1126 1126.0 0.00 1 121 * 63.359 R03 1227 672.7 45.18 19.29 1h 1208 1203.3 0.39 3 165 * 118.560 R04 1098 668.6 39.11 10.68 1h 1098 1098.0 0.00 1 131 * 57.9

Page 11: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand 11

Table 3: (continued) Comparison between ILP formulation and branch-and-price algorithmInstance ILP formulation Branch-and-Price

ID R F D UB LB0 %g0 %g Opt t(s) UB LB0 %g0 #N #C Opt t(s)61 R00 (m) (v) 1005 665.0 33.83 19.33 1h 1118 - - 1 98 1h62 R01 985 690.8 29.87 20.68 1h - - - 1 116 1h63 R02 884 645.5 26.98 12.33 1h 1026 - - 1 94 1h64 R03 1081 687.8 36.37 22.32 1h 1062 - - 1 106 1h65 R04 930 680.0 26.88 13.92 1h 1108 - - 1 152 1h

66 R00 (n) 1196 665.0 44.40 32.77 1h - - - 1 143 1h67 R01 1148 676.5 41.07 28.97 1h 1113 1113.0 0.00 1 222 * 930.368 R02 1103 624.0 43.43 28.10 1h 1154 - - 1 213 1h69 R03 1234 687.5 44.29 34.38 1h 1162 1162.0 0.00 1 216 * 2779.970 R04 1151 680.0 40.92 29.94 1h 1101 1065.5 - 6 262 1h

71 R00 (o) 1265 665.0 47.43 35.70 1h 1255 1255.0 0.00 1 149 * 441.272 R01 1431 674.1 52.89 40.85 1h 1254 1254.0 0.00 1 195 * 595.673 R02 1266 619.9 51.03 37.47 1h 1182 1182.0 0.00 1 206 * 3058.074 R03 1385 687.3 50.38 40.48 1h 1337 1303.0 2.54 58 418 1h75 R04 1271 680.0 46.50 34.40 1h 1191 1191.0 0.00 1 187 * 432.8

76 R00 (p) (vi) 2645 724.2 72.62 69.80 1h 2072 - - 1 58 1h77 R01 3047 769.8 74.74 73.52 1h - - - 1 58 1h78 R02 2619 753.6 71.23 68.56 1h 1642 - - 1 56 1h79 R03 2783 813.8 70.76 69.28 1h 1793 - - 1 60 1h80 R04 1716 717.6 58.18 54.50 1h - - - 1 50 1h

81 R00 (q) 1624 726.6 55.26 53.45 1h - - - 1 69 1h82 R01 1854 755.3 59.26 57.43 1h - - - 1 75 1h83 R02 1725 755.6 56.20 54.00 1h - - - 1 78 1h84 R03 1646 816.7 50.38 48.72 1h - - - 1 75 1h85 R04 1348 715.1 46.95 43.18 1h - - - 1 76 1h

86 R00 (r) 1802 729.6 59.51 58.84 1h - - - 1 252 1h87 R01 1954 755.7 61.33 59.95 1h - - - 1 236 1h88 R02 1709 757.5 55.68 54.94 1h - - - 1 212 1h89 R03 1842 810.6 55.99 53.93 1h - - - 1 244 1h90 R04 1706 717.5 57.94 56.25 1h - - - 1 240 1hSum/Average 1109.8 612.4 39.11 15.64 52 1672.6 961.3 910.2 0.21 4.4 104.9 66 1140.8

The results show that, within a 1 hour time timit, our ILP formulation and thebranch-and-price algorithm were able to solve 52 and 66 instances, respectively, ofthe 90 instances. It is also noticed that for 80% of the instances the branch-and-pricealgorithm found equal or better solutions compared to the solution obtained by ILPformulation.

Note that, for all instances, when the root node was fully processed by both methods,the initial gap value (column %g0) of the branch-and-price algorithm is zero or closeto zero, whilst the gaps for the ILP formulation are very high, indicating that the modelbased on set partitioning formulation is stronger, as it has a better linear relaxation value.Even though, for the smaller instances the initial gap of the ILP formulation could bereduced to zero (column %g), proving optimality.

We can also observe that for several instances the branch-and-price algorithm con-sumes a lot of processing time, not being able to process completely the root node (then,the linear optimal LB0 is not found). Even when this occurs, the columns already gen-erated may be enough to compose a good integer solution. For example, for instanceswith ID 64, 76, 78 and 79, the UB value are better than the ones found using the ILPformulation.

Regarding the computational time, both methods were limited to one hour. Analysingthe average computation time of all 90 instances, the branch-and-price algorithm wasmore efficient, being 1.5 times faster than the ILP formulation.

Page 12: A Branch-and-Price Algorithm for the Double Vehicle ... fileA Branch-and-Price Algorithm for the Double Vehicle Routing Problem with Multiple Stacks and Heterogeneous Demand Jonatas

12 Chagas, J.B.C. and Santos, A.G.

6 Conclusions and further investigations

In this paper we introduced and proposed two exact methods to solve a generaliza-tion of the Double Vehicle Routing Problem with Multiple Stacks (DVRPMS). Thisgeneralization was called Double Vehicle Routing Problem with Multiple Stacks andHeterogeneous Demand (DVRPMSHD) in order to model a more realistic case of theDVRPMS, as customers usually have heterogeneous demand.

We have tested our approaches for the DVRPMSHD with 90 instances created basedon instances proposed in the literature, and our computational experiments shows thatthe branch-and-price algorithm is able to solve most of them.

As future work for the DVRPMSHD we intend to develop heuristic algorithms inorder to find good solutions in short computational time.

Acknowledgments The authors thanks the Coordenação de Aperfeiçoamento de Pes-soal de Nível Superior (CAPES) and GAPSO Company for financial support of thisproject.

References1. Grabara, J., Kolcun, M., Kot, S.: The role of information systems in transport logistics. Inter-

national Journal of Education and Research, 2, 1–6 (2014)2. Aggelakakis, A., Bernardino, J., Boile, M., Christidis, P., Condeco, A., Krail, M., Schippl, J.:

The future of the transport industry. Technical report, Institute for Prospective and Technolog-ical Studies, Joint Research Centre (2015)

3. Dantzig, G. B., Ramser, J. H.: The truck dispatching problem. Management Science, 6, 80–91(1959).

4. Desrochers, M., Lenstra, J. K., Savelsbergh, M. W.: A classification scheme for vehicle routingand scheduling problems. European Journal of Operational Research, 46, 322–332 (1990)

5. Iori, M., Martello, S.: Routing problems with loading constraints. TOP, 18, 4–27 (2010)6. Petersen, H. L., Madsen, O. B.: The double travelling salesman problem with multiple stacks

- Formulation and heuristic solution approaches. European Journal of Operational Research,198, 139–147 (2009)

7. Felipe, Á., Ortuño, M. T.,Tirado, G.: The double traveling salesman problem with multiplestacks: a variable neighborhood search approach. Computers & Operations Research, 36,2983–2993 (2009)

8. Carrabs, F., Cerulli, R., Speranza, M. G.: A branch-and-bound algorithm for the double TSPwith two stacks. Networks, 61, 58–75 (2013)

9. Alba Martínez, M. A., Cordeau, J. F., Dell’Amico, M., Iori, M.: A branch-and-cut algorithmfor the double traveling salesman problem with multiple stacks. INFORMS Journal on Com-puting, 25, 41–55 (2013)

10. Iori, M., Riera-Ledesma, J.: Exact algorithms for the double vehicle routing problem withmultiple stacks. Computers & Operations Research, 63, 83–101 (2015)

11. Silveira, U. E. F., Benedito, M. P. L., Santos, A. G.: Heuristic approaches to double vehiclerouting problem with multiple stacks. In: 15th IEEE International Conference on IntelligentSystems Design and Applications, pp. 231–236. IEEE Press, Marrakesh (2015)

12. Desaulniers, G., Desrosiers, J., Solomon, M. M.: Column generation. Springer Science &Business Media (2006)

13. Savelsbergh, M.: A branch-and-price algorithm for the generalized assignment problem. Op-erations research, 45, 831–841 (1997)