Cleveland State University

Department of Electrical and Computer Engineering

 

EEC 693/793, ESC 794

Special Topics: Population-Based Optimization (4 credit hours)

Fall 2008

 

Description:       This course discusses the theory, history, mathematics, and applications of population-based optimization algorithms, most of which are based on biological processes. Some of the algorithms that are covered include genetic algorithms, evolutionary computing, ant colony optimization, biogeography-based optimization, differentical evolution, and artificial immune systems. Students will write computer-based simulations of optimization algorithms using Matlab. After taking this course the student will be able to apply population-based algorithms using Matlab (or some other high level programming language) to realistic engineering problems. This course will make the student aware of the current state-of-the-art in the field, and will prepare the student to conduct independent research in the field.

 

Text:                  J. Kennedy, R. Eberhart, and Y. Shi, Swarm Intelligence, Morgan Kaufmann Publishers, 2001
 

References:       M. Batty, Cities and Complexity, MIT Press, 2005
D. Coley, An Introduction to Genetic Algorithms for Scientists and Engineers, World Scientific, 1999
L. Davis, Handbook of Genetic Algorithms, Van Nostrand Reinhold, 1991
L. de Castro, Fundamentals of Natural Computing, CRC Press, 2005
A. Engelbrecht, Computational Intelligence, John Wiley & Sons, 2007
D. Fogel, Evolutionary Computation: The Fossil Record, IEEE Press, 1998
N. Forbes, Imitation of Life, MIT Press, 2005
M. Gen and R. Cheng, Genetic Algorithms and Engineering Design, John Wiley & Sons, 1997
M. Gen and R. Cheng, Genetic Algorithms and Engineering Optimization, John Wiley & Sons, 2000
D. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley, 1989
T. Gonzalez, Handbook of Approximation Algorithms and Metaheuristics, CRC Press, 2007
R. Haupt and S. Haupt, Practical Genetic Algorithms, John Wiley & Sons, 1998
J. Holland, Adaptation in Natural and Artificial Systems, MIT Press, 1992
M. Jamshidi, Robust Control Systems with Genetic Algorithms, CRC Press, 2003
J. Koza, Genetic Programming, MIT Press, 1992
Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs, Springer, 1996
M. Mitchell, An Introduction to Genetic Algorithms, MIT Press, 1996
C. Reeves and J. Rowe, Genetic Algorithms - Principles and Perspectives, Kluwer Academic Publishers, 2003
J. Spall, Introduction to Stochastic Search and Optimization, John Wiley & Sons, 2003
A. Zalzala and P. Fleming, Genetic Algorithms in Engineering Systems, The Institution of Electrical Engineers, 1997
J. Zurada, R. Marks, C. Robinson, Computational Intelligence Imitating Life, IEEE Press, 1994
 
Journals:
IEEE Transactions on Evolutionary Computation
Machine Learning
Complex Systems
Complexity International
Evolutionary Computation
Genetic Programming and Evolvable Machines

Web sites:
http://www.genetic-programming.org/ - John Koza’s web site
http://www.aaai.org/home.html - The Association for the Advancement of Artificial Intelligence
http://www.alife.org/ - International Society of Artificial Life
http://www.eleceng.ohio-state.edu/~passino/ICbook/ic_code.html - Kevin Passino’s Matlab-based GA software
http://www.cse.dmu.ac.uk/~rij/gafaq/top.htm - The Hitch-Hiker’s Guide to Evolutionary Computation
http://neo.lcc.uma.es/
- Networking and Emerging Optimization, University of Málaga, Málaga, Spain
http://www.jhuapl.edu/SPSA/ - Simultaneous Perturbation Stochastic Approximation

 

Prereqs:             Graduate Standing
Proficiency in Matlab programming
Permission of instructor

 

Time:                 4:00-5:50, T Th


Instructor:         Dr. Dan Simon

Phone:

216-687-5407

Web Site:

http://academic.csuohio.edu/simond/

Office:

Stilwell Hall 343

Lab:

Stilwell Hall 310

Office Hours:

3:00-4:00, T Th

                           Feel free to email, call, or stop by my office any time and I’ll be happy to help you if I’m available.

Grading:

 

EEC 693

EEC 793

 

Homework

25%

20%

 

Midterm

25%

20%

 

Project

25%

20%

 

Final

25%

20%

 

Paper/Lecture

-

20%

                          

                           EEC 793 students are required to write a technical paper (in addition to their project) developing some theoretical aspect of a population-based algorithm. Part of this assignment includes presenting their results to the class in a lecture-style presentation at a suitable time during the semester. EEC 693 students are not required to complete this assignment, although they can choose to do so for extra credit.

 

Homework:        In addition to written exercises, Matlab assignments will be given to demonstrate the theory in the text. You can work with others on homework, but identical homework assignments will be given a grade of zero. Late homework will not be accepted. Homework should be neat, the pages should be stapled with one staple in the upper left corner, and the problems should be in order. Homework assignments and due dates are given at http://academic.csuohio.edu/simond/courses/eec693b/homework.html.

 

Tests:                 Quizzes and Exams are open-book and open-notes, but no electronic devices are allowed. No makeup quizzes or exams are allowed without the prior permission of the instructor.

 

Schedule:

Week #

Lecture Topic

1

Life and Intelligence

2

Group Intelligence

3

Genetic Algorithms

4

Genetic Algorithm Extensions

5

Genetic Algorithm Analyses

6

Evolutionary Computation

7

Cultural Algorithms

8

Particle Swarm Optimization

9

Ant Colony Optimization

10

Biogeography-Based Optimization

11

Differential Evolution

12

Simulated Annealing

13

Probability Based Incremental Learning

14

Evolutionary Strategies

15

Artificial Immune Systems

 

Project:              Each student will be responsible for a research project based on genetic algorithms, evolutionary programming, or a related topic. The project can involve one of a number of different problems, such as:
- The application of a population-based optimization algorithm to some realistic problem
- A theoretical enhancement of some aspect of a population-based optimization algorithm
- The study and analysis of a journal or conference paper
- A review and analysis of early work in population-based optimization
- Analysis of the effects of various parameters or options on optimization performance
- Novel approaches to optimization (e.g., simulations of the evolution of economic, governmental, or stellar systems)
- Some other topic related to population-based optimization
In all cases the project should involve the writing of software and the presentation of simulation results. The project will be graded on the basis of a written report and an oral report  given on the last day of class. Appendix D of Michalewicz’s book (see the reference list above) has a lot of good project ideas and guidance.

More information about the project, including deadlines and requirements, is at http://academic.csuohio.edu/simond/courses/eec693b/project.html.

 

Important Dates:

 

Date

Event

Thurs. Oct. 9

Midterm

Thurs. Oct. 9

Letter of Intent due

Thurs. Oct. 16

Project proposals due

Thurs. Dec. 4

Project presentations

Tues. Dec. 9

Written projects due

Tues. Dec. 9

Final Exam

 

Homework due dates and exam dates will be determined by the instructor during the semester and announced in class. It is the students’ responsibility to make sure they are aware of these dates. Late project reports will not be accepted.

 

Grading Scale:

 

A                       

93–100

A minus

90–92

B plus

87–89

B

83–86

B minus

80–82

C

70–79

D

60–69

 


Professor Simon’s Home Page

Department of Electrical and Computer Engineering

Cleveland State University


Last Revised: August 11, 2008