A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the...

27
A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demand Florent Hernandez Michel Gendreau Ola Jabali Walter Rei December 2016 CIRRELT-2016-67

Transcript of A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the...

Page 1: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demand Florent Hernandez Michel Gendreau Ola Jabali Walter Rei

December 2016

CIRRELT-2016-67

Page 2: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

Florent Hernandez1,2,*, Michel Gendreau1,2, Ola Jabali3, Walter Rei1,4

1 Interuniversity Research Centre on Enterprise Networks, Logistics and Transportation (CIRRELT) 2 Department of Mathematics and Industrial Engineering, Polytechnique Montréal, P.O. Box 6079, Station

Centre-Ville, Montréal, Canada H3C 3A7 3 Dipartimento di Elettronica, Informazione e Bioingegneria, Politecnico di Milano, 20133 Milano, Italy 4 Department of Management and Technology, Université du Québec à Montréal, P.O. Box 8888, Station

Centre-Ville, Montréal, Canada H3C 3P8

Abstract. This paper proposes a local branching matheuristic for the vehicle routing problem with

stochastic demands (VRPSD). The problem is cast in a two stage stochastic programming model,

according to which routes are planned in the first stage and executed in the second stage. In this

setting, a failure may occur if a vehicle does not have sufficient capacity to serve the realized

demand of a customer, which is revealed only upon arrival at a customer's location. In the event of

a failure, a recourse action is performed by having the vehicle return to the depot to replenish its

capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is

to minimize the sum of the planned routes cost and of the expected recourse cost. We propose a

local branching matheuristic to solve the multi-VRPSD. We introduce an intensification procedure

applied at each node of the local branching tree. This procedure is embedded in a multidescent

scheme for which we propose a diversification strategy. Extensive computational results

demonstrate the effectiveness of our matheuristic. In particular, we found new best solutions to 63

out of 270 instances available from the literature. Furthermore, compared to a subset of instances

solved to optimality by an exact algorithm, our matheuristic yielded an average gap of 0.08%.

Keywords: Local branching, stochastic vehicle routing problems, vehicle routing, stochastic

demand, stochastic programming, matheuristics.

Acknowledgements. The authors gratefully acknowledge funding provided by the Natural

Sciences and Engineering Research Council of Canada (NSERC).

Results and views expressed in this publication are the sole responsibility of the authors and do not necessarily reflect those of CIRRELT.

Les résultats et opinions contenus dans cette publication ne reflètent pas nécessairement la position du CIRRELT et n'engagent pas sa responsabilité. _____________________________ * Corresponding author: [email protected] Dépôt légal – Bibliothèque et Archives nationales du Québec

Bibliothèque et Archives Canada, 2016

© Hernandez, Gendreau, Jabali, Rei and CIRRELT, 2016

Page 3: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

1. Introduction

Given a set of geographically dispersed customers, the Vehicle Routing Problem (VRP)

consists of determining vehicle routes that minimize the travel cost of the operated vehicles.

The routes must adhere to the conditions that each customer is visited exactly once by a

single vehicle, each vehicle starts and ends its route at a single depot, and the total demand

on a route does not exceed the vehicle capacity. The VRP, and several of its variants,

have been extensively studied by the operations research community (see, e.g., Toth and

Vigo [29] and Golden et al. [14]). The vast majority of this literature assumes that the

problem parameters are deterministic. However, in practice, problem parameters such as

the presence of customers, demands, travel and service times, are often uncertain. To handle

such uncertainties, several stochastic versions of the VRP have been studied (see Gendreau

et al. [10] for an overview of these problems). Such stochastic problems are significantly

more difficult to solve than their deterministic counterparts. Therefore, there is an overall

need to develop algorithms that are able to efficiently solve large-scaled instances of these

stochastic problems.

In this paper, we consider the vehicle routing problem with stochastic demands (VRPSD).

In this problem, it is assumed that each customer demand follows a given probability dis-

tribution and that a specific demand is only revealed upon the arrival of a vehicle to the

customer’s location. Practical examples of the VRPSD are found in the delivery and col-

lection of money to and from banks (Bertsimas [3] and Lambert et al. [19]), in home oil

delivery (Chepuri and Homem de Mello [6]), beer distribution and garbage collection (Yang

et al. [30]). To formulate the problem, we apply the a priori optimization framework (de-

veloped by Bertsimas [5], Jaillet [18] and Bertsimas et al. [4]), which produces a two-stage

stochastic programming model. In the first stage, an a priori solution, consisting of a set of

planned vehicle routes, is determined. These routes are then executed in the second stage

at which time customer demands are gradually revealed. As demand values are uncertain

in the first stage, a vehicle may reach a customer with insufficient residual capacity to meet

the realized demand. This situation leads to a route failure requiring a recourse action.

In the event of a failure, a recourse action adhering to a predetermined recourse policy is

performed. Several recourse policies have been proposed for the VRPSD (see Gendreau et

al. [11]). Among these, the classical recourse policy is one of the most widely used in the

literature. Following this policy, when a failure occurs, the vehicle returns to the depot to

replenish its capacity and resumes its planned route at the point of failure. The objective

of the VRPSD is then to minimize the sum of both the total cost of the planned routes,

2

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 4: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

i.e., the total traveled distance, and the expected recourse cost, i.e., the expected distance

traveled to perform the back and forth trips to the depot when failures occur.

A series of exact algorithms for the VRPSD with classical recourse have been pro-

posed, see Gendreau et al. [12], Hjorring and Holt [16], Laporte et al. [21], Christiansen

and Lysgaard [7], Jabali et al. [17], Gauvin et al. [9] and Leuliet [23]. A few heuristics

have also been been developed for this problem. Rei et al. [26] proposed a local branching

scheme combined with Monte Carlo sampling to solve the single-vehicle version of the prob-

lem. Goodson et al. [15] utilized a cyclic-order solution encoding to facilitate local search

for to the VRPSD. Mendoza and Villegas [25] proposed a multi-space sampling heuristic

combining a tour partitioning procedure and a set partitioning model to solve the problem.

Some studies have also expanded the VRPSD with classical recourse to include other dimen-

sions. Gendreau et al. [13] developed a tabu search heuristic for the vehicle routing problem

with both stochastic customers and demands. The capacitated vehicle routing problem with

stochastic demands and time windows was introduced by Lei et al. [22], who solved the

problem using an adaptive large neighbourhood search heuristic. Mendoza et al. [24] stud-

ied the vehicle routing problem with stochastic demands and duration constraints, which

they solved by applying a greedy randomized adaptive search procedure. Finally, it should

be noted that several heuristics have also been proposed for more intricate recourse poli-

cies, such as restocking policies by Yang et al. [30], route reoptimization by Secomandi and

Margot [27] and pairing strategies by Ak and Erera [1].

The purpose of this paper is to develop an efficient local branching matheuristic for the

multi vehicle VRPSD defined using the classical recourse policy. The choice of this specific

policy is motivated by the fact that it is: 1) easily applied in practice, requiring no particular

information and communication technologies to be used to coordinate the fleet of vehicles,

and 2) can be readily used to define more complex policies, e.g., restocking policies by Yang

et al. [30]. Furthermore, the classical recourse policy defines a benchmark on which any

other policy can be compared to assess its value. As for the specific methodology used to

design the proposed matheuristic we use local branching, which was originally developed by

Fischetti and Lodi [8] and essentially works on solving a combinatorial optimization problem

by exploring, using an exact solver, reduced portions of the solution space. A branching

scheme that is based on the hamming distance was proposed by the authors to perform

the overall search. Therefore, local branching enables exact solution methods to be more

efficiently applied by performing a partial search of the feasible region of the considered

model and thus heuristically solve larger instances. By guiding the search process towards

more promising regions, this type of method can rapidly produce high quality solutions. In

3

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 5: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

the case of the VRPSD, considering the various exact methods that have been developed,

local branching clearly appeared as an appropriate strategy to design a matheuristic for the

VRPSD with the classical recourse policy. The algorithms of Jabali et al. [17] and Leuliet [23]

are specifically used in the method that we propose. Furthermore, it was previously shown

by Rei et al. [26], that local branching produced excellent results in the case of the single

vehicle VRPSD. In the present paper, we look to generalize this approach for the case where

a fleet of m vehicles (i.e., m > 1) are available to solve the VRPSD.

The present paper makes three scientific contributions. We first propose a local branching

matheuristic for the multi vehicle VRPSD, that is based on a multi-descent search process

and that applies a strategy to dynamically allocate the available computing resources. Sec-

ondly, we develop a new intensification procedure that is applied at each node of the local

branching search tree. Finally, we develop a specialized diversification strategy to instantiate

the different descents carried out and that greatly expands the overall search process that is

performed by our matheuristic. The added value of these contributions is validated through

an extensive computational analysis performed on a diversified set of instances (i.e., instances

of varying size and complexity). The numerical results obtained highlight the effectiveness

of our matheuristic in terms of both solution quality and computational speed. It should

also be noted that while the developed matheuristic is used to solve the VRPSD, it can be

directly applied to any stochastic variant of the VRP for which an exact solution method is

available.

The remainder of this paper is organized as follows. In Section 2 we present the for-

mulations of the VRPSD formulation, and briefly discuss the integer L-shaped algorithm

used for solving it. In Section 3 we introduce our local branching matheuristic followed by

computational results in Section 4. Finally, in Section 5 we present our conclusions.

2. The vehicle routing problem with stochastic demand

In Section 2.1 we present the two-stage stochastic programming formulation of the VRPSD,

which was initially proposed by Laporte et al. [21]. We then briefly describe the integer L-

shaped algorithm in Section 2.2, which is used to solve the subproblems generated through

the multi-descent search process described in Sections 3.

4

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 6: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

2.1 The VRPSD Model

We formulate the VRPSD under the classical recourse policy using as a two-stage stochastic

programming model. The VRPSD is defined on a complete undirected graph G = (V,E),

where V = {v1, . . . , vn} is the vertex set and E = {(vi, vj) : vi, vj ∈ V, i < j} is the edge set.

The depot is represented by vertex v1 and the customers are represented by {v2, . . . , vn}.Each edge (vi, vj) ∈ E has a travel cost of cij. There are m vehicles at the depot, each

of which has a capacity of D. We assume that the customer demands are identically and

independently distributed. Each customer has a stochastic demand ξi with a mean of µi.

The vehicle routes are planned in the first stage, these must start and end at the depot and

each customer must be visited once by a single vehicle. Furthermore, similar to Laporte

et al. [21], we assume that the total expected demand of each route should not exceed the

vehicle capacity. The recourse cost associated with the routes determined in the first stage

is evaluated in the second stage. Thus, the objective function is the sum of the cost of the

planned routes of the first-stage and the expected recourse cost of the second-stage. The

integer decision variables xij (i < j) are equal to the number of times edge (vi, vj) appears

in the first-stage solution, where xij should be interpreted as xji whenever i > j. If i > 1,

then xij can only take the values 0 or 1; if i = 1, then xij may take the values 0, 1 or 2,

where x1j = 2 represents a route that includes a single customer vj. The VRPSD model is

then

Minimize∑i<j

cijxij +Q(x) (1)

subject ton∑j=2

x1j = 2m, (2)∑i<k

xik +∑j>k

xkj = 2, (k = 2, . . . , n), (3)

∑vi,vj∈S

xij ≤ |S| −

⌈∑vi∈S

µi/D

⌉, (S ⊂ V \ {v1}, 2 ≤ |S| ≤ n− 2) (4)

0 ≤ xij ≤ 1 (2 ≤ i < j ≤ n), (5)

0 ≤ x1j ≤ 2 (j = 2, . . . , n), (6)

x = (xij) integer (1 ≤ i < j ≤ n). (7)

Constraints (2) and (3) are the degree constraints imposed for each vertex. Constraints

(4) eliminate subtours and guarantee that the expected demand of each route respects the

5

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 7: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

vehicle capacity. Finally, the necessary limits on the values of the variables are imposed in

constraints (5) and (6), while constraints (7) impose the integrality requirements. As for the

computation of Q(x), it is separable by route. Furthermore, the recourse cost of a given a

route r depends on its orientation δ = 1, 2. We thus compute the cost of a route for each of

the two orientations and select the lowest one. Let Qr,δ be the expected recourse cost of a

given route r, where r = 1, . . . ,m, defined by (vi1 = v1, vi2 , . . . , vit+1 = v1) for orientation δ.

The computation of Q(x) follows,

Q(x) =m∑r=1

min{Qr,1,Qr,2}, (8)

As in Laporte et al. [21], the computation of Qr,1 is

Qr,1 = 2t∑

j=2

j−1∑l=1

P( j−1∑s=1

ξis ≤ lD <

j∑s=1

ξis

)c1ij . (9)

The above computation sums the expected recourse for each customer vij that is scheduled

on route r. This is done by sequentially considering the probabilities of incurring the lth

failure (where l = 1, . . . , j − 1) at customer vij . The value of Qr,2 is computed similarly, by

simply reversing the orientation of the route.

2.2 The integer L-shaped algorithm

As previously stated, the local branching search strategy is based on the principle of reducing

the solution space around given solutions to the considered problem and then solving the

resulting subproblems using an exact method. In the matheuristic developed in the present

paper, the local branching subproblems are solved using the integer L-shaped method, which

was put forward by Laporte and Louveaux [20]. This algorithm extends the L-shaped method

of Van Slyke and Wets [28] for continuous stochastic programs which, in turn, is an applica-

tion of Benders decomposition [2] to stochastic programming.

The integer L-shaped algorithm solves the VRPSD by first relaxing constraints (4) and

(7). The recourse cost Q(x) is replaced with a variable Θ, which is initially set greater than

