Reach Aware Steiner Trees Stephan Held and Sophie Spirkl Research - - PowerPoint PPT Presentation

reach aware steiner trees
SMART_READER_LITE
LIVE PREVIEW

Reach Aware Steiner Trees Stephan Held and Sophie Spirkl Research - - PowerPoint PPT Presentation

Reach Aware Steiner Trees Stephan Held and Sophie Spirkl Research Institute for Discrete Mathematics, University of Bonn Aussois, January 6-10, 2014 Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 1 / 24


slide-1
SLIDE 1

Reach Aware Steiner Trees

Stephan Held and Sophie Spirkl

Research Institute for Discrete Mathematics, University of Bonn

Aussois, January 6-10, 2014

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 1 / 24

slide-2
SLIDE 2

Steiner Trees in Chip Design

  • distribution of

electrical signals Here: 8 million nets/trees 100 million wire segments 1 kilometer total wire length This talk: ℓ1-norm.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 2 / 24

slide-3
SLIDE 3

Buffer Insertion

Steiner trees can be too long for a single root gate/transistor r. Repeaters are needed to speed up electrical signals. r t1 t2 t3

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 3 / 24

slide-4
SLIDE 4

Buffer Insertion

Steiner trees can be too long for a single root gate/transistor r. Repeaters are needed to speed up electrical signals. r t1 t2 t3

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 3 / 24

slide-5
SLIDE 5

Reach Aware Steiner Trees

Obstacles may inhibit proper repeater insertion.

  • bstacle-unaware

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 4 / 24

slide-6
SLIDE 6

Reach Aware Steiner Trees

Obstacles may inhibit proper repeater insertion.

  • bstacle-unaware
  • bstacle-avoiding

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 4 / 24

slide-7
SLIDE 7

Reach Aware Steiner Trees

Obstacles may inhibit proper repeater insertion.

  • bstacle-unaware
  • bstacle-avoiding

reach-aware

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 4 / 24

slide-8
SLIDE 8

Reach Aware Steiner Trees

Reach Aware Steiner Trees

Input terminals T, rectilinear obstacles O, a reach length L >= 0. ≤ L A Steiner tree Y connecting T is reach aware if the length of each component in the intersection of Y with the interior of the blocked area (

  • ∈O o)◦ is bounded by L.

Formulation does not depend on representation of blocked area.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 5 / 24

slide-9
SLIDE 9

Problem Formulation

Reach Aware Steiner Tree Problem

Find a reach aware Steiner tree of minimum length.

Our goal

2-approximation with a running time of ˜ O(n) (w.r.t. ℓ1-norm).

( ˜ O(n) is shorthand for O(n logk n) for some k)

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 6 / 24

slide-10
SLIDE 10

1.5-Approximation Without Obstacles

Smith, Lee, and Liebman [1980]

1 Compute Voronoi diagram (O(|T| log |T|)). 2 Minimum spanning tree in dual graph (Delaunay triangulation)

(O(|T| log |T|)).

3 Embed and post-optimize (flip L’s) . Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 7 / 24

slide-11
SLIDE 11

1.5-Approximation Without Obstacles

Smith, Lee, and Liebman [1980]

1 Compute Voronoi diagram (O(|T| log |T|)). 2 Minimum spanning tree in dual graph (Delaunay triangulation)

(O(|T| log |T|)).

3 Embed and post-optimize (flip L’s) . Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 7 / 24

slide-12
SLIDE 12

1.5-Approximation Without Obstacles

Smith, Lee, and Liebman [1980]

1 Compute Voronoi diagram (O(|T| log |T|)). 2 Minimum spanning tree in dual graph (Delaunay triangulation)

(O(|T| log |T|)).

3 Embed and post-optimize (flip L’s) . Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 7 / 24

slide-13
SLIDE 13

1.5-Approximation Without Obstacles

Smith, Lee, and Liebman [1980]

1 Compute Voronoi diagram (O(|T| log |T|)). 2 Minimum spanning tree in dual graph (Delaunay triangulation)

(O(|T| log |T|)).

3 Embed and post-optimize (flip L’s) . Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 7 / 24

slide-14
SLIDE 14

Obstacle Avoiding Steiner Trees (L = 0)

Extensively studied, e.g.: PTAS: Liu et al. [2001]. 2-approximation: Lin et al. [2008], Long et al. [2008], Liu et al. [2009]. Exact: Huang et al. [2013], based on Warme, Winter, and Zachariasen [1999] for the ℓ2-norm.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 8 / 24

slide-15
SLIDE 15

General L ≥ 0

