Nuova ricerca

LUIGI MANCA

Docente a contratto
Dipartimento di Scienze e Metodi dell'Ingegneria

Insegnamento: Optimization Methods for Data-Driven Engineering Processes

Digital Automation Engineering (Offerta formativa 2024)

Obiettivi formativi

Il corso fornisce conoscenze avanzate di ricerca operativa per la risoluzione di problemi decisionali in sistemi ingegneristici guidati dai dati. Si occupa in particolare dello studio e dello sviluppo di metodi di ottimizzazione, sia esatta che euristica, per problemi caratterizzati da condizioni di incertezza dei dati e dinamicità. Fornisce inoltre le basi teoriche e pratiche per la modellazione dei sistemi attraverso la simulazione a eventi discreti. Il corso aggiunge alle necessarie basi teoriche un abbondante uso di software in laboratorio e la presentazione di casi di studio reali derivanti dal campo dell’automazione digitale.

Gli obiettivi formativi del corso, seguendo i descrittori di Dublino, sono i seguenti:
(1) Conoscenza e capacità di comprensione. Attraverso le lezioni teoriche lo studente comprende i concetti e i metodi necessari per la risoluzione di problemi decisionali di particolare complessità. Tali metodi comprendono sia tecniche di ottimizzazione (quali la programmazione lineare intera) che di simulazione (quali la simulazione a eventi discreti).
(2) Capacità di applicare conoscenza e comprensione. Attraverso le attività teoriche e di laboratorio lo studente apprende a modellare problemi decisionali in modo matematico, ad applicare metodologie di risoluzione di problemi, e ad utilizzare e integrare strumenti software.
(3) Autonomia di giudizio. L’insegnamento fornisce agli studenti gli strumenti per valutare con spirito critico diverse tecniche per affrontare sistemi complessi, interpretando e confrontando le diverse soluzioni ottenute.
(4) Abilità comunicative. Il lavoro di gruppo richiesto nell'attività laboratoriale del corso permette agli studenti di migliorare le loro capacità comunicative e di interazione reciproca.
(5) Capacità di apprendimento. L’insegnamento fornisce le basi per l'applicazione di tecniche di ottimizzazione, simulazione e supporto alle decisioni su problemi ingegneristici guidati dai dati.

Prerequisiti

Conoscenze di base di Matematica Discreta e Principi di Programmazione.

Programma del corso

Il programma procederà affrontando i temi della parte teorica e di laboratorio secondo il seguente ordine:
Ottimizzazione - Teoria (1.5 ECTS, 13.5 ore):
1. Introduzione alle tematiche del corso
2. Richiami di Ricerca Operativa
3. Modelli matematici ed algoritmi euristici per l’ottimizzazione
Ottimizzazione - Laboratorio (1.5 ECTS, 13.5 ore):
4. Ottimizzazione in Python
5. Programmazione matematica ed algoritmi euristici in Python
Simulazione - Teoria (1.5 ECTS, 13.5 ore):
6. Simulazione a eventi discreti
Simulazione - Laboratorio (1.5 ECTS, 13.5 ore):
7. Uso del software Anylogic per la simulazione.

Metodi didattici

Il corso prevede lezioni teoriche ed esercitazioni pratiche dedicate alla soluzione di problemi decisionali guidati dai dati. Le attività teoriche potranno prevedere la presenza di esperti del settore provenienti dall’industria o da università internazionali. Per le attività laboratoriali gli studenti saranno divisi in gruppi di lavoro.
Più in dettaglio:
- la modalità di erogazione del corso è in presenza.
- la frequenza dell’insegnamento è facoltativa, ma fortemente consigliata, soprattutto per approfittare del supporto che verrà fornito per lo sviluppo delle attività laboratoriali di gruppo.
- le strategie didattiche prevedono l’uso di lezioni teoriche al fine di migliorare le conoscenze e le capacità di comprensione degli studenti, nonché l’applicazione stessa delle conoscenze ottenute. Prevedono inoltre attività laboratoriali da affrontarsi in gruppo, assieme al docente e al suo team di ricerca, al fine di migliorare le abilità di giudizio e comunicative degli studenti, nonché le capacità di interazione reciproca.
- l'insegnamento è erogato in lingua inglese. I libri di studio, sia per la teoria che per il laboratorio, sono in lingua inglese.
- le slide usate durante le lezioni sono messe a disposizione sulla piattaforma Moodle prima dell’inizio del corso.

