1 Introduction
The demand for research support software has been growing in the last years in both academic and industrial applications. As an increasing number of realworld problems are concerned with analysis of networked data, exploration of complex networks has become one of the crucial areas of focus, including social networks [10, 41], biological networks [44] or utility distribution networks [29, 30]. This exploration is usually concerned with both numerical and visual analysis of networked data.
From the other perspective, combinatorial optimisation problems and algorithms to solve these problems have been subject of empirical research for a long time. Nowadays, this holds mainly for the variety of wellknown NPhard combinatorial graphtheoretical optimisation problems [34]. Over the last decade, there have been a vast number of papers on algorithms for solving these problems, ranging from graph colouring [13, 23], through minimum dominating set [19], to crossing minimisation problems in graph drawing [12, 26, 42]. The workflow of experimental research on combinatorial optimisation usually follows a pattern: an experimental algorithm is proposed, independently implemented and tested on a standardised benchmark [33]. In some studies, a set of problem instances generated in controlled conditions. The common benchmark usually represents the unifying element.
Even though a number of software tools have been proposed to explore networked data [5, 20, 24, 25, 28], this has had little impact on empirical research in combinatorial optimisation so far. In this paper, we present a prototype of a software tool that aims at bridging this gap, providing a unifying platform for exploration of combinatorial properties of largescale synthetic and realworld complex networks.
Contributions.
The tool is called Graph Combinatorial Explorer (abbr. GraphCombEx). It has been designed and implemented in small steps over the course of several years, to support several studies on combinatorial properties of complex networks. The aim is to provide a unifying platform for efficient exploration of these networks using appropriate scalable algorithms. The core functionality therefore includes a number of constructive heuristics that can be used to quickly find good suboptimal solutions and lower bounds for potentially very large networks. With the NPhardness of many graphtheoretical problems in mind, the design of GraphCombEx fully acknowledges that scaling and generalisation to previously unseen networks are crucial. However, there are also a few iterative improvement heuristics and the prototype is potentially extensible with more of such algorithms.
GraphCombEx currently supports exploration of undirected graphs with up to million vertices, which can easily be extended to larger graphs. Graphs are handled in a format similar to the DIMACS format for graph colouring [33]. A support tool for conversion from the GML format used in network science is also provided. Several graph generators are used in GraphCombEx, including complete trees, unit disk graphs or scalefree and smallworld networks. The tool currently supports suboptimal solution construction and lower bounds for maximum clique and graph colouring, maximum independent set and vertex clique covering, minimum dominating set and the longest simple cycle. A number of graph metrics and visualisation techniques are also supported. Crucially, GraphCombEx is intended as an extensible tool, rather than a oneoff project. The aim is to potentially support further problems, algorithms, and metrics in the future. The use of GraphCombEx in several research studies, which have been previously published, is summarised in the use case section of this paper.
The rest of the paper is structured as follows. In Section 2, we review the background and related work from relevant perspectives. In Section 3, we present the overall design elements of GraphCombEx. In Section 4, the summary of evaluation of GraphCombEx in several previous projects is presented, along with a discussion. Last but not least, Section 5 summarises this work and hints the future research directions.
2 Background and Related Work
At the start of this section, it is first worth noting the reasons for designing a new software platform for these types of problems. In fact, GraphCombEx draws inspiration from a number of research projects described below. However, combinatorial optimisation problems in complex networks tend to have several very specific properties that need to be addressed in software design. These can range from special data structures to complex parameterisations. Each problem and each algorithm tend to be quite specific.
If exploring a previously unseen network, not only that the optimum for many combinatorial properties is not known, it is often not known how hard it will be to find. It is possible that a simple heuristic will be able to find a proven optimum. However, it is also possible that a highly advanced algorithm is required. In that case, such a requirement should first be confirmed by the use of a simpler heuristic. In addition, the network to study may potentially be huge. For small but structurally intricate networks, one can use highperformance algorithms to discover previously unknown problem solutions. For large networks, it may be nontrivial to discover any reasonable solution. This has an impact on the graph representation, selection of the right heuristics that scale well in terms of computational time, as well as the choice of the right data structures. These observations have a significant impact on the overall design of a tool that should be useful for practice. Such specific demands are perhaps also the reason why combinatorial optimisation problems in complex networks are rarely explored by outofthebox solutions.
Several software packages for complex network exploration and visualisation have been proposed and developed over the last years. We will now provide a brief overview of some of these solutions.
The igraph library is one of the most popular opensource software packages for network exploration [20]. It is available in several variants, including interfaces for C, Python and R. The package provides a generalpurpose platform for handling of both undirected and directed graphs. Solving routines for several classical graphtheoretical and graph mining problems are supported, e.g. maximum flow, minimum spanning tree or cluster detection.
Another generalpurpose solution is the SNAP network analysis and graph mining library [37]. This software package is intended as a highperformance largescale complex network exploration tool, with support for handling potentially huge graphs. This platform is focused primarily on very largescale network analytics, using a variety of metrics and simulations on the networks.
Graph drawing and visualisation is another significant aspect of complex network exploration software [45, 47]. One of the most successful opensource software platforms focused mainly on graph visualisation is Gephi [5]. The features supported by Gephi include network exploration, interactive manipulation, 3D rendering, as well as of image exporting.
Another popular software package for graph visualisation is GraphViz [25]. This package is designed as a collection of customisable graph drawing tools, including batch layout and graph editors.
GraViz prototype [28] is aimed at interactive visualization and exploration of graphs. This tool is particularly wellsuited for geographical data. It has been used to explore water distribution networks [30] or power networks [29], for which it is easy to characterize their vertices by coordinates.
Another specific property of NPhard combinatorial optimisation problems in networks is that these are often formulated as integer linear programs. Outofthebox mixed integer linear programming (MILP) software tools are increasingly used in solving these problems in practical applications
[9, 38]. However, opensource MILP software and network exploration software still seem to be perceived in relative isolation, which is another interesting area of challenge.3 GraphCombEx: Graph Combinatorial Explorer and its Design
The general idea behind GraphCombEx is quite simple and emerged from a number of similar problem solving projects. Usually, if several combinatorial optimisation problems and algorithms are explored, a suite of isolated adhoc tools are developed, especially if new algorithms are designed. In this research, a single unified solution for several problems and algorithms was attempted as an alternative.
In principle, GraphCombEx is designed as a platform for analysis and experimentation with static large sparse graphs. Specific focus is put on largescale complex networks, as these have been gaining increasing attention in the last years. With particular interest, GraphCombEx addresses NPhard combinatorial optimisation problems. Its design therefore reflects the need to incorporates several efficient and well scalable heuristics to compute lower and upper bounds and highquality suboptimal solutions to these problems for potentially very large complex networks.
GraphCombEx currently supports undirected graphs with up to million vertices. This bound was only chosen for better predictability in memory management, computational complexity and testability, even though this bound can in theory be extended by changing a single constant in the source code. The graphs are loaded and saved into an extension of the COL format known in DIMACS graph colouring benchmarks [33]. This format has been chosen to achieve simplicity. An example of a simple social network in this format is given in Listing 1. The treebased visualisation and the adjacency matrix visualisation, generated by GraphCombEx for this particular network, are given in Figure 1.
It is worth noting that a simple tool is also available with GraphCombEx, to allow conversion of the popular GML format, used in network science, to the extended COL format.
GraphCombEx supports generating multiple types of types of graphs. These currently include:

complete ary trees;

unit disk graphs;

regular grids with probabilistic rewiring;

smallworld networks generated by the WattsStrogatz model [49].
Several simple graph manipulation and preprocessing routines are also included:

generation of complementary graphs;

pruning of leaves (iterative, i.e. the resulting graph will contain only vertices with degree at least );

isolating the largest connected component;

generation of shortcut graphs used in solving reachability problems [18].
GraphCombEx computes a number of metrics for the graph explored. Those, which are currently supported, include:

the numbers of vertices, edges, connected components, density, minimum, maximum, average and standard deviation of degrees;

the number of triangles and the mean clustering coefficient of a vertex;

graph girth (length of the shortest cycle) and maximum diameter of an isolated connected component.
Some of these are computed upon loading or generating the graph, as long as the complexity of the corresponding algorithms is at most , where is the number of edges. The numbers of vertices, edges, minimum, maximum and average degree, standard deviation of the degree are computed directly when graph is loaded or generated. Upon request, the number of triangles, the mean clustering coefficient, and the diameter can be computed. The number of triangles is computed using scanning triplets of adjacent vertices and may potentially take a long time for very large graphs. The same holds also for the mean clustering coeffient of a vertex. The maximum diameter of a connected component is computed in time, where is the number of vertices.
Within GraphCombEx, the graph is represented as adjacency lists with sorted adjacencies, to allow for binary search to be used for efficient checking of adjacencies. An alternative extension would include a use of a hash table for direct adjacency checking. This would speed up some computationally intenstive routines but is not supported in the pilot version, as lower memory demands were preferred.
The main part of functionality of GraphCombEx consists of several heuristics and approximation algorithms, which can be used to compute bounds and suboptimal solutions to NPhard graphtheoretical problems. The currently supported problems include:

maximum clique and graph colouring / chromatic number problems (representing reciprocal lower and upper bounds);

maximum independent set and vertex clique covering problems (representing reciprocal lower and upper bounds);

minimum dominating set problem (both a suboptimum and simple lower bounds);

the longest cycle problem (both a suboptimum and simple upper bounds).
These problems have been chosen for their high relevance for practice, as well as for their relatively diverse representations and properties. Maximum clique, maximum independent set and minimum dominating set problems represent 01 constrained substructure detection problems. Graph colouring and vertex clique covering are representatives of vertex labelling problems. Last but not least, the longest cycle problem is a problem of identification of specific walks on network. Extensions to other 01 optimisation problems (e.g. vertex cover), walk problems (e.g. longest path) or labelling problems (e.g. various community detection problems) should therefore be possible in the chosen framework.
The core of GraphCombEx is represented by techniques for computing bounds and highquality suboptimal solutions to combinatorial problems in large sparse graphs. The heuristics currently supported include both fast constructive algorithms, as well as a few more computationally intensive iterative improvement algorithms. The constructive algorithms include the following heuristics and approximation algorithms:

For maximum clique, GraphCombEx uses a greedy heuristic with binary heap, which orders the vertices by degree from largest to smallest, similar to the greedy heuristic for maximum independent set [27].

Maximum independent set is estimated by the greedy approximation heuristic, which orders the vertices by degree from smallest to largest. In our implementation, we use a binary heap. This heuristic guarantees appproximation, where is the maximum degree of a vertex in the graph [27].

Minimum dominating set is approximated by a classical greedy algorithm, originally proposed for the set covering problem. This algorithm guarantees an appproximation for an arbitrary graph [19].

The longest cycle problem is solved by a heuristic based on depthfirst search or its improvement with local search [17].
The iterative improvement algorithms are used as longerrunning procedures that improve an initially generated solution. These are therefore executed in a separate thread and their intermediate results are updated within the user interface over the course of the computation:

For combined maximum independent set and minimum vertex clique covering, GraphCombEx employs the IG clique covering algorithm, combined with RLS for maximum independent set [15].
For graphs with bounded numbers of vertices and edges, the GraphCombEx prototype also supports several different forms of their visualization:

centralitybased (also sometimes referred to as radial);

gridbased;

treebased (simple hierachical visualisation);