M¨ uller-Hannemann and Peyer [2003]

Augmented Hanan-grid: 2-approximation with (super) quadratic running time and space requirement

2k 2k−1α - approximation for obstacles of bounded complexity and any

k ≥ 4, where α is the approximation ratio in graphs.

1 Compute Hanan grid 2 Remove blocked vertices and edges 3 Add edges that are shorter than L 4 Run Steiner tree algorithm for graphs

Quadratic size of Hanan grid too big in practice!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 9 / 24

slide-16
SLIDE 16

General L ≥ 0

M¨ uller-Hannemann and Peyer [2003]

Augmented Hanan-grid: 2-approximation with (super) quadratic running time and space requirement

2k 2k−1α - approximation for obstacles of bounded complexity and any

k ≥ 4, where α is the approximation ratio in graphs.

1 Compute Hanan grid 2 Remove blocked vertices and edges 3 Add edges that are shorter than L 4 Run Steiner tree algorithm for graphs

Quadratic size of Hanan grid too big in practice!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 9 / 24

slide-17
SLIDE 17

General L ≥ 0

M¨ uller-Hannemann and Peyer [2003]

Augmented Hanan-grid: 2-approximation with (super) quadratic running time and space requirement

2k 2k−1α - approximation for obstacles of bounded complexity and any

k ≥ 4, where α is the approximation ratio in graphs.

1 Compute Hanan grid 2 Remove blocked vertices and edges 3 Add edges that are shorter than L 4 Run Steiner tree algorithm for graphs

Quadratic size of Hanan grid too big in practice!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 9 / 24

slide-18
SLIDE 18

General L ≥ 0

M¨ uller-Hannemann and Peyer [2003]

Augmented Hanan-grid: 2-approximation with (super) quadratic running time and space requirement

2k 2k−1α - approximation for obstacles of bounded complexity and any

k ≥ 4, where α is the approximation ratio in graphs.

1 Compute Hanan grid 2 Remove blocked vertices and edges 3 Add edges that are shorter than L 4 Run Steiner tree algorithm for graphs

Quadratic size of Hanan grid too big in practice!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 9 / 24

slide-19
SLIDE 19

General L ≥ 0

M¨ uller-Hannemann and Peyer [2003]

Augmented Hanan-grid: 2-approximation with (super) quadratic running time and space requirement

2k 2k−1α - approximation for obstacles of bounded complexity and any

k ≥ 4, where α is the approximation ratio in graphs.

1 Compute Hanan grid 2 Remove blocked vertices and edges 3 Add edges that are shorter than L 4 Run Steiner tree algorithm for graphs

Quadratic size of Hanan grid too big in practice!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 9 / 24

slide-20
SLIDE 20

General L ≥ 0

M¨ uller-Hannemann and Peyer [2003]

Augmented Hanan-grid: 2-approximation with (super) quadratic running time and space requirement

2k 2k−1α - approximation for obstacles of bounded complexity and any

k ≥ 4, where α is the approximation ratio in graphs.

1 Compute Hanan grid 2 Remove blocked vertices and edges 3 Add edges that are shorter than L 4 Run Steiner tree algorithm for graphs

Quadratic size of Hanan grid too big in practice!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 9 / 24

slide-21
SLIDE 21

General L ≥ 0

M¨ uller-Hannemann and Peyer [2003]

Augmented Hanan-grid: 2-approximation with (super) quadratic running time and space requirement

2k 2k−1α - approximation for obstacles of bounded complexity and any

k ≥ 4, where α is the approximation ratio in graphs.

1 Compute Hanan grid 2 Remove blocked vertices and edges 3 Add edges that are shorter than L 4 Run Steiner tree algorithm for graphs

Quadratic size of Hanan grid too big in practice!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 9 / 24

slide-22
SLIDE 22

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-23
SLIDE 23

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-24
SLIDE 24

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-25
SLIDE 25

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-26
SLIDE 26

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-27
SLIDE 27

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-28
SLIDE 28

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-29
SLIDE 29

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-30
SLIDE 30

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-31
SLIDE 31

Shortest path preserving graph for L = 0

Clarkson et al. [1987]

Idea: Spanning tree approximations do not require Hanan grid. sufficient: graph contains a shortest path for each pair of terminals. For L = 0 a shortest path can be decomposed into into subpaths between terminals and obstacle corners that are ℓ1-shortest.

1 Set endpoints E := set of terminals and

  • bstacle corners.

2 Insert vertical median line M that

partitions E, resp. its unblocked parts.

