Robust Branch-and-Cut-and-Price for the
Capacitated Vehicle Routing Problem
Ricardo Fukasawa
GAPSO, Inc.
Marcus Poggi de Aragão Dep. Informática, PUC-Rio
poggi@inf.puc-rio.br Marcelo Reis
Dep. Informática, PUC-Rio
Eduardo Uchoa
Dep. Engenharia de Produção, UFF
Capacitated Vehicle Routing Problem (CVRP)
Given
An undirected graph G=(V,E) V= {0,1,...,n}
Vertex 0 represents a depot and remaining vertices represent clients Edge lengths are denoted by c(e)
Client demands are q(1),...,q(n) K vehicles with capacity C
Determine routes for each vehicle satisfying the following constraints:
(i) each route starts and ends at the depot, (ii) each client is visited by exactly one vehicle
(iii) the total demand of clients visited in a route is at most C The objective is to minimize the total route length.
Example - Instance A-n62-k8
Vehicle Capacity: 100
Optimal Solution A-n62-k8
Optimal Solution Value: 1288
Capacitated Vehicle Routing Problem (CVRP)
Considered one of the hardest combinatorial problems to
solve exactly
.The evolution of the algorithms has been very slow:
State of the art in 1978: Exact solution for up to 25 clients.
State of the art in 2003: Exact solution for up to 50-100 clients.
Problems with many vehicles (k >7) are usually harder.
Algorithms for the CVRP
Best approaches during the 80’s: Column Generation and Lagrangean Relaxation:
Christofides, Mingozzi, Toth (1981);
Agarwal, Mathur, Salkin (1989);
Fisher (1994).
Branch-and-Cut algorithms were developed in the mid 90’s (1995) and have have been the best since then:
Augerat, Belenguer, Benavent, Corberan, Naddef, Rinaldi (1995);
Martinhon, Lucena, Maculan (1998);
Blasum, Hochstattler (2000);
Ralphs, Kopman, Pulleyblank, Trotter (2003);
Lysgaard, Letchford, Eglese (2003).
We propose to Branch, Cut and Price in a Robust way.
Robust Branch-and-Cut-and-Price
This work proposes a way to deal with an
exponential number of both columns and rows, leading to a branch-and-cut-and-price
algorithm.
The term “robust” refers to the fact that neither
branching nor cut separation ever change the
pricing subproblem.
Robust Branch-and-Cut-and-Price
Poggi de Aragão and Uchoa (2003)
min s. t
cx
Ax = b Dx ≤ d x ∈ N
mmin cx
s .t. x' − x = 0 Ax = b
Dx' ≤ d
x' ∈ N
mx ∈ N
mmin cx
s.t. Q
λ
−x = 0 Ax = b1
λ
= 1λ
≥ 0x ∈Nm
Formulating the CVRP with an
exponential number of constraints
Let 0 be the root node (depot) V
+={1,...,n} = V \ {0}
k(S): minimum number of vehicles to serve all clients in S ⊆ V
+Let X
ebe the number of times a
vehicle traverses edge e for e ∈ E
CVRP – exponential number of contraints
( )
(0)
( )
min
. . 2 ,
2.
2. ( ) ,
e e e E
e e i
e e
e
e s
c x
s t x i V
x K
x k S S V
δ δ δ
∈
∈ +
∈
∈ +
= ∀ ∈
=
≥ ∀ ⊆
Ensures that all non root vertices have exactly two incident edges
Eliminates subtours and inforces
maximum route capacity
( , ) (0, )
{0,1} , ( , ) , {0,1, 2} , (0, )
e i j
e j
x i j E i j V
x j E j V
= +
= +
∈ ∀ ∈ ∈
∈ ∀ ∈ ∈
Robust formulation for the CVRP
Let R be the set of all valid routes (total of p) Let Q be a n X p matrix of the incidence
vectors associate to these routes.
Let q
jedenote the coefficient associated to edge e in route j
Let λ
jbe a variable indicating whether route j is in the solution or not.
The x variables can now be expressed as a
convex combination of the λ’s
:
( )
(0)
min
. . 0 ,
2 ,
2.
{0,1} ,
e
e e e E
ej j j R e j
e
e i
e e
j
c x
s t q x e E
x i V
x K
j R
{0,1} , \ (0)
{0,1, 2} , (0)
e e
x e E
x e
δ δ
∈ ∀ ∈
∈ ∀ ∈
Formulation for the CVRP with an
exponential number of variables
:
( )
(0)
min
. . 0 ,
2 ,
2.
0 ,
e
e e e E
ej j j R e j
e
e i
e e
j
c x
s t q x e E
x i V
x K
j R
The λ’s are integer if the x’s are
{0,1} , \ (0)
{0,1, 2} , (0)
e e
x e E
x e
δ δ
∈ ∀ ∈
∈ ∀ ∈
:
( )
(0)
( )
min
. . 0 ,
2 ,
2.
2. ( ) ,
e
e e e E
ej j j R e j
e
e i
e e
e
e s
c x
s t q x e E
x i V
x K
x k S S V
0
0 ,
j
e
j R
x e E
λ ≥ ∈
≥ ∈
Explicit Master Formulation (LP relaxation)
1
2 ( 0 )
0
p e
j j
j
j
q e
j R
λ δ
λ
=
≤ ∈
≥ ∈
D-W Master Formulation
The pricing subproblem
Finding a valid route with minimum reduced cost: Prize Collecting TSP (Balas, 1989)
Strongly NP-hard problem.
Relax that problem to allow cycles, which allows us to generate the columns by
dynamic programming in pseudo-polynomial time.
Find q-routes (Christofides, Mingozzi, Toth,
1981)
The pricing subproblem
h(i,q) – Best path with capacity q from i to the depot.
Complexity O(n
2C)
Two cycles can be eliminated (CMT 81) without changing complexity
{ }
( , ) min
ij( , ( ))
h i q =
jc + h j q q j −
Cuts
Separating the Capacity cuts is NP-hard We used T. Ralphs implementation of the Augerat et. al. separation heuristic (available at Symphony’s demo).
We also applied an exact separation
(MIP solver) at the root node.
Cuts
The cuts are added over the x variables only, not affecting the pricing subproblem
We perform branching on the original
variables X, preference for the ones with larger cost and closer to 0.5
Branching
Results
This approach consistently gets lower bounds better than those from previous algorithms, allowing us to solve to
optimality several instances for the first
time.
Results
Using CPLEX 7.1 solver on a Pentium IV, 2 Ghz, 1 GB RAM.
Tests on instances from the literature available at
http://branchandcut.org/VRP/data/
– 108 instances: series A, B, E, F, M
E series (Eilon-Christofides, 1969)
815 801.8
802.6 E-n101-k8
Best Upper Bound
Lower Bound
521 517.9
519.0 E-n51-k5
682 668.4
666.4 E-n76-k7
735 725.1
717.9 E-n76-k8
1071 1051.6
1026.9 E-n101-k14
1021 1004.8
969.6 E-n76-k14
830 816.5
799.9 E-n76-k10
Ours LLE03
Instance
A series (Augerat et al. 1995)
Ours Previous
1763 1159 1174 1402 1315 1616 1290 1034 1354 1073 1167 1010
Upper Bound
1159 1138.4
1114.4 A-n69-k9
1763 1749.7
1709.6 A-n80-k10
1401 1378.9
1351.6 A-n64-k9
1616 1603.5
1580.7 A-n63-k9
1314 1294.5
1266.6 A-n63-k10
1288 1274.1
1251.7 A-n62-k8
1034 1018.6
1010.2 A-n61-k9
1354 1341.6
1319.6 A-n60-k9
Lower Bound
1010 1002.2
998.7 A-n53-k7
1167 1150.0
1135.3 A-n54-k7
1073 1066.4
1058.3 A-n55-k9
1174 1163.4
1155.2 A-n65-k9
Ours LLE03
Instance
Some open instances from other series
Ours Previous
1034 1275
Upper Bound Lower Bound
1034 1030.8
1017.4 M-n121-k7
1272 1261.5
1258.1 B-n68-k9
Ours LLE03
Instance
-We also closed all the remaining 7 open
instances from series P .
Remarks
It is clear that the Capacity Constraints cut significantly the polytope described by the column generation formulation.
The addition of many other classes of
known inequalities (….) is expected to
yield even better results.
TAK !
IP Reformulation
Let Q be a n X p matrix where each column corresponds to one element of P
There is a one-to-one correspondence
between elements of P and the solutions of:
{ }
pt s
Q x
1 , 0
1 .
∈
=
=
λ
λ
λ
1
IP Reformulation
The traditional IP reformulation (Gilmore and Gomory, 1961) consists of replacing x by its
equivalent expression in (O), a transformation similar to the Dantzig-Wolfe reformulation for LP:
{ }
min ( )
. ( )
1 0,1
IP
p
Z cQ
s t AQ b
λ λ λ λ
=
=
=
∈
1
Dantzig-Wolfe Master
Solving the DWM is equivalent to solving
min ( )
. ( )
1 0
Z
DWMcQ
s t AQ b
λ λ λ λ
=
=
=
≥ 1
( DWM )
{ }
min .
|
DWM
n