circular.
Additionally, GraphCombEx supports visualisation of the currently longest cycle found, if the heuristic is used. The vertices of this cycle can also be rearranged as an “outer circle”, in a modification of the centralitybased visualisation. This is referred to as a cyclebased visualisation and was used in the study on the longest cycle problem [17].
In the centralitybased (radial) visualization, the vertex with maximum degree is put in the middle and other vertices are placed in levels, based on the distance to the centre, similarly to the GraViz prototype [28]. Radial drawings are quite popular in graph visualisation in general [2, 11]. In the gridbased visualization, the vertices are distributed simply in a regular grid. The third visualisation is the treebased visualisation, in which the vertex with maximum degree is placed at the top and the other vertices are arranged hierarchically, based on the distance to this vertex. This was chosen as a rather simple implementation of one of the hierachical drawings methods [8, 32]. The last drawing method supported is the circular drawing method [6].
Our prototype also visualizes a bitmap, which represents the adjacency matrix of the graph. Visualization of the shape of degree distribution is used without restrictions on the size of the graph. Export features for graph visualisation, as well as adjacency matrix visualisation and degree distribution in CSV format are provided.
GraphCombEx was implemented in C++ using the Qt framework and is available under the GNU General Public License v3. It can therefore be used on several operating systems, including Windows, as well as Unixlike systems. General information on GraphCombEx is freely available online^{1}^{1}1http://davidchalupa.github.io/research/software/graphcombex.html, along with the source code repository on GitHub^{2}^{2}2https://github.com/davidchalupa/GraphCombEx.
4 Use Cases for GraphCombEx and Discussion
Evaluating software tools and prototypes with a suitable level of rigour is a complex task, especially when the software is designed to explore complex systems such as the networks studied here. We first illustrate a typical scenario of the use of GraphCombEx. Next, we will summarise a number of studies, in which GraphCombEx has already been successfully used to support the research projects. We hope that GraphCombEx will further be extended by more algorithms, problems to explore and used in further projects. This followed by a discussion to provide further context, as well as the way forward in extensions and applications of this prototype.
Figure 2 shows the main graphical user interface, illustrating the main features for four complex networks. Networks explored in (a)(b) are a regular grid and a scalefree network that were generated, while (c)(d) represent largescale social networks from the SNAP network data repository [35]. These illustrate the functionality in an overview, including the metrics provided, as well as the problems and analytics supported.
If GraphCombEx is built into a 64bit binary, it can be used to explore relatively large graphs. Networks (c)(d) within Figure 2 are large snapshots of social networks Pokec [46] and LiveJournal [3, 36]. The latter consists of more than million vertices and a 64bit version of GraphCombEx is required to process a network of this size.
One could argue that potential applications of GraphCombEx are numerous, which stems from its relatively general design. The combinatorial properties supported and heuristics provided indeed represent a very general view and are specifically beneficial for initial exploration of previously unseen networked data. However, specialised computational problems related to those supported by GraphCombEx range from scheduling and routing problems in operations research, through data analytics for social media [10, 41], to interaction exploration in bioinformatics in support of drug discovery [21]. This opens a number of pathways for applications of the tool.
A typical use case for GraphCombEx.
We will illustrate the power of GraphCombEx using the simple small network presented in Listing 1. In principle, this use case can also be applied to larger networks, even though the tractability of more computationally intensive routines may depend on the size of the graph. After opening the graph file using File Open, one will see the centralitybased visualisation by default. By using File Visualization type, the graph visualization mode can be changed. By using the options within the Compute menu, one can compute the ondemand characteristics of the network. For the network from Listing 1, the values presented in Table 1 will be obtained. GraphCombEx finds the two triangles in the networks and computes the mean clustering coefficient. Maximum clique size is and the graph is colourable. Maximum independent set and clique covering of size are also computed. Dominating set of size is also found. From the drawings, one can see that this dominating set is . The longest cycle of size is also found. All these values are proven optima for the network. If only bounds were computed, GraphCombEx would present intervals for each optimal value. An illustration of the colouring and the longest cycle on vertices in different graph layouts supported by GraphCombEx is given in Figure 3.
metric / bound  value 