3 Connect every endpoint to the median if

  • bstacles allow

4 Recursively proceed in left and right

partition Theorem: The graph size is O(l log l) and the construction takes O(l(log l)2) time, where l = |T| + |O|.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 10 / 24

slide-32
SLIDE 32

Shortest path preserving graph for general L > 0

Endpoints E = set of terminals and obstacle corners.

Lemma (H. and Spirkl [2014])

Any shortest reach aware path P between elements in E can be decomposed into subpaths with endpoints in E such that the (closed) bounding box of two consecutive endpoints on the path does not contain another element from E and P restricted to that box is ℓ1-shortest.

L

c P Feasible decomposition: intersection with blocked area is allowed!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 11 / 24

slide-33
SLIDE 33

Shortest path preserving graph for general L > 0

Endpoints E = set of terminals and obstacle corners.

Lemma (H. and Spirkl [2014])

Any shortest reach aware path P between elements in E can be decomposed into subpaths with endpoints in E such that the (closed) bounding box of two consecutive endpoints on the path does not contain another element from E and P restricted to that box is ℓ1-shortest.

L

c P No proper decomposition: c ∈ E intersects a bounding box.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 11 / 24

slide-34
SLIDE 34

Shortest path preserving graph for general L > 0

Additional vertical connections/mirror points

In a non-convex obstacle corner we make vertical connection across blocked area if allowed → mirror point. Obstacle corner (green disk) and its mirror point (blue square).

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 12 / 24

slide-35
SLIDE 35

Shortest path preserving graph for general L > 0

After extending endpoints E by mirror points, the subpaths in Lemma fall into 3 categories w.r.t. to the ability to connect to a separating median: Case 1

(no other endpoints in bounding box of green points)

Cases when trying horizontal connection to median:

1 both can connect to median 2 median is blocked for both

a from one endpoint we can reach horizontally over obstacle (create this reach connection) b no horizontal connection across obstacle possible (create all possible “diagonal” connections)

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 13 / 24

slide-36
SLIDE 36

Shortest path preserving graph for general L > 0

After extending endpoints E by mirror points, the subpaths in Lemma fall into 3 categories w.r.t. to the ability to connect to a separating median: Case 1 Case 2a

(no other endpoints in bounding box of green points)

Cases when trying horizontal connection to median:

1 both can connect to median 2 median is blocked for both

a from one endpoint we can reach horizontally over obstacle (create this reach connection) b no horizontal connection across obstacle possible (create all possible “diagonal” connections)

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 13 / 24

slide-37
SLIDE 37

Shortest path preserving graph for general L > 0

After extending endpoints E by mirror points, the subpaths in Lemma fall into 3 categories w.r.t. to the ability to connect to a separating median: Case 1 Case 2a

(no other endpoints in bounding box of green points)

Cases when trying horizontal connection to median:

1 both can connect to median 2 median is blocked for both

a from one endpoint we can reach horizontally over obstacle (create this reach connection) b no horizontal connection across obstacle possible (create all possible “diagonal” connections)

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 13 / 24

slide-38
SLIDE 38

Shortest path preserving graph for general L > 0

After extending endpoints E by mirror points, the subpaths in Lemma fall into 3 categories w.r.t. to the ability to connect to a separating median: Case 1 Case 2a Case 2b

(no other endpoints in bounding box of green points)

Cases when trying horizontal connection to median:

1 both can connect to median 2 median is blocked for both

a from one endpoint we can reach horizontally over obstacle (create this reach connection) b no horizontal connection across obstacle possible (create all possible “diagonal” connections)

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 13 / 24

slide-39
SLIDE 39

Construction of Shortest Path Preserving Graph

Median insertion at xm

1: M = ∅. 2: for every p = (x, y) ∈ E in non-incr. order of y do 3:

if (xm, y) is not blocked and visible from p then

4:

Connect p to median at (xm, y).

5:

else

6:

Blocked Median Connection

7:

end if

8: end for

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 14 / 24

slide-40
SLIDE 40

Blocked Median Connection

Connecting an endpoint p ∈ E to a (blocked) median at xm. p xm Compute maximal blocked interval around median (here from r to q) If q is visible from p (w.r.t. L and other obstacles), add {q, p}.

If also ||r − q||1 ≤ L, add {r, q} (Case 2a). Else if p ∈ {r, q} is an obstacle corner, connect p to corners p′ of current obstacle with ||p − p′||1 ≤ L (Case 2b).

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 15 / 24

slide-41
SLIDE 41

Blocked Median Connection

