Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04948
Acrónimo :
04948
Ciclo :
2.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
inglês

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
24.0h/sem
- Síncrono à distância (TP) :
8.0h/sem
- Assíncrono à distância (TP) :
16.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
- Síncrono à distância (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
25.0h/sem
Trabalho Autónomo :
0.0
Horas de Trabalho Total :
25.0h/sem

Área científica / Scientific area


Matemática

Departamento / Department


Departamento de Matemática

Ano letivo / Execution Year


2025/2026

Pré-requisitos / Pre-Requisites


Conhecimentos de álgebra linear e cálculo diferencial.

Objetivos Gerais / Objectives


A unidade curricular “Otimização Computacional” visa dotar os estudantes de competências avançadas para compreender e aplicar técnicas de otimização no contexto da Inteligência Artificial (IA). Pretende-se que os estudantes adquiram um conhecimento sólido dos métodos numéricos de otimização e das metaheurísticas, aplicar métodos de descida do gradiente a redes neuronais profundas, selecionar funções custo adequadas e avaliar criticamente o desempenho dos algoritmos adotados. Esta abordagem privilegiará a aplicação prática incentiva a integração de ferramentas computacionais e a análise crítica de resultados, preparando os estudantes para enfrentar problemas de otimização em IA de forma fundamentada e eficaz. Ao concluir a UC, os estudantes deverão ser capazes de selecionar e justificar as estratégias de otimização mais adequadas a um dado problema, integrando ferramentas computacionais modernas e refletindo sobre o desempenho e a convergência dos métodos.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


No final da UC, cada estudante deverá ser capaz de: OA1: Explicar os princípios fundamentais dos métodos numéricos clássicos de otimização no contexto da IA. OA2: Implementar e adaptar metaheurísticas para resolver problemas complexos em IA. OA3: Aplicar métodos de descida do gradiente no treino de redes neuronais profundas, ajustando hiperparâmetros e analisando gráficos de convergência. OA4: Selecionar e justificar a escolha de funções custo adequadas a diferentes tarefas de IA, avaliando o seu impacto no desempenho do modelo. OA5: Avaliar e comparar criticamente o desempenho dos métodos de otimização utilizados, justificando as decisões tomadas e propondo melhorias. OA6: Integrar e adaptar as estratégias de otimização escolhidas, considerando restrições práticas (tempo, recursos, escalabilidade) e critérios de robustez, para obter soluções adequadas às necessidades do problema.

Conteúdos Programáticos / Syllabus


CP1: Métodos numéricos clássicos, derivadas e gradientes, otimização livre e condicionada, introdução à análise de convergência. CP2: Metaheurísticas de Arrefecimento Simulado, Pesquisa Tabu, Algoritmos Evolucionários; aplicações a problemas complexos (seleção de modelos, ajuste de hiperparâmetros, procura de ótimos globais). CP3: Descida do gradiente (SGD, Momentum, Adagrad, Adam); implementação em redes neuronais profundas; análise de gráficos de convergência e estabilidade dos processos de treino e validação. CP4: Funções perda / custo em Deep Learning: impacto na convergência, capacidade de generalização e robustez do modelo. CP5: Comparação de métodos, critérios de paragem, escalabilidade, análise de resultados, propostas de melhoria e discussão de casos práticos.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular unit's content dovetails with the specified learning outcomes


O CP1 alicerça o OA1 ao introduzir fundamentos numéricos, indispensáveis à compreensão das bases da otimização. O CP2 suporta o OA2, fornecendo metaheurísticas adaptáveis a problemas de IA complexos. O CP3, ao abordar métodos de descida do gradiente e suas variações, garante o OA3 e relaciona-se diretamente com a otimização de redes neuronais profundas. O CP4, ao explorar funções custo adequadas a cenários de Deep Learning, satisfaz o OA4. Finalmente, o CP5 assegura a integração e avaliação global das estratégias (OA5 e OA6), permitindo comparar métodos, analisar resultados e propor melhorias coerentes com as necessidades do problema.

Avaliação / Assessment


Esta UC, por ter uma natureza bastante prática e de aplicação, segue o modelo de de Avaliação ao Longo do Semestre (prevista em RGACC), pelo que esta UC não contempla exame final. A avaliação desta UC tem a seguinte composição: - 2 Quizzes (10% cada, total 20%): Quizzes online individuais, curtos, distribuídos ao longo do semestre, para aferir a compreensão teórica dos conceitos de otimização, metaheurísticas, métodos de descida do gradiente e funções custo. Não existe nota mínima nos quizzes, mas a realização contribui para consolidar conhecimentos e fornecer feedback imediato ao estudante. - Projeto Final (80%): O projeto final, realizado em grupos, é desenvolvido em duas fases (tutorias), refletindo a abordagem PBL (Project-Based Learning): -- 1ª Tutoria (20%): Entrega de um plano de trabalho, identificando o problema de otimização em IA, as técnicas a utilizar, bem como os critérios de avaliação e métricas de convergência. -- 2ª Tutoria (60%): Entrega e defesa online do projeto completo, incluindo código, resultados experimentais, análise crítica do desempenho, comparação de métodos e propostas de melhoria. É exigida nota mínima de 9,5 valores no conjunto do projeto final. A nota final resulta da soma ponderada dos quizzes (20%) e do projeto final (80%). Para aprovação, é necessário obter pelo menos 10 valores. Caso o estudante não obtenha aprovação, poderá repetir a UC no ano letivo seguinte, conforme o regulamento. A melhoria de nota poderá ser obtida no ano letivo seguinte, repetindo as componentes de avaliação, em conformidade com o regulamento em vigor. A 1ª Época e 2ª Época poderão ser utilizadas para realização de momentos de avaliação. A presença nos momentos síncronos não é obrigatória, mas recomendada, dada a oportunidade de interação e feedback imediato. Para além do RGACC, o estudante deve consultar o Regulamento de Estudantes com Estatuto Especial (REEE) e o Código de Conduta Académica (CCA).

Metodologias de Ensino / Teaching methodologies


Em regime de EaD, esta UC promove uma aprendizagem flexível, centrada no estudante e orientada para a aplicação prática. Os conteúdos teóricos são disponibilizados sob a forma de vídeos didáticos, tutoriais multimédia, materiais interativos e textos de referência, acessíveis através da plataforma e-learning. Esta abordagem assíncrona possibilita que cada estudante organize o seu ritmo de estudo, revendo os conteúdos quantas vezes necessitar, favorecendo a autonomia e a compreensão profunda. Para fomentar a interação e a aprendizagem colaborativa, são realizadas sessões síncronas por videoconferência, nas quais o docente esclarece dúvidas, discute problemas específicos, analisa casos reais e orienta o desenvolvimento de projetos. Fóruns de discussão, wikis e chats online criam um ambiente virtual onde os estudantes podem partilhar experiências, propor soluções e receber feedback dos pares, reforçando a construção coletiva do conhecimento. A integração de atividades práticas é assegurada através da resolução de problemas de otimização em IA, usando linguagens e bibliotecas de programação. O recurso a notebooks interativos facilita a experimentação, a análise de resultados e a visualização dos processos de convergência. Os estudantes são convidados a aplicar metaheurísticas, experimentar diferentes funções custo e testar métodos de descida do gradiente em redes neuronais profundas, avaliando de forma crítica o impacto destas escolhas no desempenho do sistema. O docente assume o papel de facilitador, fornecendo feedback formativo contínuo. Este acompanhamento personalizado, possível graças às ferramentas digitais, permite identificar dificuldades precocemente, sugerir melhorias e orientar o desenvolvimento dos projetos. A articulação entre conteúdos teóricos, práticas laboratoriais virtuais, momentos de reflexão síncronos e discussão assíncrona garante uma experiência de aprendizagem completa, coerente com o modelo EaD e alinhada com os objetivos de aprendizagem definidos.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


As metodologias de ensino, baseadas em recursos online flexíveis, atividades práticas e interações síncronas, asseguram a coerência com os objetivos de aprendizagem. A disponibilização de conteúdos expositivos interativos e recursos multimédia permite ao estudante compreender os fundamentos da otimização (OA1), dominar as metaheurísticas (OA2), aplicar métodos de descida do gradiente (OA3) e selecionar funções custo adequadas (OA4). A resolução de problemas concretos, a experimentação com diferentes métodos e a análise crítica de resultados garantem a consolidação dos conteúdos, permitindo ao estudante avaliar a eficácia das estratégias adotadas (OA5) e adaptá-las a restrições práticas, como limitações de recursos computacionais ou objetivos de convergência específicos (OA6). A interação através de fóruns e sessões síncronas promove a discussão, a partilha de ideias e a aprendizagem colaborativa, reforçando o desenvolvimento de competências transversais. O processo avaliativo, baseado em quizzes e num projeto final faseado em tutorias, assegura o alinhamento com os OAs. Os quizzes verificam a aquisição de conhecimento teórico e consolidam a compreensão dos métodos. O projeto final permite ao estudante aplicar as técnicas estudadas a um problema real, avaliar criticamente o desempenho, justificar as escolhas efetuadas e propor melhorias, comprovando a capacidade de síntese e aplicação prática. A coerência global entre metodologias, objetivos de aprendizagem, conteúdos e avaliação assegura uma experiência formativa completa, preparando o estudante para enfrentar desafios de otimização em IA, integrando o conhecimento teórico com a competência prática e o pensamento crítico, numa perspetiva contextualizada e aplicável ao mundo profissional.

Observações / Observations


.

Bibliografia Principal / Main Bibliography


"1. Sra, Suvrit, Sebastian Nowozin, and Stephen J. Wright, eds., Optimization for machine learning, Mit Press, 2012. 2. Dréo, Johann, et al., Metaheuristics for hard optimization: methods and case studies, Springer Science \& Business Media, 2006. 3. Postek, Krzysztof and Zocca, Alessandro and Gromicho, Joaquim and Kantor, Jeffrey, Hands-On Mathematical Optimization with AMPL in Python, 2024. https://ampl.com/mo-book 4. Dive into DeepLearning, Chapter 11, Optimization algorithms, https://d2l.ai/chapter_optimization/"

Bibliografia Secundária / Secondary Bibliography


"J. A. E. Andersson, J. Gillis, G. Horn, J. B. Rawlings and Moritz Diehl, CasADi -- A software framework for nonlinear optimization and optimal control, Mathematical Programming Computation, vol. 11, no. 1, pp. 1--36, 2019. https://doi.org/10.1007/s12532-018-0139-4, https://web.casadi.org/"

Data da última atualização / Last Update Date


2025-05-23