The overall objective of this curricular unit is the study of so-called evolutionary computational techniques as well as others of natural and biological inspiration, aiming at promoting research and development skills in this area, developing in students a fundamental knowledge of evolutionary computational techniques and algorithms.
Upon completion of this course, the student should be able to:
1. Solve problems using the techniques studied;
2. Develop a critical spirit by comparing several methodologies;
3. Implement an evolutionary search and optimization algorithm.
1. Research and optimization methods: Exact methods; Classical Research Methods; Probabilistic Research Methods. Heuristic methods.
2. Evolutionary computing: Biological inspiration; Historical Perspective; Fundamental evolutionary algorithms.
3. Genetic Algorithms: Standard algorithm; Codifications, Fundamental operators; Advanced operators.
4. Algorithms based on Swarms and Ant Colonies: Optimization by Particle Swarm and Ant Colony.
5. Genetic Programming: Representation of solutions and fundamental operators.
6. Multiobjective Evolutionary Algorithms: Definition of a multiobjective optimization problem. Notions of dominance. Multiobjective Genetic Algorithms
Deb, K. (2009). MultiObjective Optimization Using Evolutionary Algorithms, Wiley, ISBN13: 9780470743614.
Nunes de Castro L. (2006). Fundamentals of Natural Computing, Chapman & Hall, ISBN13: 9781584886433.
Michalewicz Z. e Fogel D.B. (2004). How to Solve it: Modern Heuristics, Springer, ISBN13: 9783540224945.
Evaluation is made on individual basis and it involves the coexistence of two modes: continuous assessment (60%) and
final evaluation (40%). Further information is detailed in the Learning Agreement of the course unit.