Connecting an endpoint p ∈ E to a (blocked) median at xm. p xm q r Compute maximal blocked interval around median (here from r to q) If q is visible from p (w.r.t. L and other obstacles), add {q, p}.

If also ||r − q||1 ≤ L, add {r, q} (Case 2a). Else if p ∈ {r, q} is an obstacle corner, connect p to corners p′ of current obstacle with ||p − p′||1 ≤ L (Case 2b).

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 15 / 24

slide-42
SLIDE 42

Blocked Median Connection

Connecting an endpoint p ∈ E to a (blocked) median at xm. p xm q r Compute maximal blocked interval around median (here from r to q) If q is visible from p (w.r.t. L and other obstacles), add {q, p}.

If also ||r − q||1 ≤ L, add {r, q} (Case 2a). Else if p ∈ {r, q} is an obstacle corner, connect p to corners p′ of current obstacle with ||p − p′||1 ≤ L (Case 2b).

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 15 / 24

slide-43
SLIDE 43

Blocked Median Connection

Connecting an endpoint p ∈ E to a (blocked) median at xm. p xm q r Compute maximal blocked interval around median (here from r to q) If q is visible from p (w.r.t. L and other obstacles), add {q, p}.

If also ||r − q||1 ≤ L, add {r, q} (Case 2a). Else if p ∈ {r, q} is an obstacle corner, connect p to corners p′ of current obstacle with ||p − p′||1 ≤ L (Case 2b).

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 15 / 24

slide-44
SLIDE 44

Blocked Median Connection

Connecting an endpoint p ∈ E to a (blocked) median at xm. p xm q r Compute maximal blocked interval around median (here from r to q) If q is visible from p (w.r.t. L and other obstacles), add {q, p}.

If also ||r − q||1 ≤ L, add {r, q} (Case 2a). Else if p ∈ {r, q} is an obstacle corner, connect p to corners p′ of current obstacle with ||p − p′||1 ≤ L (Case 2b).

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 15 / 24

slide-45
SLIDE 45

Implementation Details

Preprocessing

Mirror points are preprocessed by vertical sweep line and two binary search trees (for all blocked intervals and blocked intervals ≤ L) . For each endpoint: maximal reach aware horizontal intervals are preprocessed by a horizontal sweep line. Running time: O(|T| + |O| log |O|).

Median Recursion

Medians are processed from left to right ⇒ blocking obstacles can be processed by vertical sweep line.

Steiner Tree Construction

MST-H algorithm of Liu et al. [2009] (O(|E| log |E|)): Simultaneous Dijkstra labeling and spanning/Steiner tree construction according to Kruskal.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 16 / 24

slide-46
SLIDE 46

Implementation Details

Preprocessing

Mirror points are preprocessed by vertical sweep line and two binary search trees (for all blocked intervals and blocked intervals ≤ L) . For each endpoint: maximal reach aware horizontal intervals are preprocessed by a horizontal sweep line. Running time: O(|T| + |O| log |O|).

Median Recursion

Medians are processed from left to right ⇒ blocking obstacles can be processed by vertical sweep line.

Steiner Tree Construction

MST-H algorithm of Liu et al. [2009] (O(|E| log |E|)): Simultaneous Dijkstra labeling and spanning/Steiner tree construction according to Kruskal.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 16 / 24

slide-47
SLIDE 47

Implementation Details

Preprocessing

Mirror points are preprocessed by vertical sweep line and two binary search trees (for all blocked intervals and blocked intervals ≤ L) . For each endpoint: maximal reach aware horizontal intervals are preprocessed by a horizontal sweep line. Running time: O(|T| + |O| log |O|).

Median Recursion

Medians are processed from left to right ⇒ blocking obstacles can be processed by vertical sweep line.

Steiner Tree Construction

MST-H algorithm of Liu et al. [2009] (O(|E| log |E|)): Simultaneous Dijkstra labeling and spanning/Steiner tree construction according to Kruskal.

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 16 / 24

slide-48
SLIDE 48

Fast Reach Aware Steiner Trees

Theorem (H. and Spirkl [2014])

A shortest path preserving graph of size O(l2 log l) can be computed in O(l2 log l) time.

Theorem (H. and Spirkl [2014])

A 2-approximation for the minimum reach aware Steiner tree can be computed in O((l log l)2) time. Under mild assumptions, prevalent in practice:

Theorem (H. and Spirkl [2014])

If the number of corners in each component of obstacles is bounded by a constant, the running time is O(l(log l)2).

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 17 / 24

slide-49
SLIDE 49

Fast Reach Aware Steiner Trees

