An Evolutionary Algorithm for an Optimization Model of Edge Bundling

: This paper presents two edge bundling optimization problems that address minimizing the total number of bundles, in conjunction with other aspects, as the main goal. A novel evolutionary edge bundling algorithm for these problems is described. The algorithm was successfully tested by solving two related problems applied to real-world instances in reasonable computational time. The development and analysis of optimization models have received little attention in the area of edge bundling. However, the reported experimental results demonstrate the effectiveness and the applicability of the proposed evolutionary algorithm to help resolve edge bundling problems formally deﬁned as optimization models.


INTRODUCTION
A graph is a mathematical structure for representing inherent relationships between 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.
Traditional edge bundling approaches are not problem-specific methods but instead, are application-oriented.They are not dedicated to solve 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.
The consequence is that those 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.
Conversely, in a previous paper (Ferreira et al., 2017), edge bundling was formally defined and investigated as an optimization problem for the first time.Specifically, it was formulated as a constrained combinatorial optimization problem in which the total number of bundles is to be minimized and only edges with a common node 1 can be bundled together. 1Edges with a common node are termed "adjacent" and The problem of bundling only adjacent edges appears to provide a better sense of proximity between edges and nodes and has been shown to be NP-hard.A more advanced problem was also defined by imposing a maximum angle (α) constraint between any pair of adjacent edges to be bundled.Therefore, the problem became minimizing the number of edge bundles while respecting the α-angle constraint.It is termed the Angle-Based Edge Bundling Problem (ABEB).Ferreira et al. (2017) highlights how complex and relevant edge bundling optimization is.
In the present paper, we continue the investigation into the formal modeling of edge bundling and propose a third problem.The new problem is denoted as the Compatibility-Based Edge Bundling Problem (CBEB) and it involves minimizing the total number of bundles while maximizing a multi-objective function that incorporates well-known edge compatibility measures.We also propose an approximate evolutionary algorithm, called here Evolutionary Edge Bundling (EEB), for ABEB and CBEB.As far as we know, EEB is the first heuristic method ever proposed for these problems 2 .
Experiments with the evolutionary algorithm show that it produces close-to-optimal solutions for some of the nontrivial ABEB instances tested.The results reinforce the importance of optimization approaches for edge bundling, not only as a way of visualizing a graph with less visual clutter, but also as a those without are termed "nonadjacent'.
way 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 (Ferreira et al., 2017).Some compatibility and aesthetic criteria used as constraints and as part of the objective function of our problems are then discussed in Section 4. Section 5 provides the formal definitions of ABEB and CBEB.Section 6 introduces the evolutionary edge bundling algorithm aimed at solving these two problems and Section 7 describes the experimental results.Section 8 discusses a method (EEB) for rendering the edge bundling solutions as a final step of 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.

RELATED WORK
The scientific literature on edge bundling is extensive and reports many edge bundling techniques.For instance, the approach developed by Holten (2006), called hierarchical edge bundling, uses hierarchy tree branches for edge routing; in (Cui et al., 2008), a method called geometric edge bundling forms bundles by routing edges along a mesh generated by a triangulation algorithm; the force-directed edge bundling technique (Holten and van Wijk, 2009;Selassie et al., 2011) splits the edges into segments that attract each other as a basis for bundling edges; the skeleton-based edge bundling method (Ersoy et al., 2011) generates a skeleton from the medial axes of groups of similar edges, and then attracts edges to this skeleton; and the kernel density estimation edge bundling method (Hurter et al., 2012) computes a density map and moves the edges in the gradient direction of where the bundles will be formed.
Those and many other edge bundling techniques attempt to aggregate edges with similar properties into bundles, addressing mainly the question of specifying how these edges should be routed along the same path.The techniques produce solutions in which the coarse structure of the graph is revealed but fail to show connection patterns at the node level.Peng et al. (2012) affirm that sometimes, it is more important to show the connection trends of a node rather than the overall network structure.For example, in graph drawings representing a route net-work, the actual relationships between interconnected components are usually more relevant than the coarse structure of the graph.This happens because many traditional edge bundling methods generate bundles that have common interior segments and multiple source and destination nodes, i.e., they "knot" the edges in the middle of the bundle.
Consequently, Peng et al. (2012) proposed an algorithm called node-based edge bundling that bundles and "knots" edges nearer to the common node of adjacent edges.Nocaj and Brandes (2013) refined the technique of (Peng et al., 2012) and proposed a method called stub bundling that joins only edges that share the same endpoint with the aim of visualizing unambiguous graphs and retrieving the exact source and target of each edge.Their method uses the angle between consecutive edges as the criterion for choosing which edges to be joined together.
Even though the methods of Peng et al. and Nocaj and Brandes efficiently produce bundles with only adjacent edges, neither of them has the aim of explicitly minimizing the number of bundles.In order to achieve this goal, the formulation of an optimization problem is required, defining decision variables, constraints and objectives.In order to address the aforementioned need, the present paper investigates the problem of finding the "best" configuration of bundles (involving only adjacent edges) that maximizes a given objective function.

