Title: Robust BranchandCutandPrice for the Capacitated Vehicle Routing Problem
1Robust Branch-and-Cut-and-Price for the
Capacitated Vehicle Routing Problem
- Ricardo Fukasawa, ISYE, Georgia Tech, USA.
- Jens Lysgaard, Aarhus School of Business,
Denmark. - Marcus Poggi de Aragão, Informática, PUC-Rio,
Brazil. - Marcelo Reis, Informática, PUC-Rio, Brazil.
- Eduardo Uchoa, Engenharia de Produção, UFF,
Brazil. - Renato F. Werneck, Computer Science, Princeton,
USA.
2What is a robust branch-and-cut-and-price ?
- A branch-and-bound algorithm where
- each node can solve a linear program with an
exponential number of both variables and
constraints, - neither branching nor separation (cutting) ever
change the structure of the pricing subproblem.
3Robust branch-and-cut-and-price
- Since cut and column generation were established
as two of the most important techniques in IP,
one looks for ways of combining them. -
- Big question
- How to cut efficiently without changing
- the structure of the pricing subproblem ?
4Robust branch-and-cut-and-price
- First (non-robust) BCP Nemhauser and Park
(1991), edge-coloring problem. -
- In a non-robust BCP, the pricing subproblem
eventually needs to be solved by general IP
techniques. This only works for small instances.
5Robust branch-and-cut-and-price
- A number of researchers noted that cuts
expressed in terms of variables from a suitable
original formulation do not disturb the pricing
and constructed the first robust BCPs - Vanderbeck (1998), lot-sizing.
- Kim, Barnhart, Ware and Reinhardt (1999), a
service network design problem. - Kohl, Desrosiers, Madsen, Solomon and Soumis
(1999), VRPTW. - Van der Akker, Hurkens and Savelsbergh (2000), a
scheduling problem. - Felici, Gentile and Rinaldi (2000), a
supply-chain problem. - Barnhart, Hane and Vance (2001), integer
multiflow.
6Robust branch-and-cut-and-price
- This approach has a fundamental drawback as a
general IP technique on many important problems
(like bin-packing, cutting stock, graph coloring,
many clustering and scheduling problems, etc.)
the original formulation suffers from variable
symmetries. - Cuts over those variables are ineffective.
- Up to now, robust BCP was only performed on a
few problems where BP alone already performs
reasonably well.
7- Integer Program Reformulation for Robust
Branch-and-Cut-and-Price, M. Poggi de Aragão and
E. Uchoa, Proceedings of Mathematical Programming
in Rio A conference in honour of Nelson Maculan,
2003. - Also presented at ISMP03, Copenhagen.
8Poggi de Aragão and Uchoa (2003)
- Introduce a technique to read the reduced costs
of the original variables from the master LP. - Propose a reformulation scheme to eliminate
symmetry and allow robust BCP on problems like
bin-packing, cutting stock, graph coloring, etc. - Herald the potential of the robust BCP
technique to improve current algorithms on a
large set of IP problems.
9Robust Branch-and-Cut-and-Price
- E
- Our group obtained very good results on the
following problems - Capacitated Minimum Spanning Tree R.Fukasawa,
O. Porto, M. Poggi de Aragão and E. Uchoa (2003). - Generalized Assignment A. Pigatti, M. Poggi de
Aragão and E. Uchoa (2003). - Capacitated Arc Routing H. Longo, M. Poggi de
Aragão and E. Uchoa (2004).
10Capacitated Vehicle Routing Problem (CVRP)
- Instance
- Undirected graph G(V,E), V 0,1,...,n
- Vertex 0 represents a depot and remaining
vertices represent clients - Edge lengths, denoted by c(e)
- Client demands, denoted by q(i)
- Number K of vehicles and vehicle capacity C
- Solution
- A route for each of the K vehicles satisfying the
following constraints - (i) Routes start and end 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. - Goal
- Minimize total route length.
11Example - Instance A-n62-k8
Vehicle Capacity 100
12Optimal Solution A-n62-k8
Optimal Solution Value 1288
13Capacitated 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 gt 7) are usually
harder.
14Algorithms for the CVRP
- Best approaches during the 80s Column
Generation and Lagrangean Relaxation - Christofides, Mingozzi, Toth (1981)
- Agarwal, Mathur, Salkin (1989)
- Fisher (1994).
- Branch-and-Cut algorithms were developed in the
mid 90s 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)
- Achuthan, Caccetta, Hill (2003)
- Lysgaard, Letchford, Eglese (2003).
15Formulating the CVRP with an exponential number
of constraints
- Let 0 be the root node (depot)
- V1,...,n V \ 0
- q(S) Sum of the demands on client set S ? V
- Let Xe be the number of times a vehicle
traverses edge e
16Two-index CVRP formulation (Laporte, 1984)
Client vertices have exactly two incident edges
Rounded Capacity Inequalities -eliminates
subtours and enforces route capacity
17Formulating the CVRP with an exponential number
of variables
- Let R be the set of all valid routes (total of
p). - Let Q be a m X p matrix of the edge incidence
vectors associate to these routes. - Let qje denote the coefficient associated to edge
e in route j . - Let ?j be a variable indicating whether route j
is in the solution or not. - The x variables can be expressed as a
combination of the ?s.
18Formulation for the CVRP with an exponential
number of variables
19Adding Rounded Capacity Inequalities
20LP Relaxation Explicit Master LP
21 D-W Master LP
22 Other cuts
- A solution of D-W Master is translated to
. - If is fractional, a violated cut
- can be added as
23Cutting planes
- Bound cuts (easily separated by inspection)
- Rounded capacity
- Strengthened combs
- Multistars
- Framed capacities
- Hypotours
- Sophisticated heuristic separation, same already
used in Lysgaard, Letchford and Eglese (2003).
24The pricing subproblem
- Finding a valid route with minimum reduced cost
Capacitated Prize Collecting TSP. - Strongly NP-hard problem.
- Relax that problem to allow cycles. The resulting
walks can be found by dynamic programming in
pseudo-polynomial time. - Such walks are called q-paths in Christofides,
Mingozzi and Toth (1981).
25Basic Algorithm
- Dynamic Programming
- Matrix M with C rows and n columns.
- Entry M(v,d) is a label
- best walk from depot to client v with total
demand d - total cost pointer to previous label.
- Compute one row at a time, from the bottom.
- To process Mv,D for each outgoing edge (v,w)
check if - cost(Mv,D) cost(v,w) lt cost(Mw,Dd(w))
- O(n2C) time (nC entries, O(n) per entry)
26Cycle Elimination
- To avoid s-cycles, a label cannot be extended to
the last s clients in the path.
v1
v2
v3
v4
v5
v6
v9
v4
v13
v7
v12
v8
v9
v10
v11
v12
v13
v14
27Cycle Elimination
- To avoid s-cycles, a label cannot be extended to
the last s clients in the path. - Entry Mv,d becomes bucket of labels.
- Alternative walks from depot to v with demand d.
- Discard dominated labels.
- L is dominated if every extension of L also
extended by a cheaper label Irnich and
Villeneuve, 2003 - To eliminate s-cycles, as many as s! labels are
needed per bucket.
28Acceleration Heuristics
- Main heuristics
- Sparsification
- use only non-depot edges from the five cheapest
disjoint MSTs. - Scaling
- Round up accumulated demands (fewer rows).
- Bucket pruning
- Only s labels per bucket (instead of s!).
- When they all fail, use exact algorithm.
29BCP Implementation Details
- Needs good data structures to quickly compute the
coefficients of a cut. - Determines best value of s before starting the
search tree, balancing root bound and cpu time. - Branching on sets of clients (exactly one vehicle
or more than 2 vehicles).
30Results
- The robust BCP is consistently better than
previous algorithms, allowing us to solve to
optimality all instances from the literature with
up to 135 vertices in reasonable times. - Experiments on Pentium 2.4 GHz. Pricing is the
most expensive operation on most instances.
31E series (Eilon-Christofides, 1969)
32A series (Augerat et al. 1995)
33Root gaps over 41 hard instances between 50 and
135 clients
34Detailed root results over 41 hard instances
(Geometric Means).
35Possible improvements on our BCP
- Better Pricing
- New dynamic programming algorithms that allows
one to price walks as close as possible to actual
routes in reasonable times. - Promising area of research.
36Possible improvements on our BCP
- New cuts
- We are already using most known families of cuts.
Only RC cuts have shown much effect on the BCP. - Find new families of cuts that are not implicitly
given by the column generation. Being facet is
not enough !
37Possible improvements on our BCP
- Implementation details and fine-tuning
- Obtaining maximum performance from a BC or BP can
be hard, requiring much experimentation,
computational tricks, etc. On BCP, this is twice
as hard. - Many such improvements are still possible on our
BCP.
38