Improved Branch-Cut-and-Price for Capacitated Vehicle Routing Diego - - PowerPoint PPT Presentation

improved branch cut and price for capacitated vehicle
SMART_READER_LITE
LIVE PREVIEW

Improved Branch-Cut-and-Price for Capacitated Vehicle Routing Diego - - PowerPoint PPT Presentation

Improved Branch-Cut-and-Price for Capacitated Vehicle Routing Diego Pecin 1 Artur Pessoa 2 Marcus Poggi 1 Eduardo Uchoa 2 PUC - Rio de Janeiro 1 Universidade Federal Fluminense 2 January, 2014 Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa


slide-1
SLIDE 1

Improved Branch-Cut-and-Price for Capacitated Vehicle Routing

Diego Pecin 1 Artur Pessoa 2 Marcus Poggi 1 Eduardo Uchoa 2

PUC - Rio de Janeiro 1 Universidade Federal Fluminense 2

January, 2014

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-2
SLIDE 2

The Capacitated Vehicle Routing Problem (CVRP)

Instance: Complete graph G = (V , E) with V = {0, . . . , n}; vertex 0 is the depot, V+ = {1, . . . , n} is the set of customers. Each edge e ∈ E has a cost ce. Each customer i ∈ V+ has a demand di. There is a fleet of K identical vehicles with capacity Q. Solution: A set of K routes starting and ending at the depot, attending all customers, and respecting the capacities, with minimal total cost. The most classical VRP variant, proposed by Dantzig and Ramser in 1959.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-3
SLIDE 3

CVRP and Column Generation

Since the 1980’s, CG was applied with success on VRPTW instances with narrow time windows. CVRP is a VRPTW with large time windows ⇒ CG was not viewed as a promising approach. Indeed, pure CG performs poorly on the CVRP.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-4
SLIDE 4

CVRP and Cut Generation

A lot of polyhedral investigation (inspired by the TSP) was done. Known families of cuts include: Rounded Capacity Framed Capacities Strengthened Combs Multistars Extended Hypotours

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-5
SLIDE 5

CVRP and Cut Generation

Branch-and-cut became the dominant approach for the CVRP in the 1990s and early 2000s: Araque, Kudva, Morin, and Pekny [1994] Augerat, Belenguer, Benavent, Corber´ an, Naddef, and Rinaldi [1995] Blasum and Hochst¨ attler [2000] Ralphs, Kopman, Pulleyblank, and Trotter Jr. [2003] Achuthan, Caccetta, and Hill [2003] Lysgaard, Letchford, and Eglese [2004]

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-6
SLIDE 6

CVRP and Cut Generation

The branch-and-cut algorithms may perform well on instances with few vehicles (because they are closer to the TSP?). Some instances with only 50 customers could not be solved.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-7
SLIDE 7

Combining Column and Cut Generation

Fukasawa et al. [2006] proposed a Branch-Cut-and-Price (BCP) for the CVRP, solving all the instances from the literature with up to 134 customers. Since then, the best performing algorithms are based on the combination of column and cut generation.

  • R. Fukasawa, H. Longo, J. Lysgaard, M. Poggi de Arag˜

ao, M. Reis,

  • E. Uchoa, and R.F. Werneck. Robust branch-and-cut-and-price for the

capacitated vehicle routing problem. Mathematical programming, 106(3): 491–511, 2006

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-8
SLIDE 8

Recent Literature Review: Fukasawa et al. [2006]

BCP algorithm: Columns are associated to q-routes without k-cycles, a relaxation that allows multiple visits to a customer if at least k other customers are visited in-between. Cuts over the edge formulation, the same used in Lysgaard et al. [2004]. Those cuts are robust with respect to q-route pricing, not affecting its complexity. May automatically switch to pure branch-and-cut if it detects advantage.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-9
SLIDE 9

Recent Literature Review: Baldacci et al. [2008]

Column-and-cut generation algorithm: Columns are associated to elementary routes. Also uses non-robust Strengthened Capacity and Clique Cuts. Reduce the gaps significantly, but each cut makes the pricing harder.

  • R. Baldacci, N. Christofides, and A. Mingozzi. An exact algorithm for the

vehicle routing problem based on the set partitioning formulation with additional cuts. Mathematical Programming, 115(2):351–385, 2008

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-10
SLIDE 10

Recent Literature Review: Baldacci et al. [2008]

Instead of branching, the algorithm finishes by enumerating all routes with reduced cost smaller than the gap. A Set Partitioning with those routes is given to a MIP solver. Solved almost all the instances already solved in the literature, usually taking much less time. A few instances with many customers per vehicle were not solved.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-11
SLIDE 11

Recent Literature Review: Baldacci et al. [2011]