or equal to a general lower bound on the expected cost of recourse L. Using intermediate

infeasible solutions lower bounding functionals on Θ are generated. The actual recourse

6

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 8: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

cost Q(x) is evaluated only upon reaching promising solutions. We use the lower bounding

functionals proposed by Leuliet [23]. The subtour elimination constraints are generated when

they are found to be violated, and integrality is ensured by branching. Optimality cuts are

generated at feasible integer solutions. For a detailed description of the integer L-shaped

algorithm for the VRPSD, the reader is referred to Jabali et al. [17].

3. Local branching for the VRPSD

In this section we describe the proposed local branching matheuristic for the VRPSD. The

matheuristic follows a multi-descent scheme, where during each descent a local branching

search is performed. The starting point of each descent is established by a solution obtained

through solving a deterministic VRP model. We first describe the general descent structure

for which we propose an intensification scheme. We then introduce the multi-descent strategy

followed by an intensification procedure for the initialization of the descents. Finally, we

describe our scheme for the dynamic management of computational times.

3.1 General descent structure

We recall the general local branching scheme introduced by Fischetti and Lodi [8]. In princi-

ple, local branching partitions the solution space of a given MIP in a manner that yields sub

problems which are relatively easy to solve. To simplify the notation used for the presentation

of the algorithm, we redefine the VRPSD model as follows:

P (x) = min c>x+Q(x) (10)

subject to

x ∈ X,

where x is a |V | × |V | matrix, and X is the set of feasible solutions to the VRPSD. The

local branching scheme iteratively separates the solution space with respect to a reference

solution x. Let

∆(x, x) =∑

(vi,vj)∈T

(1− xij) +∑

(vi,vj)∈E\T

xij (11)

be the Hamming distance between x and x where T = {(vi, vj) ∈ E|xij = 1}. Given a

7

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 9: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

solution x, local branching separates the solution space into two subspaces. One subspace

where the distance ∆(x, x) between each solution in this subspace and x is less or equal to

a given parameter κ, the complement of this subspace defines the other subspace. When

κ is fixed to a small value, the solution space of the first subspace becomes rather small.

Thus the corresponding subproblem can be efficiently solved. Casting this principle within a

branching scheme entails progressively locally branching based on various reference solutions,

corresponding to levels.

Let xv−1 be the optimal solution found at the left branch of level v−1. The left branch of

level v is defined by constraining the solution space with ∆(x, xi) ≥ κ+1 ∀xi ∈ {x0, · · · , xv−2}and ∆(x, xv) ≤ κ. The right branch at level v, imposes ∆(x, xi) ≥ κ+1 ∀xi ∈ {x0, · · · , xv−1}upon the original problem. According to the procedure initially proposed by Fischetti and

Lodi [8], the left branches are successively solved as long as the solution is improved, otherwise

the right branch is solved. Formally, the left branch of level v is defined as follows:

Pv(x) = min c>x+Q(x) (12)

s.t. x ∈ X (13)

∆(x, xi) ≥ κ+ 1, ∀xi ∈ {x0, · · · , xv−2}, (14)

∆(x, xv−1) ≤ κ, (15)

Pv(x) is referred to as the current local branching sub-problem. Constraints (14) include

all right branch derived from solutions x0, · · · , xv−2, where x0 is the initial reference solution

and xi with i ∈ {1, · · · , v − 2} is the reference solution found by solving the sub-problem

Pi(x). Constraints (15) limit the search space to the neighbourhood of xv−1, which is the

solution found at the previous level. A representation of the local branching tree is provided

in Figure 1.

The initial local branching procedure has no time limit on solving the sub-problems. This

may be impractical in stochastic problems, which may require long run times for solving

restricted cases. Furthermore, according to this procedure a non improving solution found

in the left branch will trigger the solution of the corresponding right branch problem. In

practice this can be very time consuming in stochastic problems. To counter these issues,

we propose a time limit tmax for the solution of each sub-problem (the computation of which

is explained in Section 3.5) and we allow non improving solutions. Moreover, we allow for a

number of local branching descents each of which solves u sub-problems. In what follows we

8

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 10: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

initial solution x0

improved solution x1

improved solution x2

noimproved solution

Δ(x , x0)⩽κ Δ(x , x0

)⩾κ+1

Δ(x , x1)⩽κ

TΔ(x , x1

)⩾κ+1

Δ(x , x2)⩽κ

T

1

3

5

2

6 7

4

T T

Δ(x , x2)⩾κ+1

solution x4

v = 0

v = 1

v = 3

v = 4

Figure 1: General local branching principle

present four potential outcomes of solving a left branch sub-problem, and their corresponding

actions.

1. optimal: then the right branch is partitioned and the next left branch is solved

2. feasible: then the right branch is partitioned and the next left branch is solved

3. infeasible: then the descent is terminated, and another is initiated

4. no solution obtained within tmax: then the left branch is resolved with κ2

Our main methodological contributions are presented in the following sections.

3.2 Intensification procedure

It was observed by Rei et al. [26] that a substantial portion of the objective function value

of the VRPSD is attributed to the first stage cost, i.e., c>x. Thus, a solution with a high

travel cost is unlikely to be optimal for the VRPSD. Therefore, we propose an intensification

procedure based on the solutions to the VRP. We note that omitting the recourse cost from

the objective function of the VRPSD yields a deterministic VRP, where the expected value

9

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 11: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

of a customer’s demand is considered as its deterministic demand. For each left branch

sub-problem v we define,

Pv(x) = min c>x (16)

s.t. x ∈ X

∆(x, xi) ≥ κ+ 1, ∀xi ∈ {x0, · · · , xv−2}, (17)

∆(x, xv−1) ≤ κ. (18)

Let xv be the optimal solution of Pv(x). The intensification procedure works with the

following modified version of Pv(x).

Pv(x) = min c>x+Q(x)

s.t. x ∈ X

∆(x, xi) ≥ κ+ 1, ∀xi ∈ {x0, · · · , xv−2},

∆(x, xv−1) ≤ κ,

∆(x, xv) ≤ κ (19)

The intensification is done by adding constraint (19), which forces solutions to be in

the neighbourhood of xv. A graphical representation of the intensification procedure is

illustrated in Figure 2. The intensification procedure limits the solution spaces of each left

branch. While this limitation is likely to accelerate the solution process of the left branches,

it may discard promising solutions. Therefore, constraint (19) is only added locally at v and

is removed in subsequent sub-problems.

3.3 Multi-descent Scheme

We adopt a multi descent structure according to which each descent solves at most u sub-

problems. A similar scheme was proposed by Rei et al. [26] for the single vehicle VRPSD.

Let xk1 · · · xku be the reference solutions found during descent k and xk

0be the initial so-

lution of descent k. Where xk0

is the solution to the deterministic VRP of the unexplored

10

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 12: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

Δ(x , x0)⩽κ

x0

x1

Δ(x , x0)⩽κ

Δ( x , x1)⩽κ

x1

Δ(x , x0)⩾κ+1