EDGE BUNDLING AS AN OPTIMIZATION PROBLEM
There is a present 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 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 (2015) and Lhuillier et al. (2017) have discussed those complementary aspects when presenting 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 decision of how to segment the edges.Lhuillier et al. (2017) define a bundle as a set of paths that share similarities and edge bundling as the method that creates bundles and trails.McKnight (2015) affirms that many existing edge bundling approaches do not generate bundles directly.In fact, for most edge bundling algorithms, the output is just a graph drawing and the search for a good layout is a heuristic based on an informal or implicit definition of the desirable optimization goals.
Consequently, we take a different direction by formally defining edge bundling as an optimization problem.We also aim at a solution that has a bundle configuration as an output.For the structure of the solution, we follow the definition given by McKnight that focus on computing bundles directly, but we consider a bundle as a set of edges (not a set of edge segments as McKnight does).
Thus, in (Ferreira et al., 2017), 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 as follows: Definition 1.Let G = (V, E) be a graph and D a given unbundled node-link drawing of G in the plane.Consider S = (E 1 , E 2 , ..., E n ) a partition of E (not necessarily disjoint), n ∈ N + .Further, let R be a function that takes G, D and S, and renders a bundled graph drawing version of D called D R , given some extra necessary information, such as rules for routing the edges.The general edge bundling problem is hence to determine the partition S (here called bundles), with E = ∪ n i=1 E i , so that, a set F of objective functions, representing aesthetic edge bundling measurements of D R , are optimized (minimized or maximized), 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 problem3 as a question to be addressed by the optimization problem.This can be done in two ways: (1) by solving 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 that 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 to 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 amount 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).

COMPATIBILITY AND AESTHETICS
The terms "compatibility" and "aesthetics" suggest preferable features that a layout should possess, in order to help to reduce visual clutter.These features are important aspects of the EEB framework, since they determine the constraints and objectives of the problems being investigated.In the next two subsections, some measures used in the evolutionary algorithm for obtaining such features are detailed, and some aesthetics for edge bundling are discussed.

Compatibility Measures
Generally, edge bundling techniques decide which edges will be bundled together (Holten and van Wijk, 2009;Nguyen et al., 2011).The proposed evolutionary formulation focuses on two measures introduced by Holten and van Wijk (2009)4 : Angle compatibility, C a ∈ [0, 1], that avoids joining perpendicular edges; and Scale compatibility, C s ∈ [0, 1], which prevents joining edges that differ in length.The total compatibility, C ∈ [0, 1], between two edges is C = C a ×C s .

