Dmitry I. Ignatov 11institutetext: Dmitry I. Ignatov 22institutetext: National Research University Higher School of Economics, Moscow and St. Petersburg Department of Steklov Mathematical Institute of Russian Academy of Sciences, Russia, 22email: [email protected] (0000-0002-6584-8534) 33institutetext: Polina Ivanova 44institutetext: National Research University Higher School of Economics, Moscow, Russia, 44email: [email protected] (0000-0001-6010-7991) 55institutetext: Albina Zamaletdinova 66institutetext: National Research University Higher School of Economics, Moscow, Russia, 66email: [email protected]
Mixed Integer Programming for Searching Maximum Quasi-Bicliques
Abstract
This paper is related to the problem of finding the maximal quasi-bicliques in a bipartite graph (bigraph). A quasi-biclique in the bigraph is its “almost” complete subgraph. The relaxation of completeness can be understood variously; here, we assume that the subgraph is a -quasi-biclique if it lacks a certain number of edges to form a biclique such that its density is at least . For a bigraph and fixed , the problem of searching for the maximal quasi-biclique consists of finding a subset of vertices of the bigraph such that the induced subgraph is a quasi-biclique and its size is maximal for a given graph. Several models based on Mixed Integer Programming (MIP) to search for a quasi-biclique are proposed and tested for working efficiency. An alternative model inspired by biclustering is formulated and tested; this model simultaneously maximizes both the size of the quasi-biclique and its density, using the least-square criterion similar to the one exploited by triclustering TriBox.
1 Introduction
There are many data sources that can be represented as a bipartite graph; for example, in recommender systems and web stores, users can interact with different items like movies, books, clothes, and other products. The most commonly studied data usually has a structure of a bipartite graph whose vertices form two disjoint sets. For example, social network data, where a binary relation between two sets show interactions between people and communities, advertisement data with a set of consumers and a corresponding set of products and so on.
In this study, we are interested in the analysis of such bipartite data and search for dense communities, where almost all elements are connected. A situation where all elements of a community are involved can be described by a concept of a biclique or a complete subgraph of a bipartite graph.
Unfortunately, the community completeness requirement excludes almost complete communities frequently met in real-world data. Due to this reason, we allow some edges to be absent and introduce the concept of quasi-biclique. In order to bound the size of quasi-biclique, we can use the subgraph minimal density or the maximum number of absent edges needed to complete a subgraph.
The problem of searching for maximal quasi-clique is NP-hard (Pattillo et al., 2013) as well as the problem of searching for maximal quasi-biclique (Liu et al., 2008b); the maximum edge biclique problem is known to be NP-complete (Peeters, 2003). Many algorithms that solve those problems are being developed (Wang, 2013; Abello et al., 2002; Sim et al., 2006; Liu et al., 2008a). For instance, Veremyev et al. (2016) offered an exact Mixed Integer Programming model for searching for maximal quasi-clique but the case of bipartite graphs for quasi-bicliques was not yet considered within the MIP framework.
The aim of this paper is to propose a Mixed Integer Programming models for finding a maximum quasi-bicliques in a bipartite graph and compare the results obtained by those models with those of existing algorithms.
The paper is organised as follows. Section 2 introduces several basic definitions, namely biclique, quasi-bicliques, and its density and provides a short overview of related work along with important propositions on algorithmic aspects. Section 3 proposes two Mixed Integer Programming models for quasi-biclique search. In Section 4, the chosen datasets are described. Section 5 summarises the experimental results. Section 6 concludes the paper.
2 Maximum quasi-cliques and quasi-bicliques
2.1 Basic definitions
Let us introduce several basic notions.
Definition 1
In a graph a subgraph , where , , is called a vertex-induced subgraph. Let us denote such graph as .
Definition 2
A complete subgraph of a graph is called a clique.
Definition 3
A complete bipartite subgraph in a bipartite graph is called a biclique.
Definition 4
The density of an arbitrary graph is the ratio of the number of edges to the maximum possible number of edges.
The density of a bipartite graph is .
Definition 5
A subgraph of a given graph is called -dense, if is a subgraph induced by a vertex subset , and , where is a chosen function.
Definition 6
A -quasi-biclique in a bipartite graph is its bipartite induced subgraph with the density at least .
2.2 Maximum quasi-cliques
Let us consider properties and searching algorithms of cliques in a graph .
For a graph and a fixed we need to find a such that is a -quasi-clique and is maximal.
Problem of searching for maximum quasi-clique as well as the problem of searching for maximum clique is NP-hard (Liu et al., 2008b),(Pattillo et al., 2013). In addition to that, the assumption of graph incompleteness leads to the loss of useful properties of a clique. For instance, inheritance property which is used in most maximum clique searching algorithms does not hold. Namely, if is a clique, then is a clique as well, where is a subset of . This property does not hold for -quasi-cliques: i.e. a subset of a -quasi-clique is not necessarily a -quasi-clique.
However, for quasi-cliques we can define the property of quasi-inheritance: -quasi-clique with is a strict superset to a -quasi-clique with vertices (Pattillo et al., 2013).
2.3 Maximum quasi-bicliques
The problem of maximum quasi-biclique in a bipartite graph with fixed is to find and such that vertex-induced subgraph is a -quasi-biclique of size , maximum for this graph. Let us denote a maximum -quasi-biclique in the graph by
Let us consider several commonly met definitions of quasi-biclique. In Liu et al. (2008b), we can find the following definition.
Definition 7
A induced subgraph is called a -quasi-biclique () in a bipartite graph if:
-
1.
,
-
2.
.
In order to consider the third definition of quasi-biclique Sim et al. (2006), let us introduce some useful notations. The neighbourhood of a vertex in a graph is a set of vertices
For a vertex set and a vertex let us denote a set of vertices from adjacent to as . By a set of vertices we denote a loose neighbourhood of subset
Definition 8
A subgraph of a bipartite graph is called an -quasi-biclique, if for some small positive integer :
-
1.
,
-
2.
.
Remark 1
Obviously, Definitions 7 and 8 of quasi-bicliques can be reduced to the definition of -quasi-biclique.
-
1.
In Definition 7, let us sum the first condition over all vertices from . We get, that , where is a number of edges in a -quasi-biclique, is the maximum possible number of edges in a bipartite graph. Thus a -quasi-biclique is a -quasi-biclique with . Both definitions of quasi-biclique are equivalent if .
-
2.
By summing both conditions over sets and , respectively, in Definition 8 we get:
Since is a number of edges in an -quasi-biclique , then the density of is:
Bounding the size of a quasi-clique vertex sets from below and , we can establish a connection between these definitions. If we let
we obtain that is a -quasi-clique under condition .
Most properties of quasi-cliques naturally fulfils for quasi-bicliques as well. However, since the density definition of quasi-biclique differs from the case of quasi-clique and the maximum number of edges is a function of two variables with no convex properties, most algorithms searching for maximum quasi-clique are not directly applicable to search for maximum quasi-biclique.
Pattillo et al. (2013) established inequalities for upper bounds for the size of maximum quasi-clique shown below.
Proposition 1
In a graph with and the maximum size of a quasi-clique satisfies the following inequality:
(1) |
In order to obtained similar bound for a quasi-biclique, we need to allow the following conditions on quasi-biclique.
Proposition 2
In a bipartite graph , with , and , the maximum size of a quasi-biclique satisfies the following inequalities:
-
1.
, for balanced quasi-biclique (the sizes of two vertex sets and are equal),
-
2.
, if and sizes of vertex sets differ from each other by no more than in .
Proof
Let and be vertex sets of a maximum -quasi-biclique and let and be their cardinalities, respectively.
-
1.
For balanced quasi-clique , hence . Obviously, that the maximum possible number of edges in a quasi-biclique in less than the total number of graph edges. Then
-
2.
-quasi-biclique is “almost” balanced when . Thus,
Analogously,
Now let us discuss a few chosen algorithms that implement maximum quasi-biclique search.
A greedy algorithm for searching maximum quasi-bicliques according to Definition 7 is discussed in detail by Liu et al. (2008b). The algorithm uses two parameters: 1) to control the size of the quasi-biclique () and 2) to control the smallest possible number of vertices that belong to one of the partitions of a quasi-biclique. Let us denote by and vertex sets of quasi-biclique of the graph . At the beginning of the algorithm we set and . From the vertex set we choose such vertex that its degree is maximum and delete from ’ all vertices for which . This process continues as long as the size of . However, this algorithm can miss possible vertex candidates, thus authors introduce the second step of the algorithm: if there is a vertex outside of the current vertex set such that its degree is maximum in and remains a quasi-biclique, then it can be added to . The same applies to as long as there is a vertex to add.
3 Quasi-biclique searching models
3.1 Model 1
In this section we will show how to adapt the model F3 from Veremyev et al. (2016) for searching for maximum quasi-bicliques. Let us consider disjoint sets , = that form a quasi-biclique of a bipartite graph . Using similar techniques as in Veremyev et al. (2016), we introduce the following variables:
We can refine the sizes of vertex sets of a quasi-biclique using Proposition 2. Then we build Model 1:
Model 1
(2) | |||
(3) | |||
(4) | |||
(5) | |||
(6) | |||
(7) | |||
(8) |
As in the model F3 we can bound and and recast them from binary into continuous variables.
Suppose, that there exists an optimal solution of Model 1, where vectors and are not binary . Let be a binary vector with and otherwise, where ; analogously, vector : and otherwise. Hence, it is obvious, that vectors and satisfy constraint 6. Constraints 3 and 5 can be rewritten as follows:
This means that is also an optimal solution of the problem and usage of continuous variables and in Model 1 is proved.
In the worst case, when , , , the model has binary variables and continuous.
Remark 2
In Model 1, condition 3 is not linear, so we can linearise it. Let us introduce a new variable . Then left side of the inequality 3 is:
Conditions 5 are changed as follows:
where and .
Using this substitution for variables and , the model becomes a linear integer programming model. In the worst-case scenario, for dense graph there are binary variables and continuous variables to be optimized.
3.2 Model 2
Let us look at different maximizing criteria for related Mixed Integer Programming models. In papers (Ignatov et al., 2015; Mirkin and Kramarenko, 2011) dedicated to triclustering generation, is a triadic context with , the set of objects, , the set of attributes, , the set of conditions, and , the ternary relation. The proposed triclustering algorithm searches for clusters that maximize the following criteria:
(9) |
By narrowing this criteria for binary contexts, it is possible to obtain another maximising criteria for Model 7 GF3() from Veremyev et al. (2016), p.191.
For a bipartite graph and its induced subgraph , function is maximized over the density and size of biclique.
(10) |
Using variables definitions from the previous model we can rewrite function :
Since function is multiplicative, the direct way to transform it to an additive function is logarithmisation:
(11) |
As in Model 1,
Now we introduce a new variable: , then .
(12) |
Obviously, that equality because is binary variable and . Thus there exists a unique number such that . It follows, that . A similar statement is true for and .
Without extra conditions on the sizes of vertex sets of a quasi-biclique and its minimum number of edges, the model has variables.
Model 2
Remark 3
In order to simplify the model. we can add extra constraints for variables . Let be a possible number of edges in a quasi-biclique, then:
-
1.
.
-
2.
If .
-
3.
Let us consider such that and . That is is a subset of with the minimum possible size and with all smallest degree vertices w.r.t. . Then .
-
4.
Similarly, for : and , then .
4 Datasets
Datasets for testing the performance of the algorithms are mainly taken from (Borgatti et al., 2014; Batagelj and Mrvar, 2014).
-
1.
Southern Women: , edges, a classic ethnographic dataset with a bipartite graph of 18 women, which met in a series of 14 informal social events (Freeman, 2003).
-
2.
Divorce in the US: vertices, and edges. This graph describes the particular causes of divorce in the United States.
-
3.
Dutch Elite: vertices, and edges. This graph describes the connections between people and the most important for the Netherlands government administrative authorities.
-
4.
Dutch Elite (TOP-200): vertices, and edges. The list of people in the first partition of the graph consists of the most influential persons regarding their membership in administrative authorities.
-
5.
Movie-Lens (ml-latest-small): vertices, and edges, a bipartite graph of “movie-genre” relation from Movie Lens project (Harper and Konstan, 2015).
5 Experimental Verification
5.1 Implementation description
The greedy algorithm of searching for maximal -quasi-biclique in a bipartite graph was implemented in Python 2.7. The MIP models were implemented with the optimization package CPLEX, created by IBM. All computations were carried out on a laptop with macOS operating system, 2.7 GHz Intel Core i5 processor, and RAM 8 GB 1867 MHz.
The search for solutions in the CPLEX package was performed by means of the branch-and-cut method, which is similar to the branch-and-bound algorithmic approach. The method uses a search tree, where each node represents a subproblem that needs to be solved and possibly analysed further.
The branch procedure creates two new nodes from the active parent node. Generally, at this point, the boundaries of one variable are applied and stored for the current node and all its child nodes. In its turn, the cut procedure adds a new constraint to the model. As a result of any cut, the solution space for the subproblems, which are presented in the nodes, is reduced, and the number of branches needed to process decreases. CPLEX processes active nodes in the tree until no more active nodes are available or a certain limit is reached 111CPLEX user manual: https://www.ibm.com/support/knowledgecenter/SSSA5P_ 12.8.0/ilog.odms.cplex.help/CPLEX/homepages/usrmancplex.html .
The standard solution with the CPLEX software package assumes only one of the optimal solutions as the answer. However, in CPLEX it is possible to obtain a set of optimal solutions using the solution pool method, which allows one to find and store several solutions of MIP models.
The generation of multiple solutions works in two steps. The first step is identical to the usual solution search using the CPLEX software package. At this step, the algorithm finds the only optimal solution of the integer programming problem. It also saves nodes in the search tree that could potentially be useful; for example, if not all the variable constraints are taken into account or if all the nodes contain a suitable value, but the target function is not optimal.
In the second step, using previously calculated and stored information in the first stage, several solutions are generated, and the tree is traversed again, in particular within the branches rooted from the additional nodes stored in the first stage.
5.2 Illustrative examples
On a toy example of a graph with 12 vertices, we consider the search results for maximal -quasi-bicliques, , using Models 1 and 2, respectively (Fig. 1).