Δ(x , x1)⩽κ

x2

Δ(x , x0)⩾κ+1

Δ(x , x1)⩽κ

Δ(x , x2)⩽κ

x2

Figure 2: Local branching descent with intensification procedure

solution space. Therefore, xl0

is obtained by solving the following problem.

P l0(x) = min c>x (20)

s.t. x ∈ X (21)

∆(x, xki

) ≥ κ+ 1, ∀k ∈ {0, ..., l − 1}, ∀i ∈ {0, ..., u} (22)

Constraints (22) define the unexplored solution space by the end of descent l − 1. In order

to avoid revisiting solutions in a multi-descent scheme, the left branch problem of descent l

P lv(x) is defined as follows.

11

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 13: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

P lv(x) = min c>x+Q(x)

s.t. x ∈ X

∆(x, xli

) ≥ κ+ 1, ∀xli ∈ {xl0 , · · · , xlv−2},

∆(x, xlv−1

) ≤ κ,

∆(x, xlv

) ≤ κ

∆(x, xki

) ≥ 1, ∀k ∈ {0, ..., l − 1}, ∀i ∈ {0, ..., u} (23)

∆(x, xki

) ≥ 1, ∀k ∈ {0, ..., l − 1}, ∀i ∈ {0, ..., u} (24)

In each descent, constraints (23) and (24) ensure not visiting previously found solutions to

the stochastic subprolems and the deterministic subproblems, respectively. An example of

the multi-descent structure is illustrated in Figure 3.

Δ(x , x10

)⩽κ

Δ(x , x11

)⩽κ

Δ( x , x00

)⩾1⋮

Δ(x , x00

)⩽κ

x01

Δ(x , x00

)⩽κ

Δ(x , x01

)⩽κ

x01

Δ(x , x00

)⩾κ+1

Δ(x , x01

)⩽κ

x02

Δ(x , x00

)⩾κ+1

Δ(x , x01

)⩽κ

Δ(x , x02

)⩽κ

x02

Δ(x , x10

)⩽κ

Δ( x , x00

)⩾1

Δ( x , x01

)⩾1

Δ( x , x01

)⩾1

Δ(x , x02

)⩾1⋮

x10

x11

x11

Δ(x , x10

)⩾κ+1

Δ( x , x11

)⩽κ

Δ( x , x00

)⩾1

Δ(x , x01

)⩾1⋮

x12

Δ(x , x10

)⩾κ+1

Δ( x , x11

)⩽κ

Δ(x , x12

)⩽κ⋮

x12

x00Δ(x , x00

)⩾κ+1

Δ(x , x01

)⩾κ+1

Δ(x , x02

)⩾κ+1

Figure 3: Multi-descent local branching with intensification

12

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 14: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

x14

1 2 30 0

4 5 00

x15 x24 x25

x34

x35

Figure 4: Example of the diversification constraints

3.4 Diversification procedure

In order to explore different regions of the solution space, we introduce a diversification

procedure applied in the computation of the initial solution of each descent l, i.e., P l0(x).

The diversification imposes transferring a client from one route to another. Let ϕxr be the

set of customers delivered by route r in solution x. The diversification procedure is achieved

by solving the following.

P l0(x) = min c>x

s.t. x ∈ X

∆(x, xki

) ≥ κ+ 1, ∀k ∈ {0, ..., l − 1}, ∀i ∈ {0, ..., u}∑vp,vq∈S(xk

i )

xpq ≥ 1 ∀k ∈ {0, ..., l − 1}, ∀i ∈ {0, ..., u} (25)

where xki

is the solution to left branch i of descent k, and S(x) = {(vp, vq) ∈ E|vp ∈ϕxr , vq ∈ ϕxr′ , r 6= r′}. Figure 4, illustrates an example of constraint (25), which yields

x14 + x15 + x24 + x25 + x34 + x35 ≥ 1.

3.5 Dynamic allocation of computation times

As is common in many matheuristics, we set a computational time limit of Tmax on the

entire algorithm. Considering the proposed multi decent structure, we devise an adaptive

computational time management procedure. Given a predetermined number of descents s,

and an allowable number of levels u for each descent, we initially determine a time limit for

each node as tmax = Tmax/(su). After concluding a decent, tmax is updated by dividing the

remaining time with remaining number of potential nodes.

13

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 15: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

If the matheuristic performes all s descents and the remaining time is greater than zero,

then the remaining time is used to perform another decent, i.e., the remaining time is divided

amongst u subproblems of decent s + 1. This process is repeated as long as the remaining

time is greater than zero.

4. Computational results

Our experiments were performed using instances introduced in Jabali et al. [17]. The in-

stances were generated based on the same principles proposed in Laporte et al. [21]. Namely,

n vertices were generated in [0, 100]2, following a continuous uniform distribution. Also, five

rectangular obstacles in [20, 80]2 were generated, each having a base of 4 and a height of 25,

covering 5% of the entire area. The demand of each customer i follows a normal distribution

N (µi, σi) truncated at zero. All demands are independently distributed with a coefficient

of variation of 30%. Let f =∑n

i=1µimD

be the average vehicle loading. Table 1 shows the

considered parameter combinations. Ten instances were generated for each combination,

yielding a total of 270 instances.

m n f2 60, 70, 80 90%, 92.5%, 95%3 50, 60, 70 85%, 87.5%, 90%4 40, 50, 60 80%, 82.5%, 85%

Table 1: Parameter combinations used in the instances

The algorithms described in this paper were coded in C++ and solved using IBM ILOG

CPLEX 12.5. All experiments are performed on an Intel(R) Xeon(R) CPU X5675 with

12-Core 3.07 GHz and 96 GB of RAM by using a single thread.

The local branching matheuristics described in the previous sections require determining

a number the following parameters: the initial number of descents, the maximum number of

subproblems solved at each descent, the Hamming distance threshold κ as well as the runtime

limit. Our primary aim is to examine the added value of the proposed intensification and

intensification procedures. To this end we have fixed the initial number of descents to two,

and the maximum number of subproblems solved at each descent to three. We experimented

with κ values of 8 an 10, along with runtime limits of 900, 1,800 and 3,600 seconds. We apply

the L-shaped described in Leuliet [23] to solve the stochastic programming model of each sub-

problem. In order to benchmark the performance of the discussed matheuristics, we ran the

exact algorithm for a maximum of 10,000 seconds. Once the time limit was reached, the best

14

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 16: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

integer solution was retrieved. In order to asses the benefits of the proposed intensification

procedure and diversification procedure, we ran two sets of experiments with each procedure

in separation. Finally, we ran an experimental set combining both procedures.

In section 4.1 we examine the impact of the intensification and diversification proce-

dures. In section 4.2 we present a general performance comparison between the proposed

matheuristics and the exact algorithm.

4.1 Impact of intensification and diversification procedures

We summarize the results for κ = 8 on all 270 instances in Table 2. In Table 3 we present the

