Investigação Operacional

Conhecimentos de Base Recomendados

São recomendáveis conhecimentos de álgebra linear, de cálculo diferencial e de programação.

Métodos de Ensino

A atividade letiva decorre com exposição de conceitos, técnicas e métodos, com grande enfoque em aplicações práticas. Será utilizado software de apoio à resolução de problemas de maior dimensão. As aulas decorrem com suporte informático, fomentando a aplicação prática de conhecimentos algorítmicos.

Resultados de Aprendizagem

Objetivos:

Nesta disciplina introduzem-se técnicas de apoio ao processo de decisão, recorrendo a modelos da programação matemática, envolvendo modelos lineares e lineares inteiros. Ainda inserido nos modelos lineares, são abordados problemas de otimização em redes.

Na disciplina, são estudadas técnicas de resolução dos modelos matemáticos propostos e fomentada a aplicação desses modelos recorrendo a problemas no âmbito da Gestão de Empresas e dos Sistemas de Informação. Para além da abordagem teórica a estes assuntos, será proposto software adequado (Microsoft Excel, lp_solve, Python e GUROBI) para o estudo de problemas de maior dimensão.

A disciplina incide ainda no estudo de algoritmos para Inteligência Artificial, incluindo técnicas heurísticas e metaheurísticas para resolução de problemas de otimização combinatória. Será dada especial atenção à aplicação prática destas técnicas.

Competências:

Durante o curso serão suscitados vários problemas da Gestão de Empresas e dos Sistemas de Informação, através dos quais se pretende criar no aluno sensibilidade para a modelização matemática desses problemas, assim como a sua resolução algorítmica. Pretende-se desta forma estabelecer pontes que visam a utilização de técnicas analíticas quantitativas no apoio ao processo de decisão.

Programa

1 – Introdução à modelação matemática

   1.1 – Formulação matemática de problemas

   1.2 – Casos de aplicação da modelação matemática a problemas de Gestão e de Sistemas de Informação

2 – Programação Linear

   2.1 – Propriedades de um modelo Linear

   2.2 – Técnicas de resolução para programação linear contínua

   2.3 – Utilização de meios informáticos para a resolução de programas lineares: Microsoft Excel, lp_solve, Python e GUROBI.

   2.4 – Análise de sensibilidade e análise paramétrica em programação linear

   2.5 – Interpretação económica de soluções e aplicação ao processo de tomada de decisão

3 – Otimização em redes

   3.1 – Introdução à teoria de grafos/redes. Conceitos e propriedades

   3.2 – Utilização de meios informáticos para a resolução de modelos com estrutura em rede

   3.3 – Transportes e Afetação

   3.4 – Problema do caminho mais curto

   3.5 – Problema do fluxo máximo

   3.6 – Problema de fluxo de custo mínimo

4 – Programação inteira

   4.1 – Definições e interpretação de variáveis inteiras. Propriedades

   4.2 – Algumas técnicas de modelação recorrendo a variáveis binárias

   4.3 – Utilização de meios informáticos para a resolução de programas lineares inteiros: Microsoft Excel, lp_solve, Python e GUROBI.

   4.4 – Aplicações da programação inteira

5 – Algoritmos evolutivos para Inteligência Artificial

   5.1 – Introdução à Inteligência Artificial

   5.2 – Algumas técnicas aproximativas de resolução de problemas combinatórios

   5.3 – Heurísticas greedy

   5.4 – Heurísticas de pesquisa local

   5.5 – Algoritmo A*

   5.6 – Metaheurísticas com fatores determinísticos

   5.7 – Metaheurísticas com fatores aleatórios

Docente(s) responsável(eis)

Pedro João Coimbra Martins

Métodos de Avaliação

O processo de avaliação nesta unidade curricular compreende:

1) exame final - em época prevista no calendário escolar,

2) 2 trabalhos (facultativos) – realizados em grupos de 2 a 4 alunos.

- As provas de exame têm o formato de provas escritas.

- O aluno só pode beneficiar das notas dos trabalhos se não registar mais de 7 faltas às aulas.

- As notas dos trabalhos serão ponderadas na nota final apenas se a nota do exame for superior ou igual a 6,0 valores (em 20).

- Os trabalhos deverão ser realizados apenas durante o período de aulas, mantendo-se válidos em todas as épocas de exame previstas no presente ano letivo.

- Nota final (sujeita às condições anteriormente expostas):

  Com trabalho: Nota final = 0,4 (nota do exame) + 0,6 (média das notas dos trabalhos)

              (se respeitar o limite de faltas e nota no exame superior ou igual a 6,0 valores)

  Sem trabalho: Nota final = nota do exame

A aprovação à disciplina obtém-se com nota final superior ou igual a 9,5 valores em 20.

Nas primeiras aulas, o docente indicará uma data limite para os grupos informarem da intenção de realização de trabalho e uma data limite para a entrega dos trabalhos.

Os relatórios dos trabalhos devem ser colocados na área de “Submissão de Trabalhos” do Inforestudante.


    Estágio(s)

    NAO

    Bibliografia

    Bibliografia Essencial

    – Martins, P. Elementos de apoio disponibilizados na plataforma NONIO, Edição do Autor.

    – E. Costa e A. Simões, Inteligência Artificial. FCA, Lisboa, 2008.

    – Hillier, F. S., & Lieberman, G. J. (2021). Introduction to Operations Research, Mc Graw-Hill. ISBN: 978-0-

    071-13989-2

    – Mourão, M. C., Santiago Pinto, L., Simões, O., Valente, J., & Pato, M. V. (2019). Investigação Operacional:

    Exercícios e Aplicações, Escolar Editora. ISBN: 978-9-725-92556-0

     

    Bibliografia Complementar

    – Júdice, J. J., Martins, P. C., Pascoal, M. M. B., & Santos, J. P. (2006). Programação Linear, Departamento de
    Matemática da Universidade de Coimbra.

    – Júdice, J. J., Martins, P. C., Pascoal, M. M. B., & Santos, J. P. (2006). Optimização em Redes, Departamento
    de Matemática da Universidade de Coimbra.

    – Rardin, R.L. (2017), Optimization in Operations Research (2nd ed.), Pearson Higher Education, Hoboken.
    ISBN: 978-0-13-438455-9

    – Wolsey, L. (1998). Integer Programming, Wiley-Interscience.