- Docente: Michele Monaci
- Credits: 6
- SSD: MAT/09
- Language: English
- Moduli: Michele Monaci (Modulo 1) Andrea Lodi (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
-
Corso:
Second cycle degree programme (LM) in
Electronic Engineering (cod. 0934)
Also valid for Second cycle degree programme (LM) in Automation Engineering (cod. 8891)
Second cycle degree programme (LM) in Telecommunications Engineering (cod. 9205)
-
from Feb 20, 2024 to Apr 11, 2024
-
from Apr 16, 2024 to Jun 06, 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
Readings/Bibliography
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