News:
The lesson on 03/10/2025 will be held remotely. Zoom link https://uniroma1.zoom.us/j/85277716155
Students please join the Google Class of the course by following this link. Please register only with the Sapienza email (@studenti.uniroma1.it).
For any doubt or question, write me an email (liberati@diag.uniroma1.it).
Office hours: Thursdays, 14:00 to 16:00, in presence or online (meet.google.com/zob-fhvk-bsz). Please send me an email to book an appointment in advance. You are encouraged to come to the office hours, to ask any clarification.
Lessons schedule - Link to official schedule
Monday 15:00-19:00 classroom 28 San Pietro in Vincoli (SPV);
Thursday 12:00-14:00 room 28 SPV;
Friday 14:00-16:00 room 9 SPV.
Starting from this year, the course is tought entirely by Francesco Liberati. In the past years, the process identification part was tought by Prof. Daniela Iacoviello (link to webpage).
Introduction to the course: process modelling, identification and control
Process control with Model Predictive Control (MPC):
MPC formulation: objective function (stage cost, terminal cost), constraints, terminal constraints
Analysis of the main properties of MPC: recursive feasibility, optimality, stability.
Economic MPC.
MPC problems with mixed-integer variables and dynamical-locigal constraints. Examples.
Examples of applications in various sectors: task scheduling in industrial assembly lines, smart charging of electric vehicles, smart grids, traffic control, etc.
New: Reinforcement learning (RL) and hybrid MPC-RL algorithms.
Implementation of simple MPC algorithms using the Julia technical language (https://julialang.org/). Learn how to practically write and solve an MPC problem.
Process identification:
Problem definition
Traditional methods
Advanced methods
Implementation examples in Julia and Python.
Exam modality: Written exam with exercises and open questions. Closed book exam: at the exam, the student can use only paper, pen and calculator. It is forbidded to use any other electronic device or resources such as books, notes, slides, etc.
Exam dates: to be defined
THE EXAM MUST BE BOOKED ON INFOSTUD.
For every lesson, a summary of the content will be available below, with the precise indication of the related study materials. Note: you can take benefit also of the materials of the past editions of the course, available on my website.
Lesson 1 (25/09/2025): Introduction to the course
We discuss the course logistics, office hours, study matherials, the exam, etc. High level introduction to the technical content of the course, focusing first on the control part. Intoduction to MPC. Nominal MPC and the thre main theoretical properties (optimality, recursive feasibility, stability). Robust, sthocastic and probabilistic MPC. Centralized vs decentralized MPC.
Read chapter 1 of book [Cannon_2016].
Read my slides on MPC up to slide 20.
Read slides 1-26 of the presentation at this link of Prof. Bemporad.
Lesson 2 (26/09/2025): Nominal MPC
Finished the recap of the technical content of the course (control part). Started the discussion of nominal MPC. Definition of the MPC control pseudo-code. Definition of the nemenclature with two time indices.
Read my slides on MPC up to slide 25.
Lesson 3 (29/09/2025): MPC and Infinite-horizon constrained control
Recap of MPC pseudocode, MPC nomenclature. Nominal assumption. Toy example with full formulation. Alternative PID control. We then introduced an abstract and general formulation of the optimization problem at the base of MPC, discussing all its main ingredients (stage cost, terminal cost, model, state and input constraints, terminal constraint, etc.). Ideal infinite-horizon control. LQR in the constrained and unconstrained case. In the unconstrained LQR case, a closed-form solution can be found.
Read chapter 2 of book [Cannon_2016] up to section 2.2 (included). Proofs are not mandatory.
Read my slides on MPC up to slide 30.
Lesson 4 (02/10/2025): Example on modelling plus cost of infinite horizon unconstrained LQR
We did a simple modelling exercise, to see how to derive the state space model of a linear system. Then we resumed the discussion of infinite horizon constrained control. We computed the optimal cost associated to the solution (u=Kx) of the unconstrained LQR problem.
Read my slides on MPC up to slide 30.
Lesson 5 (03/10/2025): Dual mode control
Remote lesson, link to join Zoom meeting
https://uniroma1.zoom.us/j/85277716155
For each lesson, I will indicate the exact study material to consult. In the following you will find a preliminary list. I will strive to use only study material that is free and openly accessible over the internet.
PROCESS CONTROL PART
Excellent books on MPC are:
[Cannon_2016]. Kouvaritakis, Basil, and Mark Cannon. "Model predictive control." Switzerland: Springer International Publishing (2016): 38. Can be downloaded for free at this Link
[Rawlings_2017]. Rawlings, James Blake, David Q. Mayne, and Moritz Diehl. Model predictive control: theory, computation, and design. Vol. 2. Madison, WI: Nob Hill Publishing, 2017. Available online at: https://sites.engineering.ucsb.edu/~jbraw/mpc/MPC-book-2nd-edition-1st-printing.pdf
These are advanced books, we will use only specific sections, as I will mention during the course.
Reference book on (deep) reinforcement learning
[Barto & Sutton]. Andrew Barto and Richard S. Sutton. Reinforcement Learning: An Introduction. Second edition. Available online here: http://incompleteideas.net/book/the-book-2nd.html
PROCESS IDENTIFICATION PART
System identification: course notes prof. Philippe Dreesen, VRIJE Universiteit Brussel
S. Bittanti, Model Identification and Data Analysis, John Wiley, 2019
A.Garulli, A. Giannitrapani, Dispense di identificazione e analisi dati, 2011
L. Ljung, System identification: Theory for the user. Prentice Hall, 1999
A.De Santis, Metodi di identificazione
J. Brownlee, How to Decompose Time Series Data into Trend and Seasonality, Time series, 2017,
https://machinelearningmastery.com/decompose-time-series-data-trend-seasonality/
Dario Radecic: https://towardsdatascience.com/time-series-from-scratch-decomposing-time-series-data-7b7ad0c30fe7
Some scientific articles we will consult.
The following ones are some excellent articles on MPC.
[Bemporad_1999]. Bemporad , Alberto, and Manfred Morari . "Control of systems integrating logic, dynamics, and constraints." Automatica 35, no. 3 (1999): 407 427.
https://www.sciencedirect.com/science/article/abs/pii/S0005109898001782
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.35.2690&rep=rep1&type=pdf
[Mayne_2000]. Mayne, David Q., James B. Rawlings, Christopher V. Rao, and Pierre OM Scokaert. "Constrained model predictive control: Stability and optimality." Automatica 36, no. 6 (2000): 789-814.
https://www.sciencedirect.com/science/article/pii/S0005109899002149
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.231.3109&rep=rep1&type=pdf
[MIT_2003]. MIT Course “Optimization Methods in Management Science”. Available at this link.
See lecture notes at this link.
•I suggest checking in particular lessons L10 and L11.
•Read the IP reference guide (PDF).
[Hax_1977]. Bradley, Stephen P., Arnoldo C. Hax, and Thomas L. Magnanti. Applied mathematical programming. Addison-Wesley, 1977.
http://web.mit.edu/15.053/www/AMP.htm
•Consult Chapter 9.
Another interesting presentation on logical constraints and integer programming is at this link.
Reference for the application of MPC to traffic management.
[Liberati_2020]. Liberati, Francesco. "Model predictive control of a road junction." Smart Cities 3.3 (2020): 806-817.
https://www.mdpi.com/2624-6511/3/3/41
Reference for the application of MPC to assembly line control.
[Liberati_2021]. Liberati, Francesco. "Task Execution Control in an Assembly Line via Shrinking Horizon Model Predictive Control”. Password –protected file in the shared Google drive folder. The password has been sent via message on Google Class. Ask in case. Note: this file is confidential, for personal study only, it cannot be shared in any way.
Additional references on MPC for building energy management. These are not mandatory, but I suggest to have at least a quick read. Skip the parts we did not do at lesson. See the simulation sections to see how the MPC controller manages the loads, the generation and the storage of energy in the building:
[2014_Di Giorgio] Di Giorgio, Alessandro, and Francesco Liberati. "Near real time load shifting control for residential electricity prosumers under designed and market indexed pricing models." Applied Energy 128 (2014): 119-132.
https://www.sciencedirect.com/science/article/abs/pii/S0306261914003857
[2019_Liberati] Liberati, Francesco, et al. "Joint model predictive control of electric and heating resources in a smart building." IEEE Transactions on Industry Applications 55.6 (2019): 7015-7027.
https://ieeexplore.ieee.org/abstract/document/8786121/
[2018_Liberati] Liberati, Francesco, and Alessandro Di Giorgio. "Economic model predictive and feedback control of a smart grid prosumer node." Energies 11.1 (2018): 48.
https://www.mdpi.com/1996-1073/11/1/48
Previous exam on the process control part are in the following. For the previous exam on the process identification part, you can consult the webpage of Prof. Daniela Iacoviello.