I quote below a personal portable implementation (in C++) of a classic genetic algorithm (evolutionary algorithm) used to maximize the function f(x) = sin(x) in the domain 0 <= x <= 2pi. You can compile the program with the g++ compiler.

The Genetic Algorithm implements the following features:

  1. Monoparametric optimization problem (with continuous parameter)
  2. Binary encoded genotypes (with strings)
  3. Genotypes of only one chromosome
  4. Number of iterations as the termination criterion
  5. Elitism by cloning of the best individuals
  6. Roulette wheel method for the selection of parents
  7. Generational replacement of parents and children
  8. One-point crossover and cloning of parents
  9. Deterministic method of mutation (probability of mutation per bit)

For more information you can get the project itself:

`evolutionary-computation-paradigms