Orthogonal Compaction Using Additional Bends Michael Jnger 1 , Petra - - PowerPoint PPT Presentation

orthogonal compaction using additional bends
SMART_READER_LITE
LIVE PREVIEW

Orthogonal Compaction Using Additional Bends Michael Jnger 1 , Petra - - PowerPoint PPT Presentation

Orthogonal Compaction Using Additional Bends Michael Jnger 1 , Petra Mutzel 2 , Christiane Spisla 2 1 University of Cologne, 2 TU Dortmund University January 2018, Aussois Overview 1 Problem Definition 2 Combinatorial Algorithm 3 Experimental


slide-1
SLIDE 1

Orthogonal Compaction Using Additional Bends

Michael Jünger1, Petra Mutzel2, Christiane Spisla2

1University of Cologne, 2TU Dortmund University

January 2018, Aussois

slide-2
SLIDE 2

Overview

1 Problem Definition 2 Combinatorial Algorithm 3 Experimental Evaluation

1

slide-3
SLIDE 3

Orthogonal Graph Drawing

Planar orthogonal grid drawings

2

slide-4
SLIDE 4

Orthogonal Graph Drawing

Planar orthogonal grid drawings

  • vertices on gridpoints
  • horizontal and vertical edges

2

slide-5
SLIDE 5

Orthogonal Graph Drawing

Planar orthogonal grid drawings

  • vertices on gridpoints
  • horizontal and vertical edges

Aesthetic criteria:

  • few bends
  • short edges
  • small area

2

slide-6
SLIDE 6

Orthogonal Graph Drawing

Compaction of orthogonal drawings

3

slide-7
SLIDE 7

Orthogonal Graph Drawing

Compaction of orthogonal drawings

  • coordinate / length assignment

3

slide-8
SLIDE 8

Orthogonal Graph Drawing

Compaction of orthogonal drawings

  • coordinate / length assignment
  • improve geometric properties

(edge length, area)

3

slide-9
SLIDE 9

Orthogonal Graph Drawing

Compaction of orthogonal drawings

  • coordinate / length assignment
  • improve geometric properties

(edge length, area)

  • preserve orthogonal shape

(bends, angles)

3

slide-10
SLIDE 10

