Abstract
In this paper, a heuristic method for the optimal placement of monitors in communication networks is proposed. In order to be able to make informed decisions, a first step towards securing a communication network is deploying an adequate sensor infrastructure. However, appropriate monitoring should take into account the priority of the communication links as well as the location of monitors. The goal is to cover the whole network with the minimum investment and impact on performance, i.e., the optimal amount and positions of monitors in the network. In order to be able to counteract dynamic changes in those networks, e.g., link failures, attacks, or entering and leaving nodes, this work focuses on swiftly obtaining results having an acceptable quality. To achieve this goal, an effective hybrid search heuristic is introduced, combining the computational efficiency of a greedy local search method with the robustness of evolution-based heuristics. It is shown that this approach works well on synthetic benchmark instances and real-world network models, having up to millions of nodes, by comparing the performance of a common evolutionary algorithm (EA) to its hybrid search counterparts. It is observed that the hybrid search heuristics produce good solutions on the instances under study in a reasonable amount of time. Regarding the fitness of the solutions found, the hybrid approach outperforms the common EA in all the experiments. Moreover, on all problem instances, the hybrid EA finds the best solutions significantly earlier in the search process, which is key when monitoring a communication infrastructure which is subject to change.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
In the seminal work by Karp (1972), a decision version of the vertex-cover problem is proved \(\mathcal {NP}\)-complete. A property of \(\mathcal {NP}\)-complete problems is that computing exact solutions is not efficient, i.e. all algorithms known take exponential time in the size of the instance. Finding exact solutions to arbitrary instances of a given \(\mathcal {NP}\)-complete problem becomes impractical as their size increases (van Leeuwen 1990).
The complement of a vertex cover in a graph is an independent set, thus a minimum vertex cover can be straightforwardly recovered from a maximum independent set.
References
Aksoy, L., Gunes, E.O.: An evolutionary local search algorithm for the satisfiability problem. In: Savaci, F.A. (ed.) Artificial Intelligence and Neural Networks, pp. 185–193. Springer, Berlin (2006). https://doi.org/10.1007/11803089_22
Alba, E., Dorronsoro, B.: Cellular Genetic Algorithms, Operations Research/Computer Science Interfaces Series, vol. 42. Springer, Boston (2008). https://doi.org/10.1007/978-0-387-77610-1
Back, T., Khuri, S.: An evolutionary heuristic for the maximum independent set problem. In: Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence, IEEE, pp. 531–535 (1994). https://doi.org/10.1109/ICEC.1994.350004
Benzekki, K., El Fergougui, A., Elbelrhiti Elalaoui, A.: Software-defined networking (SDN): a survey. Secur. Commun. Netw. 9(18), 5803–5833 (2016). https://doi.org/10.1002/sec.1737
Borgatti, S.P., Everett, M.G.: A graph-theoretic perspective on centrality. Soc. Netw. 28(4), 466–484 (2006). https://doi.org/10.1016/j.socnet.2005.11.005
Cai, S.: Balance between complexity and quality: local search for minimum vertex cover in massive graphs. In: Proceedings of the 24th International Conference on Artificial Intelligence, AAAI Press, pp. 747–753 (2015)
Cai, S., Su, K., Sattar, A.: Local search with edge weighting and configuration checking heuristics for minimum vertex cover. Artif. Intell. 175(9–10), 1672–1696 (2011). https://doi.org/10.1016/j.artint.2011.03.003
Cai, S., Su, K., Luo, C., Sattar, A.: NuMVC: an efficient local search algorithm for minimum vertex cover. J. Artif. Intell. Res. 46(1), 687–716 (2013). https://doi.org/10.1613/jair.3907
Cantieni, G.R., Iannaccone, G., Barakat, C., Diot, C., Thiran, P.: Reformulating the monitor placement problem. In: Proceedings of the 2006 ACM CoNEXT conference on—CoNEXT ’06, ACM Press, New York, USA, CoNEXT ’06, p. 1 (2006). https://doi.org/10.1145/1368436.1368444
Chauhan, A., Friedrich, T., Quinzan, F.: Approximating optimization problems using EAs on scale-free networks. In: Proceedings of the Genetic and Evolutionary Computation Conference on—GECCO ’17, ACM Press, New York, USA, pp. 235–242 (2017). https://doi.org/10.1145/3071178.3071257
Coello Coello, C.A.: Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art. Comput. Methods Appl. Mech. Eng. 191(11–12), 1245–1287 (2002). https://doi.org/10.1016/S0045-7825(01)00323-1
Cohoon, J.P., Hedge, S.U., Martine, W.N., Richards, D.: Punctuated equilibria: a parallel genetic algorithm. In: Proceedings of the Second International Conference on Genetic Algorithms on Genetic Algorithms and Their Application, L. Erlbaum Associates Inc., pp. 148–154 (1987)
Darwin, C.: On the origin of species by means of natural selection, or, the preservation of favoured races in the struggle for life. John Murray, London (1859). https://doi.org/10.5962/bhl.title.59991
Das, A., Chakrabarti, B.K.: Quantum Annealing and Other Optimization Methods, Lecture Notes in Physics, vol. 679. Springer, Berlin (2005). https://doi.org/10.1007/11526216
Diestel, R.: Graph Theory, Graduate Texts in Mathematics, vol. 173, 5th edn. Springer, Berlin (2017). https://doi.org/10.1007/978-3-662-53622-3
Dinur, I., Safra, S.: On the hardness of approximating vertex cover. Ann. Math. 162(1), 439–485 (2005). https://doi.org/10.4007/annals.2005.162.439
Doerr, B., Johannsen, D., Winzen, C.: Multiplicative drift analysis. Algorithmica 64(4), 673–697 (2012). https://doi.org/10.1007/s00453-012-9622-x
Duhamel, C., Lacomme, P., Quilliot, A., Toussaint, H.: A multi-start evolutionary local search for the two-dimensional loading capacitated vehicle routing problem. Comput. Oper. Res. 38(3), 617–640 (2011). https://doi.org/10.1016/j.cor.2010.08.017
Eiben, A., Smith, J.: Introduction to Evolutionary Computing, Natural Computing Series, 2nd edn. Springer, Berlin (2015). https://doi.org/10.1007/978-3-662-44874-8
Evans, I.K.: Evolutionary algorithms for vertex cover. In: International Conference on Evolutionary Programming, Springer, pp. 377–386 (1998). https://doi.org/10.1007/BFb0040790
Gen, M., Cheng, R.: Genetic Algorithms and Engineering Optimization, Wiley Series in Engineering Design and Automation, vol. 7. Wiley, Hoboken (1999). https://doi.org/10.1002/9780470172261
Ghannadian, F., Alford, C., Shonkwiler, R.: Application of random restart to genetic algorithms. Inf. Sci. 95(1–2), 81–102 (1996). https://doi.org/10.1016/S0020-0255(96)00121-1
Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co., Inc, Boston (1989)
Hamming, R.W.: Error detecting and error correcting codes. Bell Syst. Tech. J. 29(2), 147–160 (1950). https://doi.org/10.1002/j.1538-7305.1950.tb00463.x
Holland, J.H.: Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence. MIT Press, Cambridge (1992)
Jackson, A.W., Milliken, W., Santivanez, C.A., Condell, M., Strayer, W.T.: A topological analysis of monitor placement. In: Sixth IEEE International Symposium on Network Computing and Applications (NCA 2007), IEEE, pp. 169–178 (2007). https://doi.org/10.1109/NCA.2007.3
Karp, R.M.: Reducibility among combinatorial problems. In: Complexity of Computer Computations, Springer, Boston, pp. 85–103 (1972). https://doi.org/10.1007/978-1-4684-2001-2_9
Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P.: Optimization by simulated annealing. Science 220(4598), 671–680 (1983). https://doi.org/10.1126/science.220.4598.671
Knight, S., Falkner, N., Nguyen, H.X., Tune, P., Roughan, M.: I can see for miles: re-visualizing the internet. IEEE Netw. 26(6), 26–32 (2012). https://doi.org/10.1109/MNET.2012.6375890
Lagraa, S., Francois, J.: Knowledge discovery of port scans from darknet. In: 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM), IEEE, pp. 935–940 (2017). https://doi.org/10.23919/INM.2017.7987415
Lawler, E.L., Wood, D.E.: Branch-and-bound methods: a survey. Oper. Res. 14(4), 699–719 (1966). https://doi.org/10.1287/opre.14.4.699
Leskovec, J., Kleinberg, J., Faloutsos, C.: Graph evolution. ACM Trans. Knowl. Discov. Data 1(1), 2-es (2007). https://doi.org/10.1145/1217299.1217301
López-Ibáñez, M., Dubois-Lacoste, J., Pérez Cáceres, L., Birattari, M., Stützle, T.: The irace package: Iterated racing for automatic algorithm configuration. Oper. Res. Perspect. 3, 43–58 (2016). https://doi.org/10.1016/j.orp.2016.09.002
Luling, R., Monien, B.: Load balancing for distributed branch and bound algorithms. In: Proceedings Sixth International Parallel Processing Symposium, IEEE Computer Soc. Press, pp. 543–548 (1992). https://doi.org/10.1109/IPPS.1992.222970
Mahfoud, S.: Crowding and preselection revisited. In: Urbana, vol. 51 (1992)
Mann, H.B., Whitney, D.R.: On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Stat. 18(1), 50–60 (1947). https://doi.org/10.1214/aoms/1177730491
Manzano, M., Calle, E., Torres-Padrosa, V., Segovia, J., Harle, D.: Endurance: a new robustness measure for complex networks under multiple failure scenarios. Comput. Netw. 57(17), 3641–3653 (2013). https://doi.org/10.1016/j.comnet.2013.08.011
Matei, R., Iamnitchi, A., Foster, P.: Mapping the Gnutella network. IEEE Internet Comput. 6(1), 50–57 (2002). https://doi.org/10.1109/4236.978369
McKinney, W.: Data structures for statistical computing in python. In: van der Walt, S., Millman, J. (Eds.) Proceedings of the 9th Python in Science Conference, pp. 51–56 (2010)
Mezura-Montes, E., Coello Coello, C.A.: Constraint-handling in nature-inspired numerical optimization: past, present and future. Swarm Evolut. Comput. 1(4), 173–194 (2011). https://doi.org/10.1016/j.swevo.2011.10.001
Milancovic, M.: Solving the generalized vertex cover problem by genetic algorithm. Comput. Inform. 29, 1251–1265 (2012)
Millman, K.J., Aivazis, M.: Python for scientists and engineers. Comput. Sci. Eng. 13(2), 9–12 (2011). https://doi.org/10.1109/MCSE.2011.36
Mueller-Bady, R., Gad, R., Kappes, M., Medina-Bulo, I.: Using genetic algorithms for deadline-constrained monitor selection in dynamic computer networks. In: Proceedings of the Companion Publication of the 2015 on Genetic and Evolutionary Computation Conference—GECCO Companion ’15, ACM Press, New York, USA, pp. 867–874 (2015). https://doi.org/10.1145/2739482.2768430
Mueller-Bady, R., Kappes, M., Bulo, I.M., Palomo-Lozano, F.: Leveraging diversity in evolutionary algorithms using a population injection method. In: 2016 20th International Conference on System Theory, Control and Computing (ICSTCC), IEEE, pp. 526–531 (2016). https://doi.org/10.1109/ICSTCC.2016.7790719
Mueller-Bady, R., Kappes, M., Atkinson, L., Medina-Bulo, I.: Multijob: a framework for efficient distribution of evolutionary algorithms for parameter tuning. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion on—GECCO ’17, ACM Press, New York, USA, pp. 1231–1238 (2017a). https://doi.org/10.1145/3067695.3082476
Mueller-Bady, R., Kappes, M., Medina-Bulo, I., Palomo-Lozano, F.: Optimization of monitoring in dynamic communication networks using a hybrid evolutionary algorithm. In: Proceedings of the Genetic and Evolutionary Computation Conference on—GECCO ’17, ACM Press, New York, USA, pp. 1200–1207 (2017b). https://doi.org/10.1145/3071178.3071255
Mühlenbein, H., Schomisch, M., Born, J.: The parallel genetic algorithm as function optimizer. Parallel Comput. 17(6–7), 619–632 (1991). https://doi.org/10.1016/S0167-8191(05)80052-3
Newman, M.J.: A measure of betweenness centrality based on random walks. Soc. Netw. 27(1), 39–54 (2005). https://doi.org/10.1016/j.socnet.2004.11.009
Pelikan, M.: Hierarchical Bayesian Optimization Algorithm, Studies in Fuzziness and Soft Computing, vol. 170. Springer, Berlin (2005). https://doi.org/10.1007/b10910
Pelikan, M., Goldberg, D.E.: Escaping hierarchical traps with competent genetic algorithms. In: Proceedings of the 3rd Annual Conference on Genetic and Evolutionary Computation, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, GECCO’01, pp. 511–518 (2001)
Pratap Chandu, D.: A parallel genetic algorithm for three dimensional bin packing with heterogeneous bins. Int. J. Comput. Trends Technol. 17(1), 33–38 (2014). https://doi.org/10.14445/22312803/IJCTT-V17P108
Richter, S., Helmert, M., Gretton, C.: A stochastic local search approach to vertex cover. In: Hertzberg, J., Beetz, M., Englert, R. (eds.) KI 2007: Advances in Artificial Intelligence, Springer, Berlin, pp. 412–426 (2007). https://doi.org/10.1007/978-3-540-74565-5_31
Rossi, R.A., Ahmed, N.K.: The network data repository with interactive graph analytics and visualization. In: Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, AAAI Press, pp. 4292–4293 (2015)
Spears, W.: Simple subpopulation schemes. In: Proceedings of the Evolutionary Programming Conference, World Scientific, vol. 3, pp. 296–307 (1994)
Stephenson, K., Zelen, M.: Rethinking centrality: methods and examples. Soc. Netw. 11(1), 1–37 (1989). https://doi.org/10.1016/0378-8733(89)90016-6
Tange, O.: GNU parallel: the command-line power tool. USENIX Mag. 36(1), 42–47 (2011)
Ulker, O., Landa-Silva, D.: Evolutionary local search for solving the office space allocation problem. In: 2012 IEEE Congress on Evolutionary Computation, IEEE, pp. 1–8 (2012). https://doi.org/10.1109/CEC.2012.6253009
van Leeuwen, J.: Handbook of Theoretical Computer Science. MIT Press, Cambridge (1990)
Whitley, D.: Cellular genetic algorithms. In: Forrest, S. (ed.) Proceedings of the Fifth International Conference on Genetic Algorithms (ICGA93), Morgan Kaufmann Publishers Inc., p. 658 (1993)
Wolpert, D., Macready, W.: No free lunch theorems for optimization. IEEE Trans. Evolut. Comput. 1(1), 67–82 (1997). https://doi.org/10.1109/4235.585893
Wolpert, D., Macready, W.: Coevolutionary free lunches. IEEE Trans. Evolut. Comput. 9(6), 721–735 (2005). https://doi.org/10.1109/TEVC.2005.856205
Zhang, D., Cetinkaya, E.K., Sterbenz, J.P.: Robustness of mobile ad hoc networks under centrality-based attacks. In: 2013 5th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT), IEEE, pp. 229–235 (2013). https://doi.org/10.1109/ICUMT.2013.6798431
Acknowledgements
This work was supported in the framework of Hessen ModellProjekte, financed with funds of the European Union (European Regional Development Fund-ERDF) and the State of Hessen in the context of the research project “Reactive network Optimization by Using SDN-Technology” (ROBUST) (HA Project No. 473/15-15), and the Spanish Ministry of Economy and Competitiveness (National Program for Research, Development and Innovation) and with funds of the European Union (European Regional Development Fund-ERDF), project DArDOS TIN2015-65845-C3-3-R and project FAME (RTI2018-093608-B-C33). Responsible for the content are the authors.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Mueller-Bady, R., Kappes, M., Medina-Bulo, I. et al. An evolutionary hybrid search heuristic for monitor placement in communication networks. J Heuristics 25, 861–899 (2019). https://doi.org/10.1007/s10732-019-09414-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10732-019-09414-z