This is the simplest generic genetic algorithm for finding the roots of polynomial. It was done as a part of assignment for the course of Evolutionary Computation.
The goal was to maximize (x1*x2*x3*x4*x5) / (x6*x7*x8*x9*x10), 1 ≤ xi ≤ 10 using the genetic algorithm. User also can specify the population size, number of generations, number of mutate points and the size of tournament (for tournament selection). The program was written in C, but using g++ (gcc) compiler for C++.
The source code can be downloaded here.