Academic Year 2023/2024 - Docente: Fabio RACITI

Risultati di apprendimento attesi

This graduated-level course introduces analytic tools and optimization methods that are suitable for large-scale problems arising in data science applications. The course presents both basic and advanced concepts of optimization and explores several algorithms that are efficient for network problems.

The student will acquire the ability to formulate, in mathematical terms, problems related to profit maximization and cost minimization, optimization of resources, and traffic network equilibria.
The goals of the course are:

  • Knowledge and understanding: the aim of the course is to acquire advanced knowledge that allows students to study optimization problems and model techniques of large-scale decision-making problems. The students will be able to use algorithms for both linear and nonlinear programming problems.
  • Applying knowledge and understanding: students will acquire knowledge useful to identify and model real-life decision-making problems. In addition, through real examples, the student will be able to implement correct solutions for complex problems.
  • Making judgments: students will be able to choose and solve autonomously complex decision-making problems and to interpret the solutions.
  • Communication skills: students will acquire base communication and reading skills using technical language.
  • Learning skills: the course provides students with theoretical and practical methodologies and skills  to deal with large-scale optimization problems.

Course Structure

There will be both classroom lessons and laboratory lessons. For each topic, exercises will be solved by the teacher or proposed to students. During the course notes on some topics will be given. Moreover, a very detailed description of everything explained in classroom will be posted on Studium.  Students are invited to carefully check this description before they take the exam.

Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.

Required Prerequisites

Basic elements of vectors and matrices, vector spaces, linear equations, inequalities.  

Attendance of Lessons

Attendance is strongly recommended

Detailed Course Content

Linear Programming (LP) (about 18h)
LP models; Graphical method; Simplex method; Duality;  sensitivity analysis

Integer Linear Programming (ILP) (about 9 h)
The maximum weight matching problem;  The minimum vertex cover problem; Basics of the Branch & Bound method; examples of 0-1 programs;

Software (about 5 hours)
Excel, Matlab,

Network problems (about 8 h)
Graphs (Kruskal, Dijkstra)

Textbook Information

  1. M.S. Bazaraa, J.J. Jarvis, H.D. Sherali, Linear Programming and Network Flows, John Wiley & Sons, 2009.
  2. F. Hillier, G.J. Liebermann, “Introduction to Operations Research”, McGraw-Hill, 2006
  3. Matoušek-Gärtner: Understanding and using linear programming, Springer 2007

Course Planning

 SubjectsText References
1Linear models and the Simplex Method3,2
2Duality in LP3,2
3Sensitivity Analysis2,3
4Integer programming and the Branch and Bound Method2,3
5Graph Algorithms1,2

Learning Assessment

Learning Assessment Procedures

The final exam consists of an oral test during which  candidates shows that they have assimilated the topics covered in the course.  Student can also be asked to solve simple exercises of  the same type as the ones solved in classroom.

Learning assessment may also be carried out on line, should the conditions require it.

Examples of frequently asked questions and / or exercises

  • The symplex method: basic feasible solutions.
  • The simplex method: pivot rules.
  • The simplex method: graphical resolution
  • The strong duality theorem.
  • The maximum weight matching problem.
  • the minimum  vertex cover problem.
  • The least square method (L2 minimization) .
  •  The method of absolute deviations (L1 minimization)
  • The Kruskal algorithm