results only on the 98 instances solved to optimality by the exact algorithm. In these tables,

each row summarizes the results a class of instances, the first column describes the instances,

for example “40 4 0.8” relates to instances with 40 nodes, 4 vehicles and a fill rate of 80%.

The second column contains the number of instances solved to optimality, while the third

column depicts the average total cost of the considered solutions by the exact algorithm.

The subsequent three groups of four columns indicate the average gaps obtained when set-

ting the run time limit to 900, 1,800 and 3,600 seconds, respectively. Each group contains

four columns, where “B” corresponds to the basic multi-descent implementation (without

intensification nor diversification), “I”corresponds to the multi-descent implementation with

intensification, “D” corresponds to the multi-descent implementation with diversification

and “DI” corresponds to the multi-descent implementation with diversification and intensi-

fication.

In Table 2 the gap between the best solution of the matheuristic is compared to the best

obtained solution by the exact algorithm. Therefore, a negative entry indicates that the

average performance of a matheuristic algorithm is better than that of the exact algorithm.

Over the three runtime options, on average the basic implementation is substantially outper-

formed by “DI”. The intensification procedure accelerates the solution of the sub problems

by further limiting the solution space of the subproblem. However, this may compromise the

solution quality. Comparing the “B” with “I”, we note that the latter substantially improves

the results for runtimes of 1,800 and 3,600 seconds, whereas the performance of “I” is rather

comparable to that of “B” for the lower runtime of 900 seconds. Moreover, on average the

performance of “D” is slightly superior to that of “I” for all three runtime options.

In Table 3 the performance of the matheuristic algorithms is compared only with in-

stances solved to optimality. We observe that the combination of both diversification and

intensification, i.e., “DI”, substantially outperforms the other matheuristics for a runtime

15

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 17: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

of 3,600 seconds, yielding an average gap of 0.08% from the 98 instances solved to optimal-

ity. Considering a maximum runtime of 1,800 seconds, the performance of “DI” is better

than that of the other matheuristics. Considering a runtime of 900 seconds, the average

performance of “DI” is similar to that of “B”.

In both tables 2 and 3, we observe that the combination of the diversification and inten-

sification procedures yields substantially better performance compared to when considering

each procedure in isolation. From Table 3 we observe that the matheuristic “DI” with 3,600

seconds as well as with 1,800 seconds found the optimal solutions on all instances with two

vehicles, aside from “80 2 0.90”.

We summarize the results for κ = 10 on all 270 instances in Table 4. In Table 5 we

present the results only on the 98 instances solved to optimality by the exact algorithm.

We observe similar patterns as in the case of κ = 8. Furthermore, considering all instances

with runtimes of 900 and 1,800 seconds, matheuristic “DI” with κ = 8 slightly outperforms

matheuristic “DI” with κ = 10. The performance of both matheuristics is equivalent when

considering a runtime of 3,600 seconds. When considering instances solved to optimality,

“DI” with κ = 8 outperforms that of κ = 10 for runtimes of 900 and 1,800 seconds.

16

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 18: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

Exac

tfo

rTmax=

10,0

00s

Gap

(%)

forTmax=

900s

Gap

(%)

forTmax=

1,8

00s

Gap

(%)

forTmax=

3,6

00s

Inst

ance

#O

PT

Cos

tB

ID

DI

BI

DD

IB

ID

DI

404

0.80

468

4.69

0.27

0.35

0.45

0.14

0.50

0.18

0.2

40.2

40.3

00.1

10.2

60.1

640

40.

825

688.

400.

460.

500.

07-0

.05

-0.0

50.

430.1

60.1

2-0

.03

0.0

50.0

00.3

040

40.

851

699.

43-0

.13

-0.2

20.

43-0

.48

0.05

0.01

0.2

3-0

.33

0.0

1-0

.24

-0.1

0-0

.56

503

0.85

567

7.33

0.20

0.31

0.16

0.35

0.28

0.19

0.1

70.1

00.1

40.1

00.1

30.0

750

30.

884

685.

360.

460.

810.

440.

150.

740.

760.4

80.3

20.7

00.7

40.5

10.3

050

30.

901

671.

280.

640.

670.

560.

530.

640.

520.6

00.5

60.6

70.3

50.5

50.4

350

40.

805

741.

101.

001.

251.

000.

720.

930.

820.7

20.7

10.7

10.7

10.6

40.3

750

40.

821

751.

490.

180.

250.

060.

250.

090.

270.1

30.2

30.0

10.2

60.2

30.1

750

40.

851

745.

021.

740.

631.

211.

031.

930.

600.9

20.8

10.4

7-0

.02

0.4

1-0

.01

602

0.90

1067

5.81

0.00

0.02

0.00

0.02

0.00

0.02

0.0

00.0

00.0

00.0

20.0

00.0

060

20.

939

662.

670.

000.

030.

000.

000.

000.

030.0

00.0

00.0

00.0

30.0

00.0

060

20.

954

677.

860.

020.

010.

000.

010.

110.

010.0

00.0

00.0

00.0

10.0

00.0

060

30.

856

714.

890.

220.

040.

190.

120.

280.

020.0

60.0

90.1

7-0

.01

-0.0

10.0

060

30.

882

738.

690.

050.

030.

040.

040.

020.

00-0

.01

0.0

10.0

50.0

00.0

00.0

360

30.

901

723.

390.

070.

140.

170.

040.

050.

040.0

0-0

.07

0.0

4-0

.06

-0.0

3-0

.07

604

0.80

076

9.84

0.88

1.16

1.38

1.11

1.33

1.14

1.3

61.1

50.9

51.1

21.1

31.1

360

40.

823

766.

240.

450.

700.

280.

270.

660.

390.1

50.2

80.5

00.7

10.5

00.0

660

40.

850

784.

430.

460.

340.

430.

420.

360.

300.3

90.2

10.1

70.3

30.3

20.1

370

20.

909

708.

110.

000.

030.

000.

000.

000.

030.0

00.0

00.0

00.0

30.0

00.0

070

20.

936

716.

160.

260.

220.

340.

030.

210.

240.0

40.0

50.2

10.2

10.0

50.0

570

20.

951

718.

330.

110.

100.

000.

000.

100.

100.0

00.0

00.1

00.0

70.0

00.0

070

30.

857

743.

420.

150.

17-0

.09

-0.0

20.

10-0

.01

0.1

3-0

.12

0.1

30.0

8-0

.13

-0.1

270

30.

882

773.

060.

250.

330.

230.

270.

260.

230.2

10.2

80.2

90.3

30.1

50.2

670

30.

900

777.

110.

580.

510.

470.

510.

570.

310.4

80.4

70.3

90.4

60.2

80.3

380

20.

908

749.

150.

080.

070.

070.

060.

070.

070.0

70.0

10.0

60.0

60.0

40.0

380

20.

933

773.

530.

070.

080.

150.

070.

080.

070.0

40.0

70.0

70.0

70.0

40.0

380

20.

950

774.

350.

170.

