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.
Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on bio-inspired operators such as mutation, crossover and selection. If this still doesn't sink in, then I'm sure Daniel Shiffman's playlist of GAs will help.
The best choice is MATLAB 2009b. You can use the GAOT tool box for minimizing or maximizing the objective function. I prefer Java because of object oriented approach. Its TRUE that the familarity with GA Parameter and its tuning is must.
A genetic operator is an operator used in genetic algorithms to guide the algorithm towards a solution to a given problem. There are three main types of operators (mutation, crossover and selection), which must work in conjunction with one another in order for the algorithm to be successful.
Genetic algorithms are designed to solve problems by using the same processes as in nature — they use a combination of selection, recombination, and mutation to evolve a solution to a problem.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With