Genetic and Evolutionary Computation - Part I