120.

160.

010.

190.

180.0

80.0

50.1

80.1

60.0

9-0

.02

AV

GG

AP

0.32

0.32

0.31

0.21

0.36

0.26

0.2

50.2

00.2

40.2

20.1

90.1

2

Table 2: Gaps (%) on all instances with κ = 8

17

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 19: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

Exac

tfo

rTmax=

10,0

00s

Gap

(%)

forTmax=

900s

Gap

(%)

forTmax=

1,8

00s

Gap

(%)

forTmax=

3,6

00s

INS

TA

NC

E#

OP

TC

ost

BI

DD

IB

ID

DI

BI

DD

I40

40.

804

666.

560.

000.

050.

050.

050.

000.

050.

00

0.0

50.0

00.0

50.0

00.0

540

40.

825

678.

720.

030.

270.

030.

000.

030.

000.

24

0.0

00.0

30.0

00.0

30.0

040

40.

851

640.

150.

000.

000.

000.

000.

000.

000.

00

0.0

00.0

00.0

00.0

00.0

050

30.

855

689.

290.

120.

400.

100.

480.

220.

270.

05

0.0

90.0

50.0

90.0

50.0

350

30.

884

702.

440.

310.

270.

310.

100.

310.

270.

31

0.0

40.2

70.2

70.2

70.0

450

30.

901

662.

490.

090.

000.

090.

000.

090.

000.

09

0.0

00.0

00.0

00.0

90.0

050

40.

805

747.

931.

291.

461.

201.

171.

251.

160.

92

1.1

71.0

81.1

60.9

90.5

350

40.

821

739.

011.

070.

921.

570.

921.

071.

071.

07

1.0

70.8

01.0

70.8

01.0

750

40.

851

718.

090.

000.

000.

000.

000.

000.

000.

00

0.0

00.0

00.0

00.0

00.0

060

20.

9010

675.

810.

000.

020.

000.

020.

000.

020.

00

0.0

00.0

00.0

20.0

00.0

060

20.

939

662.

290.

000.

000.

000.

000.

000.

000.

00

0.0

00.0

00.0

00.0

00.0

060

20.

954

680.

510.

000.

000.

000.

000.

000.

000.

00

0.0

00.0

00.0

00.0

00.0

060

30.

856

721.

100.

300.

100.

290.

220.

150.

040.

00

0.0

90.1

60.0

10.0

00.0

360

30.

882

733.

910.

000.

000.

070.

000.

000.

000.

07

0.0

00.0

00.0

00.0

70.0

060

30.

901

702.

600.

000.

000.

000.

000.

000.

000.

00

0.0

00.0

00.0

00.0

00.0

060

40.

823

767.

430.

260.

510.

430.

580.

290.

030.

16

0.5

10.3

00.5

10.0

30.5

170

20.

909

709.

100.

000.

040.

000.

000.

000.

040.

00

0.0

00.0

00.0

30.0

00.0

070

20.

936

717.

800.

130.

200.

130.

000.

140.

200.

02

0.0

00.1

20.1

10.0

00.0

070

20.

951

707.

520.

000.

000.

000.

000.

000.

000.

00

0.0

00.0

00.0

00.0

00.0

070

30.

857

736.

380.

210.

250.

180.

240.

180.

210.

22

0.1

00.2

20.2

20.1

30.1

070

30.

882

762.

070.

000.

100.

000.

000.

000.

020.

00

0.0

20.0

00.0

20.0

00.0

280

20.

908

756.

680.

100.

100.

090.

090.

090.

090.

09

0.0

20.0

90.0

90.0

60.0

580

20.

933

772.

410.

000.

000.

000.

000.

000.

000.

00

0.0

00.0

00.0

00.0

00.0

0

AV

GG

AP

0.16

0.20

0.17

0.16

0.15

0.14

0.12

0.1

10.1

30.1

40.1

00.0

8

Table 3: Gaps (%) on instances solved to optimality with κ = 8

18

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 20: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

Exac

tfo

rTmax=

10,0

00s

Gap

(%)

forTmax=

900s

Gap

(%)

forTmax=

1,8

00s

Gap

(%)

forTmax=

3,6

00s

INS

TA

NC

E#

OP

TC

ost

BI

DD

IB

ID

DI

BI

DD

I40

40.

804

684.

690.

420.

410.

640.

290.

600.

400.6

20.5

00.2

70.2

60.2

70.2

540

40.

825

688.

400.

120.

080.

120.

640.

110.

530.0

00.4

10.2

70.5

4-0

.10

0.4

140

40.

851

699.

430.

250.

10-0

.08

-0.1

40.

130.

090.1

1-0

.14

-0.0

30.1

40.1

0-0

.22

503

0.85

567

7.33

0.17

0.23

0.10

0.24

0.15

0.16

0.1

40.1

30.0

90.1

40.1

40.1

150

30.

884

685.

360.

350.

620.

520.

350.

380.

650.5

10.5

00.5

30.7

90.4

30.0

650

30.

901

671.

280.

580.

640.

400.

340.

430.

620.4

20.4

40.4

20.6

20.5

10.6

450

40.

805

741.

100.

441.

100.

651.

120.

420.

900.3

40.8

10.3

30.7

50.2

00.3

050

40.

821

751.

490.

080.

230.

080.

350.

110.

200.1

50.2

00.0

80.2

00.0

60.1

750

40.

851

745.

021.

100.

640.

980.

660.

900.

540.9

00.4

50.2

1-0

.20

0.6

7-0

.19

602

0.90

1067

5.80

0.00

0.02

0.00

0.02

0.00

0.00

0.0

00.0

00.0

00.0

00.0

00.0

060

20.

939

662.

670.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

060

20.

954

677.

860.

000.

030.

000.

020.

020.

020.0

00.0

20.0

00.0

20.0

20.0

260

30.

856

714.

890.

000.

150.

050.

05-0

.01

-0.0

20.2

30.2

10.1

00.1

90.0

20.1

660

30.

882

738.

690.

010.

020.

040.

050.

030.

02-0

.02

0.0

00.0

3-0

.01

0.0

00.0

260

30.

901

723.

390.

130.

070.

210.

070.

040.

010.0

7-0

.02

0.0

3-0

.02

0.1

3-0

.01

604

0.80

076

9.84

1.18

1.25

0.68

0.81

1.22

1.24

1.0

41.1

21.0

01.2

30.7

21.1

560

40.

823

766.

240.

210.

390.

380.

210.

160.

660.1

30.0

90.5

70.4

50.1

0-0

.11

604

0.85

078

4.43

0.19

0.26

0.37

0.25

0.27

0.24

0.2

40.1

00.2

20.0

7-0

.06

0.1

870

20.

909

708.

110.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

070

20.

936

716.

160.

300.

290.

300.

070.

210.

330.1

20.0

50.2

40.1

70.1

10.0

570

20.

951

718.

330.

020.

070.

030.

020.

020.

000.0

00.0

20.0

20.0

70.0