Testi di riferimento

Le slide utilizzate durante il corso, nonché gli esercizi svolti in laboratorio assieme alle loro soluzioni saranno resi disponibili sulla piattaforma Moodle all'inizio al corso. In aggiunta, sulla piattaforma saranno resi presentazioni di applicazioni reali delle tecniche mostrate a lezione. Gli studenti potranno approfondire i contenuti del corso attraverso i seguenti testi di studio.

(The slides used during the course, as well as the exercises carried out in the laboratory and their solutions will be made available on the Moodle platform before the beginning of the course. In addition, presentations of real applications of the techniques shown during the classes will be made available on the platform. Students will be able to deepen the contents of the course through the following study texts.)

- F.S. Hillier, G.J. Liebermann, “Introduction to Operations Research”, Mc Graw Hill.
- S. Mitchell et al., “Optimization with PuLP”, available at https://coin-or.github.io/pulp/
- I. Grigoryev, "Anylogic in three days. A quick course in simulation modeling", available at https://www.anylogic.com/resources/books/

Verifica dell'apprendimento

- Modalità di valutazione.
La valutazione è svolta in tre fasi.
1) Tesina di ottimizzazione (25% del voto): composta da un progetto di ottimizzazione da svolgersi in gruppo utilizzando il linguaggio di programmazione Python. La tesina è assegnata durante il corso, con un periodo massimo di tipicamente tre settimane per la riconsegna da parte degli studenti. È indispensabile ottenere un voto positivo per passare al successivo esame teorico. Gli studenti che non riescono a svolgere la tesina durante il corso, potranno richiederne una successivamente, ma dovranno svolgere il lavoro da soli e non in gruppo. La tesina di ottimizzazione svolge anche la funzione di esame intermedio del corso.
2) Tesina di simulazione (25% del voto): composta da un progetto di simulazione da svolgersi in gruppo utilizzando il software Anylogic. La tesina è assegnata durante il corso, con un periodo massimo di tipicamente tre settimane per la riconsegna da parte degli studenti. È indispensabile ottenere un voto positivo per passare al successivo esame teorico. Gli studenti che non riescono a svolgere la tesina durante il corso, potranno richiederne una successivamente, ma dovranno svolgere il lavoro da soli e non in gruppo.
3) Esame teorico scritto (50% del voto): Domande su tutto il programma trattato nelle ore di lezione e di laboratorio. Il tempo previsto per l'esame teorico è di 60 minuti.
- Modalità di attribuzione del punteggio per il voto finale.
Saranno stabilite sei date di appello nel corso dell'anno accademico per la consegna delle tesine, ed altre sei date per l'esame teorico. Gli studenti dovranno iscriversi agli appelli attraverso la piattaforma ESSE3.
Il giorno della consegna di una tesina, i gruppi dovranno consegnare via email tutti gli elaborati. Il docente valuterà gli elaborati e comunicherà i voti via ESSE3 dopo massimo una settimana. Gli studenti che riceveranno un voto sufficiente saranno ammessi al successivo esame teorico. Il voto della tesina rimane valido fino all'inizio del successivo corso (quindi fino all'appello di settembre incluso).
L'esame teorico scritto avverrà in presenza (o in altra modalità da definirsi in base all'evoluzione della pandemia). Ogni studente dovrà consegnare l'elaborato scritto al termine della prova. Il docente valuterà l'elaborato e consegnerà i voti tramite ESSE3 dopo massimo una settimana. In caso di una prima valutazione negativa (insufficiente oppure sufficiente ma rifiutata dallo studente) dell’esame teorico scritto, i voti delle tesine resteranno validi. Alla seconda valutazione negativa, i voti andranno persi.
Il voto finale sarà dato dalla media tra i voti delle tesine (25% e 25%) e il voto dell’esame teorico (50%).
- Materiali utili per sostenere la prova e consentiti durante la stessa.
Durante l'esame teorico scritto non è ammesso l'uso di nessun materiale informativo (slide, testi o altro), ma solo carta e penna.

