a branch-price-and-cut algorithm for the min-max k-vehicle ... desaulniers.pdfmin-max k-vehicle...

49
Min-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k -vehicle windy rural postman problem Guy Desaulniers * , Fran¸cois Lessard * , ´ Angel Corber´ an ** , Enrique Benavent ** , Isaac Plana ** and Jos´ e M. Sanchis *** * ´ Ecole Polytechnique de Montr´ eal/GERAD, ** Universidad de Val` encia, *** Universidad Polit´ ecnica de Val` encia Route 2011, June 2, Sitges, Spain Desaulniers et al. (Montr´ eal & Val` encia) Min-max k-vehicle windy rural postman problem 1/37

Upload: others

Post on 07-Sep-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

A branch-price-and-cut algorithm for the min-maxk-vehicle windy rural postman problem

Guy Desaulniers∗, Francois Lessard∗, Angel Corberan∗∗,Enrique Benavent∗∗, Isaac Plana∗∗ and Jose M. Sanchis∗∗∗

∗Ecole Polytechnique de Montreal/GERAD, ∗∗ Universidad de Valencia,∗∗∗ Universidad Politecnica de Valencia

Route 2011, June 2, Sitges, Spain

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 1/37

Page 2: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Outline

1 Introduction

2 Mathematical model

3 Branch-price-and-cut algorithmColumn generationCutting planesBranching decisions

4 Computational results

5 Conclusion

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 2/37

Page 3: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Outline

1 Introduction

2 Mathematical model

3 Branch-price-and-cut algorithmColumn generationCutting planesBranching decisions

4 Computational results

5 Conclusion

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 3/37

Page 4: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Routing problems consist of building routes for vehicles thatmust accomplish a set of tasks.

Arc routing problems differ from node routing problems by thefact that each task spreads over a street segment (arc/edge)instead of being centralized at a specific location(node/vertex).

Arc routing problems have several applications in wastecollection, postal delivery, winter services (snow plowing, saltgritting), meter reading, structure inspection, school busing,and more.

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 4/37

Page 5: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Chinese postman problem (CPP)

Undirected graph G = (V ,E )

V : vertex setE : edge set

de : Length (cost) of edge e

Find a shortest tour that

traverses (in any direction) every edge in E at least oncestarts and ends at the same vertex

Rural postman problem (RPP)

Same as CPP except

ER ⊆ E : subset of required edgesTour must traverse every edge in ER at least onceNon-required edges in E \ ER might not be traversed

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 5/37

Page 6: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Chinese postman problem (CPP)

Undirected graph G = (V ,E )

V : vertex setE : edge set

de : Length (cost) of edge e

Find a shortest tour that

traverses (in any direction) every edge in E at least oncestarts and ends at the same vertex

Rural postman problem (RPP)

Same as CPP except

ER ⊆ E : subset of required edgesTour must traverse every edge in ER at least onceNon-required edges in E \ ER might not be traversed

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 5/37

Page 7: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Windy rural postman problem (WRPP)

Same as RPP except

Distances dij and dji depending on the traversal direction foreach edge e = (i , j)Assumption: integer distances

k-vehicle windy rural postman problem (k-WRPP)

Same as WRPP except

k vehicles availableVertex 1 in V is a depotk routes starting and ending at 1 must be determinedMinimize total distance traveled

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 6/37

Page 8: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Windy rural postman problem (WRPP)

Same as RPP except

Distances dij and dji depending on the traversal direction foreach edge e = (i , j)Assumption: integer distances

k-vehicle windy rural postman problem (k-WRPP)

Same as WRPP except

k vehicles availableVertex 1 in V is a depotk routes starting and ending at 1 must be determinedMinimize total distance traveled

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 6/37

Page 9: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Min-max k-vehicle windy rural postman problem (Min-maxk-WRPP)

Same as k-WRPP except

Objective: minimizing the length of the longest routeAims at balancing the workload among the vehicles

2

8

7

5

4

3

6

9

1 1

2

1

1

1

2

1

11

1

12

1

3

1

1

121

1

2

1

11

4

1

1

1

Solid lines: required edges

Dashed lines: non-required edges

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 7/37

Page 10: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Min-max k-vehicle windy rural postman problem (Min-maxk-WRPP)

Same as k-WRPP except

Objective: minimizing the length of the longest routeAims at balancing the workload among the vehicles

2

8

7

5

4

3

6

9

1 1

2

1

1

1

2

1

11

1

12

1

3

1

1

121

1

2

1

11

4

1

1

1

Solid lines: required edges

Dashed lines: non-required edges

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 7/37

Page 11: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Min-max k-vehicle windy rural postman problem (Min-maxk-WRPP)

Same as k-WRPP except

Objective: minimizing the length of the longest routeAims at balancing the workload of the vehicles

2

8

7

5

4

3

6

9

1 1

2

1

1

1

2

1

11

1

12

1

3

1

1

121

1

2

1

11

4

1

1

1

Solid lines: required edges

Dashed lines: non-required edges

Solution for instance C1115, k = 2

Length of blue route = 8Length of red route = 7Non-required edges (3, 4) and(1, 9) used twice

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 8/37

Page 12: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Min-max k-vehicle windy rural postman problem (Min-maxk-WRPP)

Same as k-WRPP except

Objective: minimizing the length of the longest routeAims at balancing the workload of the vehicles

2

8

7

5

4

3

6

9

1 1

4

1

3

4

6

1

11

1

11

3

1

1

5

11

1

2

1

15

2

6

4

11

Solid lines: required edges

Dashed lines: non-required edges

Solution for instance C1118, k = 2

Length of blue route = 13Length of red route = 9Required edges (6, 7) and (8, 9)used twice

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 9/37

Page 13: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Literature

Frederickson et al. (1978) introduced a min-max objective forthe CPP with k vehicles and showed that this problem isNP-hard

State-of-the-art branch-and-cut algorithms by Benavent et al.(2009, 2010a) for the Min-max k-WRPP

Benavent et al. (2010b) also developed a metaheuristic(multi-start and iterated local search) for the Min-maxk-WRPP

Our goal

To develop a competitive branch-price-and-cut algorithm for theMin-max k-WRPP

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 10/37

Page 14: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Introduction

Literature

Frederickson et al. (1978) introduced a min-max objective forthe CPP with k vehicles and showed that this problem isNP-hard

State-of-the-art branch-and-cut algorithms by Benavent et al.(2009, 2010a) for the Min-max k-WRPP

Benavent et al. (2010b) also developed a metaheuristic(multi-start and iterated local search) for the Min-maxk-WRPP

Our goal

To develop a competitive branch-price-and-cut algorithm for theMin-max k-WRPP

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 10/37

Page 15: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Mathematical model

Outline

1 Introduction

2 Mathematical model

3 Branch-price-and-cut algorithmColumn generationCutting planesBranching decisions

4 Computational results

5 Conclusion

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 11/37

Page 16: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Mathematical model

Vehicles

K : Set of available vehicles, ordered in decreasing routelength to break symmetry

Consequently, vehicle 1 has the longest route

Variable z`: Length of the route of vehicle `

Routes

U: Upper bound on the optimal value (from a heuristicsolution)

P: Set of feasible routes (strictly shorter than U)

Variable θ`p: 1 if route p is assigned to vehicle `, 0 otherwise

dp: Length of route p

aep: 1 if route p services required edge e, 0 otherwise

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 12/37

Page 17: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Mathematical model

Vehicles

K : Set of available vehicles, ordered in decreasing routelength to break symmetry

Consequently, vehicle 1 has the longest route

Variable z`: Length of the route of vehicle `

Routes

U: Upper bound on the optimal value (from a heuristicsolution)

P: Set of feasible routes (strictly shorter than U)

Variable θ`p: 1 if route p is assigned to vehicle `, 0 otherwise

dp: Length of route p

aep: 1 if route p services required edge e, 0 otherwise

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 12/37

Page 18: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Mathematical model

Minimize z1 (1)

s.t.:∑`∈K

∑p∈P

aepθ

`p = 1, ∀e ∈ ER (2)

∑p∈P

θ`p = 1, ∀` ∈ K (3)

∑p∈P

dpθ`p = z`, ∀` ∈ K (4)

z`−1 ≥ z`, ∀` ∈ K \ {1} (5)

θ`p ∈ {0, 1}, ∀` ∈ K , p ∈ P (6)

(1): Minimize route length of vehicle 1(2): Cover each required edge by a route(3): Assign one route to each vehicle(4): Compute route length for each vehicle(5): Order vehicles by route length

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 13/37

Page 19: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Outline

1 Introduction

2 Mathematical model

3 Branch-price-and-cut algorithmColumn generationCutting planesBranching decisions

4 Computational results

5 Conclusion

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 14/37

Page 20: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Model (1)–(6) contains a huge number of variables

Variables can be generated dynamically using columngeneration

Column generation is embedded into a branch-and-cutalgorithm to tighten lower bounds and derive integer solutions

Resulting solution method is a branch-price-and-cut algorithm

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 15/37

Page 21: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Column generation

Column generation

Iterative method for solving the master problem (MP) (thelinear relaxation of model (1)–(6))

At each iteration1 Solve a restricted master problem (RMP) (MP restricted to a

subset of variables) by the simplex method2 Solve subproblems to identify negative reduced cost variables

(columns) to add to RMP3 Stop if no such columns exist: the current RMP optimal value

is a lower bound on the optimal value of MP

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 16/37

Page 22: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Column generation

Subproblems

One subproblem per vehicle (almost all identical untilbranching)

Each subproblem corresponds to a constrained elementaryshortest path problem (CESPP): constraint on route length

Directed network where nodes represent required edges (twonodes per edge) and arcs the shortest paths linking the edges

CESPP is NP-hard and can be solved by a labeling algorithm

Each label (representing a partial path) has one componentfor

Reduced costRoute lengthEach required edge (elementarity)

Given the complexity of CESPP, we rather use a relaxationbased on ng -paths

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 17/37

Page 23: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Column generation

CSPP with neighborhoods (ng -paths)

Baldacci et al. (2011)

Associate with each required edge e ∈ ER a neighborhoodNe ⊂ ER (edge e and its closest edges)

Allows a cycle for an edge ei only if this cycle contains an edgeej for which ei 6∈ Nej (returning to ei from ej is a long detour)

Example

Consider the following neighborhoods

N2 = {2, 3, 4}, N3 = {2, 3, 6}, N4 = {2, 4, 5}, N5 = {4, 5, 6},N6 = {3, 5, 6}

Path p = 1− 2− 3− 4− 2− 6− 1 is not feasible

Path p = 1− 2− 4− 6− 4− 5− 1 is feasible

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 18/37

Page 24: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Column generation

CSPP with neighborhoods (ng -paths)

Baldacci et al. (2011)

Associate with each required edge e ∈ ER a neighborhoodNe ⊂ ER (edge e and its closest edges)

Allows a cycle for an edge ei only if this cycle contains an edgeej for which ei 6∈ Nej (returning to ei from ej is a long detour)

Example

Consider the following neighborhoods

N2 = {2, 3, 4}, N3 = {2, 3, 6}, N4 = {2, 4, 5}, N5 = {4, 5, 6},N6 = {3, 5, 6}

Path p = 1− 2− 3− 4− 2− 6− 1 is not feasible

Path p = 1− 2− 4− 6− 4− 5− 1 is feasible

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 18/37

Page 25: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Column generation

Increased dominance

With ng -paths, a maximum of |Ne | components forelementarity can be equal to 1 at a node representing edge e

Allows increased dominance between labels and speeds up thelabeling algorithm

May yield weaker lower bounds as certain cycles are allowed

Heuristic column generators

Desaulniers et al. (2008)

At each column generation iteration1 Use tabu search to generate negative reduced cost columns2 If it fails, try heuristic labeling (networks with less arcs)3 If it fails, use exact labeling

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 19/37

Page 26: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Column generation

Increased dominance

With ng -paths, a maximum of |Ne | components forelementarity can be equal to 1 at a node representing edge e

Allows increased dominance between labels and speeds up thelabeling algorithm

May yield weaker lower bounds as certain cycles are allowed

Heuristic column generators

Desaulniers et al. (2008)

At each column generation iteration1 Use tabu search to generate negative reduced cost columns2 If it fails, try heuristic labeling (networks with less arcs)3 If it fails, use exact labeling

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 19/37

Page 27: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Four types of cutting planes

1 Lower bound inequalities

2 Aggregate R-odd cut inequalities

3 Clique inequalities based on three arcs

4 Subset row inequalities based on three required edges

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 20/37

Page 28: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Lower bound inequalities

U: current upper bound

L: lower bound given by optimal value of MP

Inequality z1 ≥ L∗ > L is valid if MP is infeasible when U isreplaced by L∗ (all routes must be strictly shorter than L∗)

Separation algorithm (if U > L)

dichotomic search on the interval [L,U]Solve MP at each iterationStop as soon as MP is infeasible

Only used at the root node (before branching)

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 21/37

Page 29: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Lower bound inequalities

U: current upper bound

L: lower bound given by optimal value of MP

Inequality z1 ≥ L∗ > L is valid if MP is infeasible when U isreplaced by L∗ (all routes must be strictly shorter than L∗)

Separation algorithm (if U > L)

dichotomic search on the interval [L,U]Solve MP at each iterationStop as soon as MP is infeasible

Only used at the root node (before branching)

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 21/37

Page 30: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Aggregate R-odd cut inequalities

Corberan et al. (2008)

S : subset of vertices in initial graph G

δ(S) and δR(S): sets of (required) edges incident to S

If |δR(S)| is odd, then the total deadhead flow on the edges inδ(S) must be greater than or equal to 1

83

| δR

(S) | = 3S = { 3, 8 }

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 22/37

Page 31: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Aggregate R-odd cut inequalities

Corberan et al. (2008)

S : subset of vertices in initial graph G

δ(S) and δR(S): sets of (required) edges incident to S

If |δR(S)| is odd, then the total deadhead flow on the edges inδ(S) must be greater than or equal to 1

83

| δR

(S) | = 3S = { 3, 8 }

0,5

0,5

0,5

0,5

0,5

0,5

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 23/37

Page 32: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Aggregate R-odd cut inequalities∑`∈K

∑p∈P

qSp θ

`p ≥ 1, ∀S ⊂ V , |δR(S)| odd

where qSp is the number of edges in δ(S) traversed in deadhead in

path p

Separation by enumeration up to a maximum size of |S |

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 24/37

Page 33: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Clique inequalities based on three arcs

Inspired from Hadjar et al. (2006)

Consider three required edges e1, e2 and e3

f `ij : total flow of vehicle ` on all 4 arcs (ei , ej)

Conflicting flows

f `1212 and f `23

23 if `12 6= `23

f `1212 and f `13

13

f `2323 and f `13

13

Sum of these flows must be less than or equal to 1

e2

e3

e1

0,5

0,5

0,5

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 25/37

Page 34: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Clique inequalities based on three arcs

Consider three required edges e1, e2 and e3

K12 and K23: disjoint subsets of vehicles with K12 ∪ K23 = K

In a feasible solution,∑`∈K12

f `12 +

∑`∈K23

f `23 +

∑`∈K

f `13 ≤ 1

e2

e3

e1

0,7

0,3

0,3

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 26/37

Page 35: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Clique inequalities based on three arcs

For all distinct edges e1, e2, e3 ∈ ER and all disjoint subsetsK12 and K23 such that K12 ∪ K23 = K :

∑p∈P

∑`∈K12

b12p θ

`p +

∑`∈K23

b23p θ

`p +

∑`∈K

b13p θ

`p

≤ 1

where bijp = 1 if path p uses an arc between edges ei and ej

Separation by enumeration

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 27/37

Page 36: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Subset row inequalities based on three required edges

Jepsen et al. (2008)

Defined directly on the MP variables θ`p

Chvatal-Gomory inequalities of rank 1 using set partitioningconstraints (2)

S : subset of three required edges (rows)∑`∈K

∑p∈P

bSp θ

`p ≤ 1, ∀S ⊆ ER , |S | = 3

where bSp = 1 if path p covers at least two required edges in S

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 28/37

Page 37: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Example

Consider S = {e1, e2, e3} and three paths

p1 covers edges e1 and e2 (bSp1

= 1), and∑`∈K

θ`p1

= 0.5

p2 covers edges e1 and e3 (bSp2

= 1), and∑`∈K

θ`p2

= 0.5

p3 covers edges e2 and e3 (bSp3

= 1), and∑`∈K

θ`p3

= 0.5

The subset row inequality for S is violated

Subset row inequalities based on three required edges

Labeling algorithm (dominance rule) must be modified

Less labels dominated, higher subproblem computational times

Very efficient at improving the lower bounds when routescontain several required edges

Separation by enumeration

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 29/37

Page 38: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Cutting planes

Example

Consider S = {e1, e2, e3} and three paths

p1 covers edges e1 and e2 (bSp1

= 1), and∑`∈K

θ`p1

= 0.5

p2 covers edges e1 and e3 (bSp2

= 1), and∑`∈K

θ`p2

= 0.5

p3 covers edges e2 and e3 (bSp3

= 1), and∑`∈K

θ`p3

= 0.5

The subset row inequality for S is violated

Subset row inequalities based on three required edges

Labeling algorithm (dominance rule) must be modified

Less labels dominated, higher subproblem computational times

Very efficient at improving the lower bounds when routescontain several required edges

Separation by enumeration

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 29/37

Page 39: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Branch-price-and-cut algorithm

Branching decisions

Three types of branching decisions

Bounding the route length of a vehicle (z`)

Assigning or not a required edge to a vehicle

Fixing the flow on a specific arc

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 30/37

Page 40: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Computational results

Outline

1 Introduction

2 Mathematical model

3 Branch-price-and-cut algorithmColumn generationCutting planesBranching decisions

4 Computational results

5 Conclusion

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 31/37

Page 41: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Computational results

Implementation details

U provided by a solution computed using the metaheuristic ofBenavent et al. (2010b)

High quality solutions: in most cases, we prove that there existno solutions with a value less than U

Neighborhood Ne with |Ne | = 12 for all required edges e

Aggregate R-odd cut inequalities: |S | ≤ 5

Test instances

Same as in Benavent et al. (2009, 2010a,b)

k = 2, 3, 4, 5, 6 vehicles

24 classes (graphs) of 6 instances (different distances)

Between 4 and 78 required edges

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 32/37

Page 42: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Computational results

Implementation details

U provided by a solution computed using the metaheuristic ofBenavent et al. (2010b)

High quality solutions: in most cases, we prove that there existno solutions with a value less than U

Neighborhood Ne with |Ne | = 12 for all required edges e

Aggregate R-odd cut inequalities: |S | ≤ 5

Test instances

Same as in Benavent et al. (2009, 2010a,b)

k = 2, 3, 4, 5, 6 vehicles

24 classes (graphs) of 6 instances (different distances)

Between 4 and 78 required edges

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 32/37

Page 43: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Computational results

Algorithms

BC: Branch-and-cut algorithm of Benavent et al. (2010a)

2.4 GHz computer

BP: Our branch-cut-and-price algorithm

2.6 GHz computer

Number of instances solved within 1 hour (out of 144)

2 vehicles 3 vehicles 4 vehicles 5 vehicles 6 vehicles

BC 144 130 124 113 101BP 114 119 119 121 121

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 33/37

Page 44: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Computational results

Algorithms

BC: Branch-and-cut algorithm of Benavent et al. (2010a)

2.4 GHz computer

BP: Our branch-cut-and-price algorithm

2.6 GHz computer

Number of instances solved within 1 hour (out of 144)

2 vehicles 3 vehicles 4 vehicles 5 vehicles 6 vehicles

BC 144 130 124 113 101BP 114 119 119 121 121

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 33/37

Page 45: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Computational results

Typical results2 vehicles 3 vehicles 4 vehicles 5 vehicles 6 vehicles

Opt Time Opt Time Opt Time Opt Time Opt TimeC04 BC 6 8 6 13 6 29 6 18 5 17

BP 6 26 6 1 6 < 1 6 < 1 6 < 1

C19 BC 6 9 6 32 6 43 6 575 4 57BP 6 70 6 16 6 7 6 2 6 20

C24 BC 6 131 4 243 3 2047 3 1680 0 -BP 2 1768 2 771 3 381 4 310 5 849

C04: 22 required edges, 13 non-required edges

C19: 29 required edges, 25 non-required edges

C24: 55 required edges, 70 non-required edges

BP time excludes time to compute upper bound Uapprox. 2-5 seconds for C04 and C19, 30-50 seconds for C24

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 34/37

Page 46: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Conclusion

Outline

1 Introduction

2 Mathematical model

3 Branch-price-and-cut algorithmColumn generationCutting planesBranching decisions

4 Computational results

5 Conclusion

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 35/37

Page 47: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Conclusion

Summary

Branch-price-and-cut outperforms branch-and-cut for 5 and 6vehicles

Branch-and-cut outperforms branch-price-and-cut for 2, 3,and 4 vehicles

Difficulties with branch-price-and-cut

Subproblems are difficult to solve exactly when routes containa relatively large number of required edges

Gaps are difficult to close by branching due to symmetry

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 36/37

Page 48: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Conclusion

Summary

Branch-price-and-cut outperforms branch-and-cut for 5 and 6vehicles

Branch-and-cut outperforms branch-price-and-cut for 2, 3,and 4 vehicles

Difficulties with branch-price-and-cut

Subproblems are difficult to solve exactly when routes containa relatively large number of required edges

Gaps are difficult to close by branching due to symmetry

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 36/37

Page 49: A branch-price-and-cut algorithm for the min-max k-vehicle ... Desaulniers.pdfMin-max k-vehicle windy rural postman problem A branch-price-and-cut algorithm for the min-max k-vehicle

Min-max k-vehicle windy rural postman problem

Conclusion

Thank you!

Questions?

ReferencesR. Baldacci, A. Mingozzi, R. Roberti (2011). New route relaxation and pricing strategies for the vehicle routingproblem. Operations Research (to appear).

E. Benavent, A. Corberan, I. Plana and J.M. Sanchis (2009). Min-max K-vehicles windy rural postman problem.Networks 54(4), 216–226.

E. Benavent, A. Corberan, I. Plana and J.M. Sanchis (2010a). New facets and an enhanced branch-and-cut for themin-max K-vehicles windy rural postman problem. Networks (to appear).

E. Benavent, A. Corberan and J.M. Sanchis (2010b). A metaheuristic for the windy rural postman problem with kvehicles. Computational Management Science 7(3), 269–287.

A. Corberan, I. Plana, and J.M. Sanchis (2008). The windy general routing polyhedron : A global view of manyknown arc routing polyhedra. SIAM Journal on Discrete Mathematics 22(2), 606–628.

G. Desaulniers, F. Lessard, A. Hadjar (2008). Tabu search, partial elementarity, and generalized k-path inequalitiesfor the vehicle routing problem with time windows. Transportation Science 42(3), 387-404.

G. Frederickson, M. Hecht and C. Kim (1978). Approximation algorithms for some routing problems. SIAMJournal on Computing 7, 178-193.

M. Jepsen, B. Petersen, S. Spoorendonk, and D. Pisinger (2008). Subset-row inequalities applied to thevehicle-routing problem with time windows. Operations Research, 56(2), 497–511.

A. Hadjar, O. Marcotte, F. Soumis (2006). A branch-and-cut algorithm for the multiple depot vehicle schedulingproblem. Operations Research 54(1), 130–149.

Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 37/37