2110742 Evolutionary Computation

Prabhas Chongstitvatana
Office: Engineering Building 4, floor 18, room 13
phone: 02-2186982

Jan-Apr 2026

Class meeting: Tuesday  13:00-16:00, Eng 4/17-10

    Evolutionary Computation is a branch of Artificial Intelligence inspired by the idea of “evolving” solutions to problems. It has the ability to improve itself, which is a key feature of intelligent systems. This course explores evolutionary computation in depth, covering well-established topics such as genetic algorithms, genetic programming, and evolution strategies. It also introduces advanced areas including estimation of distribution algorithms and multi-objective optimization. Both theoretical foundations and practical applications are emphasized. In addition to these specialized subjects, the course also examines Artificial Intelligence more broadly, including its societal impact and related ethical issues.


How the class is conducted?

Because the nature of this topic is the study of algorithms, it renders itself suitable for experiment.  Weekly assignment requires students to run the experiment based on the algorithm in the lecture.  It is a graduate class, so students are expected to do a lot of self-study.  Individual studies are designed to let students study a specific topic in depth.  The results are presented in the group discussion as well as submission of written reports.

Announcement

  6 Jan 2026   Start of this class

Weekly lecture

  1. Genetic algorithms  (Whitley tutorial on GA)    Intro to GA
  2. Theoretical basis   GA implementation   
  3. Probabilistic algorithms
  4. Genetic programming  read from http://www.genetic-programming.org/    GP in design
  5. Evolution strategies  slides:  one  two  three  four  five  six 
  6. Estimation of distribution algorithms  (Pelikan slides)
  7. EDA 2  Baluja, Population-based incremental learning, CMU CS-94-163, 1994
  8. Multiple objective optimisation  Deb, NSGA II  ieee-trans-ec 2002    slides Multiobjective , Differential Evolution
  9. Coincidence Algorithm
  10. Discussion of the recent topic in EC
  11. Differential Evolution  wiki   (paper local copy) 
  12. No Free Lunch theorem  wiki  (paper local copy )
  13. Particle Swarm Optimization (PSO)  wiki 
  14. Ant colony optimization  wiki     
  15. Coevolution  ( in nature wiki )   cooperative coevolutionary algorithms  ( local copy pdf )
  16. Summary

Supplementary materials

  1. Georges R. Harik, Fernando G. Lobo, and David E. Goldberg, "The Compact Genetic Algorithm," IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 3, NO. 4, NOVEMBER 1999.  (full text)
  2. Wattanapornprom, W., Olanviwitchai, P., Chutima, P. and Chongstitvatana, P., "Multi-objective Combinatorial Optimisation with Coincidence Algorithm," IEEE Congress on Evolutionary Computation, Norway, May 18-21, 2009.  ( full text )
  3. An easier read on COIN description :  Chongstitvatana, P., Wattanapornprom, W., Olanviwitchai,  P., Sirovetnukul, R., Kampirom N., and  Chutima, P., "Coincidence Algorithm for Combinatorial Optimisation and Its Applications," (invited paper),  Proc. of Electrical Engineering Conference (33th), Chiangmai, Thailand, 1-3 Dec. 2010.  ( full text )
  4. A tutorial on multiobjective evolutionary optimization, Zitzler (pdf)
  5. Storn, R.; Price, K. (1997). "Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces". Journal of Global Optimization 11: 341–359. (local copy)
  6. Wolpert, D.H., Macready, W.G. (1997), "No Free Lunch Theorems for Optimization," IEEE Transactions on Evolutionary Computation 1, 67. ( local copy )
  7. R. Paul Wiegand, An Analysis of Cooperative Coevolutionary Algorithms, PhD thesis, Department of Computer Science, George Mason University, 2003.  ( local copy pdf )
  8. Omidvar, M.N., Xiaodong Li, Zhenyu Yang,  Xin Yao, "Cooperative Co-evolution for large scale optimization through more frequent random grouping," IEEE Congress onEvolutionary Computation (CEC), 18-23 July 2010,  pp.1-8. ( local copy )
  9. Zhenyu Yang, Ke Tang, Xin Yao, "Large scale evolutionary optimization using cooperative coevolution," Information Sciences 178 (2008) 2985–2999. (local copy)
  10. Das, S., "Differential Evolution: A Survey of the State-of-the-Art," IEEE Trans on Evolutionary Computation, vol 15, issue 1, Feb. 2011, pp.4-31.  (local copy)
  11. Manuel Lopez-Ibanez, T. Devi Prasad, Ben Paechter, "Representations and Evolutionary Operators for the Scheduling of Pump Operations in Water Distribution Networks," Evolutionary Computation 19(3): 429–467. (local copy)Flowshop problems:  Quan-Ke Pan, Ruben Ruiz, "Local search methods for the flowshop scheduling problem with flowtime minimization," European Journal of Operational Research, 222 (2012) 31-43.  ( local copy )
  12. K. Suksen and P. Chongstitvatana, "Exploiting Building Blocks in Hard Problems with Modified Compact Genetic Algorithm," (draft) 2018
  13. Yann Dujardin, Iadine Chadès, "Solving multi-objective optimization problems in conservation with the reference point method," PLoS ONE 13(1): e0190748. https://doi.org/10.1371/journal.pone.0190748  (local copy)
  14. ...

