Academic Year 2023/2024

Learning outcomes

The aim of this course is to provide the advanced methods for the solution of difficult optimization problem and their applications Graph coloring, paths and circuits, network synthesis (location/allocation). Heuristics for graph and network optimization problems. Advanced heuristics and exact methods for discrete optimization problems. Branch and cut and Column generation methods. Problem decomposition techniques. Metaheuristics for discrete optimization problems. Optimization with uncertainty. Stochastic optimization and Monte Carlo methods. Heuristics for Stochastic optimization. Robust optimization: reformulations and solution algorithms. Prescriptive analytics and Decision Support. Decision analysis and decision trees. Algorithms configuration, Clustering and Classification. Big Data and large scale problems. Applications in telecommunications, energy distribution and circuits, automation and production (machine scheduling, job/flow shop).

Course contents


Students attending this course are supposed to know basic notions on Operations Research, on implementation of algorithms and on the analysis of their computational complexity.

All lectures are given in English. Thus, good comprehension of this language is required.

The course introduces solution algorithms for nonlinear optimization problems that are the basis of many machine learning tools which find applications in telecommunications, electronics, automatic control and decision support systems.

The course is divided into two modules.

Module 1: the first module introduces solution algorithms for nonlinear optimization problems

  • Nonlinear optimization: introduction to mathematical programming, models and algorithms.

  • Nonlinear models: unconstrained optimization and constrained optimization. Relaxations and penalty algorithms.

  • Convex optimization: Lagrangian relaxation and barrier algorithm.

  • Applications of convex optimization to support vector machine and deep learning.

Module 2: the second module introduces basic machine learning techniques for classification and regression.

  • Introduction to machine learning and data management

  • Algorithms for clustering

  • Algorithms for classification

  • Neural networks

  • Interplay between discrete optimization and learning

  • Laboratory guidelines to the implementation of learning algorithms



Slides available online


For more details:

-- C. Bishop, Pattern Recognition and Machine Learning. Springer

-- S. Boyd e L. Vandenberghe, Convex Optimization. Cambridge University Press
-- L. Grippo e M. Sciandrone, Metodi di Ottimizzazione Non Vincolata. Springer
-- J. Nocedal e S. J. Wright, Numerical Optimization. Springer

Teaching methods

The course consists of class (or online) lectures that concern both the theoretical aspects and the practical application of the algorithms.

Assessment methods

For Module 1, there is a written exam (without books/notes) and/or an oral test (possibly, on the same day).

For Module 2, there is a takeaway project that needs to be completed within one week. The evaluation is based both on a code and a PDF explaining the setting and the results of the projects.

The final grade will be determined according to the grades of both Modules.


Teaching tools

All teaching material used during the course will be available to the students on Virtual Learning Environment.

Office hours

See the website of Michele Monaci

See the website of Andrea Lodi