20.0

270

30.

857

743.

420.

16-0

.03

0.04

-0.0

10.

10-0

.01

0.1

6-0

.02

0.0

40.1

2-0

.03

-0.0

370

30.

882

773.

060.

100.

300.

170.

140.

250.

130.1

70.2

60.1

50.1

90.1

20.0

970

30.

900

777.

110.

450.

540.

480.

400.

240.

330.1

00.3

70.3

00.2

60.0

60.0

780

20.

908

749.

150.

060.

070.

040.

060.

060.

070.0

40.0

40.0

40.0

60.0

40.0

480

20.

933

773.

530.

090.

090.

090.

090.

090.

080.0

90.0

70.0

90.0

30.0

40.0

780

20.

950

774.

350.

090.

100.

100.

050.

160.

130.0

40.0

40.1

60.0

60.0

0-0

.02

AV

GG

AP

0.24

0.29

0.24

0.23

0.23

0.27

0.2

10.2

10.1

90.2

30.1

30.1

2

Table 4: Gaps (%) on all instances with κ = 10

19

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 21: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

Exac

tfo

rTmax=

10,0

00s

Gap

forTmax=

900s

Gap

forTmax=

1,8

00s

Gap

forTmax=

3,6

00s

INS

TA

NC

E#

OP

TC

ost

BI

DD

IB

ID

DI

BI

DD

I40

40.

804

666.

560.

120.

050.

250.

050.

050.

250.0

50.0

20.0

20.0

50.0

50.2

540

40.

825

678.

720.

140.

390.

200.

360.

300.

390.1

40.3

70.2

40.3

10.2

40.3

040

40.

851

640.

150.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

050

30.

855

689.

290.

080.

170.

080.

250.

030.

090.0

30.0

90.0

30.0

80.0

30.0

350

30.

884

702.

440.

000.

340.

270.

000.

060.

060.0

00.0

00.2

30.3

40.2

70.0

050

30.

901

662.

490.

190.

190.

000.

150.

000.

090.1

50.0

00.1

50.0

00.1

50.0

950

40.

805

747.

930.

291.

720.

400.

870.

391.

250.2

81.2

40.4

61.2

40.1

70.3

650

40.

821

739.

011.

571.

070.

891.

071.

341.

071.5

71.0

71.5

71.0

71.3

40.7

550

40.

851

718.

090.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

060

20.

9010

675.

810.

000.

020.

000.

020.

000.

000.0

00.0

00.0

00.0

00.0

00.0

060

20.

939

662.

290.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

060

20.

954

680.

510.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

060

30.

856

721.

100.

070.

060.

000.

090.

030.

060.2

90.3

50.0

80.3

50.0

00.0

560

30.

882

733.

910.

000.

000.

000.

010.

000.

000.0

00.0

00.0

00.0

00.0

00.0

060

30.

901

702.

600.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

060

40.

823

767.

430.

080.

300.

030.

300.

070.

300.0

70.0

50.0

70.3

00.0

70.0

370

20.

909

709.

100.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

070

20.

936

717.

800.

120.

220.

120.

000.

130.

220.1

20.0

00.1

80.2

00.1

20.0

070

20.

951

707.

520.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

070

30.

857

736.

380.

260.

270.

160.

250.

260.

140.2

60.2

40.2

00.3

10.2

10.2

070

30.

882

762.

070.

000.

010.

000.

000.

000.

010.0

00.0

00.0

00.0

00.0

00.0

080

20.

908

756.

680.

070.

100.

060.

090.

070.

100.0

60.0

60.0

60.0

90.0

60.0

680

20.

933

772.

410.

000.

000.

000.

000.

000.

000.0

00.0

00.0

00.0

00.0

00.0

0

AV

GG

AP

0.09

0.21

0.09

0.14

0.09

0.16

0.1

00.1

50.1

00.1

90.0

80.0

8

Table 5: Gaps (%) on instances solved to optimality with κ = 10

20

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 22: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

4.2 Performance analysis

In tables 6 and 7, we compare the performance of the matheuristics with the exact algorithm

for κ = 8 and κ = 10, respectively. We recall that the exact algorithm was run for a maximum

of 10,000 seconds. Considering the best obtained solutions, for each of the four matheuristics

in combination with the three runtimes we report the following values:

• The number of instances where the exact algorithm outperformed the matheuristic

(column two);

• The number of instances where the exact algorithm and the matheuristic obtained the

same solutions (column three);

• The number of instances where the matheuristic outperformed the exact algorithm

(column foure)

Tables 6 and 7 reconfirm that the combination of the diversification and the intensification

procedures is superior to considering each procedure in separation. From Table 6 we note that

matheuristic “DI” with runtime of 3,600 seconds obtained 63 new best solutions. For this

combination of parameters, the matheuristic yields solutions that are equivalent or better

than those obtained by the exact algorithm in 78.9% of all instances. From Table 7 we

note that matheuristic “DI” with runtime of 3,600 seconds obtained 61 new best solutions.

Moreover, the matheuristic “DI” with κ = 8 yields a higher number of new best solutions

than matheuristic “DI” with κ = 10 in the three runtime categories.

Considering runtimes of 900 seconds, i.e., 9% of the time allotted to the exact algorithm,

all four matheuristics with both κ = 8 and κ = 10 yield solutions that are equivalent or

better than those obtained with the exact algorithm in at least 60% of all instances. With

a runtime of 900 seconds “DI” with κ = 8 obtained 56 new best solutions.

5. Conclusions

We proposed a matheuristic for the VRPSD with classical recourse. Considering a multi-

descent scheme in a local branching framework, we introduced an intensification procedure

and a diversification procedure. Furthermore, we allowed non-improving solutions within

a descent and proposed a dynamic computational time management procedure. We con-

ducted extensive computational computational experiments to assess the effectiveness of the

21

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 23: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

900s Exact < Local Branching Exact = Local Branching Exact > Local Branching

B 107 120 43I 99 122 49D 104 121 45DI 78 136 56

1,800s Exact < Local Branching Exact = Local Branching Exact > Local Branching

B 106 120 44I 85 129 56D 90 130 50DI 66 144 60

3,600s Exact < Local Branching Exact = Local Branching Exact > Local Branching

B 91 125 54I 81 132 57D 80 134 56DI 57 150 63

Table 6: Number of instances with κ = 8

900 s Exact < Local Branching Exact = Local Branching Exact > Local Branching

B 103 119 48I 105 118 47D 100 123 47DI 91 127 52

1,800 s Exact < Local Branching Exact = Local Branching Exact > Local Branching

B 101 123 46I 95 123 52D 94 125 51DI 86 132 52

3,600s Exact < Local Branching Exact = Local Branching Exact > Local Branching

B 93 122 55I 84 127 59D 85 129 56DI 70 139 61

Table 7: Number of instances with κ = 10

22

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 24: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

matheuristic. The quality of the solutions were benchmarked against the best obtained solu-