triangles  2 
mean clustering coefficient  0.277778 
girth  3 
diameter  3 
maximum clique  3 
chromatic number  3 
independent set  3 
clique covering  3 
dominating set  2 
longest cycle  5 
Support for exploration of very large sparse graphs.
GraphCombEx has been employed to support several previous studies on combinatorial optimisation in large sparse graphs. It has been partially used to support the previous research on detection of long cycles in realworld complex networks [17]. This included social network samples, as well as proteinprotein interactions. In addition, it supports generation of shortcut graphs used in solving the reachability problem, in which one aims to find the smallest set such that each vertex is in distance at most to at least one vertex of such a set [18]. The iterated greedy heuristic for vertex clique covering is also supported in GraphCombEx [14, 15]. A typical application area for these studies is analysis of largescale social networks.
Analysis of scientific collaboration networks.
Collaboration networks are of a high interest within the scientific community [40]. Combinatorial properties can offer further insights into the phenomena of scientific collaboration patterns and their understanding. In particular, the reachability problem has already been studied for several scientific collaboration networks, with partial support of GraphCombEx. It has been revealed that for most collaboration networks studied, there is a single vertex that is roughly in a distance between to to other vertices of the collaboration networks [18].
Exploration of proteinprotein interactions.
One application area of a high interest for GraphCombEx is the study of proteinprotein interaction networks. A general study of proteinprotein interactions and combinatorial optimisation has been conducted with the use of GraphCombEx [16]. Further studies can be conducted, especially given the rich data currently available, e.g. at the UCLA database of interacting proteins [43, 51, 50, 52]. This data on proteinprotein interactions has also been tested and used within the framework of GraphCombEx [17].
Modelling of randomised latticebased systems and utility distribution networks.
One of the interesting applications of GraphCombEx, that are still left to be largely explored, is investigation of latticebased network models. These potentially have structures similar to power networks [29] or water distribution networks [30]. Effects of edge rewiring, insertion or deletion on long cycles, flows and robustness of these networks can be explored using efficient mechanisms, expanding on the existing studies [18, 17]. Adding the spatial information for these networks is another interesting future direction.
This list is not necessarily exhaustive and highlights that the potential of GraphCombEx as a multiperspective complex network analysis and visualisation tool. GraphCombEx has been demonstrated as useful in analysis of social network samples of different scales or analysis and visualisation of proteinprotein interactions. Other applications can follow, including utility distribution networks, further exploration of biological networks such as gene expression data, or scheduling and transportation networks in operations research. In addition, there is further space for extending GraphCombEx with new combinatorial properties and new algorithms, including local search and evolutionary algorithms or swarm intelligence algorithms approaches.
Furthermore, these algorithms and applications can further be facilitated by integration with integer linear programming (ILP) problem solving tools. As the first example, GraphCombEx currently provides the functionality to export ILPbased representation of the minimum dominating set problem, along with its LP relaxation. MPS linear programming instance format is currently used for this export. MILP software can be used to solve these instances, e.g. the CBC branchandcut solver from the COINOR package [9, 38].
5 Conclusions
We presented a prototype of Graph Combinatorial Explorer (abbr. GraphCombEx), which is an opensource software platform aimed at unified exploration of combinatorial properties of large networks. GraphCombEx takes the specific properties of the numerous NPhard combinatorial optimisation problems in networks into account in its design. The tool currently supports graphs with up to million vertices, even though this bound is extensible and has been chosen for practical reasons such as memory management.
GraphCombEx employs several heuristic procedures to find highquality solutions to NPhard graph problems. These problems currently include maximum clique, chromatic number, maximum independent set, minimum vertex clique covering, minimum dominating set, as well as the longest simple cycle problem. However, the tool is designed with extensibility by further problems and algorithms in mind, including iterative improvement algorithms. The core functionality consists mainly of constructive heuristics enhanced by efficient data structures, that can be used to find good suboptimal solutions and bounds for very large graphs.
Complex networks with no explicit spatial properties are particularly addressed in the design of the prototype of this software tool. GraphCombEx has been successfully used as a support tool in a number of studies, including exploration of combinatorial properties of proteinprotein interactions [16], detection of long simple cycles [17], or the reachability problem in smallworld complex networks [18], including social networks or scientific collaboration networks.
References
 [1] R. Albert and A.L. Barabási. Statistical mechanics of complex networks. Reviews of Modern Physics, 74(1):47–97, 2002.
 [2] C. Bachmaier. A radial adaptation of the sugiyama framework for visualizing hierarchical information. IEEE Transactions on Visualization and Computer Graphics, 13(3):583–594, 2007.
 [3] Lars Backstrom, Dan Huttenlocher, Jon Kleinberg, and Xiangyang Lan. Group formation in large social networks: membership, growth, and evolution. In Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 44–54. ACM, 2006.
 [4] A. L. Barabási and R. Albert. Emergence of scaling in random networks. Science, 286(5439):509–512, 1999.
 [5] M. Bastian, S. Heymann, M. Jacomy, et al. Gephi: an open source software for exploring and manipulating networks. In Proceedings of the Third International Conference on Weblogs and Social Media, ICWSM, volume 8, pages 361–362, 2009.
 [6] M. Baur and U. Brandes. Crossing reduction in circular layouts. In International Workshop on GraphTheoretic Concepts in Computer Science, pages 332–343. Springer, 2004.
 [7] M. Y. Becker and I. Rojas. A graph layout algorithm for drawing metabolic pathways. Bioinformatics, 17(5):461–467, 2001.
 [8] C. Binucci, U. Brandes, G. Di Battista, W. Didimo, M. Gaertler, P. Palladino, M. Patrignani, A. Symvonis, and K. Zweig. Drawing trees in a streaming model. Information Processing Letters, 112(11):418–422, 2012.
 [9] P. Bonami, L. T. Biegler, A. R. Conn, G. Cornuéjols, I. E. Grossmann, J. Laird, C. D.and Lee, A. Lodi, F. Margot, N. Sawaya, et al. An algorithmic framework for convex mixed integer nonlinear programs. Discrete Optimization, 5(2):186–204, 2008.
 [10] U. Brandes, N. Indlekofer, and M. Mader. Visualization methods for longitudinal social networks and stochastic actororiented modeling. Social Networks, 34(3):291–308, 2012.
 [11] U. Brandes and C. Pich. More flexible radial layout. Journal of Graph Algorithms and Applications, 15(1):157–173, 2011.

