Operations Research

Base Knowledge

Knowledge on linear algebra, differential calculus and programming are recommended.

Teaching Methodologies

The teaching activity takes place in a mixed regime: face-to-face or by videoconference, with the exposition of concepts, techniques and methods, with a strong focus on practical applications. Software will be used to support the resolution of larger sized problems. The classes are held with computer support, encouraging the practical application of algorithmic knowledge.

Learning Results

This subject introduces decision support techniques using mathematical programming, involving linear and integer linear models. It also addresses network optimization problems within linear programming.

The course includes techniques for solving the proposed mathematical models and related applications within Business Management and Information Systems. Besides the theoretical aspects involved, these problems and the associated models are addressed using appropriate software (Microsoft Excel, lp_solve, Python and GUROBI).

The course also focuses on the study of algorithms for Artificial Intelligence, including heuristic and metaheuristic techniques for solving combinatorial optimization problems. Special attention will be given to the practical application of these techniques.

During the course, several problems of Business Management and Information Systems will be raised, through which it is intended to sensibilize the student sensitivity for the mathematical modelling aspects and properties, as well as their algorithmic resolution. This way, it is intended to establish bridges aimed at the use of quantitative analytical techniques to support the decision-making process.

Program

1 – Introduction to mathematical modelling

   1.1 – Mathematical formulation of problems

   1.2 – Applications of mathematical modelling to Business Management and Information Systems problems

2 – Linear Programming

   2.1 – Properties of a linear model

   2.2 – Solving techniques for continuous linear programming

   2.3 – Using software for solving linear programs: Microsoft Excel, lp_solve, Python and GUROBI.

   2.4 – Sensitivity and parametric analysis in linear programming

   2.5 – Economic interpretation of solutions and its application to the decision-making process

3 – Network optimization

   3.1 – Introduction to graphs/networks theory. Concepts and properties

   3.2 – Using software means for solving network optimization problems

   3.3 – Transportation and Assignment

   3.4 – Shortest path problem

   3.5 – Maximum flow problem

   3.6 – Minimum cost flow problem

4 – Integer programming

   4.1 – Definitions and interpretation of integer variables. Properties

   4.2 – Some modelling techniques using binary variables

   4.3 – Using software means for solving integer linear models: Microsoft Excel, lp_solve, Python and GUROBI.

   4.4 – Integer programming applications

5 – Evolutionary algorithms for Artificial Intelligence

   5.1 – Introduction to Artificial Intelligence

   5.2 – Some approximative techniques for solving combinatorial optimization problems

   5.3 – Greedy heuristics

   5.4 – Local search heuristics

   5.5 – A* algorithm

   5.6 – Metaheurhstics with deterministic factors

   5.7 – Metaheuristics with random factors

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Essential Bibliography

–  Teaching materials produced by the teacher.

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

–  F.S. Hillier e G.J. Lieberman, Introdução à pesquisa operacional. McGraw Hill Brasil, 2013.

–  M.C. Mourão, L. Santiago Pinto, O. Simões, J. Valente e M. Vaz Pato, Investigação Operacional: Exercícios e Aplicações, Dashöfer Holding Ltd., Chipre, 2011.

 

Supplementary Bibliography

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

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

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