JCell Framework

Please, note that this is a beta version of the library, and not all its possibilities have been tested. If you find errors, please send the configuration file to the administrator of this site.

JCell was created by the Networking and Emerging Optimization group, from the University of Málaga, Spain. NEO group UMA

JCell is a framework for working mainly with cellular genetic algorithms (cGAs), but also it has implemented steady-state GAs, generational GAs, and distributed GAs (only a sequential version with ssGAs in the islands). The design of JCell allows the user to implement any metaheuristic, so we would be glad if you provide us your new algorithms (as well as operators, representations, etc.) implemented in JCell to add them to this repository.

JCell is coded in Java and provides to the user some of the most recent proposed techniques in the literature of cGAs (e.g., self-adaptive and hierarchical populations, anysotropic selection, a novel multi-objective cGA, etc.). The use of JCell is very simple, since it is only required the manipulation of a simple configuration file (some example configuration files are provided in the cfg directory). JCell allows the user to work in combinatorial optimization, integer programming, continuous optimization, and multi-objective environments, all this with or without constraints.

We consider JCell is a really interesting and useful tool for future research, since it allows the combination of several new promising techniques recently published in the literature. Additionally, its careful design following the software engineering recommendations provides an intuitive code, allowing the user to easily make modifications and/or add new features to the framework. JCell is implemented in Java, a very well-known programming language that allows to execute our code in most computer platforms without any modification. It is possible because Java is an interpreted language, and thus a Java program can run in any kind computer having the Java Virtual Machine --the Java interpreter-- installed. JCell is compatible from version JDK 1.5 ahead.

JCell can be used both as a library that can be imported by our Java program (the file JCellIslands.java is an example) or it can be directly executed using the configuration file with class JCell.java. Klick the links below, for more information on the descpription of JCell or the use of its configuration file.

Description of JCell.

Configuration of JCell.

To download your copy of JCell type the following command:

svn checkout svn://svn.gforge.uni.lu/svn/jcell

For more information, go to JCell project website


New book

Buy it

Cellular Genetic Algorithms
E. Alba, B. Dorronsoro
Series: Operations Research/Computer Science
Vol. 42
250 p.
ISBN: 978-0-387-77609-5
Table of Contents | Buy it!