Cluster Computing

, Volume 20, Issue 3, pp 1937–1950 | Cite as

A cloud-based enhanced differential evolution algorithm for parameter estimation problems in computational systems biology

  • Diego Teijeiro
  • Xoán C. Pardo
  • David R. Penas
  • Patricia GonzálezEmail author
  • Julio R. Banga
  • Ramón Doallo


Metaheuristics are gaining increasing recognition in many research areas, computational systems biology among them. Recent advances in metaheuristics can be helpful in locating the vicinity of the global solution in reasonable computation times, with Differential Evolution (DE) being one of the most popular methods. However, for most realistic applications, DE still requires excessive computation times. With the advent of Cloud Computing effortless access to large number of distributed resources has become more feasible, and new distributed frameworks, like Spark, have been developed to deal with large scale computations on commodity clusters and cloud resources. In this paper we propose a parallel implementation of an enhanced DE using Spark. The proposal drastically reduces the execution time, by means of including a selected local search and exploiting the available distributed resources. The performance of the proposal has been thoroughly assessed using challenging parameter estimation problems from the domain of computational systems biology. Two different platforms have been used for the evaluation, a local cluster and the Microsoft Azure public cloud. Additionally, it has been also compared with other parallel approaches, another cloud-based solution (a MapReduce implementation) and a traditional HPC solution (a MPI implementation)


Parallel metaheuristics Differential evolution Local search Cloud computing Spark 



