Jenes 2.0 (read as "genes" or "jeans") is the new release of the optimized library for genetic algorithms in Java. The library is designed to be fast and memory light, but still very easy to use. The library is an open source project developed and by Intelligentia s.r.l. in collaboration with Computational and Intelligent System Engineering Lab (CISELab) at University of Sannio and hosted at sourceforge.com.


  • Optimized architecture and memory usage
  • Modular and highly reconfigurable algorithms
  • Strong type checking
  • Available for Java 1.5+
  • Log of experiments in MS Excel and .csv files
  • Different types of algorithms supported:
    • Simple
    • Crowding
    • Island
    • Steady State
  • Multi-objective optimization by NSGA2
  • Multithread support for parallel fitness evaluation on multi-core processors.
  • Several genetic operators
  • Individual and population pooling for improved memory management
The complete features list is described here.


Jenes is open source software. You can redistribute it and/or modify it under the terms of the GNU General Public License v.3  as published by the Free Software Foundation.



Project Statistics by Ohloh

The gadget spec URL could not be found

Project Analysis Summary

The gadget spec URL could not be found

Backward compatibility

Although major changes had place, Jenes 2.0 still keeps compatibility with code written for Jenes 1.3.

Keep in touch

We are very interested in any feedback you might have, including noticed bugs, details of how you're using Jenes and what you think needs improvement. 

You can email us at jenes@ciselab.org

The more feedback we get, the more we can improve Jenes.

If you have bugs to report please follow  this link at sourceforge.

If you have new features you would like to see in the upcoming releases, post them here at sourceforge.

If you are using jenes for your work, please just drop a line to our mailbox.

Thanks for your support!

Getting Started

Programming Jenes is really intuitive and only few minutes are required to get started with it. Before proceeding with the programming basics, it can be useful to understand how a genetic algorithm is structured in Jenes.
We prepared a collection of few tutorials in order to introduce the concepts behind the programming model of Jenes. Visit the page Tutorials for more information.

A complete description of the architecture is now available following the link.

A comparison with other libraries is discussed here.

Development Team

  • Luigi Troiano
  • Davide De Pasquale
  • Pasquale Marinaro