Theorem (H. and Spirkl [2014])

A shortest path preserving graph of size O(l2 log l) can be computed in O(l2 log l) time.

Theorem (H. and Spirkl [2014])

A 2-approximation for the minimum reach aware Steiner tree can be computed in O((l log l)2) time. Under mild assumptions, prevalent in practice:

Theorem (H. and Spirkl [2014])

If the number of corners in each component of obstacles is bounded by a constant, the running time is O(l(log l)2).

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 17 / 24

slide-50
SLIDE 50

Post-Optimization

Obstacle-free optimization

Rebuild subtrees whose bounding box is free of obstacles: Replace maximal subtrees by Delaunay-based 1.5-approximation. 9 terminal trees by minimum trees.

Local optimizations of 1–2 edges

Flip L’s Shift segments

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 18 / 24

slide-51
SLIDE 51

Example

IND5 (standard benchmark for obstacle avoiding tres)

L = 0, infeasible

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 19 / 24

slide-52
SLIDE 52

Example

IND5 (standard benchmark for obstacle avoiding tres)

L = 0, infeasible L = 10, length = 1306

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 19 / 24

slide-53
SLIDE 53

Example

IND5 (standard benchmark for obstacle avoiding tres)

L = 0, infeasible L = 10, length = 1306 L = 100, length = 1293

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 19 / 24

slide-54
SLIDE 54

Example

IND5 (standard benchmark for obstacle avoiding tres)

L = 0, infeasible L = 10, length = 1306 L = 100, length = 1293 L = ∞, length = 1255

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 19 / 24

slide-55
SLIDE 55

Examples

L = 0 L = 0.1 mm

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 20 / 24

slide-56
SLIDE 56

Examples

L = 1 mm L = ∞

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 21 / 24

slide-57
SLIDE 57

Results on whole chips.

(a) AndreTop, 3 899 379 nets L Length #inf. CPU Wall 548 311 16:48 6:29 0.5 534 319 27:51 7:23 1 466 975 21:08 6:43 2.5 439 139 13:51 5:41 ∞ 438 606 12:10 5:03 (b) AlexTop, 2 674 754 nets L Length #inf. CPU Wall 583 286⋆ 1 807 32:14 7:24 0.5 532 175 36:30 7:44 1 528 020 27:57 6:43 2.5 526 179 20:59 5:58 ∞ 525 081 08:35 3:46 (c) LeonardTop, 525 498 nets L Length #inf. CPU Wall 201 138⋆ 6 669 13:20 2:45 0.5 249 075⋆ 40 20:26 3:23 1 246 873 18:40 3:37 2.5 203 386 13:04 2:46 ∞ 199 227 02:21 1:38

Choices of L and total net lengths are reported in mm, running times in mm:ss using 8 threads. Total lengths marked by ⋆ include infeasible nets with (large) opens!

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 22 / 24

slide-58
SLIDE 58

Results on DIMACS Benchmarks

Some of our instances are part of the 11th DIMACS implementation challenge:

http://dimacs11.cs.princeton.edu/home.html Organizers:

  • D. Johnson, T. Koch, R.F. Werneck, M. Zachariasen

Instance |T| |O| L⋆ Length RT L = 0 L = L⋆ L = ∞ sec. Bonn 23292 54 23292 54 2400 364035 362834 363012 1 Bonn 35574 158 35574 158 1500 746936 746883 737222 2 Bonn 46269 127 46269 127 1500 1071355 1071314 1073281 3 Bonn 108500 141 108500 141 4200 1973094 1963336 1964597 6 Bonn 129399 210 129399 210 1500 infeasi 2606730 2616871 10 Bonn 639639 382 639639 382 4200 3059283 3025633 3067286 75 Bonn 783352 175 783352 175 1200 1943965 1940675 2014843 98 L = ∞-results without post-optimization

(lengths scaled by 10−3)

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 23 / 24

slide-59
SLIDE 59

17th Conference on Integer Programming and Combinatorial Optimization

Location: Bonn, Germany Date: June 23–25, 2014 Summer School: June 20–22, 2014 Local organization:

Jens Vygen, Bernhard Korte, Stefan Hougardy, S. Held

Research Institute for Discrete Mathematics poster session Rhine river cruise summer school lectures by:

G´ erard P. Cornu´ ejols (CMU) Friedrich Eisenbrand (EPFL) David B. Shmoys (Cornell) Andr´ as Frank (ELTE)

Stephan Held and Sophie Spirkl Reach Aware Steiner Trees Aussois, January 6-10, 2014 24 / 24