A binary monkey search algorithm variation for solving the set covering problem

  • Broderick CrawfordEmail author
  • Ricardo SotoEmail author
  • Rodrigo OlivaresEmail author
  • Gabriel Embry
  • Diego Flores
  • Wenceslao Palma
  • Carlos Castro
  • Fernando Paredes
  • José-Miguel Rubio


In complexity theory, there is a widely studied grouping of optimization problems that belongs to the non-deterministic polynomial-time hard set. One of them is the set covering problem, known as one of Karp’s 21 \({\mathscr {NP}}\)-complete problems, and it consists of finding a subset of decision variables for satisfying a set of constraints at the minimum feasible cost. However, due to the nature of the problem, this cannot be solved using traditional complete algorithms for hard instances. In this work, we present an improved binary version of the monkey search algorithm for solving the set covering problem. Originally, this approximate method was naturally inspired by the cognitive behavior of monkeys for climbing mountains. We propose a new climbing process with a better exploratory capability and a new cooperation procedure to reduce the number of unfeasible solutions. For testing this approach, we present a detailed computational results section, where we illustrate how this variation of the monkey search algorithm is capable of reaching various global optimums for a well-known instance set from the Beasley’s OR-Library and how it outperforms many other heuristics and meta-heuristics addressed in the literature. Moreover, we add a complete statistical analysis to show the effectiveness of the proposed approach with respect to the original version.


Monkey search algorithm Set covering problem Metaheuristics Parameter setting Optimization problem 



