CSCI 4560/6560 Evolutionary Computation and Its Applications

CSCI 4560/6560 Evolutionary Computation and Its Applications

Fall 2016: Tuesdays and Thursdays 3:30pm - 4:45pm & Wednesdays 3:35pm - 4:25pm, Boyd GSRC Room 208
Instructor: Prof. Khaled Rasheed
Telephone: 542-0881
Office Hours: Wednesday 4:30-5:30pm & Thursday 2:00-3:00pm or by email appointment
Office Location: Room 111, Boyd GSRC

Teaching Assistant: Karan Sharma
Office Hours: Friday 11:00am-1:00pm
Office Location: Room 207a, Boyd GSRC


To provide a broad introduction to the field of Genetic Algorithms and other fields of Evolutionary Computation and global optimization. To teach students how to apply these methods to solve problems in complex domains. The course is appropriate both for students preparing for research in Evolutionary Computation, as well as Science and Engineering students who want to apply Evolutionary Computation techniques to solve problems in their fields of study.

Recommended Background:

CSCI 1302 Software Development. Familiarity with basic computer algorithms and data structures and at least one high level programming language.

Topics to be Covered:

Components of an Evolutionary Algorithm, Genetic Algorithms, Evolution Strategies, Evolutionary Programming, Genetic Programming, Learning Classifier systems, Parameter Control, Multi-modal Problems, Multi-objective Evolutionary Optimization, Hybridization and Memetic Algorithms, Working With Evolutionary Algorithms, Theory of Evolutionary Computation, Evolutionary Computation applications in science and Engineering. Other nature-inspired global optimization techniques.

Expected Work:

Reading; assignments (including programming); midterm; final; and term project and paper. (Unless otherwise announced by the instructor: all assignments and all exams must be done entirely on your own.)

Course Objectives and Expected Outcomes:

This course presents a survey of topics in evolutionary computation. At the end of the semester, all students are expected to be able to do the following:
  • Formulate a problem as an evolutionary computation search/optimization by specifying representations, selection and variation operators.
  • Write a program or use a package to implement an evolutionary algorithm.
  • Conduct evolutionary optimization experiments and properly report and discuss the results.
  • Effectively present an evolutionary computation article to an audience.
  • Review and critique evolutionary computation articles.
  • Reason about the schema theorem and the theory of evolutionary computation.

    Academic Honesty and Integrity:

    All academic work must meet the standards contained in "A Culture of Honesty." Students are responsible for informing themselves about those standards before performing any academic work. The penalties for academic dishonesty are severe and ignorance is not an acceptable defense.

    Grading Policy:

  • Assignments: 30% (Programs, questions, paper presentations)
  • Midterm Examination: 20%
  • Undergraduates: Final Examination: 50%
  • Graduates: Final Examination 25% And Term Project: 25% (includes term paper and presentation)
    Term projects are required for graduate students and optional for undergraduates. If any undergraduates choose to do term projects, their grade distribution will be the same as that of graduate students. Students may work on their term projects individually or in groups of up to Four students each. The above distribution is only tentative and may change later. The instructor will announce any changes.

    Assignment Submission Policy

    Assignments must be turned in by the assigned deadline. Late assignments will not be accepted. Rare exceptions may be made by the instructor only under extenuating circumstances and in accordance with the university policies.

    Course Home-page

    A variety of materials will be made available on the EC Class Home-page at, including handouts, lecture notes and assignments. Announcements may be posted between class meetings. You are responsible for being aware of whatever information is posted there.

    Lecture Notes

    Copies of some of Dr. Rasheed's lecture notes will be available at the bottom of the class home page. Not all the lectures will have electronic notes though and the students should be prepared to take notes inside the lecture at any time.

    Textbook in Bookstore

  • "Introduction to Evolutionary Computing", Eiben and Smith. Springer-Verlag, Corrected 2nd printing, 2007, ISBN: 978-3-540-40184-1. (Required)

    Additional Books

  • "Genetic Algorithms in Search, Optimization, and Machine Learning", David Goldberg. Addison-Wesley, 1989.
  • "An Introduction to Genetic Algorithms", Melanie Mitchell. MIT Press, 1996.
  • "Genetic Algorithms + Data Structures = Evolution Programs", Zbigniew Michalewicz. Springer-Verlag, New York,1996.
  • "Evolutionary Computation", D. Dumitrescu et al. CRC Press, 2000.
  • "Evolutionary Computation 1", Thomas Back et al. IOP Publishing, 2000.
  • "Evolutionary Computation, A "Unified Approach", K. DeJong. MIT Press, 2006.

    Web Resources

  • GA software packages from the CMU Artificial Intelligence repository
  • Web archived version of the GA source codes at GALIST archives


  • [12-4-2016] The final will be on Thursday 12-8-2016 3:30-6:30pm. It will be in the same classroom in which the lectures met. It will cover all the topics discussed in the course but more focus will be given to the topics that were not covered by the midterm. It will be open notes but the use of laptops or phones will not be allowed except that you can use your phone as a calculator if needed. You should also bring your own lecture notes and all handouts. One of the questions will be about a paper presented in class. Copies of that paper will be provided for you in the exam so you need not print them.
  • [12-4-2016] The course project report should look like a conference paper of about 8 two-column pages or 12 single-column pages (there is no restriction on size though). You should include a title, an abstract, an introduction, a mention of related work if any, a description of your experiments and results and a conclusion which may include limitations and/or future work. For application oriented projects, don't forget to describe the domain that you applied your EC technique(s) to, in enough detail for the reader to appreciate the significance and difficulty of the problem. The reports are due by noon of Sunday 12-11-2016. This is a HARD deadline. Please email your report to me and make the title of the email "CSCI 4560/6560 Report" followed by your group last names. Also please include your emails in the report just in case I need some clarifications, code or data.


  • "Automating biomedical data science through tree-based pipeline optimization" Randal Olson et. al.,2016. [Farhadi,Sager][11-8]{download}
  • "Promoting Creative Design in Interactive Evolutionary Computation" 2011. [Law,Fetz][11-8] {download}
  • "Evolving an Expert Checkers Playing Program without Using Human Expertise" Kumar Chellapilla and David Fogel, 2001. [Irby,Martinez][11-9] {download}
  • "PEAR: a massively parallel evolutionary computation approach for political redistricting optimization and analysis" Yan Liu et. al., 2016. [Walls, Ellington] [11-9] {download}
  • "Power optimization of wind turbines with data mining and evolutionary computation" A. Kusiak et al., 2010. [Vinson, Ross][11-9] {download}
  • "Ant colony optimization techniques for the vehicle routing problem" John E. Bella and Patrick R. McMullen, 2004. [Ray, Howard][11-10] {download}
  • "Meta Compose: A Compositional Evolutionary Music Composer" Marco Scirea, 2015. [Serog, Saney][11-10] {download}
  • "Adaptive optics stochastic optical reconstruction microscopy (AO-STORM) using a genetic algorithm" Tehrani et. al., 2015. [Shah, Callaway][11-10] {download}
  • "Interactive Evolution for the Procedural Generation of Tracks in a High-End Racing Game" Luigi Cardamone et. al., 2011. [Srivastava, Yu][11-15] {download}
  • "Making Racing Fun Through Player Modeling and Track Evolution" Julian Togelius et. al., 2006. [Sankar, Soans][11-17] {download}
  • "The optimization of architectural shape based on Genetic Algorithm" Li Li, 2012. [Hiten, Ballard][11-17] {download}
  • "GA-Net: A Genetic Algorithm for Community Detection in Social Networks" Clara Pizzuti, 2008. [Trapp, Collier][11-17]{download}
  • "An empirical study on GAs without parameters" Thomas Back et al.,2000. [Tan,Barrow][11-17]{download}
  • "A path selection approach with genetic algorithm for P2P video streaming systems" Erdem Karayer and Muge Sayit, 2015. [Assefi, Blair][11-29] {download}
  • "Differential Evolution Algorithm With Strategy Adaptation for Global Numerical Optimization" A. K. Qin et al., 2009. [Barbieri,Tatem][11-29] {download}
  • "Playing the Rock-Paper-Scissors Game with a Genetic Algorithm" Fathelalem F. Ali, et. al.,2000. [Won, Cho][11-29] {download}
  • "Informed operators: Speeding up genetic-algorithm-based design optimization using reduced models" Khaled Rasheed and Haym Hirsh, 2000.[Puszewski, Pfleger][11-29]{download}
  • "Monte Mario: Platforming with MCTS" Emil Jacobsen et. al., 2014. [Bass, Queen][11-29] {download}


  • Homework 1
  • Homework 2
  • Homework 3
  • Homework 4
  • Homework 5
  • Homework 6

    Lecture Notes:

  • Introduction
  • Chapter 1
  • Chapter 2
  • Chapter 3
  • Chapter 4
  • Chapter 5
  • Chapter 6
  • Chapter 8
  • Chapter 9
  • Chapter 11
  • Chapter 14
    The course syllabus is a general plan for the course; deviations announced to the class by the instructor may be necessary.

    Last modified: December 4, 2016.
    Khaled Rasheed (khaled (at)