1. Introduction
A graph is a mathematical structure for representing inherent relationships between discrete objects. It is often drawn as a node-link diagram, but, as the number of elements increases, its ability to effectively display information without visual clutter is a challenge. Several existing graph drawing techniques attempt to reduce visual clutter. An example is edge bundling, which has gained attention as a way to improve the readability of a graph drawing by merging geometrically close edges into bundles along a shared path (see
Figure 1).
Traditional edge bundling approaches are not problem-specific methods, but, instead, are application-oriented. They are not dedicated to solving a mathematically-formulated problem, i.e., they do not follow a systematic and theory-guided process to propose and solve edge bundling optimization problems by defining decision variables and a given objective function to be optimized. Consequently, these approaches do not address the issue of identifying the “best” set of bundles based on a group of criteria that are mathematically defined in the form of an objective function.
Departing from tradition, Ferreira et al. [
1] proposed the study of edge bundling as a formally defined combinatorial optimization problem. The authors focused on a class of edge bundling problems for which the set of edges composing every bundling has to be explicitly chosen as main problem-decision variables. In order to demonstrate their ideas, the authors formulated a constrained combinatorial optimization problem, called
, in which the total number of bundles has to be minimized and only edges with a common end node (i.e., edges that are adjacent) can be bundled together. As Peng et al. [
2] affirm, bundling only adjacent edges seems to provide a better sense of edge relations of a graph at the node level. A more general and interesting problem was also defined by Ferreira et al. [
1] by adding a new constraint to the
problem. The constraint consisted of imposing a maximum angle (
) condition that any pair of adjacent edges must satisfy in order to be bundled. That problem was called
, which becomes the
problem for high values of
. In the present paper, we refer to
as the
Angle-Based Edge Bundling Problem (ABEB) in order to be consistent with other problems that are introduced. Ferreira et al. showed that
is NP-hard and, therefore,
has the same complexity for high values of
. This justifies the use of heuristic methods for solving ABEB.
In the present paper, we continue an investigation into the formal modeling of edge bundling and propose two other problems, in addition to the ABEB. One problem is termed the Compatibility-Based Edge Bundling Problem (CBEB) which involves minimizing the total number of bundles while maximizing a multi-objective function that incorporates well-known edge compatibility measures. The other problem is an extension of the last one and allows the creation of bundles with non-adjacent edges and is termed General-Based Edge Bundling (GBEB). We also propose an approximate evolutionary algorithm for ABEB, CBEB and GBEB called here Evolutionary Edge Bundling (EEB). As far as we know, EEB is the first heuristic method ever proposed for these problems as Ferreira et al. [
1] presented only an integer linear formulation for the ABEB, not a solution method.
Experiments with the evolutionary algorithm show that it produces close-to-optimal solutions for some of the nontrivial ABEB instances tested. The results emphasize the importance of optimization approaches to edge bundling, not only as a way of visualizing a graph with less visual clutter, but also as a means of systematically studying and comparing problem definitions, methods and solutions in this field. From now on, we consider only undirected graphs.
The remainder of the paper is organized as follows.
Section 2 briefly surveys relevant work on various aspects of edge bundling.
Section 3 presents a definition of edge bundling as a combinatorial optimization problem, as proposed in [
1].
Section 4 provides the formal definitions of ABEB, CBEB and GBEB. Some compatibility and aesthetic criteria are then discussed in
Section 5.
Section 6 introduces the evolutionary edge bundling algorithm which aims to solve the ABEB, CBEB and GBEB problems and
Section 7 describes some experimental results.
Section 8 discusses a method for rendering the edge bundling solutions as a final step in the edge bundling process. A comparison of EEB with previous edge bundling techniques is discussed in
Section 9. Finally, in
Section 10, we draw some conclusions and discuss ideas for future research.
3. Edge Bundling as an Optimization Problem
There is a current lack of fundamental and theoretical principles that can be used to objectively measure the effectiveness of bundling techniques. Despite some attempts to formalize the presentation of certain edge bundling methods, bundling itself, as a technique, as yet lacks an underlying formalism that can unify previous methods. Most existing edge bundling definitions are vague, each being related to slightly different characteristics of the problem. Moreover, edge bundling is related to both joining edges and determining the paths of the edges.
Recently, McKnight [
10] and Lhuillier, Hurter and Telea [
11] discussed various complementary aspects of more complex mathematical formulations of edge bundling. McKnight defines a
bundle as a set of two or more “edge segments”, and
edge bundling as the process of segmenting the edges. Lhuillier, Hurter and Telea [
11] define a
bundle as a set of paths that share similarities and
edge bundling as a process that creates bundles and trails.
We now complement the definitions of bundle and edge bundling just mentioned. By analyzing the various existing approaches in this area, it is possible to identify distinct types of bundle structures and methodologies.
Bundles can be separated into two types, those composed of (i) only edges sharing a common end node (bundling of only adjacent edges), as in the methods described in [
2,
9,
12,
13,
14], or of (more commonly) (ii) merged edges with multiple origin or destination nodes (see
Figure 2).
Regarding the bundling methodologies, an edge bundling method can construct bundles in an explicit or in an implicit way [
15]. In explicit approaches, the edges are first clustered and then a rendering module draws each group of edges [
7,
16,
17,
18,
19]. In implicit approaches, there is no pre-grouping of the edges. Instead, the bundles are considered as oriented-curved routes, each containing a set of edges. The related methods employ strategies for defining routes and making associations between them [
5,
8]. McKnight [
10] affirms that many existing edge bundling approaches do not generate bundles directly (explicitly). In fact, most edge bundling algorithms output just a graph drawing and the identification of the individual bundles is indirect.
Figure 3 uses a synthetic graph (G1) to illustrate the difference between the solution generated by the explicit approach of the EEB model (described in
Section 6) and the solution generated by the implicit Force-Based Edge Bundling approach [
5], implemented in the d3.js library of visualization routines. The two solutions are visually rather different, which makes it difficult to compare them in terms of quality. It is especially challenging to make such comparisons when the specific elements (e.g., parameters and constraints) related to the edge bundling problem are ill defined. In fact, the comparison is meaningless as the underlying problems are significantly different from each other.
In general, the search for a “good” edge-bundling layout is carried out heuristically, and is based on an informal definition of given desirable optimization goals. In opposition, we take a different line for the investigation of edge bundling strategies by formally defining edge bundling as an optimization problem. We also aim at identifying a problem solution that represents an explicitly generated bundle configuration. For the structure of the solution, we follow the definition given in [
10] that focuses on computing bundles directly. However, we consider a bundle as a set of edges (not just a set of edge segments as in [
10]).
Thus, in [
1], edge bundling was formulated as an optimization problem that attempts to find the “best” set of bundles in terms of some given parameters, goals and constraints. A general edge bundling optimization problem, that can be used as a framework for describing more specific problems, was defined by the authors as follows:
Definition 1. Let be a graph and D a given unbundled node-link drawing of G in the plane. Consider the set , where are subsets of E (not necessarily disjoint), . Furthermore, let R be a function of G, D and S that renders a bundled graph drawing version of D (denoted by ), given some extra necessary information, such as rules for routing the edges. The General Edge bundling Problem is hence to determine the set S (here called bundles), with , so that a set F of objective functions, representing aesthetic edge bundling measurements of are optimized, and a set P of constraints (defining mainly which edges can be bundled together) are satisfied.
Note that Definition 1 enables the inclusion of the routing problem, which is to find the precise paths of the bundled (and possibly unbundled) edges. This is a question to be addressed as an optimization problem. This can be done in either of two ways: (1) by determining the routing as a second-level problem totally inside the rendering function
R; or (2) by extending the formal definition in order to have extra variables that determine the routing and are used in
R. In both cases, functions that evaluate the quality of the resultant edge-bundling drawings, produced by
R, can be included in the set
F, making the edge-routing problem more intrinsic in the optimization process. Some quality aspects that may influence the routing, such as minimizing the amount of ink for drawing the bundles, or minimizing the number of edge crossings, can be pursued using these approaches. However, in the present paper, the routing problem is not considered critical for the optimization process. Therefore, it was treated as a fully independent problem (see (1) above) and was considered an external, post-processing stage (see
Section 8).
4. Edge Bundling Problems
In this paper, three edge bundling problems are investigated. The problems tightly combine Definition 1 with some of the common aesthetics and compatibility measures.
Problem 1 (Angle-Based Edge Bundling Problem (ABEB))
. Suppose a drawing D of a graph , a function that returns the smaller angle between any pair of adjacent edges and from E in the drawing, and an angle α, are given (We define the smaller angle as the smallest angle between two adjacent edges with regard to the clockwise and counter-clockwise orientations). TheAngle-Based Edge Bundling Problem(was denoted by in [1] but, for the sake of clarity, it is denoted by ABEB here) is to determine a decomposition (We borrow the definition of decomposition of a graph G that, according to Arumugam, Hamid and Abraham [20], is “a collection ψ of edge-disjoint subgraphs of G such that every edge of G belongs to exactly one ”) of E into disjoint subsets , , that minimizes n, subject to the conditions that each induces a star subgraph (i.e, all edges in share a same node), and for every pair of edges , . ABEB is the original problem proposed in [
1], as mentioned before. Note that a set
represents a bundle containing only adjacent edges, and that each edge of the graph appears in exactly one bundle. As an example of constraint satisfaction, the two bundles
and
do not represent a solution to ABEB because the edge
is in both of them. The objective of ABEB is to minimize
n, the number of bundles, i.e., the size of the decomposition of
E. This objective can be expressed as:
For a given input graph drawing, there may be many solutions with the same number of bundles that satisfy the angle constraints, but with different set partitions
. In order to distinguish between these solutions, the additional objective of maximizing a compatibility parameter between edges is added to the original ABEB problem. The aim is to produce solutions in which the edges in each
are as compatible as possible. The level of compatibility is given by a function
C that evaluates (possibly using an unbundled drawing of the graph) how similar given edge pairs are, and whether or not they should be bundled together. The precise definition of this new problem is given below.
Problem 2 (Compatibility-Based Edge Bundling Problem (CBEB))
. Let D be a given drawing of a graph . For D, let be themeasure of compatibilitybetween a pair of edges , and let be themeasure of total compatibilityof a bundle , defined as the sum of the C values for all pairs of edges in the bundle. TheCompatibility-Based Edge Bundling Problemis to determine a decomposition of E into disjoint subsets , , which maximizes and minimizes n, subject to the condition that each induces a star subgraph .
Thus, CBEB has two objectives: to maximize the sum of the compatibilities of the edge bundles and to minimize the number of edge bundles. These objectives may balance each other out when finding a minimal set of bundles. For the purpose of simplification, CBEB was converted into a single-objective problem aimed at maximizing the following weighted sum function:
where
,
.
Note that the angle limit
is not a constraint of the problem any more, but angle compatibility is part of the objective function, embedded in
C and, consequently, in
. Many edge compatibility measures can be included in
C. The exact ones that we used in the current work are described in
Section 5.
The classic edge bundling methods create bundles by joining the edges at their middle parts, not at their endpoints. However, the solutions to the ABEB and CBEB problems result in graph drawings with only adjacent edges. A more general problem is proposed, in which the adjacency constraint is relaxed. The definition of the resulting problem is given below:
Problem 3 (General-Based Edge Bundling Problem (GBEB))
. Let D be a given drawing of a graph . For D, let be the compatibility measure between each pair of edges , and let be the total compatibility of a bundle , defined as the sum of the C values for all pairs of edges in the bundle. TheGBEB problemis to determine a decomposition of E into disjoint subsets , , that maximizes and minimizes n.
Comparing the definitions of CBEB and GBEB, one can see that the only aspect that makes the two problems different is the removal of the adjacency constraint in the second problem. However, as it will be discussed in the
Section 7.4, this simple modification increases the search space of the feasible solutions. The objective function for GBEB is also defined by Equation (
2).
Figure 4 illustrates solutions to the problems ABEB, CBEB and GBEB for a small graph, an angle
and a compatibility measure
.
Figure 4b is a possible solution to the problem ABEB, constrained by the conditions of (i) adjacency, (ii) having only disjoint sets and (iii) angles no more than
. The solution consists of the sets of edges
,
,
and
. The solution to the problem CBEB,
Figure 4c, although having the same amount of bundles as in (b), groups the edges in more compatible sizes, with
,
,
and
. Finally, a solution to the problem GBEB (
Figure 4d) was not restricted by the adjacency constraint and, therefore, has less bundles, with
,
,
. Note that the sets
for the three problems are disjoint, but, in the solution to GBEB, the non-adjacent edges 5
and 7
were joined at the same bundle
. Despite producing less bundles, solutions to GBEB may be more ambiguous in terms of the identification of the individual edges in each bundle.
6. Evolutionary Edge Bundling (EEB)
One of the challenges of dealing with difficult combinatorial optimization problems is to develop algorithms that guarantee to find a reasonably good solution in an acceptable computational time. An approach that has frequently been able to address this challenge successfully in many situations is the so-called evolutionary algorithm (EA), a generic population-based optimization meta-heuristic from artificial intelligence that uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection. An evolutionary algorithm [
28] is a type of evolutionary computation that can employ a variety of solution representations and evolutionary steps.
Following that line, we present a novel EA for the edge bundling problems ABEB, CBEB and GBEB. The algorithm adopts the standard evolutionary cycle involving population initialization, evaluation, selection, recombination and mutation steps. The next subsections describe the solution representation and present details of the steps of the EA.
7. Experiments
Experiments for testing the EEB approach were conducted with one synthetic graph and nine real-world graphs. The graphs are: G1—Synthetic (20 nodes, 28 edges) [
1]; G2—ZacharyClub (34 nodes, 78 edges) [
31]; G3—PlanarGD2015 (66 nodes, 101 edges) [
32]; G4—Dolphin (62 nodes, 160 edges) [
33]; G5—a connected version of MovieLens (160 nodes, 161 edges) [
34]; G6—LesMiserables (77 nodes, 254 edges) [
35]; G7—BooksUSPolitics (105 nodes, 401 edges) [
36]; G8—Word adjacencies (112 nodes, 425 edges) [
36]; G9—Flare Software Class (220 nodes, 709 edges) [
3]; and G10—the USAirline (235 nodes, 1297 edges) from an unknown source.
We performed three sets of experiments, one for each of the ABEB, CBEB and GBEB problems discussed in
Section 4. The initial layout of each graphs used was predefined as an input file. The experiments consisted of running the evolutionary algorithm for 100 independent trials (20 trials for GBEB) for each graph and for some angle parameters. For the ABEB, the angle parameter was progressively fixed as
.
For the CBEB problem, the angle parameter was considered, but the calculation of the threshold was carried out using the formula . The value of the scale compatibility was set at . The penalty value was fixed to .
For the GBEB problem, the angle parameter was also included and the formula of Holten and Wijk [
5] was used for calculating
. The other compatibility values were empirically determined as
,
,
and
. Because the choice of small values for the penalty constant
had no effect during the experiments, a dynamic scheme was implemented: each bundle was penalized individually according to the following dynamic scheme in (
7):
This is different from the CBEB problem, which determines a fixed value of .
Other parameters defined for the three sets of experiments were: the population size ; the crossover rate ; and the mutation rate . The evolutionary cycle was repeated until there was no further improvement in the population for 500 consecutive iterations or the maximum number of generations (set at 16,500) was achieved. All tests for ABEB and CBEB were executed on a MacBook Pro (McIntosh Laboratory, Inc., Binghamton, New York, USA) with an Intel Core i7 processor (Intel Corporation, Santa Clara, California, USA) of 2.9 GHz and 8 GB of 1600 MHz-DDR3 RAM, and, due to the long processing time needed to solve an instance, for the GBEB problem, was used a more powerful computer a DELL M630 server (Dell Technologies, Round Rock, TX, USA) with 128 GB of RAM and two processors with 10 cores each and hyperthreading, resulting in 40 visible cores of 3–3.6 Ghz.
7.6. Effects of Parameters at the Final Solution
Various parameters can be set up in the EEB approach. We believe that one of the benefits of investigating edge bundling as an optimization problem is the possibility that users may be able configure the parameters they consider important in order to find the “best solution” according to their needs. Later in the present section, we provide an analysis of the effect of the existence of multiple parameters in the final bundling solution.
In general, in multi-objective problems, there is no single solution that is globally optimal, since there are multiple, possibly conflicting objectives [
38]. This is the case with the CBEB and GBEB problems. Minimizing the number of bundles may mean worsening the compatibility value between the edges in a bundle. This is the kind of scenario that requires the intervention of a decision maker, through a precise definition of the search criteria. We attempted to address this issue by transforming the CBEB and GBEB problems into single-objective problems via weighted, linear functions whose weights reflect user preferences.
The weights
and
of the components of the objective function (see Equation (
2)), for the CBEB and GBEB, were chosen empirically. Changes to these weights may affect the quality of solutions obtained, in terms of number of bundles and level of compatibility.
Figure 15 shows various solutions to the CBEB problem for the graph LesMiserables, generated by varying the weight coefficients. The rectangles mark areas that have a different set of bundles. Various weights were tried and it was found that
and
achieved the best visual results for CBEB and
and
for GBEB.
Another aspect that helps guide the search towards an optimal solution is the definition of thresholds for the compatibility measures, including
and part of the threshold
. From the results shown in
Table 1,
Table 3 and
Table 4, it can be seen that varying the angle parameter generated completely different numerical results and different drawings (see
Figure 7). This shows that it is possible, via parametrization of the compatibility values, to give users the power to decide which type of drawing they want. For example,
Figure 16c–e shows three different configurations for the graph USAirlines (G1) for the GBEB problem with different
parameters. Note that the visual solutions produced are not far from the one created by the MINGLE approach [
18] (
Figure 16b). However, varying the parameter generates different structural aspects of the graph drawing. We did not formalize detailed experiments involving the other thresholds, but preliminary tests with them demonstrated the possibility of controlling other aspects of the results by exploring those thresholds. The parameters described in the
Section 7 were defined empirically and based on the personal perception of the authors.
Finally, the parameters of the evolutionary method are characteristics of the optimization approach and may be useful in determining both the speed of convergence and population diversity. The parameters of an evolutionary algorithm are the control inputs that enable the search to be as comprehensive and as fast as possible [
28,
39]. For the EEB approach, the values were chosen during an extensive preliminary testing process. We believe that adapting the values to the type of graph could have produced better results for the larger graphs. However, we have chosen to be as pragmatic as possible, keeping the set of parameters constant in all tests, so as to ensure that the results can be meaningfully compared.
As expected, the results of the experiments indicate that different parameterization produces distinct solutions. In order to illustrate the importance of parameterization in edge bundling approaches Policis et al. [
40] investigated a search for "optimal" parameters for edge bundling algorithms.
Author Contributions
This article is based in part, on the doctoral dissertation of the first author, J.d.M.F., who successfully completed a PhD in The Institute of Informatics, Federal University of Goiás, Goiás, Brazil, under the supervision of the second and third authors, H.A.D.d.N. and L.R.F. The contributions to the paper are as follows. Conceptualization, J.d.M.F., H.A.D.d.N. and L.R.F.; Methodology, J.d.M.F., H.A.D.d.N. and L.R.F.; Software, J.d.M.F.; Validation, J.d.M.F., H.A.D.d.N. and L.R.F.; Formal Analysis, J.d.M.F., H.A.D.d.N. and L.R.F.; Investigation, J.d.M.F., H.A.D.d.N. and L.R.F.; Resources, H.A.D.d.N.; Data Curation, J.d.M.F.; Writing—Original Draft Preparation, J.d.M.F.; Writing—Review & Editing, J.d.M.F., H.A.D.d.N. and L.R.F.; Visualization, J.d.M.F.; Supervision, H.A.D.d.N. and L.R.F.; Project Administration, H.A.D.d.N.; Funding Acquisition, H.A.D.d.N.
Funding
This research was funded by FAPEG-Brazil, grant number 25725.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Ferreira, J.M.; Nascimento, H.A.D.; Quigley, A.J.; Foulds, L.R. Computational Complexity of Edge Bundling Problems. Technical Report, Federal University of Goiás. 2017. Available online: http://inf.ufg.br/biblioteca-digital (accessed on 25 June 2018).
- Peng, D.; Lu, N.; Chen, W.; Peng, Q. SideKnot: Revealing Relation Patterns for Graph Visualization. In Proceedings of the 2012 IEEE Pacific Visualization Symposium, Songdo, Korea, 28 February–2 March 2012; pp. 65–72. [Google Scholar]
- Holten, D. Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data. Trans. Vis. Comput. Graph. 2006, 12, 741–748. [Google Scholar] [CrossRef] [PubMed]
- Cui, W.; Zhou, H.; Qu, H.; Wong, P.; Li, X. Geometry-based Edge Clustering for Graph Visualization. Trans. Vis. Comput. Graph. 2008, 14, 1277–1284. [Google Scholar] [CrossRef] [PubMed]
- Holten, D.; van Wijk, J. Force-directed Edge Bundling for Graph Visualization. Comput. Graph. Forum 2009, 28, 983–990. [Google Scholar] [CrossRef]
- Selassie, D.; Heller, B.; Heer, J. Divided Edge Bundling for Directional Network Data. Trans. Vis. Comput. Graph. 2011, 17, 2354–2363. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Ersoy, O.; Hurter, C.; Paulovich, F.; Cantareiro, G.; Telea, A. Skeleton-based Edge Bundling for Graph Visualization. Trans. Vis. Comput. Graph. 2011, 12, 2364–2373. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Hurter, C.; Ersoy, O.; Telea, A. Graph Bundling by Kernel Density Estimation. Comput. Graph. Forum 2012, 31, 865–874. [Google Scholar] [CrossRef] [Green Version]
- Nocaj, A.; Brandes, U. Stub Bundling and Confluent Spirals for Geographic Networks. In Proceedings of the 21st International Symposium on Graph Drawing, Bordeaux, France, 23–25 September 2013; pp. 388–399. [Google Scholar]
- McKnight, R.L. Low-Stretch Trees for Network Visualization. Ph.D. Thesis, University of British Columbia, Vancouver, BC, Canada, 2015. [Google Scholar]
- Lhuillier, A.; Hurter, C.; Telea, A. State of the Art in Edge and Trail Bundling Techniques. Comput. Graph. Forum 2017, 36, 619–645. [Google Scholar] [CrossRef] [Green Version]
- Beck, F.; Puppe, M.; Braun, P.; Burch, M.; Diehl, S. Edge Bundling without Reducing the Source to Target Traceability. In Proceedings of the 2011 15th International Conference on Information Visualisation, London, UK, 13–15 July 2011; pp. 298–305. [Google Scholar]
- C̆ermák, M.; Dokulil, J.; Katreniaková, J. Edge Routing and Bundling for Graphs with Fixed Node Positions. In Proceedings of the 2011 15th International Conference on Information Visualisation, London, UK, 13–15 July 2011; pp. 475–481. [Google Scholar]
- Luo, S.J.; Liu, C.L.; Chen, B.Y.; Ma, K.L. Ambiguity-free Edge-bundling for Interactive Graph Visualization. IEEE Trans. Vis. Comput. Graph. 2012, 18, 810–821. [Google Scholar] [PubMed]
- Hurter, C.; Puechmorel, S.; Nicol, F.; Telea, A. Functional Decomposition for Bundled Simplification of Trail Sets. IEEE Trans. Vis. Comput. Graph. 2018, 24, 500–510. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Gansner, E.R.; Koren, Y. Improved Circular Layouts. In Proceedings of the 14th International Symposium on Graph Drawing, Karlsruhe, Germany, 18–20 September 2006; pp. 386–398. [Google Scholar]
- Telea, A.C.; Ersoy, O. Image-based Edge Bundles: Simplified Visualization of Large Graphs. Comput. Graph. Forum 2010, 29, 843–852. [Google Scholar] [CrossRef]
- Gansner, E.R.; Hu, Y.; North, S.; Scheidegger, C. Multilevel Agglomerative Edge Bundling for Visualizing Large Graphs. In Proceedings of the 2011 IEEE Pacific Visualization Symposium, Hong Kong, China, 1–4 March 2011; pp. 187–194. [Google Scholar]
- Yamashita, T.; Saga, R. Cluster-based Edge Bundling Based on a Line Graph. In Proceedings of the 12th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications, Porto, Portugal, 27 February–1 March 2017; pp. 311–316. [Google Scholar]
- Arumugam, S.; Hamid, I.S.; Abraham, V.M. Decomposition of Graphs into Paths and Cycles. J. Discret. Math. 2013, 2013. ID 721051. [Google Scholar] [CrossRef]
- Kienreich, W.; Seifert, C. An Application of Edge Bundling Techniques to the Visualization of Media Analysis Results. In Proceedings of the 2010 14th International Conference Information Visualisation, London, UK, 26–29 July 2010; pp. 375–380. [Google Scholar]
- Nguyen, Q.H.; Hong, S.; Eades, P. TGI-EB: A New Framework for Edge Bundling Integrating Topology, Geometry and Importance. In Proceedings of the 19th International Symposium on Graph Drawing, Eindhoven, The Netherlands, 21–23 September 2011; Volume 7034, pp. 123–135. [Google Scholar]
- Nguyen, Q.; Edges, P.; Hong, S.H. StreamEB: Stream Edge Bundling. In Lecture Notes in Computer Science, Proceedings of the 20th International Symposium on Graph Drawing, Redmond, WA, USA, 19–21 September 2012; Didimo, W., Patrignani, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7704, pp. 400–413. [Google Scholar]
- Battista, G.; Eades, P.; Tamassia, R.; Tollis, I.G. Graph Drawing: Algorithms for the Visualization of Graphs, 1st ed.; Prentice Hall: Englewood Cliffs, NJ, USA, 1998. [Google Scholar]
- Angelini, P.; Bekos, M.; Kaufmann, M.; Kindermann, P.; Schneck, T. 1-Fan-Bundle-Planar Drawings of Graphs. In Proceedings of the 24th International Symposium on Graph Drawing, Athens, Greece, 19–21 September 2016; pp. 634–636. [Google Scholar]
- Alam, M.J.; Fink, M.; Pupyrev, S. The Bundled Crossing Number. In Proceedings of the 24th International Symposium on Graph Drawing, Athens, Greece, 19–21 September 2016; pp. 399–412. [Google Scholar]
- Saga, R. Quantitative Evaluation for Edge Bundling by Difference of Edge Lengths and Area Occupation. In Proceedings of the 18th International Conference, HCI International 2016, Toronto, Canada, 17–22 July 2016; pp. 287–290. [Google Scholar]
- Bäck, T. Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms; Oxford University Press: Oxford, UK, 1996. [Google Scholar]
- Skiena, S. Minimum Vertex Cover. § 5.6.2 in Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica; Addison-Wesley: Reading, MA, USA, 1990; p. 218. [Google Scholar]
- Saroj, D. A Non-revisiting Genetic Algorithm for Optimizing Numeric Multi-dimensional Functions. Int. J. Comput. Sci. Applic. 2012, 2, 83–93. [Google Scholar] [CrossRef]
- Zachary, W. An Information Flow Model for Conflict and Fission in Small Groups. J. Anthropol. Res. 1977, 33, 452–473. [Google Scholar] [CrossRef] [Green Version]
- ISGCI. Information System on Graph Classes and Their Inclusions. 2015. Available online: http://www.csun.edu/gd2015/topics.htm (accessed on 2 November 2017).
- Girvan, M.; Newman, M. Community Structure in Social and Biological Networks. Proc. Natl. Acad. Sci. USA 2002, 99, 7821–7826. [Google Scholar] [CrossRef] [PubMed]
- MovieLens. 2017. Available online: http://www.eecs.wsu.edu/~yyao/ (accessed on 2 November 2017).
- Knuth, D. The Stanford GraphBase: A Platform for Combinatorial Computing; Addison-Wesley: Reading, MA, USA, 1993. [Google Scholar]
- Newman, M.E.J. Modularity and Community Structure in Networks. Proc. Natl. Acad. Sci. USA 2006, 103, 8577–8582. [Google Scholar] [CrossRef] [PubMed]
- Optimization, G. Gurobi Optimizer Quick Start Guide. 2017. Available online: http://www.gurobi.com/documentation/ (accessed on 14 May 2017).
- Collette, Y.; Siarry, P. Multiobjective Optimization: Principles and Case Studies; Springer: Berlin/Heidelberg, Germany, 2003. [Google Scholar]
- Ahn, C.W. Advances in Evolutionary Algorithms: Theory, Design and Practice; Springer: Berlin/Heidelberg, Germany, 2006. [Google Scholar]
- Polisciuc, E.; Cruz, A.; Machado, P.; Arrais, J.P. On the Role of Aesthetics in Genetic Algorithms Applied to Graph Drawing. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (GECCO’17), Berlin, Germany, 15–19 July 2017; pp. 1713–1720. [Google Scholar]
- Bruckdorfer, T.; Cornelsen, S.; Gutwenger, C.; Kaufmann, M.; Montecchiani, F.; Nöllenburg, M.; Wolff, A. Progress on Partial Edge Drawings; Springer: Berlin/Heidelberg, Germany, 2013. [Google Scholar]
- Pupyrev, S.; Nachmanson, L.; Kaufmann, M. Improving Layered Graph Layouts with Edge Bundling. In Proceedings of the 19th International Symposium on Graph Drawing, Konstanz, Germany, 21–24 September 2011; pp. 329–340. [Google Scholar]
Figure 1.
Illustration of the concept of edge bundling.
Figure 2.
Type of bundles.
Figure 3.
Comparison of solutions produced by implicit and explicit methodologies.
Figure 4.
Comparison of possible solutions between the proposed problems.
Figure 5.
Individual representation scheme.
Figure 6.
A example of the one point crossover operation.
Figure 7.
MovieLens (G5) for ABEB with different angle constraints: (a) angle ; (b) angle .
Figure 8.
Bundles with edges that differ significantly in length: (a) original graph; (b) graph with bundles.
Figure 9.
LesMiserables (G6) with : (a) ABEB solution with 82 bundles; (b) CBEB solution with 97 bundles.
Figure 10.
Effects of the angle in the Planar graph (G3) for the GBEB problem.
Figure 11.
Effects of the angle in the Word Adjacencies (G8) for the GBEB problem.
Figure 12.
Comparison of average of number of bundles of the best solution for each problem and angle parameter.
Figure 13.
Comparison of average of convergence generation for each problem and angle parameter.
Figure 14.
Comparison of solutions of BookUSPolitics graph (G7) and for each problem.
Figure 15.
Effects of weight in the LesMiserables graph (G6), CBEB problem and .
Figure 16.
Comparison of solutions for USAirline graph (G10), GBEB problem.
Figure 17.
Comparison of solutions for USAirlines (G10).
Table 1.
Results for the ABEB problem, averaged over 100 independent runs, , and .
Graph | Edges | | Bundles of | Avg. | Avg. | Std. Dev. | Std. Error | Avg. |
---|
Best Solution | Bundles | Fitness | Fitness | Fitness | Time (s) |
---|
G1 | 28 | 30 | 17 (100) | 17.00 | 0.0588 | 0.00000 | 0.000000 | 2 |
45 | 16 (100) | 16.00 | 0.0625 | 0.00000 | 0.000000 | 1 |
70 | 13 (89) | 13.11 | 0.0763 | 0.00173 | 0.000173 | 1 |
G2 | 78 | 30 | 45 (1) | 49.74 | 0.0201 | 0.00073 | 0.000073 | 6 |
45 | 37 (3) | 39.75 | 0.0252 | 0.00081 | 0.000081 | 6 |
70 | 31 (6) | 33.30 | 0.0301 | 0.00101 | 0.000101 | 5 |
G3 | 101 | 30 | 75 (4) | 76.84 | 0.0130 | 0.00015 | 0.000015 | 9 |
45 | 69 (1) | 73.01 | 0.0137 | 0.00023 | 0.000023 | 9 |
70 | 60 (4) | 62.63 | 0.0160 | 0.00028 | 0.000028 | 9 |
G4 | 160 | 30 | 107 (4) | 111.08 | 0.0090 | 0.00019 | 0.000019 | 20 |
45 | 92 (6) | 96.57 | 0.0104 | 0.00026 | 0.000026 | 19 |
70 | 75 (2) | 79.48 | 0.0126 | 0.00032 | 0.000032 | 18 |
G5 | 161 | 30 | 65 (2) | 69.28 | 0.0144 | 0.00028 | 0.000028 | 11 |
45 | 51 (1) | 54.17 | 0.0185 | 0.00050 | 0.000050 | 11 |
70 | 37 (1) | 40.84 | 0.0245 | 0.00085 | 0.000085 | 10 |
G6 | 254 | 30 | 121 (4) | 128.23 | 0.0078 | 0.00022 | 0.000022 | 156 |
45 | 99 (1) | 107.13 | 0.0093 | 0.00032 | 0.000032 | 40 |
70 | 82 (4) | 88.01 | 0.0114 | 0.00039 | 0.000039 | 29 |
G7 | 401 | 30 | 238 (1) | 251.82 | 0.0040 | 0.00009 | 0.000009 | 101 |
45 | 207 (1) | 217.45 | 0.0046 | 0.00010 | 0.000010 | 88 |
70 | 169 (2) | 178.71 | 0.0056 | 0.00014 | 0.000014 | 66 |
G8 | 425 | 30 | 217 (1) | 230.19 | 0.0043 | 0.00010 | 0.000010 | 103 |
45 | 189 (1) | 199.94 | 0.0050 | 0.00012 | 0.000012 | 85 |
70 | 150 (1) | 164.54 | 0.0061 | 0.00017 | 0.000017 | 71 |
G9 | 709 | 30 | 339 (1) | 354.39 | 0.0028 | 0.00006 | 0.000006 | 198 |
45 | 280 (3) | 293.35 | 0.0034 | 0.00008 | 0.000008 | 167 |
70 | 235 (2) | 247.62 | 0.0040 | 0.00009 | 0.000009 | 167 |
G10 | 1297 | 30 | 338 (1) | 355.85 | 0.0028 | 0.00008 | 0.000008 | 524 |
45 | 281 (1) | 295.32 | 0.0034 | 0.00009 | 0.000009 | 451 |
70 | 221 (1) | 236.72 | 0.0040 | 0.00012 | 0.000012 | 420 |
Table 2.
Comparison of number of bundles generated by EEB with an exact method (IP) for ABEB.
Graph | Edges | | EEB | IP | Time | Time |
---|
EEB (s) | IP (s) |
---|
G1 | 28 | 30 | 17 | 17 | 2 | 0.31 |
45 | 16 | 16 | 1 | 0.41 |
70 | 13 | 13 | 1 | 0.35 |
90 | 11 | 11 | 1 | 0.17 |
110 | 10 | 10 | 1 | 0.17 |
G2 | 78 | 30 | 45 | 45 | 6 | 12,070.30 |
45 | 37 | 36 | 6 | 1103.77 |
70 | 31 | 29 | 5 | 135.931 |
90 | 27 | 25 | 4 | 445.188 |
110 | 25 | 25 | 4 | 801.322 |
G3 | 101 | 30 | 75 | 74 | 9 | 125.65 |
45 | 69 | 69 | 9 | 656.14 |
70 | 60 | 58 | 9 | 1210.29 |
90 | 53 | 50 | 9 | 1275.27 |
110 | 48 | - | 9 | - |
Table 3.
Results for the CBEB problem, averaged over 100 independent runs, , , , , and (*G10 was used in 15 trials).
Graph | Edges | | Bundles | Avg. Compa- | Avg. | Avg. | Std. Dev. | Std. Error | Avg. |
---|
of Best Solution | Tibility | Bundles | Fitness | Fitness | Fitness | Time (s) |
---|
G1 | 28 | 30 | 20 | 9.48 | 20.01 | 1.935 | 0.026 | 0.003 | 2 |
45 | 16 | 13.27 | 18.17 | 2.700 | 0.299 | 0.030 | 2 |
70 | 16 | 20.22 | 16.82 | 4.093 | 0.248 | 0.025 | 2 |
G2 | 78 | 30 | 56 | 22.69 | 58.49 | 4.552 | 0.246 | 0.025 | 11 |
45 | 48 | 35.87 | 50.72 | 7.190 | 0.490 | 0.050 | 13 |
70 | 36 | 69.97 | 39.10 | 14.015 | 0.861 | 0.086 | 15 |
G3 | 101 | 30 | 81 | 23.23 | 83.86 | 4.655 | 0.336 | 0.034 | 12 |
45 | 76 | 34.94 | 81.10 | 6.999 | 0.808 | 0.081 | 13 |
70 | 65 | 84.31 | 69.05 | 16.874 | 0.618 | 0.062 | 18 |
G4 | 160 | 30 | 129 | 29.49 | 132.78 | 5.904 | 0.407 | 0.041 | 31 |
45 | 112 | 50.48 | 119.24 | 10.102 | 0.669 | 0.067 | 39 |
70 | 89 | 108.68 | 94.89 | 21.744 | 1.451 | 0.145 | 47 |
G5 | 161 | 30 | 76 | 136.71 | 83.90 | 27.305 | 2.185 | 0.219 | 33 |
45 | 60 | 218.55 | 69.79 | 43.721 | 4.240 | 0.424 | 36 |
70 | 50 | 387.42 | 52.88 | 77.500 | 5.803 | 0.580 | 35 |
G6 | 254 | 30 | 174 | 121.04 | 180.17 | 24.212 | 2.086 | 0.209 | 103 |
45 | 137 | 206.14 | 147.32 | 41.233 | 3.009 | 0.301 | 111 |
70 | 97 | 426.76 | 101.97 | 85.361 | 4.747 | 0.475 | 101 |
G7 | 401 | 30 | 305 | 170.56 | 312.62 | 34.114 | 1.687 | 0.169 | 300 |
45 | 260 | 266.62 | 270.62 | 53.328 | 2.489 | 0.249 | 315 |
70 | 209 | 501.12 | 213.89 | 100.227 | 4.689 | 0.469 | 363 |
G8 | 425 | 30 | 303 | 148.28 | 314.20 | 29.659 | 1.871 | 0.187 | 209 |
45 | 267 | 241.85 | 274.03 | 48.373 | 3.121 | 0.312 | 240 |
70 | 208 | 472.18 | 213.04 | 94.440 | 6.095 | 0.610 | 273 |
G9 | 709 | 30 | 452 | 410.16 | 464.50 | 82.034 | 4.589 | 0.459 | 684 |
45 | 379 | 663.31 | 395.09 | 132.663 | 4.627 | 0.4631 | 834 |
70 | 312 | 1108.79 | 318.49 | 221.761 | 9.519 | 0.952 | 828 |
G10* | 1297 | 30 | 530 | 2152.49 | 536.33 | 430.500 | 15.501 | 4.002 | 19,184 |
45 | 428 | 3249.19 | 437.40 | 649.840 | 22.675 | 5.855 | 11,110 |
70 | 318 | 5774.74 | 327.73 | 1154.950 | 57.564 | 14.863 | 6859 |
Table 4.
Results for the GBEB problem, averaged over 20 independent runs, , , , , , , , and (*G7 and *G9 were used in 5 trials, and G10** was used in 1 trial).
Graph | Edges | | Bundles | Avg. Compa- | Avg. | Avg. | Std. Dev. | Std. Error | Avg. |
---|
of Best Solution | Tibility | Bundles | Fitness | Fitness | Fitness | Time (s) |
---|
G1 | 28 | 30 | 12 | 189.54 | 12.65 | 75.863 | 5.595 | 1.251 | 30 |
45 | 14 | 45.28 | 15.20 | 18.153 | 0.774 | 0.173 | 22 |
70 | 16 | 36.96 | 16.05 | 14.821 | 0.564 | 0.126 | 22 |
G2 | 78 | 30 | 27 | 445.86 | 28.85 | 178.367 | 20.645 | 4.616 | 128 |
45 | 38 | 94.77 | 39.35 | 37.923 | 3.245 | 0.725 | 312 |
70 | 40 | 73.44 | 42.35 | 29.390 | 3.319 | 0.742 | 153 |
G3 | 101 | 30 | 48 | 402.42 | 49.45 | 160.981 | 13.570 | 3.034 | 198 |
45 | 63 | 80.59 | 68.05 | 32.243 | 4.185 | 0.936 | 194 |
70 | 67 | 56.12 | 72.95 | 22.456 | 4.026 | 0.900 | 185 |
G4 | 160 | 30 | 59 | 614.27 | 66.60 | 245.719 | 31.456 | 7.034 | 584 |
45 | 89 | 122.76 | 96.10 | 49.111 | 8.323 | 1.861 | 686 |
70 | 101 | 83.82 | 107.45 | 33.535 | 5.270 | 1.178 | 645 |
G5 | 161 | 30 | 46 | 1641.42 | 50.75 | 656.579 | 70.408 | 15.744 | 526 |
45 | 62 | 378.49 | 67.65 | 151.405 | 17.442 | 3.900 | 511 |
70 | 70 | 276.21 | 73.65 | 110.494 | 11.425 | 2.555 | 509 |
G6 | 254 | 30 | 88 | 1482.56 | 92.75 | 593.030 | 83.764 | 18.730 | 1670 |
45 | 126 | 314.21 | 129.10 | 125.687 | 15.674 | 3.505 | 1899 |
70 | 140 | 222.38 | 145.55 | 88.956 | 13.924 | 1.501 | 2154 |
G7* | 401 | 30 | 160 | 2303.84 | 164.40 | 921.541 | 24.908 | 8.303 | 3351 |
45 | 242 | 413.07 | 250.00 | 165.232 | 12.064 | 4.021 | 4374 |
70 | 267 | 258.51 | 294.00 | 103.401 | 27.584 | 9.195 | 3955 |
G8 | 425 | 30 | 133 | 2527.92 | 137.15 | 1011.172 | 75.617 | 16.910 | 3032 |
45 | 199 | 502.24 | 208.95 | 200.900 | 9.550 | 2.135 | 3991 |
70 | 216 | 379.37 | 230.20 | 151.750 | 7.549 | 1.689 | 4215 |
G9* | 709 | 30 | 294 | 2919.86 | 297.00 | 1167.947 | 52.315 | 23.396 | 6381 |
45 | 429 | 594.10 | 435.20 | 237.641 | 9.467 | 4.234 | 7565 |
70 | 461 | 446.09 | 473.40 | 178.438 | 10.286 | 4.600 | 8501 |
G10** | 1297 | 30 | 404 | 12,801.08 | 404.00 | 5129.434 | - | - | 9489 |
45 | 619 | 2359.84 | 619.00 | 943.937 | - | - | 12,503 |
70 | 723 | 1481.55 | 723.00 | 592.623 | - | - | 13,558 |
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).