Broderick Crawford is supported by Grant CONICYT/FONDECYT/REGULAR/1171243. Ricardo Soto is supported by Grant CONICYT/FONDECYT/REGULAR/1190129. Rodrigo Olivares is supported by CONICYT/FONDEF/IDeA/ID16I10449, STIC-AMSUD/17STIC- 03, FONDECYT/MEC/MEC80170097 and Postgraduate Grant Pontificia Universidad Católica de Valparaíso (INF-PUCV 2015-2019).


  1. Affenzeller M, Wagner S, Winkler S (2007) Self-adaptive population size adjustment for genetic algorithms. Computer aided systems theory EUROCAST 2007. Springer, Berlin, pp 820–828Google Scholar
  2. Akay B, Karaboga D (2012) A modified artificial bee colony algorithm for real-parameter optimization. Inf Sci 192:120Google Scholar
  3. Balas E (1997) A dynamic subgradient-based branch-and-bound procedure for set covering. Locat Sci 5(3):203Google Scholar
  4. Basset MA, Zhou Y (2018) An elite opposition-flower pollination algorithm for a 0–1 knapsack problem. Int J Bio Inspir Comput 11(1):46. Google Scholar
  5. Beasley J (2018) Or-library. Accessed 14 Feb 2018
  6. Beasley J (1987) An algorithm for set covering problem. Eur J Oper Res 31(1):85MathSciNetzbMATHGoogle Scholar
  7. Bilal N, Galinier P, Guibault F (2014) An iterated-tabu-search heuristic for a variant of the partial set covering problem. J Heuristics 20(2):143Google Scholar
  8. Brotcorne L, Laporte G, Semet F (2003) Ambulance location and relocation models. Eur J Oper Res 147(3):451MathSciNetzbMATHGoogle Scholar
  9. Brusco M, Jacobs L, Thompson G (1999) A morphing procedure to supplement a simulated annealing heuristic for cost and coverage correlated set covering problems. Ann Oper Res 86:611MathSciNetzbMATHGoogle Scholar
  10. Burke E, Kendall G, Newall J, Hart E, Ross P, Schulenburg S (2003) Handbook of metaheuristics, vol 57. International series in operations research and management science. Springer, Berlin, pp 457–474Google Scholar
  11. Calvet L, de Armas J, Masip D, Juan AA (2017) Learnheuristics: hybridizing metaheuristics with machine learning for optimization with dynamic inputs. Open Math 15(1):261–80MathSciNetzbMATHGoogle Scholar
  12. Caprara A, Fischetti M, Toth P (1999) A heuristic method for the set covering problem. Oper Res 47(5):730MathSciNetzbMATHGoogle Scholar
  13. Caprara A, Fischetti M, Toth P (2000) Algorithms for the set covering problem. Annals OR 98(1–4):353MathSciNetzbMATHGoogle Scholar
  14. Ceria S, Nobili P, Sassano A (1998) A lagrangian-based heuristic for large-scale set covering problems. Math Program 81:215MathSciNetzbMATHGoogle Scholar
  15. Chvatal V (1979) A greedy heuristic for the set-covering problem. Math Oper Res 4(3):233MathSciNetzbMATHGoogle Scholar
  16. Crawford B, Soto R, Monfroy E, Paredes F, Palma W (2011) A hybrid ant algorithm for the set covering problem. Int J Phys Sci 6(19):4667Google Scholar
  17. Crawford B, Soto R, Olivares-Suárez M, Paredes F (2014a) Advances in intelligent systems and computing. 3rd Computer science on-line conference 2014 (CSOC 2014), vol 285. Springer, Berlin, pp 65–73Google Scholar
  18. Crawford B, Soto R, Palma W, Johnson F, Paredes F, Olguín E (2014b) Advances in swarm intelligence. Lecture notes in computer science, vol 8794. Springer, Berlin, pp 189–196Google Scholar
  19. Crawford B, Soto R, Astorga G, García J, Castro C, Paredes F (2017) Putting continuous metaheuristics to work in binary search spaces. Complexity 2017:1MathSciNetzbMATHGoogle Scholar
  20. Crawford B, Soto R, Berríos N, Johnson F, Paredes F, Castro C, Norero E (2015a) A binary cat swarm optimization algorithm for the non-unicost set covering problem. Math Prob Eng 2015:1MathSciNetzbMATHGoogle Scholar
  21. Crawford B, Soto R, Peña C, Palma W, Johnson F, Paredes F (2015b) Intelligent information and database systems. In: 7th Asian conference, ACIIDS 2015, Bali, Indonesia, March 23–25, 2015, Proceedings, Part II. Lecture notes in computer science, vol 9012. Springer, Berlin, pp 41–50Google Scholar
  22. Cui L, Li G, Zhu Z, Wen Z, Lu N, Lu J (2017) A novel differential evolution algorithm with a self-adaptation parameter control method by differential evolution. Soft Comput. Google Scholar
  23. Day RH (1965) Letter to the editor-on optimal extracting from a multiple file data storage system: an application of integer programming. Oper Res 13(3):482Google Scholar
  24. Dorigo M, Maniezzo V, Colorni A (1996) The ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern 26(1):1Google Scholar
  25. Eaton JW (2018) Gnu octave. (2002). Accessed 14 Feb 2018
  26. Eiben A, Hinterding R, Michalewicz Z (1999) Parameter control in evolutionary algorithms. IEEE Trans Evol Comput 3(2):124Google Scholar
  27. Feo TA, Resende MG (1989) A probabilistic heuristic for a computationally difficult set covering problem. Oper Res Lett 8(2):67MathSciNetzbMATHGoogle Scholar
  28. Fink M (2007) Proceedings of the Eleventh international conference on artificial intelligence and statistics, proceedings of machine learning research (PMLR, San Juan, Puerto Rico, 2007), vol 2, pp 115–122Google Scholar
  29. Fisher ML, Kedia P (1990) Optimal solution of set covering/partitioning problems using dual heuristics. Manage Sci 36(6):674MathSciNetzbMATHGoogle Scholar
  30. Han MF, Liao SH, Chang JY, Lin CT (2012) Dynamic group-based differential evolution using a self-adaptive strategy for global optimization problems. Appl Intell 39(1):41. Google Scholar
  31. Hartmanis J (1982) Computers and intractability: a guide to the theory of NP-completeness. SIAM Rev 24(1):90Google Scholar
  32. Holland JH (1975) Adaptation in natural and artificial systems. The University of Michigan Press, Ann ArborGoogle Scholar
  33. Housos E, Elmroth T (1997) Automatic optimization of subproblems in scheduling airline crews. Interfaces 27(5):68Google Scholar
  34. Iba H (2018) Evolutionary approach to machine learning and deep neural networks. Springer, Singapore, pp 27–75.
  35. Ituarte-Villarreal CM, Lopez N, Espiritu JF (2012) Using the monkey algorithm for hybrid power systems optimization. Proc Comput Sci 12:344Google Scholar
  36. Karaboga D, Basturk B (2007) A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J Global Optim 39(3):459MathSciNetzbMATHGoogle Scholar
  37. Lan G, DePuy G (2006) On the effectiveness of incorporating randomness and memory into a multi-start metaheuristic with application to the set covering problem. Comput Ind Eng 51(3):362Google Scholar
  38. Lanza-Gutierrez J, Crawford B, Soto R, Berrios N, Gomez-Pulido J, Paredes F (2017) Analyzing the effects of binarization techniques when solving the set covering problem through swarm optimization. Expert Syst Appl 70:67Google Scholar
  39. Li X, Yin M (2012) Self-adaptive constrained artificial bee colony for constrained numerical optimization. Neural Comput Appl 24(3–4):723Google Scholar
  40. Li X, Yin M (2015) Modified cuckoo search algorithm with self adaptive parameter method. Inf Sci 298:80Google Scholar
  41. Liang KH, Yao X, Newton CS (2001) Adapting self-adaptive parameters in evolutionary algorithms. Appl Intell 15(3):171. zbMATHGoogle Scholar
  42. Lilliefors H (1967) On the Kolmogorov-Smirnov test for normality with mean and variance unknown. J Am Stat Assoc 62(318):399Google Scholar
  43. Mahmoudi S, Lotfi S (2015) Modified cuckoo optimization algorithm (MCOA) to solve graph coloring problem. Appl Soft Comput 33:48Google Scholar
  44. Mann H, Donald W (1947) On a test of whether one of two random variables is stochastically larger than the other. Ann Math Stat 18(1):50MathSciNetzbMATHGoogle Scholar
  45. Memeti S, Pllana S, Binotto A, Kołodziej J, Brandic I (2018) Proceedings of the international conference on learning and optimization algorithms: theory and applications - LOPAL 18. ACM Press. doi 10(1145/3230905):3230906Google Scholar
  46. Nguyen TT, Vo DN (2015) Modified cuckoo search algorithm for short-term hydrothermal scheduling. Int J Electr Power Energy Syst 65:271Google Scholar
  47. Olamaei J, Moradi M, Kaboodi T (2013) 18th Electric power distribution conference, pp 1–6Google Scholar
  48. Qin A, Suganthan P (2005) Self-adaptive differential evolution algorithm for numerical optimization. In: 2005 IEEE congress on evolutionary computation (IEEE, 2005), pp 1785–1791.
  49. ReVelle C, Toregas C, Falkson L (2010) Applications of the location set covering problem. Geogr Anal 8(1):65Google Scholar
  50. Roeper T, Williams E (1987) Parameter setting. In: Hyams N (ed) The theory of parameters and syntactic development. Springer, Netherlands, pp 191–215Google Scholar
  51. Salto C, Alba E (2011) Designing heterogeneous distributed GAs by efficiently self-adapting the migration period. Appl Intell 36(4):800. Google Scholar
  52. Salveson ME (1995) The assembly line balancing problem. J Ind Eng 6(3):18Google Scholar
  53. Soto R, Crawford B, Misra S, Palma W, Monfroy E, Castro C, Paredes F (2013) Choice functions for autonomous search in constraint programming: GA vs PSO. Tech Gaz 20(4):621Google Scholar
  54. Soto R, Crawford B, Palma W, Monfroy E, Olivares C, Castro Rodrigoand, Paredes F (2015a) Top- k based adaptive enumeration in constraint programming. Math Prob Eng 2015:1Google Scholar
  55. Soto R, Crawford B, Palma W, Galleguillos K, Castro C, Monfroy E, Johnson F, Paredes F (2015b) Boosting autonomous search for CSPs via skylines. Inf Sci 308:38Google Scholar
  56. Soto R, Crawford B, Muñoz A, Johnson F, Paredes F (2015c) Advances in intelligent systems and computing. Artificial Intelligence Perspectives and Applications, vol 347. Springer, Berlin, pp 89–97Google Scholar
  57. Soto R, Crawford B, Olivares R, Barraza J, Figueroa I, Johnson F, Paredes F, Olguín E (2017) Solving the non-unicost set covering problem by using cuckoo search and black hole optimization. Nat Comput 16(2):213MathSciNetzbMATHGoogle Scholar
  58. Spall J (1992) Multivariate stochastic approximation using a simultaneous perturbation gradient approximation. IEEE Trans Autom Control 37(3):332MathSciNetzbMATHGoogle Scholar
  59. Stutzle T, Lopez-Ibanez M, Pellegrini P, Maur M, Montes de Oca M, Birattari M, Dorigo M (2012) What is autonomous search?. Parameter adaptation in ant colony optimization. Springer, Berlin, pp 191–215Google Scholar
  60. Valenzuela C, Crawford B, Soto R, Monfroy E, Paredes F (2014) A 2-level metaheuristic for the set covering problem. Int J Comput Commun Control 7(2):377Google Scholar
  61. Vasko FJ, Wilson GR (1984) Using a facility location algorithm to solve large set covering problems. Oper Res Lett 3(2):85zbMATHGoogle Scholar
  62. Vasko FJ, Wolf FE, Stott KL (1987) Optimal selection of ingot sizes via set covering. Oper Res 35(3):346Google Scholar
  63. Xin C, Zhou Y, Zhonghua T, Qifang L (2017) A hybrid algorithm combining glowworm swarm optimization and complete 2-opt algorithm for spherical travelling salesman problems. Appl Soft Comput 58:104. Google Scholar
  64. Yang XS (2010) Nature Inspired Cooperative Strategies for optimization (NICSO), vol 284. Studies in computational intelligence. Springer, Berlin, pp 65–74Google Scholar
  65. Yang XS, He X (2013) Firefly algorithm: recent advances and applications. Int J Swarm Intell 1(1):36. Google Scholar
  66. Yelbay B, Birbil Şİ, Bülbül K (2014) The set covering problem revisited: an empirical study of the value of dual information. JIMO 11(2):575MathSciNetzbMATHGoogle Scholar
  67. Yi W, Gao L, Li X, Zhou Y (2014) A new differential evolution algorithm with a hybrid mutation operator and self-adapting control parameters for global optimization problems. Appl Intell 42(4):642. Google Scholar
  68. Zhang S, Zhou Y, Li Z, Pan W (2016) Grey wolf optimizer for unmanned combat aerial vehicle path planning. Adv Eng Softw 99:121. Google Scholar
  69. Zhao R, Tang W (2008) Monkey algorithm for global numerical optimization. J Uncertain Syst 2(3):165Google Scholar
  70. Zhou Y (2016) Hybrid symbiotic organisms search algorithm for solving 0–1 knapsack problem. Int J Bio Inspir Comput 1(1):1. Google Scholar
  71. Zhou Y, Chen H, Zhou G (2014) Invasive weed optimization algorithm for optimization no-idle flow shop scheduling problem. Neurocomputing 137:285. Google Scholar
  72. Zhou Y, Luo Q, Chen H, He A, Wu J (2015a) A discrete invasive weed optimization algorithm for solving traveling salesman problem. Neurocomputing 151:1227. Google Scholar
  73. Zhou Y, Li L, Ma M (2015b) A complex-valued encoding bat algorithm for solving 0–1 knapsack problem. Neural Process Lett 44(2):407. Google Scholar
  74. Zhou Y, Bao Z, Luo Q, Zhang S (2016a) A complex-valued encoding wind driven optimization for the 0–1 knapsack problem. Appl Intell 46(3):684. Google Scholar
  75. Zhou Y, Chen X, Zhou G (2016b) An improved monkey algorithm for a 0–1 knapsack problem. Appl Soft Comput 38:817Google Scholar

Copyright information

© Springer Nature B.V. 2019

Authors and Affiliations

  1. 1.Pontificia Universidad Católica de ValparaísoValparaisoChile
  2. 2.Universidad de ValparaísoValparaisoChile
  3. 3.Universidad Técnica Federico Santa MaríaValparaisoChile
  4. 4.Escuela de Ingeniería IndustrialUniversidad Diego PortalesSantiagoChile
  5. 5.Universidad Tecnológica de Chile INACAPSantiagoChile

Personalised recommendations