Journal of Combinatorial Optimization

, Volume 27, Issue 2, pp 397–416 | Cite as

Improvements to MCS algorithm for the maximum clique problem

  • Mikhail BatsynEmail author
  • Boris Goldengorin
  • Evgeny Maslov
  • Panos M. Pardalos


In this paper we present improvements to one of the most recent and fastest branch-and-bound algorithm for the maximum clique problem—MCS algorithm by Tomita et al. (Proceedings of the 4th international conference on Algorithms and Computation, WALCOM’10, pp. 191–203, 2010). The suggested improvements include: incorporating of an efficient heuristic returning a high-quality initial solution, fast detection of clique vertices in a set of candidates, better initial colouring, and avoiding dynamic memory allocation. Our computational study shows some impressive results, mainly we have solved p_hat1000-3 benchmark instance which is intractable for MCS algorithm and got speedups of 7, 3000, and 13000 times for gen400_p0.9_55, gen400_p0.9_65, and gen400_p0.9_75 instances correspondingly.


Maximum clique problem Branch-and-bound algorithm  Heuristic solution Graph colouring 



The authors would like to thank professor Mauricio Resende and his co-authors for the source code of their powerful ILS heuristic. The authors are supported by LATNA Laboratory, National Research University Higher School of Economics (NRU HSE), Russian Federation government grant, ag. 11.G34.31.0057. Boris Goldengorin and Mikhail Batsyn are partially supported by NRU HSE Scientific Fund grant “Teachers-Students” #11-04-0008 “Calculus for tolerances in combinatorial optimization: theory and algorithms”.


  1. Andrade DV, Resende MGC, Werneck RF (2012) Fast local search for the maximum independent set problem. J Heuristics 18(4):525–547. doi: 10.1007/s10732-012-9196-4 CrossRefGoogle Scholar
  2. Balas E, Yu CS (1986) Finding a maximum clique in an arbitrary graph. SIAM J Comput 15(4):1054–1068CrossRefzbMATHMathSciNetGoogle Scholar
  3. Bertoni A, Campadelli P, Grossi G (1997) A discrete neural algorithm for the maximum clique problem: analysis and circuit implementation. In: Proceedings of workshop on algorithm, engineering, WAE’97, pp 84–91Google Scholar
  4. Boginski V, Butenko S, Pardalos PM (2003) Innovations in financial and economic networks. In: Nagurney A (ed) On structural properties of the market graph. Edward Elgar Publishing, London, pp 29–45Google Scholar
  5. Bomze I, Budinich MPMP, Pelillo M (1999) The maximum clique problem. In: Handbook of combinatorial optimization. Kluwer Academic Publishers, BostonGoogle Scholar
  6. Bron C, Kerbosch J (1973) Algorithm 457: finding all cliques of an undirected graph. Commun ACM 16(9):575–577. doi: 10.1145/362342.362367 CrossRefzbMATHGoogle Scholar
  7. Brouwer A, Shearer J, Sloane N, Smith W (1990) A new table of constant weight codes. IEEE Trans Inf Theory 36(6):1334–1380. doi: 10.1109/18.59932 CrossRefzbMATHMathSciNetGoogle Scholar
  8. Butenko S, Wilhelm WE (2006) Clique-detection models in computational biochemistry and genomics. Eur J Oper Res 173(1):1–17. doi: 10.1016/j.ejor.2005.05.026 CrossRefzbMATHMathSciNetGoogle Scholar
  9. Carmo R, Zuge A (2012) Branch and bound algorithms for the maximum clique problem under a unified framework. J Braz Comput Soc 18(2):137–151CrossRefMathSciNetGoogle Scholar
  10. Carraghan R, Pardalos PM (1990) An exact algorithm for the maximum clique problem. Oper Res Lett 9(6):375–382. doi: 10.1016/0167-6377(90)90057-C CrossRefzbMATHGoogle Scholar
  11. Du D, Pardalos PM (1999) Handbook of combinatorial optimization, Supplement, vol A. Springer, New YorkGoogle Scholar
  12. Fahle T (2002) Simple and fast: improving a branch-and-bound algorithm for maximum clique. In: Proceedings of the 10th annual European symposium on algorithms, ESA ’02. Springer-Verlag, London, pp 485–498Google Scholar
  13. Feo TA, Resende MGC (1995) Greedy randomized adaptive search procedures. J Global Optim 6(2):109–133. doi: 10.1007/BF01096763 CrossRefzbMATHMathSciNetGoogle Scholar
  14. Funabiki N, Takefuji Y, Lee KC (1992) A neural network model for finding a near-maximum clique. J Parallel Distrib Comput 14(3):340–344. doi: 10.1016/0743-7315(92)90072-U CrossRefGoogle Scholar
  15. Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness, vol 24. W. H Freeman and Co, New YorkGoogle Scholar
  16. Glover F, Laguna M (1997) Tabu search. Kluwer Academic Publishers, NorwellGoogle Scholar
  17. Grosso A, Locatelli M, Pullan W (2008) Simple ingredients leading to very efficient heuristics for the maximum clique problem. J Heuristics 14(6):587–612. doi: 10.1007/s10732-007-9055-x CrossRefGoogle Scholar
  18. Jenelius E, Petersen T, Mattsson L (2006) Importance and exposure in road network vulnerability analysis. Transport Res A Policy Pract 40(7):537–560. doi: 10.1016/j.tra.2005.11.003 CrossRefGoogle Scholar
  19. Jerrum M (1992) Large cliques elude the metropolis process. Random Struct Algorithms 3(4):347–359. doi: 10.1002/rsa.3240030402 CrossRefzbMATHMathSciNetGoogle Scholar
  20. Kopf R, Ruhe G (1987) A computational study of the weighted independent set problem for general graphs. Found Control Eng 12(4): 167–180Google Scholar
  21. Li CM, Quan Z (2010a) Combining graph structure exploitation and propositional reasoning for the maximum clique problem. In: Proceedings of the 2010 22nd IEEE international conference on tools with artificial intelligence, Vol 01, ICTAI’10. IEEE, Arras, pp 344–351Google Scholar
  22. Li CM, Quan Z (2010b) An efficient branch-and-bound algorithm based on maxsat for the maximum clique problem. In: Proceedings of the twenty-fourth AAAI conference on artificial intelligence, AAAI-10. AAAI Press, Atlanta, pp 128–133Google Scholar
  23. Marchiori E (2002) Genetic, iterated and multistart local search for the maximum clique problem. In: Applications of evolutionary computing. Springer-Verlag, New York, pp 112–121Google Scholar
  24. Matula DW, Marble G, Isaacson JD (1972) Graph coloring algorithms. In: Graph theory and computing. Academic Press, New York, pp 109–122Google Scholar
  25. Mycielski J (1955) Sur le coloriage des graphes. Colloq Math 3:161–162zbMATHMathSciNetGoogle Scholar
  26. Pullan W, Hoos HH (2006) Dynamic local search for the maximum clique problem. J Artif Int Res 25(1):159–185zbMATHGoogle Scholar
  27. Singh A, Gupta AK (2006) A hybrid heuristic for the maximum clique problem. J Heuristics 12(1–2):5–22. doi: 10.1007/s10732-006-3750-x CrossRefzbMATHGoogle Scholar
  28. Sloane NJA (1989) Unsolved problems in graph theory arising from the study of codes. Graph Theory Notes NY 18(11):11–20Google Scholar
  29. Tomita E, Kameda T (2007) An efficient branch-and-bound algorithm for finding a maximum clique with computational experiments. J Global Optim 37(1):95–111CrossRefzbMATHMathSciNetGoogle Scholar
  30. Tomita E, Seki T (2003) An efficient branch-and-bound algorithm for finding a maximum clique. In: Proceedings of the 4th international conference on discrete mathematics and theoretical computer science, DMTCS’03. Springer-Verlag, Berlin, Heidelberg, pp 278–289Google Scholar
  31. Tomita E, Sutani Y, Higashi T, Takahashi S, Wakatsuki M (2010) A simple and faster branch-and-bound algorithm for finding a maximum clique. In: Proceedings of the 4th international conference on algorithms and computation, WALCOM’10. Springer-Verlag, Berlin, Heidelberg, pp 191–203Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Mikhail Batsyn
    • 1
    Email author
  • Boris Goldengorin
    • 1
  • Evgeny Maslov
    • 1
  • Panos M. Pardalos
    • 1
    • 2
  1. 1.Laboratory of Algorithms and Technologies for Network AnalysisNational Research University Higher School of EconomicsNizhniy NovgorodRussian Federation
  2. 2.Center of Applied OptimizationUniversity of FloridaGainesvilleUSA

Personalised recommendations