Homework

    Weekly assignments are published in Mycourseville of the class.

Project

Think of an interesting multi-objective Combinatorial Optimization problem.  Use COIN to solve it. The first step to solve the problem is how to map the instant of solutions to be suitable for COIN.  Supawadee has written a prototype TSP-COIN (a kind of golden model for COIN  written in C). It is COIN that solves TSP problem.  It is all in one file.  The input "input15.txt" (and input26.txt) is an example.  You can use it to check the correctness your implementation of COIN. You can compile (tspcoin.c) and run it.  The output is like this:

C:\temp\TSP-COIN>tsp
The algorithm found optimal solution, terminate in gen 15!!!
The best result is 291
traverse : 13 1 11 4 6 8 10 14 12 3 7 5 9 15 2



  You must deliver the following:
1)  a running program that solve your problem
2)  present your project (8 minutes max)
3)  a short report describing your project and method.

Here is the TSP-COIN  (tsp-coin.zip)
...

External references

Applet (animation) for GA

http://www.rennard.org/alife/english/gavgb.html
Genetic Algorithm Viewer 1.0 is a demonstration applet of the functioning of a Genetic Algorithm (GA). It aims at showing the power of GA and of the main mechanisms used while permitting a certain form of visualization of the general functioning.

http://www.stellaralchemy.com/ice/
The applet executes what is called a genetic algorithm (GA). To facilitate understanding, every step in the GA is animated. This particular GA evolves solutions to a simple board game. This program also detects and reports if any irreducibly complex (IC) solutions arise during the evolution of its population of solutions to the board game.
http://www.obitko.com/tutorials/genetic-algorithms/example-function-minimum.php
Minimum of Function: The problem is expressed as looking for extreme of a function. Some function is given and GA tries to find minimum of the function. For other problems we just have to define search space and the fitness function which means to define the function, which we want to find extreme for.  

Assessment

homework           30
individual study  30  (final project)
final exam           40

Text

1. Mitchell, M., An introduction to genetic algorithms, MIT press, 1996.
2. Goldberg, D., The design of innovation, Kluwer pub, 2002.
3. Holland, J. H., Adaptation in natural and artificial systems, MIT press, 1992.
4. Koza, J., "Genetic Programming Vol 1, 2, 3", MIT Press, 1992, 1994, 1999.
5. Goldberg, D., Genetic algorithms, Addison-Wesley, 1989.
6. Banzhaf, W., Nordin, P., Keller, R. and Francone, F., Genetic Programming: An Introduction, Morgan Kaufmann, 1998.
6. Winter, G., Periaux, J., Galan, M., Cuesta, P. (eds), Genetic algorithms in engineering and computer science, John Wiley, 1995.

Uptodate handouts on various current researches will be distributed in the class.

Tools

galib247.zip
myga example
I have mentioned Heuristic Lab  as a good tool.  Try it.
TSP-COIN  (tsp-coin.zip)

last update 12 January 2026