Course Unit Page

Academic Year 2022/2023

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 learning.

  • Algorithms for clustering and classification
  • Neural networks
  • Laboratory activity on applications for machine learning algorithsm arising in real applications


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 each module there is a written exam (without books/notes) and/or an oral test (possibly, on the same day).

The final mark will be determined according to both partial marks.

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