Ficha Unidade Curricular (FUC)

Informação Geral / General Information


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

Carga Horária / Course Load


Semestre :
1
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) :
6.0h/sem
- Assíncrono à distância (TP) :
18.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 :
125.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


460 - Matemática e estatística

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2026/2027

Pré-requisitos / Pre-Requisites


Conhecimentos de álgebra linear e de cálculo diferencial multivariável.

Objetivos Gerais / Objectives


Esta unidade curricular (UC) aborda os principais conceitos, técnicas, tendências e desafios da otimização determinística, numa perspetiva teórica coadjuvada pela programação em Python. Os estudantes irão efetuar a modelação de problemas e explorar resultados analíticos e métodos numéricos de otimização, a partir de casos de estudo que surgem nas organizações, em tomada de decisão. Serão comparadas as várias abordagens em problemas de otimização, enfatizadas as especificidades desta área da matemática e discutidas as melhores práticas de implementação dos resultados teóricos e das técnicas.

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


OA1: Identificar as principais classes de problemas de otimização matemática e as suas propriedades OA2: Identificar problemas reais de otimização e formalizá-los como modelos matemáticos OA3: Integrar as ferramentas computacionais (código em Python) com a teoria da otimização em problemas práticos OA4: Explicar as ideias subjacentes aos algoritmos de otimização e às técnicas que garantem aa sua convergência OA5: Entender a aplicabilidade, vantagens e limitações, dos métodos e técnicas de otimização OA6: Modelar problemas multi-objetivo a partir da programação linear OA7: Decidir acerca da adequação de diferentes algoritmos de otimização para um dado problema e aplicá-los OA8: Aplicar heurísticas e metaheurísticas em problemas de otimização complexos OA9: Identificar as ferramentas computacionais (código em Python) mais adequadas para resolver um problema e saber implementá-las OA10: Criticar os resultados práticos e compará-los com as expectativas teóricas

Conteúdos Programáticos / Syllabus


CP1. Fundamentos da otimização determinística Conceitos e condições de otimalidade. Técnicas de modelação. Classificação de problemas CP2. Problemas convexos Convexidade. Caso particular da programação linear. Teoria da dualidade. Análise de sensibilidade pós-otimal. Programação por metas CP3. Otimização não linear irrestrita Estatégias de busca linear e de regiões de confiança. Métodos numéricos de gradiente e de 2ª ordem com código em Python. Condições de Wolfe. Convergência e taxa CP4. Otimização não linear restrita Condições de otimalidade Karush-Kuhn-Tucker. Programação quadrática. Métodos de penalidade e barreira. Algoritmos baseados em decomposição CP5. Modelação discreta Otimização combinatória e inteira. Técnicas branch-and-bound e branch-and-cut. Ciclos de Hamilton e de Euler. Fluxos em rede. Problemas de grande escala ou NP-difíceis. Heurísticas e meta-heurísticas. Pesquisa local iterada. Algoritmos genéticos e estratégias evolutivas. Exemplos clássicos

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


CP1 - OA1, OA2 e OA3: CP1 prepara o estudante para identificar e modelar problemas de otimização (OA1-OA3). CP2 - OA4, OA5 e OA6: CP2 permite compreender as ideias fundamentais que consubstanciam os algoritmos de otimização. Além disso, fornece uma base de reflexão sobre a aplicabilidade e as limitações dos métodos. CP3 - OA4 e OA7: CP3 prepara o estudante para explicar os resultados que asseguram a convergência dos algoritmos. CP4 - OA7 e OA8: CP4 é essencial para avaliar diferentes algoritmos de otimização com restrições e para aplicar heurísticas em problemas onde outros métodos podem ser inviáveis ou ineficientes. CP5 - OA5, OA7, OA8, OA9 e OA10: CP5 permite refletir sobre a aplicabilidade de métodos de otimização em problemas complexos, nomeadamente, selecionar algoritmos apropriados, implementar ferramentas computacionais e comparar da eficácia prática dos algoritmos com as previsões teóricas.

Avaliação / Assessment


Avaliação ao longo do semestre: Análise de 2 estudos de caso ao longo do semestre e teste na data do exame de 1ª Época. Um dos casos de estudo é individual e o outro é realizado em grupo. Cada estudo de caso (cuja análise será desenvolvida com estrutura pré-definida pelo docente) e respetiva discussão tem o peso de 25% na nota final, com nota mínima de 7,5 valores. A média da obtida nos estudos de caso terá de ser igual ou superior a 9,5 valores. O teste tem um peso de 50% na nota dinal e uma nota míima de 7,5 valores. Possibilidade de prova oral se adequado. Avaliação por exame (1.ª Época em caso de escolha do estudante, 2.ª Época e Época Especial): Exame individual presencial (100% da nota final)