[12]
J. Branke, F. Bucher, and H. Schmeck.
Using genetic algorithms for drawing undirected graphs.
In The Third Nordic Workshop on Genetic Algorithms and their Applications, pages 193–206, 1996.  [13] D. Brélaz. New methods to color vertices of a graph. Communications of the ACM, 22(4):251–256, 1979.
 [14] D. Chalupa. Partitioning networks into cliques: A randomized heuristic approach. Information Sciences and Technologies Bulletin of ACM Slovakia, 6(3):1–8, 2014.
 [15] D. Chalupa. Construction of nearoptimal vertex clique covering for realworld networks. Computing and Informatics, 34(6):1397–1417, 2015.

[16]
D. Chalupa.
On combinatorial optimisation in analysis of proteinprotein
interaction and protein folding networks.
In G. Squillero and P. Burelli, editors,
Proceedings of the 19th European Conference on Applications of Evolutionary Computation, EvoApplications ’16
, volume 9597 of Lecture Notes in Computer Science, pages 91–105. Springer International Publishing, 2016.  [17] David Chalupa, Phininder Balaghan, Ken A. Hawick, and Neil A. Gordon. Computational methods for finding long simple cycles in complex networks. KnowledgeBased Systems, 125:96 – 107, 2017.
 [18] David Chalupa and Christian Blum. Mining kreachable sets in realworld networks using domination in shortcut graphs. Journal of Computational Science, 22:1 – 14, 2017.
 [19] V. Chvátal. A greedy heuristic for the setcovering problem. Mathematics of operations research, 4(3):233–235, 1979.
 [20] Gabor Csardi and Tamas Nepusz. The igraph software package for complex network research. InterJournal, Complex Systems, 1695(5):1–9, 2006.
 [21] P. Csermely, T. Korcsmáros, H. J. M. Kiss, G. London, and R. Nussinov. Structure and dynamics of molecular networks: a novel paradigm of drug discovery: a comprehensive review. Pharmacology & Therapeutics, 138(3):333–408, 2013.
 [22] J. C. Culberson. Iterated greedy graph coloring and the difficulty landscape. Technical Report TR9207, University of Alberta, 1992.
 [23] J. C. Culberson and F. Luo. Exploring the kcolorable landscape with iterated greedy. In D. S. Johnson and M. Trick, editors, Cliques, Coloring and Satisfiability: Second DIMACS Implementation Challenge, pages 245–284, Providence, RI, 1995. American Mathematical Society.
 [24] W. Czech, W. Dzwinel, S. Goryczka, T. Arodz, and A. Z. Dudek. Exploring complex networks with graph investigator research application. Computing and Informatics, 30(2):381–410, 2011.
 [25] J. Ellson, E. Gansner, L. Koutsofios, S. C. North, and G. Woodhull. Graphviz  open source graph drawing tools. In Petra Mutzel, Michael Jünger, and Sebastian Leipert, editors, Graph Drawing, volume 2265 of Lecture Notes in Computer Science, pages 483–484. Springer Berlin Heidelberg, 2002.
 [26] M. R. Garey and D. S. Johnson. Crossing number is npcomplete. SIAM Journal on Algebraic Discrete Methods, 4(3):312–316, 1983.
 [27] M. M. Halldórsson and J. Radhakrishnan. Greed is good: Approximating independent sets in sparse and boundeddegree graphs. Algorithmica, 18(1):145–163, 1997.
 [28] K. A. Hawick. Interactive Graph Algorithm Visualization and the GraViz Prototype. Technical Report CSTN061, Computer Science, Massey University, Albany, North Shore 102904, Auckland, New Zealand, October 2010.
 [29] K. A. Hawick. Betweenness centrality metrics for assessing electrical power network robustness against fragmentation and node failure. In Proc. International Conference on Power and Energy Systems (EuroPES 2012), pages 186–193, Napoli, Italy., 2527 June 2012.
 [30] K. A. Hawick. Water distribution network robustness and fragmentation using graph metrics. In Proc. Int. Conf. on Water Resource Management (AfricaWRM 2012), number 762037, pages 304–310, Gabarone, Botswana, 35 September 2012.
 [31] K. A. Hawick. Centrality metrics for comparing proteinprotein interaction networks with synthesized nk systems. In Proc. IASTED International Conference on Biomedical Engineering, pages 1–8, Zurich, Switzerland, 2325 June 2014.
 [32] D. Holten. Hierarchical edge bundles: Visualization of adjacency relations in hierarchical data. IEEE Transactions on Visualization and Computer Graphics, 12(5):741–748, 2006.
 [33] D. S. Johnson and M. Trick. Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge. American Mathematical Society, Providence, RI, 1996.
 [34] R. M. Karp. Reducibility among combinatorial problems. In R. Miller and J. Thatcher, editors, Proceedings of a Symposium on the Complexity of Computer Computations, pages 85–103, New York, NY, 1972. Plenum Press.
 [35] Jure Leskovec and Andrej Krevl. SNAP Datasets:Stanford large network dataset collection, 2015.
 [36] Jure Leskovec, Kevin J Lang, Anirban Dasgupta, and Michael W Mahoney. Community structure in large networks: Natural cluster sizes and the absence of large welldefined clusters. Internet Mathematics, 6(1):29–123, 2009.
 [37] Jure Leskovec and Rok Sosič. Snap: A generalpurpose network analysis and graphmining library. ACM Transactions on Intelligent Systems and Technology (TIST), 8(1):1, 2016.
 [38] J. T. Linderoth and A. Lodi. MILP software. Wiley encyclopedia of operations research and management science, 2011.
 [39] C. Morgenstern. Improved implementations of dynamic sequential coloring algorithms. Technical Report CoSc914, Texas Christian University, Department of Computer Science, 1991.
 [40] M. E. J. Newman. The structure of scientific collaboration networks. Proceedings of the National Academy of Sciences, 98(2):404–409, 2001.
 [41] J. Pattillo, N. Youssef, and S. Butenko. Clique relaxation models in social network analysis. In M. T. Thai and P. M. Pardalos, editors, Handbook of Optimization in Complex Networks, pages 143–162, Berlin / Heidelberg, 2012. Springer.
 [42] A. RoseteSuárez, A.o OchoaRodrıguez, and M. Sebag. Automatic graph drawing and stochastic hill climbing. In Proceedings of the Genetic and Evolutionary Computation Conference, volume 2, pages 1699–1706, 1999.
 [43] L. Salwinski, C. S. Miller, A. J. Smith, F. K. Pettit, J. U. Bowie, and D. Eisenberg. The database of interacting proteins: 2004 update. Nucleic acids research, 32(suppl 1):D449–D451, 2004.
 [44] F. Schreiber, T. Dwyer, K. Marriott, and M. Wybrow. A generic algorithm for layout of biological networks. BMC Bioinformatics, 10(1):1, 2009.