Aesthetics for Edge Bundling
A graph drawing method usually tries to produce drawings that are considered visually pleasing, according to specific aesthetic criteria, for example, minimizing the number of edge crossings or maximizing the number of symmetries, etc (Battista et al., 1998).However, most of the known heuristics for edge bundling are not necessarily involved with the exploration and evaluation of the quality of a drawing with respect to such aesthetics.
There are few reported attempts to incorporate and optimize aesthetic criteria in edge bundling layouts.Recently, Angelini et al. (2016) restricted edge bundling to the end segments of edges and allowed at most one crossing per bundle.Alam et al. (2016) proposed a formulation focused on minimizing the number of bundled crossings for circular graphs but no proof of its NP-completeness, nor an approximation algorithm were presented.Saga (2016) proposed two measures to quantitatively evaluate edge bundling: edge lengths and area occupation.The effectiveness of those measurements was not discussed.
We believe that, besides reducing the clutter,an edge bundling technique could potentially improve the readability of a graph drawing if it was constructed to optimize one or more aesthetic criteria related to the bundling structure.As a result, edge bundling could possibly be formalized as a multiobjective optimization problem, where the layout is generated according to a given set of aesthetics.We propose and attempt to implement strategies for some of the following edge bundling aesthetic criteria: (i) minimizing the total number of bundles; (ii) maximizing the compatibility of bundled edges; (iii) maximizing the number of edges per bundle; (iv) minimizing the ambiguity of the edges; (v) maximizing the axial symmetry of the bundles; (vi) minimizing the total number of crossings between edges and/or bundles.

EDGE BUNDLING PROBLEMS
In this paper, two edge bundling problems are investigated that tightly combine Definition 1 with some aesthetics and compatibility measures.
Problem 1 (Angle-Based Edge Bundling Problem (ABEB)).Given a drawing D of a graph G = (V, E), a function γ e j e k that returns the smaller angle5 between any pair of adjacent edges e j and e k from E in the drawing, and an angle α, 0 ≤ α ≤ 180 • , the ABEB problem6 is to determine a partition of E into disjoint subsets E 1 , E 2 , . . ., E n , E = ∪ n i=1 E i , that minimizes n, subject to each E i inducing a star subgraph G i (i.e, all edges in E i share a same node), and γ e i j e ik ≤ α for every two edges e i j , e ik ∈ E i .
ABEB is the original problem proposed in (Ferreira et al., 2017).Note that a set E i represents a bundle containing only adjacent edges, and that each edge of the graph appears in exactly one bundle.
For a given input graph drawing, there may be many solutions with the same number of bundles and satisfying the angle constraints, but with a different composition of the sets E 1 , E 2 , . . ., E n .In order to distinguish between these solutions, the additional objective of maximizing the compatibility value between edges is added to the original ABEB.The aim is to produce solutions in which the edges in E i are as compatible as possible.The precise definition of this new problem is given below.
Problem 2 (Compatibility-Based Edge Bundling Problem (CBEB)).Let D be a drawing of a graph G = (V, E).For D, let C(a, b) be the compatibility measure between each pair of edges a, b ∈ E (as previously defined in Section 4.1), and C E i = ∑ p,q∈E i C(p, q) the total compatibility of a bundle E i , defined as the sum of C for all pairs of edges in the bundle.The CBEB problem is to determine a partition of 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 0 ≤ w i ≤ 1, i = 1, 2. 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 G .

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.A technique that has frequently been able to address this challenge successfully in many situations is so-called evolutionary computation, a generic population-based approximate metaheuristic optimization algorithm from artificial intelligence.An evolutionary algorithm (Bäck, 1996) (EA) is a subset of evolutionary computation, An EA uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection.
Following that line, we present a novel EA for the edge bundling problems ABEB and CBEB.The algorithm adopts the standard evolutionary cycle involving population initialization, evaluation, selection, recombination and mutation steps.The next subsections describe the solution representation and details of the steps of the algorithm.

Representation Scheme
Given a graph G = (V, E), the representation of an edge bundling solution (also called here an individual of a population) for ABEB (or CBEB) is simply The cardinality of individuals is variable, but cannot exceed a given maximum cardinality, n ≤ |E|.Constraint satisfaction is an integral part of the concept of a genetic operator.Therefore, we assume that the sets E i are disjoint and that E = ∪ n i=1 E i as specified by ABEB (CBEB).Figure 1 illustrates the representation of a simple bundled graph with four bundles E 1 , E 2 , E 3 and E 4 .The bundle E 1 , for example, is composed of the edges 1, 2 and 3.The routing of the edges and other visual aspects of the bundling are not included in our current solution representation.These elements are treated automatically by a rendering function at the last stage of the edge bundling process.