Orthogonal Compaction

  • rthogonal compaction problem (OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total edge length.

4

slide-11
SLIDE 11

Orthogonal Compaction

  • rthogonal compaction problem (OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total edge length.

  • NP-hard problem (Patrignani, 1999)

4

slide-12
SLIDE 12

Orthogonal Compaction

  • rthogonal compaction problem (OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total edge length.

  • NP-hard problem (Patrignani, 1999)
  • ILP formulation (Klau and Mutzel, 1999)

4

slide-13
SLIDE 13

Orthogonal Compaction

  • rthogonal compaction problem (OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total edge length.

  • NP-hard problem (Patrignani, 1999)
  • ILP formulation (Klau and Mutzel, 1999)
  • special cases solvable in polynomial time (Bridgeman et al., 2000)

4

slide-14
SLIDE 14

Orthogonal Compaction

  • rthogonal compaction problem (OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total edge length.

  • NP-hard problem (Patrignani, 1999)
  • ILP formulation (Klau and Mutzel, 1999)
  • special cases solvable in polynomial time (Bridgeman et al., 2000)
  • heuristics in practice:

alternating one-dimensional compaction algorithms

4

slide-15
SLIDE 15

Orthogonal Compaction

  • ne-dimensional orthogonal compaction problem (1DIM OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total vertical(horizontal) edge length subject to fixed x(y)-coordinates.

5

slide-16
SLIDE 16

Orthogonal Compaction

  • ne-dimensional orthogonal compaction problem (1DIM OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total vertical(horizontal) edge length subject to fixed x(y)-coordinates.

  • solvable in polynomial time

5

slide-17
SLIDE 17

Orthogonal Compaction

  • ne-dimensional orthogonal compaction problem (1DIM OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total vertical(horizontal) edge length subject to fixed x(y)-coordinates.

  • solvable in polynomial time
  • flow-based method, longest path method, ... e.g. Tamassia (1987)

5

slide-18
SLIDE 18

Orthogonal Compaction

  • ne-dimensional orthogonal compaction problem (1DIM OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G with the same orthogonal shape minimizing the total vertical(horizontal) edge length subject to fixed x(y)-coordinates.

  • solvable in polynomial time
  • flow-based method, longest path method, ... e.g. Tamassia (1987)
  • drawings still improvable

5

slide-19
SLIDE 19

Orthogonal Compaction

6

slide-20
SLIDE 20

Orthogonal Compaction

→ Trade-off between bends and edge length

6

slide-21
SLIDE 21

Orthogonal Compaction

  • ne-dimensional monotone flexible edge orthogonal compaction

problem with fixed vertex star geometry (1DIM Fled-Five OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G that minimizes the total vertical(horizontal) edge length subject to fixed x(y)-coordinates and in which all horizontal(vertical) edge segments are redrawn x(y)-monotonically and the vertex star geometries are maintained.

7

slide-22
SLIDE 22

Orthogonal Compaction

  • ne-dimensional monotone flexible edge orthogonal compaction

problem with fixed vertex star geometry (1DIM Fled-Five OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G that minimizes the total vertical(horizontal) edge length subject to fixed x(y)-coordinates and in which all horizontal(vertical) edge segments are redrawn x(y)-monotonically and the vertex star geometries are maintained.

  • change the orthogonal shape of edge

7

slide-23
SLIDE 23

Orthogonal Compaction

  • ne-dimensional monotone flexible edge orthogonal compaction

problem with fixed vertex star geometry (1DIM Fled-Five OCP)

Given an orthogonal drawing Γ of a graph G = (V ,E), compute another drawing Γ′ of G that minimizes the total vertical(horizontal) edge length subject to fixed x(y)-coordinates and in which all horizontal(vertical) edge segments are redrawn x(y)-monotonically and the vertex star geometries are maintained.

  • change the orthogonal shape of edge
  • maintain angles around vertices

7

slide-24
SLIDE 24

Orthogonal Compaction

What is allowed:

  • add/remove vertical segments to horizontal edges

8

slide-25
SLIDE 25

Orthogonal Compaction

What is allowed:

  • add/remove vertical segments to horizontal edges

What is not allowed:

  • “turnarounds” of horizontal edges

8

slide-26
SLIDE 26

Orthogonal Compaction

What is allowed:

  • add/remove vertical segments to horizontal edges

What is not allowed:

  • “turnarounds” of horizontal edges
  • change x-coordinates of vertices

8

slide-27
SLIDE 27

Flow-based Compaction

How to solve orthogonal compaction problems?

9

slide-28
SLIDE 28

Flow-based Compaction

How to solve orthogonal compaction problems? Transformation to a network flow problem.

9

slide-29
SLIDE 29

Flow-based Compaction

How to solve orthogonal compaction problems? Transformation to a network flow problem. Minimum cost flow in network N ↔ optimal solution for the vertical OCP

9

slide-30
SLIDE 30

Flow-based Compaction

How to solve orthogonal compaction problems? Transformation to a network flow problem. Minimum cost flow in network N ↔ optimal solution for the vertical OCP modification Minimum cost flow in network N′ ↔ optimal solution for the vertical Fled-Five OCP

9

slide-31
SLIDE 31

Classical Flow Network

Given: drawing Γ of graph G

10

slide-32
SLIDE 32

Classical Flow Network

Given: drawing Γ of graph G replace bends

10

slide-33
SLIDE 33

Classical Flow Network

Given: drawing Γ of graph G add vertical dissecting edges

10

slide-34
SLIDE 34

Classical Flow Network

Given: drawing Γ of graph G Construct network N:

  • ∀ face f ∈ G :

node nf with demand d(nf ) = 0

10

slide-35
SLIDE 35

Classical Flow Network

Given: drawing Γ of graph G Construct network N:

  • ∀ face f ∈ G :

node nf with demand d(nf ) = 0

  • ∀ vert. edge e ∈ G :

arc ae with lower bound lb(ae) = 1 upper bound ub(ae) = ∞

10

slide-36
SLIDE 36

Classical Flow Network

Given: drawing Γ of graph G Construct network N:

  • ∀ face f ∈ G :

node nf with demand d(nf ) = 0

  • ∀ vert. edge e ∈ G :

arc ae with lower bound lb(ae) = 1 upper bound ub(ae) = ∞ cost(ae) = 1 (original)

10

slide-37
SLIDE 37

Classical Flow Network

Given: drawing Γ of graph G Construct network N:

  • ∀ face f ∈ G :

node nf with demand d(nf ) = 0

  • ∀ vert. edge e ∈ G :

arc ae with lower bound lb(ae) = 1 upper bound ub(ae) = ∞ cost(ae) = 1 (original) cost(ae) = 0 (dummy)

10

slide-38
SLIDE 38

Classical Flow Network

  • flow on ae corresponds to length
  • f e

10

slide-39
SLIDE 39

Classical Flow Network

  • flow on ae corresponds to length
  • f e
  • flow conservation: faces are

drawn properly

10

slide-40
SLIDE 40

Classical Flow Network

  • flow on ae corresponds to length
  • f e
  • flow conservation: faces are

drawn properly

  • capacities: minimum edge length

10

slide-41
SLIDE 41

Classical Flow Network

  • flow on ae corresponds to length
  • f e
  • flow conservation: faces are

drawn properly

  • capacities: minimum edge length
  • minimum cost flow ⇒ minimal

vertical length assignment

10

slide-42
SLIDE 42

Classical Flow Network

  • flow on ae corresponds to length
  • f e
  • flow conservation: faces are

drawn properly

  • capacities: minimum edge length
  • minimum cost flow ⇒ minimal

vertical length assignment

10

slide-43
SLIDE 43

Modified Flow Network

Given: drawing Γ of graph G replace bends

11

slide-44
SLIDE 44

Modified Flow Network

Given: drawing Γ of graph G add bend vertices

11

slide-45
SLIDE 45

Modified Flow Network

Given: drawing Γ of graph G add vertical dissecting edges

11

slide-46
SLIDE 46

Modified Flow Network

Given: drawing Γ of graph G Construct network N:

  • as before

11

slide-47
SLIDE 47

Modified Flow Network

Given: drawing Γ of graph G Construct network N:

  • as before
  • ∀ bend vertices v ∈ G :

arcs a↑

v, a↓ v

with lower bound lb(a↑/↓

v ) = 0

upper bound ub(a↑/↓

v ) = ∞

cost(a↑/↓

v ) = 1

11

slide-48
SLIDE 48

Modified Flow Network

Given: drawing Γ of graph G Construct network N:

  • as before
  • ∀ bend vertices v ∈ G :

arcs a↑

v, a↓ v

with lower bound lb(a↑/↓

v ) = 0

upper bound ub(a↑/↓

v ) = ∞

cost(a↑/↓

v ) = 1

  • ∀ middle segment e ∈ G :

lower bound lb(ae) = 0

11

slide-49
SLIDE 49

Modified Flow Network

  • flow on a↑/↓

v

corresponds to downward/upward edge segment in the edge that is split by v

11

slide-50
SLIDE 50

Modified Flow Network

2 2 2 2 2 2

11

slide-51
SLIDE 51

Modified Flow Network

2 2 2 2 2 2

vertical edge length before: 19 vertical edge length after: 15

11

slide-52
SLIDE 52

Experimental Evaluation

Comparison of the Fled-Five approach against the traditional orthogonal compaction

12

slide-53
SLIDE 53

Experimental Evaluation

Comparison of the Fled-Five approach against the traditional orthogonal compaction Input: bend minimal orthogonal drawings

12

slide-54
SLIDE 54

Experimental Evaluation

Comparison of the Fled-Five approach against the traditional orthogonal compaction Input: bend minimal orthogonal drawings

  • FF = Fled-Five OCP algorithm, repeatedly in x- and y-direction
  • TRAD = traditional OCP algorithm, repeatedly in x- and y-direction

12

slide-55
SLIDE 55

Experimental Evaluation

Total edge length

1000 2000 3000 4000 5000 6000 100 200 300 400 500

total edge length

nodes

TRAD FF 13

slide-56
SLIDE 56

Experimental Evaluation

Drawing area

2000 4000 6000 8000 10000 12000 14000 100 200 300 400 500

area

nodes

TRAD FF 14

slide-57
SLIDE 57

Experimental Evaluation

Number of bends

50 100 150 200 250 300 350 100 200 300 400 500

bends

nodes

TRAD FF 15

slide-58
SLIDE 58

Conclusion

Introduction of the Fled-Five OCP

16

slide-59
SLIDE 59

Conclusion

Introduction of the Fled-Five OCP

  • relaxation of the classical OCP

16

slide-60
SLIDE 60

Conclusion

Introduction of the Fled-Five OCP

  • relaxation of the classical OCP
  • polynomial-time algorithm

16

slide-61
SLIDE 61

Conclusion

Introduction of the Fled-Five OCP

  • relaxation of the classical OCP
  • polynomial-time algorithm
  • better geometric results at the expense of bends

16

slide-62
SLIDE 62

Conclusion

Introduction of the Fled-Five OCP

  • relaxation of the classical OCP
  • polynomial-time algorithm
  • better geometric results at the expense of bends
  • no control over the number of bends

16

slide-63
SLIDE 63

Conclusion

Introduction of the Fled-Five OCP

  • relaxation of the classical OCP
  • polynomial-time algorithm
  • better geometric results at the expense of bends
  • no control over the number of bends

Thank you!

16

slide-64
SLIDE 64

References I

Bridgeman, S. S., Di Battista, G., Didimo, W., Liotta, G., Tamassia, R., and Vismara, L. (2000). Turn-regularity and optimal area drawings of orthogonal

  • representations. Comput. Geom., 16(1):53–93.

Klau, G. W. and Mutzel, P. (1999). Optimal compaction of orthogonal grid

  • drawings. In Cornuéjols, G., Burkard, R. E., and Woeginger, G. J., editors,

Integer Programming and Combinatorial Optimization, 7th International IPCO Conference, 1999, Proceedings, volume 1610 of LNCS, pages 304–319. Springer. Patrignani, M. (1999). On the complexity of orthogonal compaction. In Algorithms and Data Structures, 6th International Workshop, WADS ’99, Proceedings, volume 1663 of LNCS, pages 56–61. Springer. Tamassia, R. (1987). On embedding a graph in the grid with the minimum number of bends. SIAM J. Comput., 16(3):421–444.

17