Metodologias de Ensino / Teaching methodologies


A UC adotará como metodologia de ensino e aprendizagem central a Aprendizagem Baseada em Estudos de Caso, combinada com Aprendizagem Baseada em Tarefas. O Design Thinking será utilizado como estratégia de motivação e envolvimento dos estudantes. Esta abordagem pedagógica está articulada com o modelo pedagógico do Iscte porque o estudante é considerado um agente ativo no seu processo de aprendizagem, o conhecimento é trabalhado como uma ferramenta para a construção e desenvolvimento de mais conhecimento e aplicado em diversos contextos. 

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 foram selecionadas de forma a corresponder aos objetivos de aprendizagem da UC. Através de uma combinação de momentos de aprendizagem online síncrona e assíncrona, os estudantes irão realizar tarefas com diferentes níveis de apoio e orientação docente, que lhes permitirá, numa primeira fase compreender os princípios e conceitos da otimização matemática e, posteriormente, não só aplicar em problemas reais mas ainda analisar as implicações nas organizações e na sociedade. Os estudantes irão ainda explorar casos de estudo de sucesso e boas práticas da otimização computacional através da utilização de casos reais ou fictícios como ponto de partida para a aprendizagem. Terão acesso a informações detalhadas sobre cada caso, incluindo o contexto, os stakeholders e os problemas específicos a serem resolvidos. Seguirão uma sequência predefinida de análise, discussão e solução de cada caso. Esta abordagem permitirá que os estudantes estabeleçam conexões entre os conhecimentos teóricos e práticos. A escolha adequada de ferramentas computacionais e a aplicação prática dos conhecimentos na resolução de problemas serão valorizados. O docente dará feedback (corretivo e/ou cognitivo) sobre as tarefas e estudos de caso. Como estratégia de motivação, a UC incluirá o design thinking ao longo do semestre, através do qual os estudantes são encorajados a identificar desafios, recolher informação, gerar ideias e criar soluções; esta estratégia, tendo como principal propósito aumentar o envolvimento dos estudantes ao longo de todo o semestre, também desenvolve a capacidade de resolução de problemas complexos, o uso da criatividade e a interação entre pares. Os estudantes irão ainda desenvolver competências de análise e síntese e de pensamento crítico, necessários à identificação dos principais desafios e oportunidades que a Otimização oferece.

Observações / Observations


.

Bibliografia Principal / Main Bibliography


"- Luenberger, D. G. and Ye, Y, (2016) Linear and Nonlinear Programming, 4th Edition, Springer. - Beck, A. (2023) Introduction to nonlinear optimization: theory, algorithms and applications with Python and MATLAB, 2nd Edition, SIAM Series on Optimization. - Wright, S. and Recht, B. (2022) Optimization for Data Analysis, Cambridge University Press. - Taha, H.A. (2017). Operations Research: an introduction, 10th Ed., Pearson. - Bertsekas D. (1998) Network Optimization: Continuous and Discrete Models, MIT, Athena Scientific Publisher. - Bäck, T. (1996) Evolution Strategies, Evolutionary Programming, Genetic Algorithms, Oxford University Press, New York. - Conn, A.R., Scheinberg, K. and Vicente, L.V. (2009) Introduction to Derivative-Free Optimization, SIAM Series on Optimization. - Miettinen, K. (1999) Nonlinear Multiobjective Optimization, Kluwer. - Boyd, S. and Vandenberghe, L. (2009) Convex Optimization, 7th edition, Cambridge University Press "

Bibliografia Secundária / Secondary Bibliography


"- Bonnans, J.F, Gilbert, J.C., Lemarechal, C. and Sagastizábal, C.A. (2006) Numerical Optimization: Theoretical and Practical Aspects, Springer Verlag. - Nocedal, J. and Wright, St. (1999) Numerical optimization, Springer Verlag. - Barabási A. (2016) Network Science, Cambridge University Press. - Ragsdale, C.T. (2017). Spreadsheet Modeling and Decision Analysis: A Practical Introduction to Business Analytics. 8th Ed. Cemgage Learning. - Sundaram, R. K. (2011) A First Course in Optimization Theory, Cambridge University Press. - Hillier, F.S. Lieberman, G.J. (2014). Introduction to Operations Research, 10th Ed.. McGraw-Hill. - Rao, S.S. (1996) Engineering Optimization: Theory and Practice, John Wiley & Sons, Canada. - Solomon, J. (2015) Numerical Algoritms/ Methods for Computer Vision, Machine Learning, and Graphics, CRC Press."

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


2025-12-02