Fitness Function
The quality of each individual is evaluated according to a fitness function.This function is simply a maximization version of the objective function required to be optimized in either ABEB or CBEB (see Section 5).For the CBEB case, an adaptation was done via the f function, in order to further penalize solutions with bundles having very low compatibility values.For this, the thresholds T a and T s were defined, representing lowest acceptable values for C a and C s respectively.Then, for the pair of edges p, q ∈ E i that induces the smallest compatibility C(p, q) among all other pairs in E i , if C a (p, q) < T a or C s (p, q) < T s then C E i is set to -1.

Initialization
In order to explore the search space at points that are distributed as evenly as possible, two methods for generating the initial population were devised.
The first method is a heuristic method based on solutions for the minimum vertex cover problem (Skiena, 1990), while the second algorithm selects the initial population randomly using pseudo-random numbers.
Each method generates half of the initial population.
In the first strategy, a minimal vertex cover set A of V is generated by a heuristic process.Then, each node v ∈ A is considered as the center of an induced star subgraph in G. Finally, edge bundling sets are created, each one taking edges from a randomly chosen star subgraph.The edges that comprise a bundle are also chosen at random, but only compatible edges, (relative to a given threshold) can be joined together.For the ABEB and CBEB problems, the threshold represents the maximum value of the desired constraints (maximum angle and/or minimum compatibility measures).This approach was found to be effective, usually generating individuals near the optimal solution (related to the number of bundles) for populations of large size.However, preliminary experiments also showed that a population created using only this method can lead to premature convergence.
In order to address the problem of premature convergence, the other strategy initializes the second half of the population randomly.It creates individuals by randomly choosing adjacent edges to create bundles, while still ensuring feasibility and threshold satisfaction.As a consequence, this method can produce uninteresting individuals but it facilitates an increase in population diversity.
After an individual is generated, both strategies enable bundles to be shuffled in their positions.This improves the efficiency of the crossover operator, creating more interesting random individuals and also preventing premature convergence.
If any individual is found duplicated, a removal function is used to replace or discard it.We use the approach of Saroj (2012) in which any duplicated individual is replaced probabilistically with a mutated version of the best individual presented in the population.After applying a test, if the individual is still duplicated, then it is discarded.A checksum (based on the number of bundles, on the edges present in each bundle, and on the fitness) is used to quickly check the solution.The checksum is invariant with regard to the position of the bundles in the representation.

Selection
The strategy used for randomly selecting individuals for recombination is tournament selection with replacement.In addition, after recombining two individuals and mutating their two offspring, the steady state is applied, where the offspring produced compete for survival against the members of the current population.This is done by inserting the newborn offspring in the current population and removing the worst two individuals.After repeating this process t times, where t is the number of individuals in the population, the best individual of the last generation is propagated to the new one, if it has a higher fitness.If this happens, the best individual randomly replaces a solution in the resultant population.

Crossover Operator
The one-point and two-point classic methods are applied (they are chosen randomly each time) to produce the recombination of the parental sets of bundles.This is accomplished by swapping the list of bundles of two parents in order to create a new random set I, representing two new individuals.First, the crossover points are selected.In the one-point crossover, the selected point is at the middle part of the smallest parent (the smallest n value divided by two).The right-hand side of the parents are then swapped (see Figure 2).In the two-point crossover, the points are also defined by the size of the smallest individual, dividing it in three equall-sized parts.The middle parts are then swapped.
During the crossover process, infeasible offspring (that violate the disjoint-set constraint or do not cover all edges) may be produced and need to be repaired.Thus, the latest occurrence of duplicated edges are removed and missing edges are inserted in new solitary bundles in the final solution representation.This is illustrated in Figure 2, where edge 2 was removed from bundle E 4 in Offspring-1, and the same edge was inserted in a new bundle in Offspring-2.

