Minimum Caterpillar Trees and Ring-Stars: a branch-and-cut algorithm
Luidi G. Simonetti Yuri A. M. Frota Cid C. de Souza
Institute of Computing University of Campinas – Brazil
Aussois, January 2010
Cid de Souza (IC) MCSP Aussois, January 2010 1 / 21
Minimum Caterpillar Trees and Ring-Stars: a branch-and-cut algorithm - - PowerPoint PPT Presentation
Minimum Caterpillar Trees and Ring-Stars: a branch-and-cut algorithm Luidi G. Simonetti Yuri A. M. Frota Cid C. de Souza Institute of Computing University of Campinas Brazil Aussois, January 2010 Cid de Souza (IC) MCSP Aussois, January
Institute of Computing University of Campinas – Brazil
Cid de Souza (IC) MCSP Aussois, January 2010 1 / 21
Cid de Souza (IC) MCSP Aussois, January 2010 2 / 21
The Minimum Spanning Caterpillar Problem
Cid de Souza (IC) MCSP Aussois, January 2010 3 / 21
The Minimum Spanning Caterpillar Problem
Cid de Souza (IC) MCSP Aussois, January 2010 4 / 21
The Minimum Spanning Caterpillar Problem
Cid de Souza (IC) MCSP Aussois, January 2010 4 / 21
The Minimum Spanning Caterpillar Problem
Cid de Souza (IC) MCSP Aussois, January 2010 4 / 21
The Minimum Spanning Caterpillar Problem
◮ Graph G = (V , E) ◮ Cost le ≥ 0 for each edge e ∈ E (extra edge) ◮ Cost ce ≥ 0 for each edge e ∈ E (central path)
Cid de Souza (IC) MCSP Aussois, January 2010 5 / 21
The Minimum Spanning Caterpillar Problem
◮ Graph G = (V , E) ◮ Cost le ≥ 0 for each edge e ∈ E (extra edge) ◮ Cost ce ≥ 0 for each edge e ∈ E (central path)
Cid de Souza (IC) MCSP Aussois, January 2010 5 / 21
The Minimum Spanning Caterpillar Problem
◮ When le ≫ ce, ∀e ∈ E
◮ When le ≪ ce, ∀e ∈ E
Cid de Souza (IC) MCSP Aussois, January 2010 6 / 21
The Minimum Ring–Star Problem
◮ Input: graph G = (V , E), le, ce ≥ 0 ∀e ∈ E, a special vertex (the depot) ◮ Solution: a ring (cycle) with a set of “leaves” hanging from it (the star) and
Cid de Souza (IC) MCSP Aussois, January 2010 7 / 21
The Minimum Ring–Star Problem
Cid de Souza (IC) MCSP Aussois, January 2010 8 / 21
The Minimum Ring–Star Problem
Cid de Souza (IC) MCSP Aussois, January 2010 8 / 21
Solving the MCSP exactly
◮ Construct the Layered Graph ◮ Fix the root of the arborescence (0) ◮ Define the set of terminals (R) ◮ Impose some side constraints
Cid de Souza (IC) MCSP Aussois, January 2010 9 / 21
Solving the MCSP exactly
VN = {0} ∪ {(i, h) : 1 ≤ h ≤ 2, i ∈ V } R = {(i, 2) : i ∈ V } (terminals) AN = {(0, (j, 1)) : j ∈ V } ∪ {((i, 1), (j, 1)) : (i, j) ∈ A} ∪ {((i, 1), (j, 2)) : (i, j) ∈ A} ∪ {((i, 1), (i, 2)) : i ∈ V }.
Cid de Souza (IC) MCSP Aussois, January 2010 10 / 21
Solving the MCSP exactly
VN = {0} ∪ {(i, h) : 1 ≤ h ≤ 2, i ∈ V } R = {(i, 2) : i ∈ V } (terminals) AN = {(0, (j, 1)) : j ∈ V } ∪ {((i, 1), (j, 1)) : (i, j) ∈ A} ∪ {((i, 1), (j, 2)) : (i, j) ∈ A} ∪ {((i, 1), (i, 2)) : i ∈ V }. c0j1 = C → ∞ (only use one arc (0, (j, 1)))
Cid de Souza (IC) MCSP Aussois, January 2010 10 / 21
Solving the MCSP exactly
VN = {0} ∪ {(i, h) : 1 ≤ h ≤ 2, i ∈ V } R = {(i, 2) : i ∈ V } (terminals) AN = {(0, (j, 1)) : j ∈ V } ∪ {((i, 1), (j, 1)) : (i, j) ∈ A} ∪ {((i, 1), (j, 2)) : (i, j) ∈ A} ∪ {((i, 1), (i, 2)) : i ∈ V }. ci1j1 = cij
Cid de Souza (IC) MCSP Aussois, January 2010 10 / 21
Solving the MCSP exactly
VN = {0} ∪ {(i, h) : 1 ≤ h ≤ 2, i ∈ V } R = {(i, 2) : i ∈ V } (terminals) AN = {(0, (j, 1)) : j ∈ V } ∪ {((i, 1), (j, 1)) : (i, j) ∈ A} ∪ {((i, 1), (j, 2)) : (i, j) ∈ A} ∪ {((i, 1), (i, 2)) : i ∈ V }. ci1j2 = lij
Cid de Souza (IC) MCSP Aussois, January 2010 10 / 21
Solving the MCSP exactly
VN = {0} ∪ {(i, h) : 1 ≤ h ≤ 2, i ∈ V } R = {(i, 2) : i ∈ V } (terminals) AN = {(0, (j, 1)) : j ∈ V } ∪ {((i, 1), (j, 1)) : (i, j) ∈ A} ∪ {((i, 1), (j, 2)) : (i, j) ∈ A} ∪ {((i, 1), (i, 2)) : i ∈ V }. ci1i2 = 0
Cid de Souza (IC) MCSP Aussois, January 2010 10 / 21
Solving the MCSP exactly
VN = {0} ∪ {(i, h) : 1 ≤ h ≤ 2, i ∈ V } R = {(i, 2) : i ∈ V } (terminals) AN = {(0, (j, 1)) : j ∈ V } ∪ {((i, 1), (j, 1)) : (i, j) ∈ A} ∪ {((i, 1), (j, 2)) : (i, j) ∈ A} ∪ {((i, 1), (i, 2)) : i ∈ V }.
Cid de Souza (IC) MCSP Aussois, January 2010 10 / 21
Solving the MCSP exactly
j∈V
(i,j)∈A
ij +
(i,j)∈A
ij
(i,j)∈A
ij = 1
(i,j)∈A
ij ≤ 1
Cid de Souza (IC) MCSP Aussois, January 2010 11 / 21
Solving the MCSP exactly
j∈V
(i,j)∈A
ij +
(i,j)∈A
ij
(i,j)∈A
ij = 1
(i,j)∈A
ij ≤ 1
Cid de Souza (IC) MCSP Aussois, January 2010 11 / 21
Solving the MCSP exactly
j∈V
(i,j)∈A
ij +
(i,j)∈A
ij
(i,j)∈A
ij = 1
(i,j)∈A
ij ≤ 1
Cid de Souza (IC) MCSP Aussois, January 2010 11 / 21
Solving the MCSP exactly
j∈V
(i,j)∈A
ij +
(i,j)∈A
ij
(i,j)∈A
ij = 1
(i,j)∈A
ij ≤ 1
Cid de Souza (IC) MCSP Aussois, January 2010 11 / 21
Solving the MCSP exactly
◮ Additional constraint
(k,i)∈A
ki ≥
(i,j)∈A
ij
◮ Implicit constraint
(k,i)∈A
ki = Xii
◮ New constraint
(i,j)∈A
ij ≤ Xii
(i,j)∈A
ij ≤ 1
Cid de Souza (IC) MCSP Aussois, January 2010 12 / 21
Solving the MCSP exactly
◮ Additional constraint
(k,i)∈A
ki ≥
(i,j)∈A
ij
◮ Implicit constraint
(k,i)∈A
ki = Xii
◮ New constraint
(i,j)∈A
ij ≤ Xii
(i,j)∈A
ij ≤ 1
Cid de Souza (IC) MCSP Aussois, January 2010 12 / 21
Solving the MCSP exactly
◮ Additional constraint
(k,i)∈A
ki ≥
(i,j)∈A
ij
◮ Implicit constraint
(k,i)∈A
ki = Xii
◮ New constraint
(i,j)∈A
ij ≤ Xii
(i,j)∈A
ij ≤ 1
Cid de Souza (IC) MCSP Aussois, January 2010 12 / 21
Solving the MCSP exactly
(k,j)∈A
kj = Xkk for all k ∈ V
1112 = X 2 1′
11′ 2 = 1 Cid de Souza (IC) MCSP Aussois, January 2010 13 / 21
Solving the MCSP exactly
◮ Additional constraints from the (generalized) STSP (original graph)
◮ symmetric 2-matching
◮ One can also add constraints from the (generalized) ATSP (layered graph)
◮ assymmetric 2-matching ◮ D+
k and D− k inequalities
◮ . . . Cid de Souza (IC) MCSP Aussois, January 2010 14 / 21
A Primal Heuristic
◮ Builds the central path ◮ Iteratively adds the vertex that minimizes the cost of the solution (central
S = { ∅ } f = [ ∞, ∞, ∞, ∞, ∞, ∞, ∞, ∞, ∞ ]
Cid de Souza (IC) MCSP Aussois, January 2010 15 / 21
A Primal Heuristic
◮ Builds the central path ◮ Iteratively adds the vertex that minimizes the cost of the solution (central
S = { 4 } f = [ 5, ∞, ∞, 0, 4, ∞, ∞, 7, ∞ ]
Cid de Souza (IC) MCSP Aussois, January 2010 15 / 21
A Primal Heuristic
◮ Builds the central path ◮ Iteratively adds the vertex that minimizes the cost of the solution (central
S = { 4, 5 } f = [ 5, 5, ∞, 0, 0, 5, ∞, 4, ∞ ]
Cid de Souza (IC) MCSP Aussois, January 2010 15 / 21
A Primal Heuristic
◮ Builds the central path ◮ Iteratively adds the vertex that minimizes the cost of the solution (central
S = { 4, 5, 6 } f = [ 5, 2, ∞, 0, 0, 0, 5, 4, 6 ]
Cid de Souza (IC) MCSP Aussois, January 2010 15 / 21
A Primal Heuristic
◮ Builds the central path ◮ Iteratively adds the vertex that minimizes the cost of the solution (central
S = { 4, 5, 6, 7 } f = [ 5, 2, 3, 0, 0, 0, 0, 4, 4 ]
Cid de Souza (IC) MCSP Aussois, January 2010 15 / 21
A Primal Heuristic
◮ Builds the central path ◮ Iteratively adds the vertex that minimizes the cost of the solution (central
◮ Add vertices to the central path ◮ Remove one vertex from the central path ◮ Change order of a pair of vertices of the central path (2-exchange)
Cid de Souza (IC) MCSP Aussois, January 2010 15 / 21
A Primal Heuristic
◮ Builds the central path ◮ Iteratively adds the vertex that minimizes the cost of the solution (central
◮ Add vertices to the central path ◮ Remove one vertex from the central path ◮ Change order of a pair of vertices of the central path (2-exchange)
Cid de Souza (IC) MCSP Aussois, January 2010 15 / 21
Computational Results
◮ IP solver: xpress version 2008A.1, optimizer version 19.00.04 ◮ Machine: Intel Core2 Quad, 2.83GHz and 8Gb of RAM ◮ Processing times were limited to two hours
◮ Cost ce = α × de for each edge e ∈ E (central path) ◮ Cost le = (10 − α) × de for each edge e ∈ E (extra edge) ◮ α = {3, 5, 7, 9} ◮ |V | = {26, . . . , 200}
Cid de Souza (IC) MCSP Aussois, January 2010 16 / 21
Computational Results
◮ Compared to those reported in [Labb´
e, G. Laporte, I.R. Mart´ ın and J.J.S. Gonz´ alez. The Ring Star Problem: Polyhedral Analysis and Exact Algorithm Networks, 43:177-189, 2004.
◮ “undirected (natural)” graph model ◮ branch-and-cut
◮ CPU times adjusted to reflect the difference between computational
Cid de Souza (IC) MCSP Aussois, January 2010 17 / 21
Computational Results
◮ Compared to those reported in [Labb´
e, G. Laporte, I.R. Mart´ ın and J.J.S. Gonz´ alez. The Ring Star Problem: Polyhedral Analysis and Exact Algorithm Networks, 43:177-189, 2004.
◮ “undirected (natural)” graph model ◮ branch-and-cut
◮ CPU times adjusted to reflect the difference between computational
Cid de Souza (IC) MCSP Aussois, January 2010 17 / 21
Computational Results
◮ Compared to those reported in [Labb´
e, G. Laporte, I.R. Mart´ ın and J.J.S. Gonz´ alez. The Ring Star Problem: Polyhedral Analysis and Exact Algorithm Networks, 43:177-189, 2004.
◮ “undirected (natural)” graph model ◮ branch-and-cut
◮ CPU times adjusted to reflect the difference between computational
Cid de Souza (IC) MCSP Aussois, January 2010 17 / 21
Computational Results
◮ 123 instances solved to optimality ◮ All but one instance were computed in less than 30 min and the average time
◮ Performance improves as α increases
Cid de Souza (IC) MCSP Aussois, January 2010 18 / 21
Computational Results
◮ 123 instances solved to optimality ◮ All but one instance were computed in less than 30 min and the average time
◮ Performance improves as α increases
Cid de Souza (IC) MCSP Aussois, January 2010 18 / 21
Computational Results
◮ 123 instances solved to optimality ◮ All but one instance were computed in less than 30 min and the average time
◮ Performance improves as α increases
Cid de Souza (IC) MCSP Aussois, January 2010 18 / 21
Computational Results
◮ 123 instances solved to optimality ◮ All but one instance were computed in less than 30 min and the average time
◮ Performance improves as α increases
Cid de Souza (IC) MCSP Aussois, January 2010 18 / 21
Computational Results
◮ 123 instances solved to optimality ◮ All but one instance were computed in less than 30 min and the average time
◮ Performance improves as α increases
Cid de Souza (IC) MCSP Aussois, January 2010 18 / 21
Computational Results
GAP T(s) Avr 0.29% 2.78 Max 2.65% 10.14 Min 0% 0.07
Total 60 124
Cid de Souza (IC) MCSP Aussois, January 2010 19 / 21
Computational Results
α = 3 α = 5 α = 7 α = 9 Avr Max Avr Max Avr Max Avr Max GAP MSCP 0.46% 2.00% 0.19% 0.87% 0.05% 0.51% 0.00% 0.00% LLMG 0.29% 1.41% 0.13% 1.01% 0.09% 1.68% 0.21% 1.99% Nodes MSCP 748.12 7111 327.87 5250 35.09 736 1 1 LLMG 59.74 727 33.32 323 7.32 59 1 1 T(s) MSCP 1497.21 7200 1295.63 7200 329.91 7200 403.66 5375 LLMG 336.44 7200 654.74 7200 442.44 7200 1210.08 7200 α Total 3 5 7 9 Solved MCSP 28 27 30 31 116 LLMG 30 29 30 27 116 Wins MCSP 4 20 30 28 82 LLMG 26 9 3 38
Cid de Souza (IC) MCSP Aussois, January 2010 19 / 21
Conclusions
◮ Capable to solve to optimality instances with up to 200 vertices in reasonable
◮ Strong LP bounds
◮ Stronger LP bounds than the previous “undirected” formulation (proved) ◮ Faster in 3 (of the 4) types of instances tested.
◮ α = {5, 7, 9} ◮ These instances are somewhat closer to real situations where the cost of the
Cid de Souza (IC) MCSP Aussois, January 2010 20 / 21
Conclusions
Cid de Souza (IC) MCSP Aussois, January 2010 21 / 21
Conclusions
Cid de Souza (IC) MCSP Aussois, January 2010 21 / 21