You are here: Home » Study Plan » Subject



master degree course in COMPUTER SCIENCE

Course year 1
Teaching units Unit Algoritmi di ottimizzazione
Related or Additional Studies (lesson)
  • TAF: Supplementary compulsory subjects SSD: MAT/09 CFU: 6
Teachers: Mauro DELL'AMICO
Moodle portal
Exam type oral
Evaluation final vote
Teaching language Italiano
Contents download pdf download




To develop capability of solving complex problems by means of some of the most updated and effective exact and heuristic techniques: namely column generation, decomposition, metaeuristic.
Introduce to the main mathematical/algorithmic methods to deal with computationally challenging problems.
Develop the capability of implementing algorithms to solve complex problems.
Present some recent techniques for integrating Machine Learning (ML) and Mathematical Optimization (MO)

Admission requirements

Basics of linear and integer programming.
Basics of programming languages: python

Course contents

Overview of Metaheursitic algorithms 1CFU
Overview of Machine Learning methods for classification and forecasting 1CFU
Exact methods: column generation and constraint generation (hint ) 2CFU
Examples of mathematical modelling in python 1CFU
Examples of applications 1CFU

Teaching methods

Seminars, laboratory, project design in small groups.The course is delivered in Italian, in-person. Attendance is not mandatory, but strongly recommended, particularly for the laboratory part. Working students are encouraged to get in touch with the lecturer.

Assessment methods

The final examination consists in small project dealing with an optimization problem to be designed and implemented by a single student or by a small group.

Learning outcomes

1. Knowledge and understanding: know and understand the use of some of the main techniques for solving decision-making and optimization problems
2. Ability to apply knowledge and understanding: be able to apply optimization techniques to problems of medium complexity
3. Autonomy of judgment: ability to collect and interpret data and results of application of algorithmic methods
4. Communication skills: be able to communicate information, ideas, problems and solutions to specialist and non-specialist interlocutors;
5. Learning skills: having developed those learning skills that are necessary to extend one's knowledge of other optimization techniques and undertake subsequent studies with a high degree of autonomy


Dispense dell'docente, disponibili online su Moodle

"Column Generation", Desaulniers, Guy, Desrosiers, Jacques, Solomon, Marius M. (Eds.) , Springer

Martin, Richard Kipp (1999), "Large Scale Linear and Integer Optimization: A Unified Approach", Springer

Ronald L. Rardin (2017, second ed.), "Optimization in Operations Research", Pearson.

Gurobi Reference manual