Mutation Operators
The mutation operators specified for EEB are: • Join mutation randomly selects two solitary bundles and merges them if their edges are adjacent.
• Merge mutation is similar to Join mutation.The difference is that it works with bundles of any size and only the first bundle is chosen at random.The other merged bundle is the first compatible one found by a sequential search in the representation of the individual.• Split mutation replaces a randomly chosen bundle by dividing it into two subbundles.
• Move mutation randomly selects a bundle and moves one of its edges to another the first compatible bundle found.
• Remove mutation randomly removes an edge from a bundle of size greater than one and creates a new solitary bundle with that edge.
The mutation operation to be used is chosen at random each time.There is also a constant probability of applying it.
We executed two sets of experiments, one for each of the ABEB and CBEB problems discussed in Section 5.The initial layout of the graphs with fixed nodes was predefined in an input file.The experiments consisted of running the evolutionary algo- rithm for 100 independent trials for each graph and angle parameter.For the ABEB, the angle parameter was progressively fixed as α = 30 • , 45 • , 70 • .For the CBEB, the angle parameters were considered, but they were employed for calculating T a thresholds using the formula T a = 1 − α/180.Furthermore, for the CBEB, the weights of the components of the objective function were chosen empirically as w 1 = 0.2 and w 2 = 0.8 (see Section 5).Other parameters defined for both sets of experiments were: the population size (u = 150), the crossover rate (p c = 0.98), and the mutation rate (p m = 0.4).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 were executed on a MacBook Pro with an Intel Core i7 processor of 2.9 GHz and 8GB of 1600MHz-DDR3 RAM.

Results for the ABEB Problem
The first experiment aimed to produce solutions with the minimum number of bundles, and all edge angles in a bundle never higher than a given α.Table 1 summarizes the results for the various graphs.The first three columns consist of general information.The fourth column shows the number of bundles of the best solution in 100 trials.The amount of trials in which a solution with that quality appeared is presented in parenthesis.The fifth and the sixth columns present the average values of the number of bundles of the best solutions, and the average of their fitness, respectively, over the 100 trials.The seventh and the eight columns are the standard deviation and the standard error of the fitness values.The last column shows the average of the total runtime.
Analyzing the table, one can see that the average of the number of bundles in the best solutions was nearby the best one found over the independent trials.In addition, the standard deviations were low, indicating that a majority of the generated solutions are positioned close to the mean fitness.Figure 3 illustrates the best solutions obtained for the graph G5 with angle constraints α = 30 • and α = 70 • .A comparison between Figures 3(a) and (b) shows the effect on the bundling as the α angle increases, joining more edges.This is very noticeable for the edges connected to the highlighted nodes (drawn as circles in light yellow).
In general, when solving the ABEB, the EEB method produced good results in terms of the number Table 2: Results for the CBEB problem, averaged over 100 independent runs, u = 150, p c = 0.98, p m = 0.4, w 1 = 0.2, w 2 = 0.8 and T s = 0.890.  of bundles and the α angle constraint.On the other hand, some bundles may have edges that differ significantly in length.Therefore, as expected, the ABEB usually produces bundles with low scale compatibility between the edges.

Results for the CBEB Problem
The second experiment was conducted in order to improve the results by introducing the compatibility criteria (CBEB).gorithm associated with the size of the search space produced solutions significantly different from each other in terms of fitness.However, the standard error reflects a low sampling fluctuation.Note that similar results did not occur for the USAirline (G9) graph, first because the experiment was repeated only for 15 independent trials for this graph and also because the number of edges significantly increased the size of the search space.These results highlight how the number of edges can dramatically increase the set of candidate solutions for the CBEB problem. Figure 4(b) shows the best solution produced by EEB for the LesMiserables (G6) graph for the CBEB.Note that, although the number of bundles has increased, the solution for CBEB has bundles having more similar edges than the solution produced for ABEB (Figure 4(a)).The figures show that some bundles present in the ABEB solution split and some other were created in the CBEB solution.
Another additional feature of the CBEB is that, as a multi-objective problem, the solution with the lowest number of bundles is not always produced.This is because the final solution depends on the weights in the objective function and on the compatibility values of the current results.

