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:
- Monoparametric optimization problem (with continuous parameter)
- Binary encoded genotypes (with strings)
- Genotypes of only one chromosome
- Number of iterations as the termination criterion
- Elitism by cloning of the best individuals
- Roulette wheel method for the selection of parents
- Generational replacement of parents and children
- One-point crossover and cloning of parents
- Deterministic method of mutation (probability of mutation per bit)
For more information you can get the project itself: