FLASH! Because AGAC likes to dump core, lets move it to /dev/null and use SGA-C instead. I have also added two days to the due date.

Using SGA-C from the class directory ~shartley/MCS770, maximize the function
f(x)=x*sin(10*pi*x)+2
over the range -1 to 2. Use a 30 bit encoding for the variable x. You will have to think carefully about your encoding scheme since x can take on negative values!

Use the stub app_report() to print out the floating point value of x for the best fit chromosome.

For comparison, try simple_ga_prog from the class directory on the same problem.

For both programs, vary the population size, the crossover probability, and the mutation probability to see what works best.

This programming assignment is due in class Monday, April 15, 1996. Extended to Wednesday, April 17, 1996, 5pm.

There are three things to turn in electronically using the submit command:

  1. A listing of your objective (fitness) function from the SGA-C and simple_ga_prog source code, plus any other procedures or code you change.
  2. A listing of your best runs of SGA-C and simple_ga_prog. DO NOT include all generations! Use the script command and then edit out all but the first few, a middle few, and the last few generations.
  3. A write-up answering these questions describing how you optimized the function using genetic algorithms and what you learned (about one single-spaced page), and what problems you encountered while designing, implementing, and debugging your program and how you solved those problems. Be sure to compare the performance of SGA-C and simple_ga_prog on the function.
  4. Your write-up should clearly describe your encoding scheme, fitness function, crossover operators tried, mutation operators tried, and parameters that led to successful runs (population size, crossover and mutation probabilities).

Use the submit command to turn in file copies of all of the above. Place them in the Pr1 directory of MCS770. No more laserprinter and paper!