Which Java library/libraries for Genetic Algorithms? [closed]
Asked Answered
S

7

25

I want to implement some simple genetic algorithms in Java.

So far I found only JGAP. Did somebody has some experience with that? And do you know other Java libraries for GA?

I do not want to write it my own as in GA written in Java and I have to use Java, so What is the most active genetic programming library? is also not that helpful.

Septemberseptembrist answered 21/7, 2010 at 14:38 Comment(0)
O
25

I wrote the Watchmaker Framework so my opinions are not unbiased. ECJ and JGAP are the two most established options and probably the most comprehensive. On the other hand their age means they target older versions of Java, which means no generics.

The Hidden Clause blog did a series of posts (scroll down the list to see them) comparing JGAP, ECJ and Watchmaker.

Of the frameworks I didn't write, Jenes is probably the one that has the API that I most like the look of. It too uses a more modern generics-based approach.

Oto answered 22/7, 2010 at 0:14 Comment(2)
Helpful answer indeed and very nice blog! Will read myself through it. Thanks for also mentioning, that your answer is not totally unbiased.Septemberseptembrist
Upvote because of the reference to Jenes. It's a beautifully structures libraryStealer
R
10

Maybe you will have a look at the GA (Jenetics) that I've written. It uses the Javolution library for parallelization and the JScience library for the numeric stuff. I think it's worth a look.

Reneareneau answered 28/7, 2011 at 21:26 Comment(0)
B
1

I know Apache Mahout (based on Apache Hadoop) has a load of machine learning type algorithms - although not sure if it's exactly what you're looking for?

http://mahout.apache.org/

Baudelaire answered 21/7, 2010 at 15:21 Comment(1)
Evolutionary algorithms in Mahout use Watchmaker. So if you need the Hadoop clustering stuff, go without Mahout, otherwise you can just use Watchmaker standalone (theoretically you can also cluster Watchmaker using Terracotta but I don't know how the performance compares).Oto
F
1

This is an alternative I had bookmarked for my own edification later. I've used JGAP in the past and been happy with it, but this one seems to have lots of excellent examples and I thought I'd give it a try next time I needed optimization code.

http://watchmaker.uncommons.org/

Fanestil answered 21/7, 2010 at 19:0 Comment(0)
A
1

Check out Apache Math - Genetics Algorithm. I have started to look at it. As I'm new to Genetics Algorithms, not sure of the comprehensiveness or not of this library. It does have a nice licensing model for multiple uses for academic and commercial use (Apache 2.0).

Aye answered 25/11, 2010 at 18:6 Comment(0)
S
1

I like Sean Luke's ECJ (Evolutionary Computation in Java):

http://cs.gmu.edu/~eclab/projects/ecj/

I've also ported this (independently) to C# .NET 4.0 here:

http://branecloud.codeplex.com

Ben

Supramolecular answered 1/6, 2011 at 16:58 Comment(0)
G
0

Have a look at Java GALib, Genetic Algorithm Library:

GALib, Java Genetic Algorithm (JAR) library, models chromosomes as real numbers, characters, strings, and string sequences. Very easy to use, just extend one of the existing GA classes and implement your fitness function. Sample GAs included.

Gaines answered 23/7, 2010 at 18:39 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.