The results for both models are the same (w.r.t. to the solutions output order). Even for this small-sized problem, the time is tangible: the computations with Model 1 took 2.16 s, and for Model 2, it was 2.94 s. A comparison of the executed models and the greedy algorithm in terms of computational time is given below for the selected bipartite graphs.
5.3 Comparison of algorithms
The algorithm of searching for the maximal quasi-biclique using the CPLEX software package was implemented for Models 1 and 2 (see Section 3) and compared with the greedy algorithm from (Liu et al., 2008b) (let us denote it as Greedy Algorithm).
There are no comparison results presented for the model F3 (Veremyev et al., 2016): despite its fast work, the algorithm based on this model chose quasi-bicliques of very small size and maximum density (i.e. bicliques). This phenomenon is rather expected since the model F3 implies a completely different function of the density of the subgraph. Therefore, the comparison, in this case, is irrelevant. The description of Complete QB in (Sim et al., 2006) lacks of important implementation details.
The weakness of the constructed MIP models was identified during the finding solution. Since the problem of enumerating all maximal quasi-bicliques in practice requires considerable time, the software package can discard some solutions, if it has found quite a few optimal ones already. First of all, the search is carried out among unbalanced quasi-bicliques (no constraints on the approximately equal size of the quasi-clique partitions have been given). For large graphs, this means that the number of vertices in one of the parts of the found optimal solution may exceed the number of vertices in the second part by hundreds of times or more.
This issue can be addressed in two ways. Firstly, one can set roughly equal limits on the size of the partitions. Secondly, it is possible to adapt the model for finding an almost balanced quasi-bicliques, that means that sizes of partitions of a quasi-biclique differ by . To do this, the following conditions should be added to Model 1 or Model 2:
(13) |
(14) |
It has also been noted that small-sized quasi-bicliques can be useless in practice, but their recalculation is costly. Therefore, for each data set, we can establish minimum bounds on the size of a quasi-biclique (of the order of the smallest vertex degree with respect to the graph partitions).
The results the algorithms execution are presented in Table 1 for , Table 2 for and in Table 3 for 222The size column in Table 3 shown as the result of summation and . For each algorithm its main parameters are indicated: the algorithm running time (time), the number of found maximum quasi-bicliques (count) and the maximum size of the found solution.
Data | Model 1 | Model 2 | Greedy Algorithm | ||||||
time | count | size | time | count | size | time | count | size | |
Southern | 678 ms | 4 | (18,4) | 801 ms | 2 | (18,4) | 234 ms | 4 | (17, 5) |
Women | |||||||||
Divorse | 1.23 s | 1 | (4,50) | 3.38 s | 1 | (4,50) | 360 ms | 1 | (2, 46) |
in US | |||||||||
DutchElite | 7602 s | 2 | (26,1) | 181 s | 1 | (11,3) | 3 s | 1 | (10,3) |
(top200) | |||||||||
DutchElite | - | - | - | 6968 s | 1 | (45,2) | 1954 s | 1 | (40,2) |
Movie-Lens | 28068 s | 2 | (692,2) | 13851 s | 5 | (900,3) | 5976 s | 2 | (754,2) |
(small) |
Data | Model 1 | Model 2 | Greedy’ algorithm | ||||||
time | count | size | time | count | size | time | count | size | |
Southern | 1.29 s | 1 | (16,3) | 1.11 s | 1 | (10,6) | 309 ms | 1 | (16, 2) |
Women | |||||||||
Divorse | 1.56 s | 1 | (2,45) | 2.66 s | 3 | (5,36) | 320 ms | 1 | (2,28) |
in US | |||||||||
DutchElite | 8497 s | 1 | (23,1) | 1668 s | 3 | (10,3) | 1.63 s | 1 | (10,3) |
(top200) | |||||||||
DutchElite | - | - | - | 6166 s | 1 | (20,2) | 1511 s | 1 | (20,1) |
Movie-Lens | - | - | - | 10719 s | 6 | (800, 3) | - | - | - |
(small) |
Two found -quasi bicliques for the dataset divorce in the US are shown in Fig. 2.


Data | Model 1 | Model 2 | Greedy algorithm | ||||||
time | count | size | time | count | size | time | count | size | |
Divorce in US | 8.53 s | 1 | 38 | 1.7 s | 2 | 33 | 313 ms | 1 | 25 |
DutchElite (top200) | - | - | - | 4834 s | 2 | 13 | 2.5 s | 1 | 13 |
DutchElite | - | - | - | 7129 s | 1 | 47 | 1718 | 1 | 21 |
Movie-Lens (small) | - | - | - | 9046 s | 2 | 445 | - | - | - |
Dashes (”-”) in the following tables mean that the algorithm worked 10 hours and did not find a solution. If one of the partitions of the maximal quasi-biclique has a unit size, this is marked in the table as , where and are the sizes of the partitions.
6 Results and conclusions
One can note, that mixed linear programming models work an order of magnitude slower than the greedy algorithm by Liu et al. (2008b), but they find more quasi-cliques and generally each of them has a larger size.
For small graphs, the time for finding the solution by the considered models is acceptable. Model 1 contains a fewer number of variables that must be optimized, but its maximisation criterion is costly for large graphs. Thus, on large-sized graphs Model 1 works too long (more than 10 hours), especially for high density thresholds. The dependence of the speed and quality of processing on is also apparent for two other algorithms: for high thresholds on density, those methods work longer since the number of possible optimal solutions to the problem is reduced. Model 2 on similar graphs showed better results, but the processing time is still quite large. For data with a large number of vertices and a small number of edges, MIP-based algorithms work much longer than on more dense graphs.
If we consider the results, not in terms of speed, but terms of quality, then Model 2 was the best one. This model produced more unique and larger quasi-bicliques than other algorithms.
The following ways of future work seems to be relevant: 1) further improvements of the proposed models by establishing tighter bounds for different constraints and using optimization tricks; 2) exploration of new optimization criteria; 3) comparison of different MIP solvers with the state-of-the-art approaches of searching for quasi-bicliques in a larger set of experiments.
Another interesting avenue for research could be a study on connection between various approximations of formal concepts (fault-tolerant concepts (Besson et al., 2006) and object-attribute biclusters (Ignatov et al., 2012, 2017)), Boolean matrix factorization (Miettinen, 2013; Belohlávek et al., 2019) and quasi-bicliques.
Acknowledgements.
The work of Dmitry I. Ignatov shown in all the sections, except 5 and 6, has been supported by the Russian Science Foundation grant no. 17-11-01276 and performed at St. Petersburg Department of Steklov Mathematical Institute of Russian Academy of Sciences, Russia. The authors would like to thank Boris Mirkin, Vladimir Kalyagin, Panos Pardalos, and Oleg Prokopyev for their piece of advice and inspirational discussions. Last but not least we are thankful to anonymous reviewers for their useful feedback.References
- Abello et al. (2002) Abello J, Resende MGC, Sudarsky S (2002) Massive quasi-clique detection. In: Rajsbaum S (ed) LATIN 2002: Theoretical Informatics, Springer Berlin Heidelberg, Berlin, Heidelberg, pp 598–612
- Batagelj and Mrvar (2014) Batagelj V, Mrvar A (2014) Pajek. In: Encyclopedia of Social Network Analysis and Mining, pp 1245–1256, DOI 10.1007/978-1-4614-6170-8“˙310, URL https://doi.org/10.1007/978-1-4614-6170-8\_310
- Belohlávek et al. (2019) Belohlávek R, Outrata J, Trnecka M (2019) Factorizing boolean matrices using formal concepts and iterative usage of essential entries. Inf Sci 489:37–49, DOI 10.1016/j.ins.2019.03.001, URL https://doi.org/10.1016/j.ins.2019.03.001
- Besson et al. (2006) Besson J, Robardet C, Boulicaut J (2006) Mining a new fault-tolerant pattern type as an alternative to formal concept discovery. In: Conceptual Structures: Inspiration and Application, 14th International Conference on Conceptual Structures, ICCS 2006, Aalborg, Denmark, July 16-21, 2006, Proceedings, pp 144–157, DOI 10.1007/11787181“˙11, URL https://doi.org/10.1007/11787181\_11
- Borgatti et al. (2014) Borgatti SP, Everett MG, Freeman LC (2014) UCINET. In: Encyclopedia of Social Network Analysis and Mining, pp 2261–2267, DOI 10.1007/978-1-4614-6170-8“˙316, URL https://doi.org/10.1007/978-1-4614-6170-8\_316
- Freeman (2003) Freeman LC (2003) Finding social groups: A meta-analysis of the southern women data. In: Breiger R, Carley K, Pattison P (eds) Dynamic Social Network Modeling and Analysis: Workshop Summary and Papers, National Academies Press
- Harper and Konstan (2015) Harper FM, Konstan JA (2015) The movielens datasets: History and context. ACM Trans Interact Intell Syst 5(4):19:1–19:19, DOI 10.1145/2827872, URL http://doi.acm.org/10.1145/2827872
- Ignatov et al. (2012) Ignatov DI, Kuznetsov SO, Poelmans J (2012) Concept-based biclustering for internet advertisement. In: 12th IEEE International Conference on Data Mining Workshops, ICDM Workshops, Brussels, Belgium, December 10, 2012, pp 123–130, DOI 10.1109/ICDMW.2012.100, URL https://doi.org/10.1109/ICDMW.2012.100
- Ignatov et al. (2015) Ignatov DI, Gnatyshak DV, Kuznetsov SO, Mirkin BG (2015) Triadic formal concept analysis and triclustering: searching for optimal patterns. Machine Learning 101(1):271–302, DOI 10.1007/s10994-015-5487-y, URL https://doi.org/10.1007/s10994-015-5487-y
- Ignatov et al. (2017) Ignatov DI, Semenov A, Komissarova D, Gnatyshak DV (2017) Multimodal clustering for community detection. In: Formal Concept Analysis of Social Networks, pp 59–96, DOI 10.1007/978-3-319-64167-6“˙4, URL https://doi.org/10.1007/978-3-319-64167-6\_4
- Liu et al. (2008a) Liu HB, Liu J, Wang L (2008a) Searching maximum quasi-bicliques from protein-protein interaction network. Journal of Biomedical Science and Engineering 1(03):200
- Liu et al. (2008b) Liu X, Li J, Wang L (2008b) Quasi-bicliques: Complexity and binding pairs. In: Hu X, Wang J (eds) Computing and Combinatorics, Springer Berlin Heidelberg, Berlin, Heidelberg, pp 255–264
- Miettinen (2013) Miettinen P (2013) Fully dynamic quasi-biclique edge covers via boolean matrix factorizations. In: Proceedings of the Workshop on Dynamic Networks Management and Mining, ACM, New York, NY, USA, DyNetMM ’13, pp 17–24, DOI 10.1145/2489247.2489250, URL http://doi.acm.org/10.1145/2489247.2489250
- Mirkin and Kramarenko (2011) Mirkin BG, Kramarenko AV (2011) Approximate bicluster and tricluster boxes in the analysis of binary data. In: Rough Sets, Fuzzy Sets, Data Mining and Granular Computing - 13th International Conference, RSFDGrC 2011, Moscow, Russia, June 25-27, 2011. Proceedings, pp 248–256, DOI 10.1007/978-3-642-21881-1“˙40, URL https://doi.org/10.1007/978-3-642-21881-1\_40
- Pattillo et al. (2013) Pattillo J, Veremyev A, Butenko S, Boginski V (2013) On the maximum quasi-clique problem. Discrete Applied Mathematics 161(1):244 – 257, DOI https://doi.org/10.1016/j.dam.2012.07.019, URL http://www.sciencedirect.com/science/article/pii/S0166218X12002843
- Peeters (2003) Peeters R (2003) The maximum edge biclique problem is np-complete. Discrete Applied Mathematics 131(3):651 – 654, DOI https://doi.org/10.1016/S0166-218X(03)00333-0
- Sim et al. (2006) Sim K, Li J, Gopalkrishnan V, Liu G (2006) Mining maximal quasi-bicliques to co-cluster stocks and financial ratios for value investment. In: Sixth International Conference on Data Mining (ICDM’06), pp 1059–1063, DOI 10.1109/ICDM.2006.111
- Veremyev et al. (2016) Veremyev A, Prokopyev OA, Butenko S, Pasiliao EL (2016) Exact mip-based approaches for finding maximum quasi-cliques and dense subgraphs. Comp Opt and Appl 64(1):177–214, DOI 10.1007/s10589-015-9804-y, URL https://doi.org/10.1007/s10589-015-9804-y
- Wang (2013) Wang L (2013) Near optimal solutions for maximum quasi-bicliques. Journal of Combinatorial Optimization 25(3):481–497, DOI 10.1007/s10878-011-9392-4