tions from an exact algorithm with a runtime of 10,000 seconds. All experiments pertaining

to the matheuristic were run over 900, 1,800 and 3,600 seconds.

The combination of the intensification procedure and the diversification procedure per-

formed substantially better than when these procedures were executed in separation. Con-

sidering the 270 instances, the combination of the intensification procedure and the diver-

sification procedure with κ = 8 yielded 63 new best known solution within 3,600 seconds.

Compared to the best obtained solutions from the exact algorithm, an average gap of 0.12%

on all instances was achieved. Considering runtimes of 900 and 1,800 seconds, the matheuris-

tic achieved 56 and 60 new best known solutions, respectively. The exact algorithm solved

98 instances to optimality within the allotted time. Considering these instances, the combi-

nation of the intensification procedure and the diversification procedure with κ = 10 yielded

an average gap of 0.08% with a runtime limit of 3600 seconds.

Local branching heavily relies on the ability to efficiently solve restricted solution spaces

of the problem. Therefore, the proposed matheuristic could be adapted to more involved

recourse actions, once exact algorithms are developed for them. Further research could aim

at defining new neighbourhood structures fitting the proposed local branching framework

for the VRPSD.

23

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 25: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

References

[1] A. Ak and A. Erera. A paired-vehicle recourse strategy for the vehicle-routing problem

with stochastic demands. Transportation Science, 41:222–237, 2007.

[2] J. F. Benders. Partitioning procedures for solving mixed-variables programming prob-

lems. Numerische Mathematik, 4:238–252, 1962.

[3] D. J. Bertsimas. A vehicle routing problem with stochastic demand. Operations Re-

search, 40:574–585, 1992.

[4] D. J. Bertsimas, P. Jaillet, and A. R. Odoni. A priori optimization. Operations Research,

38:1019–1033, 1999.

[5] D.J. Bertsimas. Probabilistic Combinatorial Optimization Problems. PhD thesis, Oper-

ations Research Center, Massachusetts Institute of Technology, 1988.

[6] K. Chepuri and T. Homem de Mello. Solving the vehicle routing problem with stochastic

demands using the cross entropy method. Annals of Operations Research, 134:153–181,

2005.

[7] C.H. Christiansen and J. Lysgaard. A branch-and-price algorithm for the capacitated

vehicle routing problem with stochastic demands. Operations Research Letters, 35:773–

781, 2007.

[8] M. Fischetti and A. Lodi. Local branching. Mathematical programming, 98:23–47, 2003.

[9] C. Gauvin, M. Gendreau, and G. Desaulniers. A branch-cut-and-price algorithm for the

vehicle routing problem with stochastic demands. Computers & Operations Research,

50:141–153, 2014.

[10] M. Gendreau, O. Jabali, and W. Rei. Stochastic vehicle routing problems. In P. Toth

and D. Vigo, editors, Vehicle Routing: Problems, Methods, and Applications, pages

213–240. MOS-SIAM series on Optimization, Philadelphia, 2014.

[11] M. Gendreau, O. Jabali, and W. Rei. Future research directions in stochastic vehicle

routing. Transportation science, 2016. To appear.

[12] M. Gendreau, G. Laporte, and R. Seguin. An exact algorithm for the vehicle routing

problem with stochastic demands and customers. Transportation Science, 29:143–155,

1995.

24

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 26: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

[13] M. Gendreau, G. Laporte, and R. Seguin. A tabu search heuristic for the vehicle routing

problem with stochastic demands and customers. Operations Research, 44:469–477,

1996.

[14] B.L. Golden, S. Raghavan, and E.A. Wasil. The Vehicle Routing Problem: Latest

Advances and New Challenges. Springer, New York, 2008.

[15] J. C. Goodson, J. W. Ohlmann, and B. W. Thomas. Cyclic-order neighborhoods with

application to the vehicle routing problem with stochastic demand. European Journal

of Operational Research, 217:312–323, 2012.

[16] C. Hjorring and J. Holt. New optimality cuts for a single-vehicle stochastic routing

problem. Annals of Operations Research, 86:569–584, 1999.

[17] O. Jabali, W. Rei, M. Gendreau, and G. Laporte. Partial-route inequalities for the

multi-vehicle routing problem with stochastic demands. Discrete Applied Mathematics,

177:121–136, 2014.

[18] P. Jaillet. A priori solution of a traveling salesman problem in which a random subset

of the customers are visited. Operations Research, 36:929–936, 1988.

[19] V. Lambert, G. Laporte, and F.V. Louveaux. Designing collection routes through bank

branches. Computers & Operations Research, 20:783–791, 1993.

[20] G. Laporte and F. V. Louveaux. The integer L-shaped method for stochastic integer

programs with complete recourse. Operations Research Letters, 13:133–142, 1993.

[21] G. Laporte, F. V. Louveaux, and L. Van hamme. An integer L-shaped algorithm for

the capacitated vehicle routing problem with stochastic demands. Operations Research,

50:415–423, 2002.

[22] H. Lei, G. Laporte, and B. Guo. The capacitated vehicle routing problem with stochastic

demands and time windows. Computers & Operations Research, 38:1775–1783, 2011.

[23] A. Leuliet. Nouvelles coupes pour le probleme de tournees de vehicule avec demandes

stochastiques. Master’s thesis, Ecole Polytechnique de Montreal, 2014.

[24] J.E. Mendoza, L.M. Rousseau, and J.G. Villegas. A hybrid metaheuristic for the vehicle

routing problem with stochastic demand and duration constraints. Journal of Heuristics,

22:1–28, 2015.

25

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67

Page 27: A Local Branching Matheuristic for the Multi-Vehicle ...capacity and resume its planned route at the point of failure. Thus, the objective of the VRPSD is ... The vehicle routing problem

[25] J.E. Mendoza and J.G. Villegas. A multi-space sampling heuristic for the vehicle routing

problem with stochastic demands. Optimization Letters, 7:1503–1516, 2013.

[26] W. Rei, M. Gendreau, and P. Soriano. A hybrid monte carlo local branching algorithm

for the single vehicle routing problem with stochastic demands. Transportation Science,

44(1):136–146, 2010.

[27] N. Secomandi and F. Margot. Reoptimization approaches for the vehicle-routing prob-

lem with stochastic demands. Operations Research, 57:214–230, 2009.

[28] R. M. Van Slyke and R. Wets. L-shaped linear programs with applications to optimal

control and stochastic programming. SIAM Journal on Applied Mathematics, 17:638–

663, 1969.

[29] P. Toth and D. Vigo, editors. Vehicle routing: problems, methods, and applications.

MOS-SIAM series on Optimization, Philadelphia, 2014.

[30] W.-H Yang, K. Mathur, and R.H. Ballou. Stochastic vehicle routing problem with

restocking. Transportation Science, 34:99–112, 2000.

Acknowledgments

The authors gratefully acknowledge funding provided by the Canadian Natural Sciences and

Engineering Research Council.

26

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demands

CIRRELT-2016-67