[45]
K. Sugiyama.
Graph drawing and applications for software and knowledge engineers
, volume 11. World Scientific, 2002.  [46] L. Takac and M. Zabovsky. Data analysis in public social networks. In International Scientific Conference and International Workshop Present Day Trends of Innovations, pages 1–6, 2012.
 [47] R. Tamassia. Handbook of graph drawing and visualization. CRC press, 2013.
 [48] J. S. Turner. Almost all kcolorable graphs are easy to color. Journal of Algorithms, 9(1):63–82, 1988.
 [49] D. J. Watts and S. H. Strogatz. Collective dynamics of “smallworld” networks. Nature, 393(6684):440–442, 1998.
 [50] I. Xenarios, E. Fernandez, L. Salwinski, X. J. Duan, M. J. Thompson, E. M. Marcotte, and D. Eisenberg. Dip: the database of interacting proteins: 2001 update. Nucleic acids research, 29(1):239–241, 2001.
 [51] I. Xenarios, D. W. Rice, L. Salwinski, M. K. Baron, E. M. Marcotte, and D. Eisenberg. Dip: the database of interacting proteins. Nucleic acids research, 28(1):289–291, 2000.
 [52] I. Xenarios, L. Salwinski, X. J. Duan, P. Higney, S. M. Kim, and D. Eisenberg. Dip, the database of interacting proteins: a research tool for studying cellular networks of protein interactions. Nucleic acids research, 30(1):303–305, 2002.