Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04317
Acrónimo :
04317
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Portuguê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) :
21.0h/sem
Aula Prática e Laboratorial (PL) :
15.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
Outras (O) :
0.0h/sem
Horas de Contacto :
37.0h/sem
Trabalho Autónomo :
113.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


2023/2024

Pré-requisitos / Pre-Requisites


É recomendado que o aluno esteja familiarizado com os conteúdos programáticos de álgebra linear e cálculo diferencial a múltiplas variáveis, e que tenha capacidades de programação básica em Phyton.

Objetivos Gerais / Objectives


Esta Unidade Curricular (UC) visa dotar o aluno de conhecimentos sobre modelos e técnicas em programação linear e não-Linear que permitam abordar e resolver eficientemente problemas de otimização em contextos reais. Face ao tipo de conteúdos da UC, é usada a metodologia problem-based learning (PBL) como forma de desenvolver as capacidades e competências em otimização. A resolução de problemas e outras atividades de aplicação dos conteúdos são, sempre que possível, contextualizadas em temas da transformação digital, o que potencia a aquisição de competências práticas.

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. Formular problemas em programação linear e não-linear, com ou sem restrições, programação inteira e inteira mista e programação por metas. OA2. Distinguir problemas lineares de não-lineares OA3. Adequar e aplicar os conhecimentos teóricos à resolução dos problemas concretos. OA4. Resolver o modelo matemático e interpretar as soluções. OA5. Interpretar os relatórios de análise de sensibilidade. OA6. Entender os pressupostos teóricos inerentes às condições de otimalidade. OA7. Entender a especificidade da otimização convexa. OA8. Distinguir entre extremos locais e globais e as dificuldades na sua classificação. OA9. Adequar e aplicar os métodos iterativos de busca em linha. OA10. Distinguir as potencialidades e limitações dos métodos aplicados (convergência, robustez) OA11. Efetuar análises técnicas (objetivo único) e tomar decisões de compromisso (múltiplos objetivos). OA12. Identificar a abordagem ou algoritmo adequados para um determinado problema de otimização.

Conteúdos Programáticos / Syllabus


CP1. Formulação de problemas em otimização. Otimização livre versus condicionada CP2. Programação linear versus não-linear CP3. Condições de otimalidade. Limitações dos métodos analíticos CP4. Conceito de conjunto convexo e de função convexa. Otimização convexa CP5. Técnicas de resolução geométrica CP6. Métodos em programação linear. Simplex e big-M CP7. Dualidade; problema dual e algoritmo dual do Simplex CP8. Interpretação da solução e análise de sensibilidade CP9. Fundamentos de otimização discreta. Programação binária, inteira e inteira mista. Planos de corte. Métodos híbridos CP10. Programação linear multi-objetivo. Programação por metas. Método sequêncial e das penalidades e pesos CP11. Aproximações polinomiais e métodos de busca em linha. Critérios de convergência CP12. Dualidade Lagrangeana. Condições de Karush-Kuhn-Tucker

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


Os conteúdos programáticos (CPs) estão relacionados com cada um dos objetivos de aprendizagem (OAs) da seguinte forma: OA1: CP1, CP2, CP4, CP9, CP10 OA2: CP1, CP2, CP4, CP5, CP9, CP10 OA3: de CP1 a CP12 OA4: CP5, CP6, CP7, CP8, CP9 OA5: CP8 OA6: CP3 OA7: CP4, CP5 OA8: CP3, CP4, CP11, CP12 OA9: CP11 OA10: CP8, CP11 OA11: CP6, CP11 OA12: de CP1 a CP12

Avaliação / Assessment


Aprovação com classificação não inferior a 10 valores (escala 1-20) numa das modalidades seguintes: - Avaliação periódica: Teste Intercalar (20%) + 2 Trabalhos de grupo em Python (2x15%) + Trabalho Autónomo (10%) + Teste Final/Frequência (40%); é exigida nota mínima de 7 valores (escala 1-20) no Teste Final - Avaliação por Exame (100%), em qualquer uma das épocas de exame, com prova escrita individual.

