Total de horas trabalho: 156
Total de horas de contacto: 30
O grande desenvolvimento de técnicas heurísticas associadas ao desenvolvimento dos computadores tem permitido resolver problemas de grande dimensão. A resolução de problemas de otimização do mundo real, impensável há duas décadas, é atualmente possível. No final da unidade curricular espera-se que o estudante consiga formular e resolver problemas de otimização utilizando um leque alargado de heurísticas modernas e proceder à sua afinação de modo a tirar o melhor partido possível dos recursos computacionais na resolução de problemas complexos.
Reconhecer a importância da otimização, das técnicas heurísticas e da computação natural para a resolução de problemas computacionais (algorítmicos) de grande complexidade;
Identificar as principais técnicas heurísticas e de para a implementação de otimização em sistemas computacionais complexos;
Formular, implementar e afinar algoritmos de otimização recorrendo a técnicas heurísticas e de computação natural.
Problema de Satisfação (SAT).
Problema do Caixeiro Viajante (TSP).
Problema Não Linear (NLP).
Enumeração e Procura Local.
Algoritmos Construtivos (Greedy).
Como escapar de ótimos locais: Simulating Annealing e Procura Tabu.
Algoritmos para problemas com muitas restrições.
Zbigniew Michalewicz, David B. Fogel, How to Solve it: Modern Heuristics, Springer.
Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, 3rd Edition. Prentice Hall, ISBN 978-0136042594.
E-learning
A avaliação tem caráter individual e implica a coexistência de duas modalidades: avaliação contínua (60%) e avaliação
final (40%). Essa avaliação será desenvolvida na aplicação de formas diversificadas, definidas no Contrato de Aprendizagem da
unidade curricular.