An Object-Oriented Library in JavaScript to Build Modular and Flexible Cross-Platform Evolutionary Algorithms

  • Víctor M. RivasEmail author
  • Juan Julián Merelo Guervós
  • Gustavo Romero López
  • Maribel Arenas-García
  • Antonio M. Mora
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8602)


This paper introduces jsEO, a new evolutionary computation library that is executed in web browsers, as it is written in Javascript. The library allows the rapid development of evolutionary algorithm, and makes easier the collaboration between different clients by means of individuals stored in a web server. In this work, jsEO has been tested against two simple problems, such as the Royal Road function and a 128-terms equation, and analysing how many machines and evaluations it yields. This paper attempts to reproduce results of older papers using modern browsers and all kind of devices that, nowadays, have JavaScript integrated in the browser, and is a complete rewrite of the code using the popular MooTools library. Results show that the system makes easier the development of evolutionary algorithms, suited for different chromosomes representations and problems, that can be simultaneously executed in many different operating systems and web browsers, sharing the best solutions previously found.


Web browser-based computation Javascript library  Asynchronous communication Cross-platform evolutionary algorithms 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dionisio, J.D., Toal, R.: Programming With Javascript: Algorithms And Applications For Desktop And Mobile Browsers. Jones & Bartlett Learning (2011)Google Scholar
  2. 2.
    Sarmenta, L.F.G., Hirano, S.: Bayanihan: building and studying Web-based volunteer computing systems using Java. Future Generation Computer Systems 15(5–6), 675–686 (1999)CrossRefGoogle Scholar
  3. 3.
    Anderson, D.P., Korpela, E., Walton, R.: High-performance task distribution for volunteer computing. In: E-SCIENCE 2005: Proceedings of the First International Conference on e-Science and Grid Computing, pp. 196–203. IEEE Computer Society, Washington (2005)Google Scholar
  4. 4.
    Anderson, D.P., Cobb, J., Korpela, E., Lebofsky, M., Werthimer, D.: SETI@home: an experiment in public-resource computing. Commun. ACM 45(11), 56–61 (2002)CrossRefGoogle Scholar
  5. 5.
    Cappello, P., Mourloukos, D.: A scalable, robust network for parallel computing. In: JGI 2001: Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande, pp. 78–86. ACM Press, New York (2001)Google Scholar
  6. 6.
    Arenas, M., Collet, P., Eiben, A.E., Jelasity, M., Merelo, J.J., Paechter, B., Preuß, M., Schoenauer, M.: A Framework for Distributed Evolutionary Algorithms. In: Guervós, J.J.M., Adamidis, P.A., Beyer, H.-G., Fernández-Villacañas, J.-L., Schwefel, H.-P. (eds.) PPSN 2002. LNCS, vol. 2439, p. 665. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  7. 7.
    Mason, R., Kelly, W.: G2–P2P: a fully decentralised fault-tolerant cycle-stealing framework. In: ACSW Frontiers 2005: Proceedings of the 2005 Australasian workshop on Grid computing and e-research, pp. 33–39. Australian Computer Society Inc., Darlinghurst (2005)Google Scholar
  8. 8.
    Brinzarea, B., Dari, C.: AJAX and PHP: Building Modern Web Applications, 2 edn. Packt Publishing (2010)Google Scholar
  9. 9.
    Goldberg, K.H.: XML. Peachpit Press (2009)Google Scholar
  10. 10.
    García-Sánchez, P.: J. González, Pedro A. Castillo, Maribel García Arenas, and Juan Julián Merelo Guervós. Service oriented evolutionary algorithms. Soft Comput. 17(6), 1059–1075 (2013)CrossRefGoogle Scholar
  11. 11.
    Cantú-Paz, E.: Migration policies, selection pressure, and parallel evolutionary algorithms. Journal of Heuristics 7(4), 311–334 (2001)CrossRefzbMATHGoogle Scholar
  12. 12.
    Merelo, J.J., Castillo, P.A., Laredo, J.L.J., Mora, A., Prieto, A.: Asynchronous distributed genetic algorithms with JavaScript and JSON. In: WCCI 2008 Proceedings, pp. 1372–1379. IEEE Press (2008)Google Scholar
  13. 13.
    Merelo-Guervós, J.-J., Arenas, M.G., Carpio, J., Castillo, P., Rivas, V.M., Romero, G., Schoenauer, M.: Evolving objects. In: Wang, P.P. (ed.) Proc. JCIS 2000 (Joint Conference on Information Sciences), vol. I, pp. 1083–1086 (2000) ISBN: 0-9643456-9-2Google Scholar
  14. 14.
    Arenas, M.G., Foucart, L., Merelo-Guervós, J.-J., Castillo, P.A.: JEO: a framework for Evolving Objects in Java. In: Actas Jornadas de Paralelismo, pp. 185–191. UPV, Universidad Politécnica de Valencia (2001).
  15. 15.
    Merelo, J.J., García, A.M., Laredo, J.L.J., Lupión, J., Tricas, F.: Browser-based distributed evolutionary computation: performance and scaling behavior. In: GECCO 2007: Proceedings of the 2007 GECCO Conference Companion on Genetic and Evolutionary Computation, pp. 2851–2858. ACM Press, New York (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Víctor M. Rivas
    • 1
    Email author
  • Juan Julián Merelo Guervós
    • 2
  • Gustavo Romero López
    • 2
  • Maribel Arenas-García
    • 2
  • Antonio M. Mora
    • 2
  1. 1.Universidad de JaénJaénSpain
  2. 2.Universidad de GranadaGranadaSpain

Personalised recommendations