An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in...
Transcript of An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in...
![Page 1: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/1.jpg)
An improved algorithm for computing Steiner minimal trees in Euclidean d-space
Marcia Fampa and Kurt Anstreicher
VICCOC, Vienna, December 2006
![Page 2: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/2.jpg)
A Feasible Solution
The Euclidean Steiner Problem
terminal
Steiner point
![Page 3: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/3.jpg)
Determine:
The number of Steiner points to be used
The arcs of the tree
Geometric position of the Steiner points
Topology
The Euclidean Steiner Problem
![Page 4: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/4.jpg)
Steiner Tree/Topology• A Steiner Tree (ST) is a tree that contains the N given
terminals and k additional Steiner points, such that:– No two edges meet at a point with angle less than 120º.– Each terminal point has degree between 1 and 3.– Each Steiner point has degree equal to 3.– k ≤ N-2.
• A Full Steiner Tree (FST) is an ST with the maximum N-2 Steiner points.
• A Steiner Topology (Full Steiner Topology) is a topology that meets the degree requirements of an ST (FST).
![Page 5: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/5.jpg)
Exact Algorithms
• Extensive literature elucidating properties of SMTs in the plane that do not extend to d>2.
• 1961 Melzak• 1985 Winter – GeoSteiner Algorithm• 2001 Warme, Winter and Zacharisen - version 3.1of the
GeoSteiner (10000 terminals solved)
ESP in the plane
![Page 6: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/6.jpg)
Exact AlgorithmsGeoSteiner Algorithm
![Page 7: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/7.jpg)
Exact Algorithms
• Find all Steiner topologies on the N given terminals and k Steiner points, with k ≤ N-2.
• For each topology optimize the coordinates of the Steiner points.
• Output the shortest tree found.
General d-space: Gilbert and Pollak (1968)
![Page 8: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/8.jpg)
Degenerate Steiner Topologies• A topology is called a degeneracy of another if the former can be
obtained from the latter by shrinking edges.
• Fact: each Steiner topology is either a full Steiner topology or a degeneracy of a full Steiner topology.
1 1
2 7≡2
3 8≡3
4 9≡4
510≡5
6 6
7 8
910
degenerate Steiner points
![Page 9: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/9.jpg)
Exact Algorithms
• Find all Steiner topologies on the N given terminals and k Steiner points, with k=N-2.
• For each topology optimize the coordinates of the Steiner points.
• Output the shortest tree found.
Full
![Page 10: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/10.jpg)
Full Steiner Topologies• The total number of full Steiner topologies for a graph
with N terminals is given by
f(2)=1, f(4)=3, f(6)=105, f(8)=10395, f(10)=2,027,025, f(12)=654,729,075
(2N-4)!2N-2(N-2)!
f(N) =
s2
a d
c
s1
b
s2
a d
cs1
b
s2
a d
c
s1
b
![Page 11: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/11.jpg)
Math Programming Formulation for ESTPFampa and Maculan (2004)
![Page 12: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/12.jpg)
General d-space: Smith (1992)
• An implicit enumeration scheme to generate full Steiner topologies and a numerical algorithm to solve the ESP for a given topology.
• Computation of SMTs on vertices of regular polytopes led to disproof of Gilbert-Pollakconjecture on “Steiner ratio” in dimensions d>2.
Exact Algorithms
![Page 13: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/13.jpg)
Smith (1992)
Enumeration Tree
1
2
31 3
2
S1
T
l
a
bT
Tree with k Steiner points, k+2 terminals and n edges (n=2k+1)
Tree with k+1 Steiner points, k+3 terminals and n+2 edges
T+
a
b
k+3l n+1
n+2
Sk+1
Merging Operation
Enumeration Tree
![Page 14: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/14.jpg)
• Nodes at level k of tree enumerate full Steiner topologies with k+3 terminals, k = 0,1,…, N-3.
• Children of a given node are obtained by merging a new terminal node with each arc in current FST.
• Good: Merging operation cannot decreaseminimum length of FST - allows pruning!
• Bad: No easy way to account for effect of missing terminal nodes.
• Ugly: Growth of tree is super-exponential with depth, and problems get larger at deeper levels.
Enumeration Tree
![Page 15: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/15.jpg)
Problem for a Given Topology
ii2i1
ii2i1
Case 1:
Case 2:
where:
Topology T with k Steiner points, k+2 terminals and n edges (n=2k+1)
![Page 16: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/16.jpg)
The Merging Operation
l
a
bT
SMT(T)
Merging Operation
T+
a
b
k+3l n+1
n+2
Sk+1
SMT(T+)
![Page 17: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/17.jpg)
Fixing Variables
where:
Let:
![Page 18: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/18.jpg)
c
n+1
n+2b
(c)c
n+1
n+2b
(e)
a c
l n+1
n+2b
(f)
ca
l n+1
n+2b
(g)
a c
l n+1
n+2b
(h)
a c
l n+1
n+2b
(i)
Topologies for the Subproblems
a c
l n+1
n+2b
(d)
![Page 19: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/19.jpg)
• In Smith+ use conic interior-point code (MOSEK) to obtain bounds on minimum length tree for given topology. Also use MOSEK to solve subproblemswith fixed dual variables.
• Choose next terminal node to add so as to minimize number of children created/maximize sum of child bounds (strong branching). Note must extend Smith’s enumeration argument to allow for varying order in which terminals are added!
Smith versus Smith+
![Page 20: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/20.jpg)
Computational ResultsInstance from OR-Library with 12 terminals
156661Total285209
0.97310.850.77780.99650.560.85470.913790.550.83460.932970.630.67550.593850.550.7934
01050.690.75530150.680.4092030031010010
FathomNodesElimFathomNodes LevelSmithSmith+
![Page 21: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/21.jpg)
Nodes on the B&B TreeOR-Library
1
10
100
1,000
10,000
100,000
1,000,000
6 8 10 12 14 16 18
Terminal nodes
Ave
rage
B&
B n
odes
Sm ith
Sm ith+
![Page 22: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/22.jpg)
CPU Time (seconds)OR-Library
1
10
100
1,000
10,000
100,000
6 8 10 12 14 16 18
Terminal nodes
Ave
rage
CPU
sec
onds
Sm ith
Sm ith+
![Page 23: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/23.jpg)
Effect of dimension d
Average nodes/time for 5 randomly-generated instances with 10 terminals in Rd (d=2,3,4).
4.44,680.520,805.650.89,250.0470,321.85
2.85,735.616,153.026.913,685.6368,762.84
3.1753.52,334.133.41,652.455,222.23
10.568.4717.8160.2105.016,821.62
FactorSmith+SmithFactorSmith+Smithd
Average CPU secondsAverage B&B nodesDimension
![Page 24: An improved algorithm for computing Steiner minimal trees ... · computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006.](https://reader035.fdocuments.us/reader035/viewer/2022070900/5f3f62875282f6768e672d38/html5/thumbnails/24.jpg)
• Conic formulation provides rigorous bounds.• Fixing dual variables allows for estimate of effect
of next merge via solution of smaller problem.• Novel setting for strong branching; effective in
reducing size of the tree.• More to do! Key problem with use of Smith’s
enumeration scheme is approximating the effect of terminals that are not present in partial Steiner trees. May also be possible to use geometric conditions that are valid for d>2.
Conclusions