Classes to provide a genetic algorithm framework