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
Overview 1 Problem Definition 2 Combinatorial Algorithm 3 Experimental Evaluation 1
Orthogonal Graph Drawing Planar orthogonal grid drawings 2
Orthogonal Graph Drawing Planar orthogonal grid drawings • vertices on gridpoints • horizontal and vertical edges 2
Orthogonal Graph Drawing Planar orthogonal grid drawings • vertices on gridpoints • horizontal and vertical edges Aesthetic criteria: • few bends • short edges • small area 2
Orthogonal Graph Drawing Compaction of orthogonal drawings 3
Orthogonal Graph Drawing Compaction of orthogonal drawings • coordinate / length assignment 3
Orthogonal Graph Drawing Compaction of orthogonal drawings • coordinate / length assignment • improve geometric properties (edge length, area) 3
Orthogonal Graph Drawing Compaction of orthogonal drawings • coordinate / length assignment • improve geometric properties (edge length, area) • preserve orthogonal shape (bends, angles) 3
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
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
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
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
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
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
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
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
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
Orthogonal Compaction 6
Orthogonal Compaction → Trade-off between bends and edge length 6
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
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
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
Orthogonal Compaction What is allowed: • add/remove vertical segments to horizontal edges 8
Orthogonal Compaction What is allowed: • add/remove vertical segments to horizontal edges What is not allowed: • “turnarounds” of horizontal edges 8
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
Flow-based Compaction How to solve orthogonal compaction problems? 9
Flow-based Compaction How to solve orthogonal compaction problems? Transformation to a network flow problem. 9
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
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
Classical Flow Network Given: drawing Γ of graph G 10
Classical Flow Network Given: drawing Γ of graph G replace bends 10
Classical Flow Network Given: drawing Γ of graph G add vertical dissecting edges 10
Classical Flow Network Given: drawing Γ of graph G Construct network N : • ∀ face f ∈ G : node n f with demand d ( n f ) = 0 10
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
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
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
Classical Flow Network • flow on a e corresponds to length of e 10
Classical Flow Network • flow on a e corresponds to length of e • flow conservation: faces are drawn properly 10
Classical Flow Network • flow on a e corresponds to length of e • flow conservation: faces are drawn properly • capacities: minimum edge length 10
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
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
Modified Flow Network Given: drawing Γ of graph G replace bends 11
Modified Flow Network Given: drawing Γ of graph G add bend vertices 11
Modified Flow Network Given: drawing Γ of graph G add vertical dissecting edges 11
Modified Flow Network Given: drawing Γ of graph G Construct network N : • as before 11
Recommend
More recommend