orthogonal compaction using additional bends
play

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


  1. Orthogonal Compaction Using Additional Bends Michael Jünger 1 , Petra Mutzel 2 , Christiane Spisla 2 1 University of Cologne, 2 TU Dortmund University January 2018, Aussois

  2. Overview 1 Problem Definition 2 Combinatorial Algorithm 3 Experimental Evaluation 1

  3. Orthogonal Graph Drawing Planar orthogonal grid drawings 2

  4. Orthogonal Graph Drawing Planar orthogonal grid drawings • vertices on gridpoints • horizontal and vertical edges 2

  5. Orthogonal Graph Drawing Planar orthogonal grid drawings • vertices on gridpoints • horizontal and vertical edges Aesthetic criteria: • few bends • short edges • small area 2

  6. Orthogonal Graph Drawing Compaction of orthogonal drawings 3

  7. Orthogonal Graph Drawing Compaction of orthogonal drawings • coordinate / length assignment 3

  8. Orthogonal Graph Drawing Compaction of orthogonal drawings • coordinate / length assignment • improve geometric properties (edge length, area) 3

  9. Orthogonal Graph Drawing Compaction of orthogonal drawings • coordinate / length assignment • improve geometric properties (edge length, area) • preserve orthogonal shape (bends, angles) 3

  10. Orthogonal Compaction orthogonal 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

  11. Orthogonal Compaction orthogonal 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

  12. Orthogonal Compaction orthogonal 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

  13. Orthogonal Compaction orthogonal 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

  14. Orthogonal Compaction orthogonal 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

  15. Orthogonal Compaction one-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

  16. Orthogonal Compaction one-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

  17. Orthogonal Compaction one-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

  18. Orthogonal Compaction one-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

  19. Orthogonal Compaction 6

  20. Orthogonal Compaction → Trade-off between bends and edge length 6

  21. Orthogonal Compaction one-dimensional monotone fl exible ed ge orthogonal compaction problem with fi xed ve rtex 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

  22. Orthogonal Compaction one-dimensional monotone fl exible ed ge orthogonal compaction problem with fi xed ve rtex 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

  23. Orthogonal Compaction one-dimensional monotone fl exible ed ge orthogonal compaction problem with fi xed ve rtex 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

  24. Orthogonal Compaction What is allowed: • add/remove vertical segments to horizontal edges 8

  25. Orthogonal Compaction What is allowed: • add/remove vertical segments to horizontal edges What is not allowed: • “turnarounds” of horizontal edges 8

  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

  27. Flow-based Compaction How to solve orthogonal compaction problems? 9

  28. Flow-based Compaction How to solve orthogonal compaction problems? Transformation to a network flow problem. 9

  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

  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

  31. Classical Flow Network Given: drawing Γ of graph G 10

  32. Classical Flow Network Given: drawing Γ of graph G replace bends 10

  33. Classical Flow Network Given: drawing Γ of graph G add vertical dissecting edges 10

  34. Classical Flow Network Given: drawing Γ of graph G Construct network N : • ∀ face f ∈ G : node n f with demand d ( n f ) = 0 10

  35. Classical Flow Network Given: drawing Γ of graph G Construct network N : • ∀ face f ∈ G : node n f with demand d ( n f ) = 0 • ∀ vert. edge e ∈ G : arc a e with lower bound lb ( a e ) = 1 upper bound ub ( a e ) = ∞ 10

  36. Classical Flow Network Given: drawing Γ of graph G Construct network N : • ∀ face f ∈ G : node n f with demand d ( n f ) = 0 • ∀ vert. edge e ∈ G : arc a e with lower bound lb ( a e ) = 1 upper bound ub ( a e ) = ∞ cost ( a e ) = 1 (original) 10

  37. Classical Flow Network Given: drawing Γ of graph G Construct network N : • ∀ face f ∈ G : node n f with demand d ( n f ) = 0 • ∀ vert. edge e ∈ G : arc a e with lower bound lb ( a e ) = 1 upper bound ub ( a e ) = ∞ cost ( a e ) = 1 (original) cost ( a e ) = 0 (dummy) 10

  38. Classical Flow Network • flow on a e corresponds to length of e 10

  39. Classical Flow Network • flow on a e corresponds to length of e • flow conservation: faces are drawn properly 10

  40. Classical Flow Network • flow on a e corresponds to length of e • flow conservation: faces are drawn properly • capacities: minimum edge length 10

  41. Classical Flow Network • flow on a e corresponds to length of e • flow conservation: faces are drawn properly • capacities: minimum edge length • minimum cost flow ⇒ minimal vertical length assignment 10

  42. Classical Flow Network • flow on a e corresponds to length of e • flow conservation: faces are drawn properly • capacities: minimum edge length • minimum cost flow ⇒ minimal vertical length assignment 10

  43. Modified Flow Network Given: drawing Γ of graph G replace bends 11

  44. Modified Flow Network Given: drawing Γ of graph G add bend vertices 11

  45. Modified Flow Network Given: drawing Γ of graph G add vertical dissecting edges 11

  46. Modified Flow Network Given: drawing Γ of graph G Construct network N : • as before 11

Recommend


More recommend