Risultati attesi

Il corso fornisce conoscenze avanzate per la risoluzione di problemi decisionali in sistemi ingegneristici guidati dai dati. Si occupa dello studio e dello sviluppo di metodi di ottimizzazione e di simulazione a eventi discreti per problemi caratterizzati da condizioni di incertezza dei dati e dinamicità. Il corso aggiunge alle necessarie basi teoriche l’uso di software in laboratorio e la presentazione di casi di studio reali derivanti dall’automazione digitale.

I risultati formativi attesi alla fine del corso, seguendo i descrittori di Dublino, sono i seguenti:

(1) Conoscenza e capacità di comprensione. Attraverso le lezioni teoriche lo studente comprende i concetti e i metodi necessari per la risoluzione di problemi decisionali guidati dai dati. Tali metodi comprendono sia tecniche di ottimizzazione che di simulazione. In dettaglio:
- Conoscenza e comprensione dei principali concetti della modellazione matematica, e dei corrispondenti metodi risolutivi esatti ed euristici;
- Conoscenza e comprensione della dei metodi di modellazione matematica in casi di incertezza sui dati e dinamicità dei sistemi;
- Conoscenza e comprensione delle basi della simulazione a eventi discreti;
- Conoscenza e comprensione dei principali problemi decisionali e dei relativi metodi di soluzione nel campo dell’automazione digitale e dei processi ingegneristici guidati dai dati.

(2) Capacità di applicare conoscenza e comprensione. Attraverso le attività teoriche e di laboratorio lo studente apprende a modellare in modo matematico problemi decisionali guidati dai dati e applicati a sistemi che evolvono nel tempo, nonché ad applicare metodologie di risoluzione di tali problemi attraverso l’utilizzo e l’integrazione di strumenti software. In dettaglio:
- Capacità di progettare e sviluppare metodi di ottimizzazione per problemi decisionali ingegneristici;
- Capacità di ideare e sviluppare modelli di simulazione numerica che rappresentino sistemi in evoluzione nel tempo, nonché di analizzare le soluzioni ottenute dai modelli.

(3) Autonomia di giudizio. L’insegnamento fornisce agli studenti gli strumenti per valutare con spirito critico diverse tecniche per affrontare sistemi complessi, interpretando e confrontando le diverse soluzioni ottenute. In dettaglio:
- capacità di valutazione delle diverse metodologie sviluppate in base ai tempi e agli sforzi computazionali richiesti, alla qualità delle soluzioni ottenute, e alla loro robustezza al variare dei dati.

(4) Abilità comunicative. Il lavoro di gruppo richiesto nell'attività laboratoriale del corso permette agli studenti di migliorare le loro capacità comunicative e di interazione reciproca. In dettaglio:
- Capacità di esposizione di attività progettuali svolte in gruppo;
- Capacità di interazione reciproca nello sviluppo di attività progettuale.

(5) Capacità di apprendimento. Anche tramite la presentazione di applicazioni reali delle tecniche di ottimizzazione descritte, l’insegnamento fornisce le basi per l'applicazione di tecniche di ottimizzazione a problemi reali guidati dai dati e che scaturiscono da applicazioni ingegneristiche tipiche dell’automazione industriale.