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
49
Embed
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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 3/37
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
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
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
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
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
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
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
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
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
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
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
Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 11/37
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
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
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
Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 18/37
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Desaulniers et al. (Montreal & Valencia) Min-max k-vehicle windy rural postman problem 35/37
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
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
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