
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.
- 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.
- 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
- 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.
- 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.
- Output from two runs, one for the full FC problem and one from the TSP-Library, in ASCII.
- Written answers to your questions in ASCII, PDF or PS.
- 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.
- 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.
- And if appropriate, a makefile for compiling your code and/or a
script file for running it.
- 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.