Tecniche di Ottimizzazione per il Controllo
Anno accademico 2026/2027 - Docente: LUCIA VALENTINA GAMBUZZARisultati di apprendimento attesi
Conoscenza dei fondamenti della teoria dell'ottimizzazione: funzioni obiettivo, vincoli, condizioni di ottimalità, dualità e condizioni di Karush–Kuhn–Tucker. Comprensione della formulazione del controllo ottimo continuo e del Regolatore Lineare Quadratico (LQR), inclusi l'Hamiltoniana, l'equazione di Hamilton–Jacobi–Bellman e l'equazione di Riccati. Conoscenza dei principali algoritmi numerici di ottimizzazione (gradient descent, metodo di Newton, metodi interior-point) applicati a problemi di controllo. Conoscenza dei principi del Model Predictive Control: orizzonte di predizione, vincoli su stato e controllo, stabilità, varianti esplicita/implicita.
Capacità di applicare conoscenza e comprensione
Capacità di formulare e risolvere problemi di ottimizzazione vincolata (QP/NLP) con strumenti software (MATLAB: quadprog, fmincon). Capacità di progettare un regolatore LQR per sistemi lineari e di confrontarne le prestazioni con un controllore PID. Capacità di implementare un controllore MPC per sistemi SISO e MIMO, anche mediante toolbox dedicati. Capacità di discretizzare un modello dinamico e implementare un controllore ottimo (LQR o MPC a orizzonte finito) su microcontrollore.
Autonomia di giudizio
Lo studente è in grado di scegliere la tecnica di controllo ottimo più adeguata (LQR vs MPC) in funzione dei vincoli del sistema e delle risorse computazionali disponibili, e di valutare criticamente i compromessi tra ottimalità, robustezza e complessità computazionale di una soluzione progettata.
Abilità comunicative
Lo studente è in grado di presentare, in forma scritta e orale, la formulazione di un problema di controllo ottimo e i risultati di un progetto di confronto tra tecniche di controllo, anche a un pubblico con competenze di base in automatica
Capacità di apprendere
Lo studente acquisisce un metodo per affrontare in autonomia nuove tecniche di ottimizzazione e controllo non trattate esplicitamente a lezione, a partire dai fondamenti teorici del corso, ed è in grado di orientarsi nella letteratura tecnica e nella documentazione di toolbox e piattaforme (MATLAB, Arduino/ESP32) per approfondire e aggiornare le proprie competenze.
Modalità di svolgimento dell'insegnamento
L'insegnamento si svolge attraverso una combinazione di Didattica Erogativa (DE) e Didattica Interattiva (DI).
La Didattica Erogativa comprende lezioni frontali dedicate alla presentazione dei concetti teorici, delle metodologie matematiche e degli algoritmi affrontati nel corso.
La Didattica Interattiva comprende esercitazioni guidate, attività applicative e discussione di problemi ed esempi. Una parte significativa delle attività applicative è svolta mediante MATLAB, utilizzato come ambiente per la modellistica, la simulazione, l'analisi dei sistemi e la soluzione di problemi di ottimizzazione.
Le esercitazioni sono finalizzate a sviluppare la capacità di trasferire le conoscenze teoriche alla soluzione di problemi concreti. In particolare, vengono proposti problemi nei quali lo studente è chiamato a:
formulare matematicamente il problema;
selezionare il metodo di soluzione appropriato;
implementare la procedura mediante MATLAB;
analizzare e interpretare i risultati;
discutere i limiti e le caratteristiche della soluzione ottenuta.
L'organizzazione delle attività didattiche è pertanto finalizzata a garantire la coerenza tra gli obiettivi formativi e le modalità di insegnamento, integrando l'acquisizione delle conoscenze teoriche con lo sviluppo delle competenze applicative.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto sopra dichiarato, al fine di rispettare il programma previsto e riportato nel presente syllabus.
Prerequisiti richiesti
Frequenza lezioni
La frequenza non è obbligatoria ma fortemente consigliata.
Contenuti del corso
Problemi di ottimizzazione: funzioni obiettivo, vincoli. Ottimizzazione non vincolata: condizioni di ottimalità, gradiente, Hessiana. Ottimizzazione vincolata: moltiplicatori di Lagrange, condizioni KKT. Convessità e problemi quadratici.
II. Controllo ottimo continuo e Regolatore Lineare Quadratico (LQR)
Formulazione del problema di controllo ottimo, Hamiltoniana, equazione di Hamilton–Jacobi–Bellman. Problema LQ continuo e discreto. Equazione di Riccati (differenziale e algebrica). Proprietà del regolatore LQR e scelta delle matrici Q e R. Estensioni: tracking LQ.
III. Ottimizzazione numerica per il controllo
Discretizzazione dei sistemi dinamici. Metodi di ottimizzazione numerica: gradient descent, metodo di Newton, metodi interior-point. Quadratic Programming e Nonlinear Programming nel controllo. Complessità computazionale.
IV. Model Predictive Control (MPC)
Principio dell'MPC. Orizzonte di predizione e funzione di costo. Vincoli su stato e controllo. Stabilità dell'MPC. MPC esplicito vs implicito. MPC lineare.
V. Implementazione su microcontrollore
Piattaforme Arduino/ESP32. Uso di un sensore semplice o di un sistema emulato (motore DC, sistema massa–molla virtuale). Discretizzazione del modello e implementazione di un controllore LQR oppure MPC a orizzonte finito. Risoluzione del problema di ottimizzazione offline (precalcolo dei guadagni) o online semplificata. Test sperimentale e analisi delle prestazioni.
Testi di riferimento
1. Boyd S., Vandenberghe L., Convex Optimization, Cambridge University Press (disponibile online: https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf)
2. Nocedal J., Wright S., Numerical Optimization, Springer
3. Lewis F.L., Vrabie D., Syrmos V.L., Optimal Control, Wiley
4. Rawlings J.B., Mayne D.Q., Diehl M., Model Predictive Control: Theory, Computation, and Design
5. Materiale didattico (slide, dispense, codice MATLAB) fornito dal docente
Programmazione del corso
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Richiami di ottimizzazione — funzioni obiettivo e vincoli, condizioni di ottimalità, moltiplicatori di Lagrange e condizioni KKT, convessità, problemi quadratici; esercitazione: QP in MATLAB (quadprog, fmincon)(8h teoria+2pratica) | |
| 2 | Controllo ottimo continuo e LQR — Hamiltoniana, HJB, problema LQ continuo/discreto, equazione di Riccati, scelta di Q e R, tracking LQ; esercitazioni: controllo ottimo di sistemi lineari semplici, progetto LQR in MATLAB e confronto con PID(10h teoria+2pratica) | |
| 3 | Ottimizzazione numerica per il controllo — discretizzazione, gradient descent, Newton, interior-point, QP/NLP nel controllo, complessità computazionale; esercitazione: implementazione di un problema di controllo come QP, confronto algoritmi(8h teoria+2pratica) | |
| 4 | Model Predictive Control — principio, orizzonte e costo, vincoli, stabilità, MPC esplicito/implicito, MPC lineare; esercitazioni: MPC per sistemi SISO/MIMO, toolbox MPC MATLAB(9h teoria+2pratica) | |
| 5 | Implementazione su microcontrollore — Arduino/ESP32, discretizzazione e implementazione di LQR o MPC a orizzonte finito, risoluzione offline/online, test sperimentale (7pratica) |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Esempi di domande e/o esercizi frequenti
- Derivare le condizioni KKT per un semplice problema di ottimizzazione vincolata.
- Derivare la soluzione del problema LQR tramite l'equazione di Riccati per un dato sistema lineare.
- Formulare un problema di controllo con vincoli come problema di Quadratic Programming.
- Spiegare la differenza tra MPC esplicito e implicito, e i relativi compromessi in termini di risorse computazionali.
- Progettare un semplice controllore MPC con vincoli sull'ingresso per un sistema del primo o secondo ordine.
- Discutere le scelte progettuali per l'implementazione di un controllore ottimo su un microcontrollore a risorse limitate.