This research received financial support from the Spanish Government (and the FEDER) through the projects DPI2014-55276-C5-2-R, TIN2013-42148-P and TIN2016-75845-P, and from the Galician Government under the Consolidation Program of Competitive Research Units (Network Ref. R2016/045 and Project Ref. GRC2013/055), all of them cofunded by FEDER funds of the EU. We also acknowledge Microsoft Research for being awarded with a sponsored Azure account.


  1. 1.
    Alba, E., Luque, G., Nesmachnow, S.: Parallel metaheuristics: recent advances and new trends. Int. Trans. Oper. Res. 20(1), 1–48 (2013)CrossRefzbMATHGoogle Scholar
  2. 2.
    Almquist, J., Cvijovic, M., Hatzimanikatis, V., Nielsen, J., Jirstrand, M.: Kinetic models in industrial biotechnology - Improving cell factory performance. Metab. Eng. pp. 1–22 (2014)Google Scholar
  3. 3.
    Apolloni, J., García-Nieto, J., Alba, E., Leguizamón, G.: Empirical evaluation of distributed differential evolution on standard benchmarks. Appl. Math. Comput. 236, 351–366 (2014)MathSciNetzbMATHGoogle Scholar
  4. 4.
    Ashyraliyev, M., Fomekong-Nanfack, Y., Kaandorp, J.A., Blom, J.G.: Systems biology: parameter estimation for biochemical models. Febs J. 276(4), 886–902 (2009)CrossRefGoogle Scholar
  5. 5.
    Banga, J., Balsa-Canto, E.: Parameter estimation and optimal experimental design. Essays Biochem. 45, 195–210 (2008)CrossRefGoogle Scholar
  6. 6.
    Brest, J., Greiner, S., Boskovic, B., Mernik, M., Zumer, V.: Self-adapting control parameters in differential evolution: a comparative study on numerical benchmark problems. IEEE Trans. Evol. Comput. 10(6), 646–657 (2006)CrossRefGoogle Scholar
  7. 7.
    Cedersund, G., Samuelsson, O., Ball, G., Tegnér, J., Gomez-Cabrero, D.: Uncertainty in biology: a computational modeling approach. In: Geris, L., Gomez-Cabrero, D. (eds.) Optimization in Biology Parameter Estimation and the Associated Optimization Problem, pp. 177–197. Springer International Publishing, Cham (2016)Google Scholar
  8. 8.
    Daoudi, M., Hamena, S., Benmounah, Z., Batouche, M.: Parallel differential evolution clustering algorithm based on MapReduce. In: 6th International Conference of Soft Computing and Pattern Recognition (SoCPaR), IEEE, pp. 337–341 (2014)Google Scholar
  9. 9.
    Das, S., Mullick, S.S., Suganthan, P.: Recent advances in differential evolution-an updated survey. Swarm Evol. Comput. 27, 1–30 (2016)CrossRefGoogle Scholar
  10. 10.
    Das, S., Suganthan, P.N.: Differential evolution: a survey of the state-of-the-art. IEEE Trans. Evol. Comput. 15(1), 4–31 (2011)CrossRefGoogle Scholar
  11. 11.
    Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. In: The 6th USENIX Symposium on Operating Systems Design and Implementation (2004)Google Scholar
  12. 12.
    Deng, C., Tan, X., Dong, X., Tan, Y.: A parallel version of differential evolution based on resilient distributed datasets model. In: Gong, M., Pan, L., Song, T., Tang, K., Zhang, X. (eds.) Bio-Inspired Computing-Theories and Applications, pp. 84–93. Springer, Berlin (2015)CrossRefGoogle Scholar
  13. 13.
    Dennis Jr., J.E., Gay, D.M., Welsch, R.E.: Algorithm 573: Nl2sol - an adaptive nonlinear least-squares algorithm. ACM Trans. Math. Softw. 7(3), 369–383 (1981)CrossRefGoogle Scholar
  14. 14.
    Egea, J.A., Rodríguez-Fernández, M., Banga, J.R., Martí, R.: Scatter search for chemical and bio-process optimization. J. Global Optim. 37(3), 481–503 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Ewen, S., Tzoumas, K., Kaufmann, M., Markl, V.: Spinning fast iterative data flows. CoRR abs/1208.0088 (2012).
  16. 16.
    Gábor, A., Banga, J.R.: Robust and efficient parameter estimation in dynamic models of biological systems. BMC Syst. Biol. 9(1), 74 (2015)CrossRefGoogle Scholar
  17. 17.
    Karr, J.R., Sanghvi, J.C., Macklin, D.N., Gutschow, M.V., Jacobs, J.M., Bolival, B., Assad-Garcia, N., Glass, J.I., Covert, M.W.: A whole-cell computational model predicts phenotype from genotype. Cell 150(2), 389–401 (2012)CrossRefGoogle Scholar
  18. 18.
    Kushida, J.I., Oba, K., Hara, A., Takahama, T.: Solving quadratic assignment problems by differential evolution. In: 6th International Conference on Soft Computing and Intelligent Systems, and 13th International Symposium on Advanced Intelligence Systems, SCIS/ISIS 2012, pp. 639–644 (2012)Google Scholar
  19. 19.
    Le Novère, N.: Quantitative and logic modelling of molecular and gene networks. Nat. Rev. Genet. 16(3), 146–158 (2015)CrossRefGoogle Scholar
  20. 20.
    Link, H., Christodoulou, D., Sauer, U.: Advancing metabolic models with kinetic information. Current Opin. Biotechnol. 29, 8–14 (2014)CrossRefGoogle Scholar
  21. 21.
    Lipniacki, T., Paszek, P., Brasier, A., Luxon, B., Kimmel, M.: Mathematical model of nf-\(\kappa \)b regulatory module. J. Theor. Biol. 228(2), 195–215 (2004)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Locke, J., Millar, A., Turner, M.: Modelling genetic networks with noisy and varied experimental data: the circadian clock in arabidopsis thaliana. J. Theor. Biol. 234(3), 383–393 (2005)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Moles, C., Mendes, P., Banga, J.R.: Parameter estimation in biochemical pathways: a comparison of global optimization methods. Gen. Res. 13(11), 2467–2474 (2003)CrossRefGoogle Scholar
  24. 24.
    Neri, F., Tirronen, V., Kärkkäinen, T.: Enhancing differential evolution frameworks by scale factor local search - part ii. In: 2009 IEEE Congress on Evolutionary Computation, CEC 2009, pp. 118–125 (2009)Google Scholar
  25. 25.
    Noman, N., Iba, H.: Enhancing differential evolution performance with local search for high dimensional function optimization. In: GECCO 2005 - Genetic and Evolutionary Computation Conference, pp. 967–974 (2005)Google Scholar
  26. 26.
    Noman, N., Iba, H.: Accelerating differential evolution using an adaptive local search. IEEE Trans. Evol. Comput. 12(1), 107–125 (2008)CrossRefGoogle Scholar
  27. 27.
    Ntipteni, M.S., Valakos, I.M., Nikolos, I.K.: An asynchronous parallel differential evolution algorithm. In: Proceedings of the ERCOFTAC conference on design optimisation: methods and application (2006)Google Scholar
  28. 28.
    Penas, D., Banga, J., González, P., Doallo, R.: Enhanced parallel differential evolution algorithm for problems in computational systems biology. Appl. Soft Comput. 33, 86–99 (2015).
  29. 29.
    Ruciński, M., Izzo, D., Biscani, F.: On the impact of the migration topology on the island model. Parallel Comput. 36(10–11), 555–571 (2010)CrossRefzbMATHGoogle Scholar
  30. 30.
    Schneider, E., Krohling, R.A.: Differential evolution and tabu search to find multiple solutions of multimodal optimization problems. In: Snasel, V., Kromer, P., Koppen, M., Schaefer, G. (eds.) Soft Computing in Industrial Applications. Advances in Intelligent Systems and Computing, vol. 223, pp. 61–69. Springer International Publishing, Berlin (2014)CrossRefGoogle Scholar
  31. 31.
    Smallbone, K., Mendes, P.: Large-scale metabolic models: from reconstruction to differential equations. Ind. Biotechnol. 9(4), 179–184 (2013)CrossRefGoogle Scholar
  32. 32.
    Srinivas, M., Rangaiah, G.: Differential evolution with tabu list for global optimization and its application to phase equilibrium and parameter estimation problems. Ind. Eng. Chem. Res. 46(10), 3410–3421 (2007)CrossRefGoogle Scholar
  33. 33.
    Storn, R., Price, K.: Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces. J. Global Optim. 11(4), 341–359 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    Sun, J., Garibaldi, J.M., Hodgman, C.: Parameter estimation using metaheuristics in systems biology: a comprehensive review. IEEE/ACM Trans. Comput. Biol. Bioinform. 9(1), 185–202 (2012)CrossRefGoogle Scholar
  35. 35.
    Tagawa, K., Ishimizu, T.: Concurrent differential evolution based on MapReduce. Int. J. Comput. 4(4), 161–168 (2010)Google Scholar
  36. 36.
    Tasoulis, D.K., Pavlidis, N.G., Plagianakos, V.P., Vrahatis, M.N.: Parallel differential evolution. In: IEEE Congress on Evolutionary Computation, CEC2004, vol. 2, pp. 2023–2029. IEEE (2004)Google Scholar
  37. 37.
    Teijeiro, D., Pardo, X.C., González, P., Banga, J.R., Doallo, R.: Implementing parallel differential evolution on Spark. In: Applications of Evolutionary Computation. Lecture Notes in Computer Science, Vol. 9598, pp. 75–90. Springer (2016)Google Scholar
  38. 38.
    Teijeiro, D., Pardo, X.C., González, P., Banga, J.R., Doallo, R.: Towards cloud-based parallel metaheuristics: a case study in computational biology with differential evolution and spark. Int. J. High Perform. Comput. Appl. (2016)Google Scholar
  39. 39.
    Teijeiro, D., Pardo, X.C., Penas, D.R., González, P., Banga, J.R., Doallo, R.: Evaluation of parallel differential evolution implementations on MapReduce and Spark. In: Lecture Notes in Computer Science, in press. Springer (2016)Google Scholar
  40. 40.
    Tirronen, V., Neri, F., Rossi, T.: Enhancing differential evolution frameworks by scale factor local search - part i. In: 2009 IEEE Congress on Evolutionary Computation, CEC 2009, pp. 94–101 (2009)Google Scholar
  41. 41.
    Crepinšek, M., Liu, S.H., Mernik, M.: Exploration and exploitation in evolutionary algorithms: a survey. ACM Comput. Surv. 45(3), 35 (2013)zbMATHGoogle Scholar
  42. 42.
    Villaverde, A., Banga, J.R.: Reverse engineering and identification in systems biology: strategies, perspectives and challenges. J. R Soc. Interface 11(91), 20130505 (2014)CrossRefGoogle Scholar
  43. 43.
    Weber, M., Neri, F., Tirronen, V.: Shuffle or update parallel differential evolution for large-scale optimization. Soft Comput. 15(11), 2089–2107 (2011)CrossRefGoogle Scholar
  44. 44.
    Weber, M., Neri, F., Tirronen, V.: A study on scale factor/crossover interaction in distributed differential evolution. Artif. Intell. Rev. 39(3), 195–224 (2013)CrossRefGoogle Scholar
  45. 45.
    Weihmann, L., Martins, D., dos Santos Coelho, L.: Modified differential evolution approach for optimization of planar parallel manipulators force capabilities. Expert Syst. Appl. 39(6), 6150–6156 (2012)CrossRefGoogle Scholar
  46. 46.
    Zaharia, M., et al.: Resilient distributed datasets: a fault-tolerant abstraction for in-memory cluster computing. In: The 9th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2012 (2012)Google Scholar
  47. 47.
    Zhao, S.Z., Suganthan, P.N., Das, S.: Self-adaptive differential evolution with multi-trajectory search for large-scale optimization. Soft Comput. 15(11), 2175–2185 (2011)CrossRefGoogle Scholar
  48. 48.
    Zhou, C.: Fast parallelization of differential evolution algorithm using MapReduce. In: Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation, pp. 1113–1114. ACM (2010)Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.Grupo de Arquitectura de ComputadoresUniversidade da CoruñaA CoruñaSpain
  2. 2.BioProcess Engineering GroupIIM-CSICVigoSpain

Personalised recommendations