Optimization Letters

, Volume 8, Issue 3, pp 903–917 | Cite as

A locally optimal hierarchical divisive heuristic for bipartite modularity maximization

  • Alberto Costa
  • Pierre Hansen
Original Paper


Given a set of entities, cluster analysis aims at finding subsets, also called clusters or communities or modules, entities of which are homogeneous and well separated. In the last ten years clustering on networks, or graphs, has been a subject of intense study. Edges between pairs of vertices within the same cluster should be relatively dense, while edges between pairs of vertices in different clusters should be relatively sparse. This led Newman to define the modularity of a cluster as the difference between the number of internal edges and the expected number of such edges in a random graph with the same degree distribution. The modularity of a partition of the vertices is the sum of the modularities of its clusters. Modularity has been extended recently to the case of bipartite graphs. In this paper we propose a hierarchical divisive heuristic for approximate modularity maximization in bipartite graphs. The subproblem of bipartitioning a cluster is solved exactly; hence the heuristic is locally optimal. Several formulations of this subproblem are presented and compared. Some are much better than others, and this illustrates the importance of reformulations. Computational experiences on a series of ten test problems from the literature are reported.


Bipartite graphs Clustering Modularity maximization 



The authors would like to thank Sonia Cafieri and Leo Liberti for the precious suggestions and comments. Financial support by grants: Digiteo 2009-14D “RMNCCO”, Digiteo 2009-55D “ARM” is gratefully acknowledged.


  1. 1.
    Aloise, D., Cafieri, S., Caporossi, G., Hansen, P., Perron, S., Liberti, L.: Column generation algorithms for exact modularity maximization in networks. Phys. Rev. E 82(4), 046112 (2010)CrossRefGoogle Scholar
  2. 2.
    Arenas, A., Fernández, A., Gómez, S.: Analysis of the structure of complex networks at different resolution levels. New J. Phys. 10(5), 053039 (2008)CrossRefGoogle Scholar
  3. 3.
    Barber, M.J.: Modularity and community detection in bipartite networks. Phys. Rev. E 76(6), 066102 (2007)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Barber, M.J., Clark, J.W.: Detecting network communities by propagating labels under constraints. Phys. Rev. E 80(2), 026129 (2009)CrossRefGoogle Scholar
  5. 5.
    Batagelj, V., Mrvar, A.: Pajek datasets. (2006)
  6. 6.
    Belotti, P., Lee, J., Liberti, L., Margot, F., Wächter, A.: Branching and bounds tightening techniques for non-convex MINLP. Optim. Methods Softw. 24(4–5), 597–634 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Boulle, M.: Compact mathematical formulation for graph partitioning. Optim. Eng. 5(3), 315–333 (2004)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Brandes, U., Delling, D., Gaertler, M., Görke, R., Hoefer, M., Nikoloski, Z., Wagner, D.: On modularity clustering. IEEE Trans. Knowl. Data Eng. 20(2), 172–188 (2008)CrossRefGoogle Scholar
  9. 9.
    Cafieri, S., Costa, A., Hansen P.: Reformulation of a model for hierarchical divisive graph modularity maximization. Ann. Operat. Res. (accepted)Google Scholar
  10. 10.
    Cafieri, S., Hansen, P., Liberti, L.: Loops and multiple edges in modularity maximization of networks. Phys. Rev. E 81(4), 046102 (2010)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Cafieri, S., Hansen, P., Liberti, L.: Locally optimal heuristic for modularity maximization of networks. Phys. Rev. E 83(5), 056105 (2011)CrossRefGoogle Scholar
  12. 12.
    Clauset, A., Newman, M.E.J., Moore, C.: Finding community structure in very large networks. Phys. Rev. E 70(6), 066111 (2004)CrossRefGoogle Scholar
  13. 13.
    Costa A.: Applications of reformulation in mathematical programming. PhD thesis, École Polytechnique (2012)Google Scholar
  14. 14.
    Costa, A., Hansen, P.: Comment on “Evolutionary method for finding communities in bipartite networks”. Phys. Rev. E 84(5), 058101 (2011)CrossRefGoogle Scholar
  15. 15.
    Fan, N., Pardalos, P.M.: Linear and quadratic programming approaches for the general graph partitioning problem. J. Glob. Optim. 48(1), 57–71 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Fortet, R.: Applications de l’algèbre de Boole en recherche opérationelle. Revue Française de Recherche Opérationelle 4(14), 17–26 (1960)Google Scholar
  17. 17.
    Fortunato, S.: Community detection in graphs. Phys. Rep. 486(3–5), 75–174 (2010)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Fortunato, S., Barthélemi, M.: Resolution limit in community detection. Proc. Nat. Acad. Sci. USA 104(1), 36–41 (2007)CrossRefGoogle Scholar
  19. 19.
    Girvan, M., Newman, M.E.J.: Community structure in social and biological networks. Proc. Nat. Acad. Sci. USA 99(12), 7821–7826 (2007)CrossRefMathSciNetGoogle Scholar
  20. 20.
    Good, B.H., de Montjoye, Y.-A., Clauset, A.: Performance of modularity maximization in practical contexts. Phys. Rev. E 81(4), 046106 (2010)Google Scholar
  21. 21.
    IBM. ILOG CPLEX 12.2 User’s Manual. IBM (2010)Google Scholar
  22. 22.
    Kumpula, J.M., Saramäki, J., Kaski, K., Kertész, J.: Limited resolution and multiresolution methods in complex network community detection. Fluctuations Noise Lett. 7(3), 209 (2007)CrossRefGoogle Scholar
  23. 23.
    Liberti, L.: Reformulations in mathematical programming: definitions and systematics. RAIRO-OR 43(1), 55–86 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    Liu, X., Murata, T.: Community detection in large-scale bipartite networks. In: IEEE/WIC/ACM international conference on web intelligence and Intelligent Agent Technologies, pp. 50–57 (2009)Google Scholar
  25. 25.
    Liu, X., Murata, T.: An efficient algorithm for optimizing bipartite modularity in bipartite networks. J. Adv. Comput. Intell. Intell. Inform. 14(4), 408–415 (2010)Google Scholar
  26. 26.
    Newman, M.E.J.: Fast algorithm for detecting community structure in networks. Phys. Rev. E 69(6), 066133 (2004)CrossRefGoogle Scholar
  27. 27.
    Newman, M.E.J., Girvan, M.: Finding and evaluating community structure in networks. Phys. Rev. E 69(2), 026113 (2004)CrossRefGoogle Scholar
  28. 28.
    Raghavan, U.N., Albert, R., Kumara, S.: Near linear time algorithm to detect community structures in large-scale networks. Phys. Rev. E 76(3), 036106 (2007)CrossRefGoogle Scholar
  29. 29.
    Reichardt, J., Bornholdt, S.: Statistical mechanics of community detection. Phys. Rev. E 74(1), 016110 (2006)CrossRefMathSciNetGoogle Scholar
  30. 30.
    Sales-Pardo, M., Guimerà, R., Moreira, A.A., Amaral, L.A.N.: Extracting the hierarchical organization of complex systems. Proc. Nat. Acad. Sci. USA 104(39), 15224–15229 (2007)Google Scholar
  31. 31.
    Schuetz, P., Caflisch, A.: Efficient modularity optimization by multistep greedy algorithm and vertex mover refinement. Phys. Rev. E 77(4), 046112 (2008)CrossRefGoogle Scholar
  32. 32.
    Schuetz, P., Caflisch, A.: Multistep greedy algorithm identifies community structure in real-world and computer-generated networks. Phys. Rev. E 78(2), 026112 (2008)CrossRefGoogle Scholar
  33. 33.
    Xu, G., Tsoka, S., Papageorgiou, L.G.: Finding community structures in complex networks using mixed integer optimisation. Eur. Phys. J. B 60(2), 231–239 (2007)CrossRefzbMATHGoogle Scholar
  34. 34.
    Zhan, W., Zhang, Z., Guan, J., Zhou, S.: Evolutionary method for finding communities in bipartite networks. Phys. Rev. E 83(6), 066120 (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.LIX, École PolytechniquePalaiseauFrance
  2. 2.GERAD, HEC MontréalMontréalCanada

Personalised recommendations