Cod: 22299
Department: DCET
Scientific area: Computer Engineering
Total working hours: 156
Total contact time: 30

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). Multi­Objective Optimization Using Evolutionary Algorithms, Wiley, ISBN­13: 978­0470743614.
Nunes de Castro L. (2006). Fundamentals of Natural Computing, Chapman & Hall, ISBN­13: 978­1584886433.
Michalewicz Z. e Fogel D.B. (2004). How to Solve it: Modern Heuristics, Springer, ISBN­13: 978­3540224945.

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.