Improvement over Baldacci et al. [2008]: ng-routes, a new relaxation that is more effective than q-routes is introduced. Subset Row Cuts (Jepsen et al. [2008]) are used instead of Clique Cuts, less impact on the pricing. Faster and much more stable, could also solve instances with reasonably many customers per route.

  • R. Baldacci, A. Mingozzi, and R. Roberti. New route relaxation and

pricing strategies for the vehicle routing problem. Operations Research, 59(5):1269–1283, 2011

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-12
SLIDE 12

Recent Literature Review: Contardo [2012]

New twists on the use of non-robust cuts and on enumeration: The partial elementarity of the routes is enforced by non-robust cuts. The enumeration generates a pool with up to a few million routes and the pricing starts to be performed by inspection. At that point, an aggressive separation of non-robust cuts and fixing by reduced costs can lead to small gaps. Instance M-n151-k12 was solved to optimality in 5.5 hours, setting a new record.

  • C. Contardo. A new exact algorithm for the multi-depot vehicle routing

problem under capacity and route length constraints. Technical report, Archipel-UQAM 5078, Universit´ e du Qu´ ebec ` a Montr´ eal, Canada, 2012

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-13
SLIDE 13

Recent Literature Review: Røpke [2012]

Back to robust BCP. Instead of q-routes without k-cycles, the more effective ng-routes are used. A sophisticated and aggressive strong branching, greatly reducing the size of the enumeration trees. In spite of larger root gaps, results comparable with Contardo [2012] and Baldacci et al. [2011]. M-n151-k12 solved in 5 days. Similar algorithm for VRPTW solved all Solomon instances with 100 customers.

  • S. Røpke. Branching decisions in branch-and-cut-and-price algorithms for

vehicle routing problems. Presentation in Column Generation 2012, 2012

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-14
SLIDE 14

Overall comparison over the classical benchmark instances

LLE04 FLL+06 BCM08 Class NP Unsolved Gap Time Unsolved Gap Time Unsolved Gap Time A 22 7 2.06 6638 0.81 1961 0.20 118 B 20 1 0.61 8178 0.47 4763 0.16 417 E-M 12 9 2.10 39592 3 1.19 126987 4 0.69 1025 F 3 0.06 1016 0.14 2398 3 P 24 8 2.26 11219 0.76 2892 2 0.28 187 Total 81 25 3 9 Machine Intel Celeron 700MHz Pentium 4 2.4GHz Pentium 4 2.6GHz BMR11 Con12 Rop12 Class NP Unsolved Gap Time Unsolved Gap Time Unsolved Gap Time A 22 0.13 30 0.07 59 0.57 53 B 20 0.06 67 0.05 89 0.25 208 E-M 12 3 0.49 303 2 0.30 2807 2 0.96 44295 F 3 1 0.11 164 1 0.06 3 0.25 2163 P 24 0.23 85 0.13 43 0.69 280 Total 81 4 3 2 Machine Xeon X7350 2.93GHz Xeon E5462 2.8GHz Core i7-2620M 2.7GHz Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-15
SLIDE 15

Book chapter reviewing those recent algorithms

  • M. Poggi and E. Uchoa. New exact approaches for the capacitated VRP.

In P. Toth and D. Vigo, editors, Vehicle Routing: Problems, Methods, and Applications, chapter 3. SIAM, second edition, To Appear

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-16
SLIDE 16

Proposed Algorithm

A BCP that borrows from all those recent works and introduces a number of new elements. A complex piece of algorithmic engineering, this presentation focus on the individual element that brought more improvement: the limited memory Subset Row Cuts

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-17
SLIDE 17

Arc-Load Formulation (ALF)

Binary variable xq

ij indicates that some vehicle goes from i to j

carrying a load of q units (with the convention that the vehicles are collecting demands). The routes are paths over an acyclic network N = (VQ, AQ): VQ = {(i, q) : i ∈ V ; q = di, . . . , Q} An arc (i, j)q ∈ AQ goes from (i, q) to (j, q + di)

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-18
SLIDE 18

Arc-Load Formulation (ALF)

x03 x02 x01 x15

2

x34

2

x20

3

x40

4

x50

5

q = 0 1 2 3 4 5 5 4 3 2 1 i = 0

Figure: n = Q = 5, d1 = d3 = d4 = 2, d2 = d5 = 3; routes 0-1-5-0, 0-2-0, 0-3-4-0 are shown

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-19
SLIDE 19

Arc-Load Formulation (ALF)

min

  • aq∈AQ

caxq

a

(1) S.t.

Q

  • q=di
  • aq∈δ+((i,q))

xq

a = 1,

∀i ∈ V+, (2)

  • a0∈δ+((0,0))

x0

a = K,

(3)

  • aq−di ∈δ−((i,q))

xq−di

a

  • aq∈δ+((i,q))

xq

a = 0,

∀(i, q) ∈ VQ, (4) xq

a ≥ 0,

∀aq ∈ AQ, (5) x integer. (6)

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-20
SLIDE 20

Dantzig-Wolfe Decomposition

A q-route is a walk that starts and ends at 0, traverses a sequence

  • f customers with total demand at most Q. Not necessarily

elementary, but each time a customer is revisited its demand in counted again. The paths in N starting and ending at 0 are q-routes. Let Ω be the set of q-routes. For each r ∈ Ω define a non-negative variable λr and coefficients aij

rq, for each

(i, j)q ∈ AQ, indicating whether (i, j) is traversed with load q in route r. Equations (4) can be replaced by:

  • r∈Ω

aij

rqλr = xq ij ,

∀(i, j)q ∈ AQ. (7)

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-21
SLIDE 21

Dantzig-Wolfe Master

Substituting the x variables and relaxing the integrality: (DWM) min

  • r∈Ω

 

  • (i,j)q∈AQ

aij

rqcij

  λr (8) S.t.

  • r∈Ω

 

  • (i,j)q∈δ+({i})

aij

rq

  λr = 1, ∀i ∈ V+, (9)

  • r∈Ω

 

  • (i,j)q∈δ+({0})

aij

rq

  λr = K, (10) λr ≥ 0 ∀r ∈ Ω. (11)

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-22
SLIDE 22

Dantzig-Wolfe Master

(DWM) min

  • r∈Ω

crλr (12) S.t.

  • r∈Ω

ar

i λr = 1,

∀i ∈ V+, (13)

  • r∈Ω

λr = K, (14) λr ≥ 0 ∀r ∈ Ω. (15) ar

i is the number of times that customer i appears in route r.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-23
SLIDE 23

Adding Robust Cuts to the DWM

The l-th cut with format

  • (i,j)q∈AQ

αlq

ij xq ij ≥ bl

can be included in the DWM as

  • r∈Ω

(

  • (i,j)q∈AQ

αlq

ij arq ij )λr ≥ bl.

Suppose there are nR constraints in the DWM, including (9),(10), constraint l has dual variable πl. The reduced cost of an arc (i, j)q is: ¯ cq

ij = cij − nR

  • l=1

αlq

ij πl.

(16) The pricing subproblem is finding shortest paths in N with respect to the arc reduced costs. Can be done in O(n2Q) time.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-24
SLIDE 24

Redefining the Set of Routes

A stronger formulation would be obtained if Ω is redefined as the set of elementary routes. On the other hand, the pricing would become a strongly NP-hard problem. The definition of Ω should be a balance between formulation strength and impact on the pricing. As in other recent works, we chose ng-routes: For each i ∈ V+, let NG(i) ⊆ V+ be the neighborhood of i, its ng closest customers. A ng-route can only revisit customer i after it passes by another costumer j such that i / ∈ NG(j). Using ng = n, ng-routes are elementary. We used ng = 8.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-25
SLIDE 25

The Labeling Algorithm

The pricing is done by a labeling dynamic programming algorithm. Each (i, q) ∈ VQ defines a bucket. A label L(P) is a data structure representing a partial path P, with cost ¯ c(P). All labels corresponding to paths ending in i with load q are kept in bucket B(i, q). An initial label representing a null path is put in B(0, 0). Labels are expanded producing other labels. Dominated labels should be removed along the algorithm.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-26
SLIDE 26

The Labeling Algorithm

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-27
SLIDE 27

The Labeling Algorithm

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-28
SLIDE 28

The Labeling Algorithm

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-29
SLIDE 29

The Labeling Algorithm

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-30
SLIDE 30

The Labeling Algorithm

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-31
SLIDE 31

The Labeling Algorithm

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-32
SLIDE 32

Domination in the Labeling Algorithm

Rule A label L(P1) dominates another label L(P2) in the same bucket if ¯ c(P1) ≤ ¯ c(P2) and every valid completion of P2 is also a valid completion for P1. q-routes: at most one non-dominated label per bucket q-routes without k-cycles: at most k! non-dominated labels in each bucket ng-routes: Let Π1 and Π2 be the forbidden immediate extensions of paths P1 and P2, due to NG-sets. If Π1 ⊆ Π2 then every valid completion of P2 is also a valid completion for P1. At most 2ng−1 labels per bucket. ng = 8 is a safe choice for avoiding an exponential proliferation of labels.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-33
SLIDE 33

Subset Row Cuts (SRCs)

Given C ⊆ V+ and a multiplier p, the (C, p)-Subset Row Cut is:

  • r∈Ω
  • p

i∈C

ar

i

  • λr ≤ ⌊p|C|⌋

(17) Non-robust cut obtained by a Chv´ atal-Gomory rounding of |C| constraints in the DWM.

  • M. Jepsen, B. Petersen, S. Spoorendonk, and D. Pisinger. Subset-row

inequalities applied to the vehicle-routing problem with time windows. Operations Research, 56(2):497–511, 2008

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-34
SLIDE 34

Interesting SRCs

Given an SRC with base set C, for each integer d, define yd

C as the

sum of all variables λr such that

i∈C ar i = d.

The cuts where |C| = 3 and p = 1/2 are called 3-Subset Row Cuts (3SRCs), expressed as: y2

C + y3 C + 2y4 C + 2y5 C + . . . ≤ 1.

Used in Contardo [2012] and Baldacci et al. [2011] Potentially very effective

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-35
SLIDE 35

Interesting SRCs

|C| = 1 and p = 1/2, 1-Subset Row Cuts (1SRCs): y2

C + y3 C + 2y4 C + . . . ≤ 0.

Forbid routes that revisit a certain vertex Similar cut used in Contardo [2012]

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-36
SLIDE 36

Interesting SRCs

|C| = 4 and p = 2/3, 4SRCs: y2

C + 2y3 C + 2y4 C + 3y5 C + 4y6 C + . . . ≤ 2.

|C| = 5 and p = 1/3, 5,1SRCs: y3

C + y4 C + y5 C + 2y6 C + . . . ≤ 1.

|C| = 5 and p = 1/2, 5,2SRCs: y2

C + y3 C + 2y4 C + 2y5 C + 3y6 C + . . . ≤ 2.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-37
SLIDE 37

limited memory Subset Row Cuts (lm-SRCs)

Given C ⊆ V+, a memory set M, C ⊆ M ⊆ V+, and a multiplier p, the limited memory (C, M, p)-Subset Row Cut is:

  • r∈Ω

α(C, M, p, r)λr ≤ ⌊p|C|⌋ , (18) where the coefficient of a route r is computed as:

1: function α(C, M, p, r) 2: coeff ← 0, state ← 0 3: for every vertex i ∈ r (in order) do 4: if i / ∈ M then 5: state ← 0 6: else if i ∈ C then 7: state ← state + p 8: if state ≥ 1 then 9: coeff ← coeff + 1, state ← state − 1 10: return coeff

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-38
SLIDE 38

limited memory Subset Row Cuts (lm-SRCs)

1: function α(C, M, p, r) 2: coeff ← 0, state ← 0 3: for every vertex i ∈ r (in order) do 4: if i / ∈ M then 5: state ← 0 6: else if i ∈ C then 7: state ← state + p 8: if state ≥ 1 then 9: coeff ← coeff + 1, state ← state − 1 10: return coeff If M = V+, the function returns ⌊p

i∈C

ar

i ⌋

Otherwise, the lm-SRC may be a weakening of the corresponding SRC

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-39
SLIDE 39

Separation of lm-SRCs

If a violated (C, p)-SRC exists, it finds a minimal set M such that the lm-(C, M, p)-SRC has the same violation. Eventually (perhaps in more iterations), the lower bounds

  • btained with the lm-SRCs will be the same that would be
  • btained with the SRCs.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-40
SLIDE 40

Separation of lm-SRCs

2 1 3

Route r1, λr1=0.5

λr1 has coefficient 1 in the 3-SRC with C = {1, 2, 3}

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-41
SLIDE 41

Separation of lm-SRCs

2 1 3

Route r1, λr1=0.5 Included in the memory set

λr1 still has coefficient 1 in the lm 3-SRC

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-42
SLIDE 42

Separation of lm-SRCs

2 1 3

Route r2, λr2=0.5

λr2 has coefficient 1 in the 3-SRC with C = {1, 2, 3}

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-43
SLIDE 43

Separation of lm-SRCs

2 1 3

Route r2, λr2=0.5 Included in the memory set

λr2 still has coefficient 1 in the lm 3-SRC

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-44
SLIDE 44

Separation of lm-SRCs

2 1 3

Route r3, λr3=0.5

λr3 has coefficient 1 in the 3-SRC with C = {1, 2, 3}

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-45
SLIDE 45

Separation of lm-SRCs

2 1 3

Route r3, λr3=0.5 Included in the memory set

λr3 still has coefficient 1 in the lm 3-SRC

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-46
SLIDE 46

Why it is good to reduce the set M as much as possible?

Suppose that nS lm-SRCs are in the DWM, cut s has dual variable σs. Those variables penalize the reduced cost of some paths. S(P) is the nS-dimensional vector of states of a partial path P, calculated by the α function. Rule A label L(P1) dominates another label L(P2) in the same bucket if ¯ c(P1) ≤ ¯ c(P2) +

1≤s≤nS:S(P1)[s]>S(P2)[s] σs and every valid

completion for P2 is also a valid completion for P1. When S(P1)[s] > S(P2)[s], it is possible that a completion for P1 is penalized by σs but the same completion for P2 is not.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-47
SLIDE 47

Why it is good to reduce the set M as much as possible?

Rule A label L(P1) dominates another label L(P2) in the same bucket if ¯ c(P1) ≤ ¯ c(P2) +

1≤s≤nS:S(P1)[s]>S(P2)[s] σs and every valid

completion for P2 is also a valid completion for P1. The separation of a few dozen SRCs already makes the domination much less frequent. The labeling algorithm is subject to an early exponential proliferation of labels The separation of lm-SRCs with minimal M sets mitigates this

  • effect. A lm-SRC only affects the dominance in buckets of its M.

Many more cuts can be separated before the pricing becomes intractable

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-48
SLIDE 48

Why it is good to reduce the set M as much as possible?

2

i

1 3 Solid path may only dominate the dashed path because the lm 3-SRC {1, 2, 3} is already forgotten at i.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-49
SLIDE 49

New Algorithm Summary: Cuts

Robust cuts

Rounded Capacity Strengthened Comb Path-ECC

Non-robust cuts

lm-SRC

Post-enumeration cuts

SRC Clique

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-50
SLIDE 50

New Algorithm Summary: Pricing

The most critical part of the BCP. The label setting dynamic programming algorithm handles:

ng-routes lm-SRCs (1SRCs, 3SRCs, 4SRCs, 5SRCs)

Features:

Bidirectional Search - Differs a little from Righini and Salani [2006], concatenation not always in the middle. Some implementation tricks, like data structures over bitmaps, etc. Fast and effective heuristics. Exact pricing called a few times per node.

Decremental State Space Relaxation (DSSR) (Boland et al. [2006] and Righini and Salani [2008]) was tried, inconclusive results.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-51
SLIDE 51

New Algorithm Summary: Non-robustness control

Even with all the care in their separation, lm-SRCs are indeed “non-robust”: The pricing may be handling several hundreds lm-SRCs

  • efficiently. Then, in some node of the tree, it suddenly

becomes 100 or even 1000 times slower! In those cases it is necessary to roll back, removing the

  • ffending cuts. The node lower bound decreases, but the BCP

does not halt.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-52
SLIDE 52

New Algorithm Summary: Miscellanea

Strong Branching:

Hierarchical, 3 levels Uses history of past branchings Aggressive, up to 200 candidates can be tested Uses estimates of the subtree size determining the SB effort in each node

Enumeration:

Performed when the node gap is sufficiently small for generating a pool with less than 20M routes Ordinary branching occurs in enumerated nodes The MIP solver only finishes the node when the pool has less than 20K routes

Branch-and-cut: In the root node, when column generation is having severe convergence problems, it may try BC

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-53
SLIDE 53

Overall comparison over the classical benchmark instances

BMR11 Con12 Rop12 Class NP Unsolved Gap Time Unsolved Gap Time Unsolved Gap Time A 22 0.13 30 0.07 59 0.57 53 B 20 0.06 67 0.05 89 0.25 208 E-M 12 3 0.49 303 2 0.30 2807 2 0.96 44295 F 3 1 0.11 164 1 0.06 3 0.25 2163 P 24 0.23 85 0.13 43 0.69 280 Total 81 4 3 2 Machine Xeon X7350 2.93GHz Xeon E5462 2.8GHz Core i7-2620M 2.7GHz This BCP Class NP Unsolved Gap Time A 22 0.03 7 B 20 0.04 8 E-M 12 0.14 8395 F 3 0.28 390 P 24 0.08 24 Total 81 Machine Core i7-3770 3.4GHz Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-54
SLIDE 54

Detailed Results: M-n151-k12

Algo Machine Root LB Final LB Total Time BMR11 X7350 2.93GHz 1004.3 1004.3 380 Contardo12 E5462 2.8GHz 1012.5 1015 19699 Ropke12 i7-2620M 2.7GHz 1001.5 1015 417146 This BCP i7-3770 3.4GHz 1013.7 1015 349

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-55
SLIDE 55

Detailed Results: M-n200-k17

Algo Machine Root LB Final LB Total Time BMR11 X7350 2.93GHz 1258.7 1258.7 436 Contardo12 E5462 2.8GHz 1265.1 1265.1 34350 Ropke12 i7-2620M 2.7GHz 1255.3 1261.4 7200 This BCP i7-3770 3.4GHz 1271.0 1275 10230

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-56
SLIDE 56

Detailed Results: M-n200-k16

Algo Machine Root LB Final LB Total Time BMR11 X7350 2.93GHz 1256.6 1256.6 319 Contardo12 E5462 2.8GHz 1263.0 1263.0 265588 Ropke12 i7-2620M 2.7GHz 1253.0 1258.2 7200 This BCP i7-3770 3.4GHz 1266.0 1274 89772 Previous upper bound: 1278.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-57
SLIDE 57

Optimal solution of M-n200-k16 (Q = 200), cost 1274

18 26 23 27 27 25 29 19 12 21 9 10 1 27 16 28 5 11 3 41 15 7 8 21 14 26 11 23 3 23 16 16 17 9 5 19 26 6 7 2 23 35 7 16 20 7 8 7 16 11 25 18 29 25 22 6 2 8 19 13 21 17 5 21 19 14 14 31 12 6 19 20 22 11 16 36 13 27 5 11 30 9 25 10 7 13 10 3 14 31 17 8 6 20 15 25 24 9 5 15 17 5 16 17 19 14 12 29 19 28 9 26 12 5 13 11 9 18 15 27 19 13 9 11 3 19 14 16 13 236 15 8 9 3 12 26 18 18 14 21 9 9 28 8 23 18 5 10 10 29 7 9 3 12 2 18 10 8 17 18 1 41 22 28 20 15 30 19 11 17 10 6 36 15 27 13 10 10 16 37 16 28 26 11 15 30 16 20 15 33 27 16 6 12 18 19 16

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-58
SLIDE 58

M-n200 with fractional costs (a.k.a. C5)

In the heuristics literature it is usual not to round the edge costs and not to fix the number of vehicles. Algorithm Best Sol Rochat and Taillard [1995] 1291.45 Pisinger and Røpke [2007] 1297.12 Mester and Br¨ aysy [2007] 1291.29 Nagata and Br¨ aysy [2009] 1291.45 Vidal et al. [2012] 1291.45 Subramanian et al. [2012] 1291.45 The optimal value is indeed 1291.29, proved in 57718 seconds.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-59
SLIDE 59

Golden’s Instances

Golden, Wasil, Kelly, and Chao [1998] proposed 12 instances, ranging from 240 to 483 customers. Appear frequently in the literature on heuristic methods Until now, considered to be far beyond the reach of exact methods Four instances could be solved, those with 240, 300, 320, and 360 customers.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-60
SLIDE 60

Optimal solution of Golden 14 (320 customers, Q = 1000), cost 1080.55, 30 routes

8.1 6.9 6.9 6 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 6 6.9 8.1 8.1 6.9 6.9 6 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 6 6.9 8.1 10 8.1 6.9 6 6 6 6 6 6.9 6.9 8.1 10 12.8 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 10 8.1 6.9 6 6 6 6 6 6.9 6.9 8.1 10 12.8 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 12.8 10 8.1 6.9 6 6 5.2 5.2 5.2 6 6.9 8.1 10 18 18 18 30 18 18 18 30 18 18 18 30 12.8 10 8.1 6.9 6 6 5.2 5.2 5.2 6 6.9 8.1 10 12.8 10 8.1 6.9 6 6 5.2 5.2 5.2 6 6.9 8.1 10 18 18 18 30 12.8 10 8.1 6.9 6 6 5.2 5.2 5.2 6 6.9 8.1 10 30 18 18 30 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 30 18 18 30 30 18 18 30 30 18 18 30 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 8.1 6.9 6.9 6 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 6 6.9 8.1 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 10 8.1 6.9 6 6 6 6 6 6.9 6.9 8.1 10 12.8 10 8.1 6.9 6 6 6 6 6 6.9 6.9 8.1 10 12.8 12.8 10 8.1 6.9 6 5.2 5.2 6 6.9 8.1 10 12.8 8.1 6.9 6.9 6 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 6 6.9 8.1

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-61
SLIDE 61

Optimal solution of Golden 19 (360 customers, Q = 20), cost 1365.60, 33 routes

1 1 1 1 1 4 4 1 1 1 1 1 1 1 1 1 1 1 1 4 4 1 1 1 1 1 1 1 2 2 2 1 1 4 1 1 1 1 2 2 2 2 1 2 1 4 1 4 1 1 1 1 1 1 1 4 4 1 1 1 1 2 2 1 1 1 1 1 4 4 1 1 1 1 1 1 1 4 4 4 1 1 1 1 2 1 4 2 1 1 4 1 1 1 1 1 2 2 1 4 1 4 1 2 1 1 1 1 4 4 4 1 1 1 1 1 2 2 2 1 2 1 4 1 4 1 1 1 2 1 2 1 4 1 4 1 2 1 11 1 1 4 4 4 2 2 1 4 1 4 1 2 1 1 1 2 2 2 1 2 1 4 1 4 1 2 2 1 1 1 1 4 1 1 2 2 2 4 4 4 1 1 11 1 2 1 4 1 4 1 2 1 2 1 1 1 1 1 4 1 4 1 2 1 2 2 2 1 4 1 4 2 2 2 1 1 2 2 1 4 1 4 1 2 1 1 1 2 1 2 1 2 1 4 1 4 1 1 4 4 4 4 1 1 1 1 1 1 1 4 1 4 1 2 1 2 2 2 1 4 1 4 2 2 1 11 1 2 1 1 4 4 1 1 1 1 2 2 2 2 2 1 2 1 4 1 4 1 1 1 2 1 4 1 4 1 2 1 2 1 1 4 1 2 1 1 4 1 1 1 1 1 4 4 4 4 1 1 1 1 11 1 1 1 1 4 4 1 1 1 1 2 1 1 1 2 1 2 1 4 1 4 1 1 1 1 1 1 4 1 2 1 2 1 4 1

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-62
SLIDE 62

New Instances

The development of exact methods for the CVRP needs new test instances: The usual set of 81 benchmark instances is outdated

72 instances have no more than 80 customers and are now very easy

The 12 instances by Golden et al. are not up to that role:

Too few Too homogeneous Too artificial (the customers are located in concentric geometric figures around the depot, lots of symmetries)

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-63
SLIDE 63

New Instances

We (together with Anand Subramanian and Thibaut Vidal) are proposing a new set test instances: 50 instances between 100 and 330 customers, the more interesting range for current exact methods 50 instances between 335 and 1000 customers, at the moment, mainly for heuristic methods

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-64
SLIDE 64

New Instances

The new instances were generated by a sampling method, trying to cover a wide range of characteristics: Depot Location

Random Central Corner

Customer Location

Random Clustered Random-Clustered

The clustering was devised to mimic the growth of a metropolitan area.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-65
SLIDE 65

New Instances

The new instances were generated by a sampling method, trying to cover a wide range of characteristics: Demand Distribution

Unitary Small values, small variance Small values, big variance Big values, small variance Big values, big variance Depending on costumer position A few values close to Q, many small values

Average number of customers per route

Between 4 and 25

A report describing the instances (and a web page) will be released soon.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-66
SLIDE 66

Preliminary Results on the New Instances

Most “typical instances” with up to 300 customers can be solved to optimality by the BCP Instances with long routes (more than 18 customers) are considerably harder. With 200 customers they already can be very challenging (to all currently known methods, including pure branch-and-cut). Instances with only short routes (less than 7 customers) are considerably easier. Large instances can be solved.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-67
SLIDE 67

Optimal solution of X655 (unitary demands, Q = 5), cost 106780, 131 routes

277 112 172 581 31 587 97 412 577 111 66 21 213 307 271 8 286 141 572 208 434 91 484 360 430 106 564 522 648 382 540 477 482 599 655 463 107 47 460 456 420 421 37 490 153 218 105 459 339 207 88 48 573 509 77 5 315 634 452 550 211 52 470 276 582 130 99 415 119 388 136 16 427 442 188 102 24 386 140 535 280 238 389 242 384 73 134 451 646 519 372 12 609 210 109 431 481 367 560 497 13 192 261 621 144 379 151 524 252 123 486 170 654 505 549 114 312 336 555 60 69 94 507 504 38 533 362 164 483 403 508 22 603 357 322 184 596 300 653 87 383 79 20 380 132 447 110 593 429 202 344 155 330 199 9 370 10 17 214 605 195 424 266 638 449 516 122 455 250 635 50 589 32 598 215 597 186 462 272 618 528 185 521 259 147 294 492 262 512 256 281 305 608 396 376 247 395 627 410 338 302 263 643 469 641 458 196 299 293 78 511 75 222 558 453 243 480 576 586 90 127 49 212 103 557 95 260 510 552 289 157 35 150 401 264 525 40 489 64 650 568 308 561 644 104 544 332 358 345 563 244 224 607 584 257 393 18 475 197 637 177 220 341 478 96 121 180 614 628 601 59 166 375 340 551 461 255 295 273 407 26 542 390 642 468 349 145 283 543 327 7 80 465 515 3 282 84 258 600 11 287 371 81 479 168 29 118 98 363 487 343 398 359 428 160 348 171 146 189 142 513 200 488 590 471 230 19 649 532 113 346 34 517 350 457 115 65 125 335 89 131 92 647 409 624 473 161 319 530 553 53 216 620 595 297 433 14 503 265 162 25 225 6 356 496 570 241 93 623 514 502 352 70 536 474 354 100 436 304 269 320 245 323 318 143 645 314 159 612 219 402 476 228 529 652 419 74 574 633 301 636 169 466 493 381 275 303 418 583 506 306 240 594 351 268 137 2 198 566 67 602 167 368 500 124 173 438 324 585 45 41 135 413 537 158 4 44 639 163 63 365 108 387 378 310 333 448 626 254 152 71 179 334 579 571 201 58 538 406 426 33 337 182 23 541 554 615 588 580 464 183 397 235 175 630 248 575 274 373 217 292 181 374 526 391 46 229 68 42 342 191 518 329 83 416 296 36 546 309 178 165 498 278 203 625 193 400 221 631 85 249 417 399 231 439 187 556 531 237 539 444 622 495 56 267 408 206 629 62 361 209 443 394 72 617 606 366 619 291 194 129 15 377 527 279 138 347 578 316 101 355 405 632 149 414 126 385 133 423 28 174 298 611 392 592 353 523 454 128 82 27 176 591 491 569 445 616 499 313 234 117 39 565 54 331 251 223 559 441 116 139 411 190 311 253 232 472 328 288 364 369 239 425 61 440 317 610 520 450 226 156 326 494 246 204 86 640 435 154 205 55 285 120 290 30 43 321 148 651 562 57 270 604 51 422 467 233 545 548 485 227 534 567 404 446 437 613 501 432 76 236 325 284 547

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-68
SLIDE 68

Thank you for your attention!

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-69
SLIDE 69
  • N. Achuthan, L. Caccetta, and S. Hill. An improved

branch-and-cut algorithm for the capacitated vehicle routing

  • problem. Transportation Science, 37:153–169, 2003.
  • J. Araque, G. Kudva, T. Morin, and J. Pekny. A branch-and-cut

algorithm for the vehicle routing problem. Annals of Operations Research, 50:37–59, 1994.

  • P. Augerat, J. Belenguer, E. Benavent, A. Corber´

an, D. Naddef, and G. Rinaldi. Computational results with a branch and cut code for the capacitated vehicle routing problem. Technical Report 949-M, Universit´ e Joseph Fourier, Grenoble, France, 1995.

  • R. Baldacci, N. Christofides, and A. Mingozzi. An exact algorithm

for the vehicle routing problem based on the set partitioning formulation with additional cuts. Mathematical Programming, 115(2):351–385, 2008.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-70
SLIDE 70
  • R. Baldacci, A. Mingozzi, and R. Roberti. New route relaxation

and pricing strategies for the vehicle routing problem. Operations Research, 59(5):1269–1283, 2011.

  • U. Blasum and W. Hochst¨
  • attler. Application of the branch and cut

method to the vehicle routing problem. Technical Report ZPR2000-386, Zentrum fur Angewandte Informatik K¨

  • ln, 2000.
  • N. Boland, J. Dethridge, and I. Dumitrescu. Accelerated label

setting algorithms for the elementary resource constrained shortest path problem. Operations Research Letters, 34(1): 58–68, 2006.

  • C. Contardo. A new exact algorithm for the multi-depot vehicle

routing problem under capacity and route length constraints. Technical report, Archipel-UQAM 5078, Universit´ e du Qu´ ebec ` a Montr´ eal, Canada, 2012.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-71
SLIDE 71
  • R. Fukasawa, H. Longo, J. Lysgaard, M. Poggi de Arag˜

