an improved algorithm for computing steiner minimal trees ... · computing steiner minimal trees in...

24
An improved algorithm for computing Steiner minimal trees in Euclidean d-space Marcia Fampa and Kurt Anstreicher VICCOC, Vienna, December 2006

Upload: others

Post on 12-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

• 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

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

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

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

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

• 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