Comparison of EEB and an Exact Approach for ABEB Problem
We now establish a qualitative point of view of the complexity of the edge bundling problems discussed in this paper and attempt to show that the EEB algorithm is a promising approach.To do this, we present (in terms of number of bundles and runtime execution) the best solution over 100 independent executions obtained by EEB for the graphs Synthetic and PlanarGD2015 for the ABEB problem.We then compare numerical results with those generated by an exact method based on an integer programming (IP) model for the ABEB problem, published in (Ferreira et al., 2017).The exact method is implemented using the Gurobi solver (Optimization, 2017) and a more powerful computer (a DELL M630 server with 128 GB of RAM and 2 processors with 10 cores each -40 visible cores of 3-3.6Ghz).The EEB method ran on the simpler computer previously described.More alpha angles were used this time.The results are reported in Table 3.The fourth and fifth columns present the number of bundles of the best solutions by EEB and the exact IP method, respectively.A line with a dash means that no solution was produced by the IP method even after several hours of runtime.
The values in table show that the IP method was effective in generating the optimal solutions only for small numerical instances and took an inordinate amount of time to solve some of the larger instances.For the graph G3 with 101 edges the IP method failed with a maximum angle of 110 • , implying that the exact method is not practical for medium-sized ABEB and CBEB problems as it requires excessive computation time.
Conversely, the EEB approach was usually successful in finding close-to-optimal solutions.In addition, the execution time of EEB is significantly lower than that of the IP method for the larger graphs, even when using a less powerful computer.

VISUALIZATION
Most existing edge bundling methods draw edges individually and route them closely.In contrast, the EEB approach only outputs sets of edges representing bundles.Those groups of edges form star subgraphs.After the evolutionary algorithm has terminated, the subgraphs of the best-found solution can then be submitted to a rendering module for producing an edge bundling drawing.
In order to allow an adequate visual interpretation of the EEB results, mainly the comprehension of the relation patterns between the nodes, two visualizations are proposed in the present work.The first one shows bundled edges as a colored cubic Bézier curve, going from red to green by default.The red color represents the source (the central node of the bundles), and the destination is colored green.In bundles with just one edge, that edge is drawn as a straight line and is colored light gray.The nodes themselves are colored as black and red.Red means nodes corresponding to a vertex cover set of the graph.
The rendering/routing method of the visualization is a specialized implementation of the forcebased edge bundling approach of Holten and van Wijk (2009) that receives the bundles as input and draws them individually.The force-based algorithm guarantees that the individual axial symmetry of each bundle looks plausible.However, overall graph symmetry is sampled poorly for some graphs because the algorithm does not compute the route of the bundles to maximize symmetry (see Figures 3 and 4).This visualization is identified as the "primary view".It allows the reader to identify connections between nodes and to trace individual edges.
Even though the previous visualization can reveal relation patterns at the node level, for graphs with a high level of clutter, edge crossings can still impede their legibility.To reduce the visual edge crossings and highlight the relation patterns, we followed the strategy of Peng et al. (2012); Bruckdorfer et al. (2012) that uses the idea of partial edge drawings.Thus, the drawing of a curve is divided into three parts, and the middle part is drawn using a partial transparency.Figure 5(d) illustrates this visualization.In addition, the parts of an edge incident to its endpoints can still be colored using different colors.All of these aspects, like colors, transparency level and highlight options can be chosen by the user.Such a smooth visualization allows tracking of the individual edges and is similar to the layout used by the Side-Knot approach (Peng et al., 2012) (see Figure 5(c)).