ao, M. Reis,

  • E. Uchoa, and R.F. Werneck. Robust branch-and-cut-and-price

for the capacitated vehicle routing problem. Mathematical programming, 106(3):491–511, 2006.

  • M. Jepsen, B. Petersen, S. Spoorendonk, and D. Pisinger.

Subset-row inequalities applied to the vehicle-routing problem with time windows. Operations Research, 56(2):497–511, 2008.

  • J. Lysgaard, A. Letchford, and R. Eglese. A new branch-and-cut

algorithm for the capacitated vehicle routing problem. Mathematical Programming, 100:423–445, 2004.

  • M. Poggi and E. Uchoa. New exact approaches for the capacitated
  • VRP. In P. Toth and D. Vigo, editors, Vehicle Routing:

Problems, Methods, and Applications, chapter 3. SIAM, second edition, To Appear.

  • T. Ralphs, L. Kopman, W. Pulleyblank, and L. Trotter Jr. On the

capacitated vehicle routing problem. Mathematical Programming, 94:343–359, 2003.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing

slide-72
SLIDE 72
  • G. Righini and M. Salani. Symmetry helps: bounded bi-directional

dynamic programming for the elementary shortest path problem with resource constraints. Discrete Optimization, 3(3):255–273, 2006.

  • G. Righini and M. Salani. New dynamic programming algorithms

for the resource constrained elementary shortest path problem. Networks, 51(3):155–170, 2008.

  • S. Røpke. Branching decisions in branch-and-cut-and-price

algorithms for vehicle routing problems. Presentation in Column Generation 2012, 2012.

Aussois-2014 Pecin, Pessoa, Poggi, and Uchoa Improved BCP for Capacitated Vehicle Routing