Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Genetic programming in c++, library suggestions? [closed]

I'm looking to add some genetic algorithms to an Operations research project I have been involved in. Currently we have a program that aids in optimizing some scheduling and we want to add in some heuristics in the form of genetic algorithms. Are there any good libraries for generic genetic programming/algorithms in c++? Or would you recommend I just code my own?

I should add that while I am not new to c++ I am fairly new to doing this sort of mathematical optimization work in c++ as the group I worked with previously had tended to use a proprietary optimization package.

We have a fitness function that is fairly computationally intensive to evaluate and we have a cluster to run this on so parallelized code is highly desirable.

So is c++ a good language for this? If not please recommend some other ones as I am willing to learn another language if it makes life easier.

thanks!

like image 454
shuttle87 Avatar asked May 18 '10 13:05

shuttle87


2 Answers

I would recommend rolling your own. 90% of the work in a GP is coding the genotype, how it gets operated on, and the fitness calculation. These are parts that change for every different problem/project. The actual evolutionary algorithm part is usually quite simple.

There are several GP libraries out there ( http://en.wikipedia.org/wiki/Symbolic_Regression#Implementations ). I would use these as examples and references though.

C++ is a good choice for GP because they tend to be very computationally intensive. Usually, the fitness function is the bottleneck, so it's worthwhile to at least make this part compiled/optimized.

like image 56
Inverse Avatar answered Oct 05 '22 23:10

Inverse


I use GAUL

it's a C library with all you want.
( pthread/fork/openmp/mpi )
( various crossover / mutation function )
( non GA optimisation: Hill-Climbing, N-M Simplex, Simulated annealling, Tabu, ... )

Why build your own library when there is such powerful tools ???

like image 25
Guillaume Massé Avatar answered Oct 05 '22 23:10

Guillaume Massé