DISCUSSION
As was mentioned earlier, there is a difference between most classical edge bundling methods and the approach proposed here.The earlier methods attempt to create drawings with reduced clutter.Some of these methods have focused on minimizing various aspects of the drawing that can be mathematically formalized, for example, reducing ink or edge crossing.However, they do not search for an optimal solution, but instead, merely employ heuristic methods to produce solutions (Pupyrev et al., 2011).On the other hand, our approach involves an optimization algorithm with the purpose of finding high-quality solutions for a formal and precise problem definition.Thus, comparing the EEB approach with previous methods in an informative manner is not straightforward, since the other approaches are not based on an explicit and well-defined edge-bundling optimization problem.
As can be observed in Figure 5 (a), methods based on force (such as divided edge bundling) produce significantly different layouts from the ones created by EEB, since they have no focus on showing connection trends of a node.Therefore, it is hard to establish which nodes are connected to each other.Nevertheless, stub bundling (Nocaj and Brandes, 2013) and sideknot (Peng et al., 2012) approaches (Figures 5 (b) and (c)) are more similar to EEB.They join only adjacent edges with the aim of indicating directions at the endpoints of the edges, highlight node-level connections and trace individual edges.Those methods, however, are not designed for an optimization-based problem as there is no formal mathematical definition of the problem being investigated.
In addition, if we attempt to formally define the implicit problem studied by those techniques, then differences with the proposed approach are found.For example, the stub bundling approach tries to find a partition containing only adjacent edges respecting the following constraints: "the angle between any two half-edges in a bundle must be at most α, and the angle between two consecutive edges in a bundle has to be at most γ" (Nocaj and Brandes, 2013).This is similar to the ABEB problem except that the edges are half-edges, i.e., they can be shared by two bundles, and there is no clear attempt to minimize the number of edge bundles.
A quantitative comparison of the efficacy of earlier methods in terms of the number of bundles is not possible, since the traditional approaches usually do not provide that information.A visual comparison of  and 77 single-bundled edges (318 bundles in total).It is clear that the our group of bundles is markedly different from the solutions generated by the Stub Bundling and the SideKnot methods, since in our approach, they are formed respecting model constraints.
Overall, the experimental results suggest that the main disadvantage of the EEB framework is its long running time for large graphs.As with most populationbased search algorithms, the running time for EEB is influenced by the population size, the number of generations, the size of the graph and other parameters.The evolutionary parameters were adjusted to attempt to find a near-optimal solution, which greatly increased the running time.
Finally, the evolutionary edge bundling algorithm attempted to satisfy, implicitly or explicitly, the aesthetics proposed in Section 4. For instance, the minimization criteria of the total number of bundles, the maximization of compatibility between edges, and the maximization of the number of edges per bundle are addressed by the objective function of CBEB (and partially by ABEB) in EEB.Furthermore, bundling only adjacent edges tends to minimize the ambiguity of tracing edges.Symmetry was given by the use of a force-directed edge bundling algorithm for rendering the results of EEB.The minimization of the total number of crossings between edges and bundles was addressed by using partial edge drawings.

CONCLUSIONS
This paper describes a new approach for edge bundling by an approximate evolutionary algorithm (EBB) in order to optimize edges to be grouped into edge bundles.We examined angle-based edge bundling which reduces angles between adjacent edges, and compatibility-based edge bundling that group edges with compatible directions and lengths.A previously defined combinatorial optimization problem (ABEB) and a new problem (CBEB) are discussed and solved using the evolutionary method.As far as we know, this is the first evolutionary algorithm for edge bundling modeled as a combinatorial optimization problem.The method was implemented and tested on a number of graphs, showing to be efficient at finding a near-optimal solution when the goal is to create bundled graphs with the minimum number of bundles by joining only adjacent edges.This work examined just two particular edge bundling optimization problems.Many other problems remain open.Future research could focus on the expansion of the approach to extend the fitness function for multiobjective search, in order to deal with new aesthetics criteria.Investigating a complete rendering function that allows a more intrinsic way to route edges and bundles, in order to produce smoother and more readable drawings, may also be fruitful.Finally, conducting some user-controlled studies may possibly establish if the EEB and new optimization-based edgebundling problems are visually appealing or effective to help users to understand overall patterns.
Table 2 summarizes the experimental results for this problem.It follows the same structure as Table 1 and includes one column representing the average compatibility measure of the best solutions in 100 trials.The stochastic nature of the al-An Evolutionary Algorithm for an Optimization of Edge Bundling

Table 3 :
Comparison of number of bundles generated by EEB with an exact method (IP) for ABEB problem.