Metodologias de Ensino / Teaching methodologies


Serão utilizadas as seguintes metodologias de ensino-aprendizagem (MEAs): MEA1. Expositivas, para apresentação dos quadros teóricos de referência MEA2. Participativas, com análise de algoritmos e metodologias MEA3. Ativas, com realização de trabalho de grupo MEA4. Experimentais, em laboratório de informática, realizando análises sobre casos/problemas reais MEA5. Autoestudo, relacionado com o trabalho autónomo (TA) do aluno, tal como consta no Plano de Unidade Curricular (PUC) das aulas.

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-aprendizagem (MEAs) visam atingir os objetivos de aprendizagem (OAs) conforme indicado de seguida: MEA1 - de OA1 a OA12 MEA2 - de OA1 a OA12 MEA3 - de OA1 a OA12 MEA4 - de OA1 a OA12 MEA5 - de OA1 a OA12 Através do Plano de Unidade Curricular (PUC), elaborado em cada ano letivo, são estabelecidos os conteúdos programáticos para cada aula; no PUC são também pormenorizadas as estratégias metodológicas de ensino-aprendizagem escolhidas para atingir os OAs associados a esses CPs. É usada a metodologia problem-based learning (PBL) como forma de desenvolver capacidades intelectuais que são fundamentais a uma sólida formação profissional em tomada de decisão e trabalho colaborativo. A resolução de problemas e outras atividades de aplicação dos conteúdos são, sempre que possível, contextualizadas em temas da transformação digital, o que potencia a aquisição de competências práticas. Para fazer face ao número de horas de contacto, as MEAs adotadas incluem ferramentas e estratégias inovadoras de apoio à lecionação e ao trabalho autónomo do aluno. Também se enfatizou o apoio tutorial necessário.

Observações / Observations


As aulas são teórico-práticas (TP=27h) e laboratoriais (PL=9h) com programação em Python de exploração de conteúdos programáticos e elaboração de algoritmos. É aconselhado o número mínimo de 6 a 7 horas semanais em trabalho autónomo (MEA5) para consulta da bibliografia indicada, resolução de exercícios e problemas, exploração computacional em Python e revisão de conteúdos programáticos. A componente de trabalho prático computacional, com caráter obrigatório na avaliação, permite uma consolidação de conhecimentos e aquisição de capacidades conforme os objetivos de aprendizagem traçados para a UC. É obtida uma melhor consolidação dos CPs da UC ao ser acautelado um número de horas de trabalho autónomo por parte do aluno, respeitando o ritmo da sua aprendizagem. Além disso, a equipa docente desenvolverá um esquema de acompanhamento regular a esse trabalho autónomo; esse esquema será baseado num diagnóstico inicial (através de um teste diagnóstico, por exemplo) que garante a sua eficácia, e será ajustado às necessidades individuais detetadas nos alunos (métodos de estudo inexistentes ou desadequados e ausência de certos conhecimentos e capacidades importantes como pré-requisito). São disponibilizados, pela equipa docente, materiais científico-pedagógicos (slides, notas de desenvolvimento, código e pseudo código, fichas de exercícios e problemas).

Bibliografia Principal / Main Bibliography


Taha, H.A. (2017). Operations Research: an introduction, 10th Ed.. Pearson. Ragsdale, C.T. (2017). Spreadsheet Modeling and Decision Analysis: A Practical Introduction to Business Analytics. 8th Ed. Cemgage Learning. Hillier, F.S. Lieberman, G.J. (2014). Introduction to Operations Research, 10th Ed.. McGraw-Hill. Nash, S.G, Sofer A. (1996). Linear and Nonlinear Programming. McGraw-Hill.

Bibliografia Secundária / Secondary Bibliography


Winston, W.L. (2004). Operations Research: Applications and Algorithms, 4th Ed.. Duxbury Press.

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


2024-02-16