Project #1 - Genetic Algorithm

Evolutionary Computation
Spring 2014
Due Feb. 21st

The goal of this project is to write a genetic algorithm (GA) for a series of benchmark optimization problems. In each case the problem is to optimize, i.e. find the (global) minimum, of a real valued function.

To test the GA we'll use 6 starndard, benchmark, real-valued functions:

  1. Spherical
  2. Rosenbrock
  3. Rastrigin
  4. Schwefel
  5. Ackley
  6. Griewangk
Each of these functions is defined at: http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume24/ortizboyer05a-html/node6.html#tabla:DefFunc . (Note the first function labeled as Schwefel on this page is actually the double sum, which we are not using. We are using the Schwefel function defined immediately after the Rastigin function.)

Pay careful attention to the ranges of the functions. You will want to use those ranges both in creating intial individuals and in controlling the generation of neighbors, e.g. you don't want your GA 'wondering' out of the search space. Note that here the functions are all defined with 30 dimensions, e.g. P = 30 in the function definitions.

Project Requirements: