CS 540, Spring 2009: Assignment 2
GAs and TSP

Code and Questions 1 and 2 Due Thursday 3/5/09 at beginning of class
Experiment data and Questions 3 and 4 Due Friday 3/13/09 at noon

For this assignment, you are required to implement a Genetic Algorithm to solve asymmetric TSPs, as in assignment 1.

As before, you have some latitude in your selection of language and algorithm. For language, if you wish to choose a language other than C, C++, Java or Lisp, you must obtain instructor's permission.

For algorithm, the primary restriction is that you need to follow the Canonical GA framework described in D. Whitley's tutorial. Otherwise, you have a fair amount of latitude in the design of your GA, e.g., initialization, recombination operators, selection... You must write your own code for this; you are not allowed to download a GA implementation (e.g., Genitor). If you are in doubt about whether you are straying too far, just ask. The input and output format is identical to that in assignment 1, as are the requirements for what to turn in.

More Problems

To make life interesting, more problems may be added into the mix, by increasing the number of locations or by collecting additional problems from other sources.

Experiments

Design and run an experiment comparing your GA with your search algorithm solution. You need to think about how to make the comparison fair and how to make the comparison show more than just "who wins". The experiment should be motivated by a hypothesis which will be tested. You will need to run trials on both the methods, collect data and then analyze the results. See Questions and What to Hand In for specifics.

Questions

Point value for each question is listed with it.
  1. 10 points Describe your GA implementation, explaining why you designed it as you did, citing any relevant literature or pilot experiments you did to tune your implementation.
  2. 5 points Find and read a published research paper on applying a GA to TSP (either ATSP or TSP). Describe what you learned from it. help explain
  3. 15 points Describe your experiment design. Provide your hypothesis. Explain what are the independent variables and their parameters and the dependent variables. Relate the variables to your hypothesis.
  4. 15 points Describe how you analyzed the results of your experiment and what conclusions you drew.
Each answer is expected be 1/2-1 page in length.

What to hand in

You can submit everything electronically if you wish, but I would prefer to receive your question answers in hardcopy. Any file not in the tarfile should have your last name as part of its name, e.g., HoweREADME.
  1. Output from two runs, one for the full FC problem and one from the TSP-Library, in ASCII.
  2. Written answers to your questions in ASCII, PDF or PS.
  3. A file (tarfile or zip) containing the source code. You should submit this via email to howe@cs.colostate.edu by the due date/time for the assignment. You must name your submission file mylastname.{zip,tar,gzip}.. When the files are extracted, the object file to be called should be no more than one directory down from the tar or whatever file.
  4. A README file describing exactly how to compile and run your code and how to set the parameters, if you have any. The README should include a line that can be cut-and-pasted into the instructor's script for running as batch.
  5. And if appropriate, a makefile for compiling your code and/or a script file for running it.
  6. Table or tab delimited file of the raw data that resulted from your experiment. The file/table should be formatted with the first set of columns corresponding to each independent variable and the last column(s) corresponding to the value that resulted for the dependent variable in the condition indicating by the independent variable values.
Note: Your code MUST accept input in exactly the format specified. Your code MUST produce an output file whose name can be specified (no hardcoding!) as an argument and be in exactly the format specified in this document. An automated test script will be used to run your code and validate your answers. If your format does not match, you will lose all points for program correctness and quality of results!

If you are concerned about your output format, you may send an output file to the instructor UP TO 24 hours before the assignment is due to be checked for format correctness.