Ottimizzazione e simulazione in condizioni di incertezza
01VVGYH, 01VVGSM, 01VVGWS
A.A. 2026/27
Lingua dell'insegnamento
Italiano
Corsi di studio
Corso di Laurea Magistrale in Ingegneria Matematica - Torino Corso di Laurea Magistrale in Data Science And Engineering - Torino Corso di Laurea Magistrale in Data Science And Engineering - Torino
Negli insegnamenti di base di ricerca operativa si studia la costruzione di modelli di ottimizzazione, lineare e non lineare, assumendo un contesto deterministico. Nel mondo reale, tuttavia, le decisioni vengono di regola prese in condizioni di incertezza, e occorre quindi prevedere le loro conseguenze in un contesto caratterizzato da fattori di rischio, che spesso vengono rappresentati come variabili casuali. Nel caso più agevole, si può costruire un modello formale di ottimizzazione basato su una classica descrizione stocastica delle incertezze, in cui si vuole ottimizzare il valore atteso di un opportuno funzionale di rischio. In altre situazioni, potrebbe non essere possibile costruire un modello formale di ottimizzazione vincolata, con obiettivo e vincoli espressi da funzioni di forma nota. In questo caso, occorre valutare le conseguenze delle decisioni mediante un modello di simulazione stocastica.
L’insegnamento si articola quindi in due parti, che trattano rispettivamente la simulazione di sistemi dinamici incerti e l’ottimizzazione stocastica. Quest’ultima parte introduce anche algoritmi di reinforcement learning, che costituiscono un’importante sottoclasse dei modelli di machine learning.
L’insegnamento ha un taglio prevalentemente metodologico, anche se verranno proposti esempi applicativi per motivare gli argomenti presentati. Si tratta del primo passo di una sequenza di insegnamenti nell’ambito della ricerca operativa, che comprende quelli di Business analytics e Metodi quantitativi per la gestione del rischio, nei quali vengono meglio sviluppate le applicazioni nell’ambito della logistica, della produzione, del marketing quantitativo, della finanza, e della produzione e distribuzione di energia.
Le conoscenze e le abilità acquisite aprono sbocchi occupazionali presso società di consulenza in ambito manageriale e di sviluppo di software per analisi dei dati e supporto alle decisioni, oltre a grandi aziende nell’ambito dei servizi (es., trasporto, marketing, risk management) e della produzione/distribuzione (supply chain management, retail management). Inoltre, l’integrazione di motori di ottimizzazione surrogata basata su modelli di simulazione trova ampio uso nella progettazione di sistemi ingegneristici (per esempio, in ambito elettromeccanico, energetico e aerospaziale).
Basic courses in operations research focus on the construction of linear and nonlinear optimization models, assuming a deterministic framework. In the real world, however, decisions are typically made under uncertainty, and their consequences must therefore be predicted in a context characterized by risk factors. In the simplest case, a formal optimization model can be formulated, based on a classical stochastic description of uncertainties, optimizing the expected value of a suitable risk functional. In other situations, it may not be possible to construct a formal optimization model, where the objective and constraints are expressed by explicit functions. In this case, the consequences of decisions must be evaluated using a stochastic simulation model.
The course is therefore divided into two parts, one covering the simulation of uncertain dynamic systems and the other covering stochastic optimization. This second part also introduces reinforcement learning algorithms, which constitute an important subclass of machine learning models.
The course has a predominantly methodological focus, although application examples will be provided to illustrate the topics presented. This is the first step in a series of courses in operations research, which includes Business Analytics and Quantitative Methods for Risk Management, which further develop applications in logistics, manufacturing, quantitative marketing, finance, and energy production and distribution.
The knowledge and skills acquired open up career opportunities in management consulting firms and software development firms for data analysis and decision support, as well as large companies in the service sector (e.g., transportation, marketing, risk management) and production/distribution (supply chain management, retail management). Furthermore, the integration of surrogate optimization engines with simulation models is widely used in the design of systems for mechanical, energy, and aerospace applications.
Conoscenze metodologiche:
• Metodi e modelli per le decisioni in condizioni di incertezza (programmazione stocastica con ricorso, programmazione dinamica, reinforcement learning), sia in ambito gestionale che progettuale.
• Costruzione, verifica e validazione di modelli per la simulazione di sistemi dinamici stocastici a tempo discreto o eventi discreti; pianificazione e analisi degli esperimenti; integrazione in procedure di ottimizzazione black box.
Abilità pratiche:
• Capacità di applicare modelli statistici e decisionali in contesti gestionali e ingegneristici reali.
• Capacità di costruire modelli di ottimizzazione in condizioni di incertezza e di interfacciarli mediante linguaggi di programmazione a oggetti con librerie di solver commerciali.
• Capacità di implementare algoritmi di simulazione/ottimizzazione in MATLAB/Python e valutazione critica dei risultati ottenuti.
• Capacità di integrare metodi derivati da discipline diverse (analisi numerica, probabilità e statistica, ricerca operativa e ottimizzazione) in una soluzione applicativa.
• Conoscenza di un ambiente software commerciale per la simulazione a eventi discreti (Simio).
Conoscenze metodologiche:
• Metodi e modelli per le decisioni in condizioni di incertezza (programmazione stocastica con ricorso, programmazione dinamica, ottimizzazione robusta), sia in ambito gestionale che progettuale.
• Costruzione, verifica e validazione di modelli per la simulazione di sistemi dinamici stocastici a tempo discreto o eventi discreti; pianificazione e analisi degli esperimenti; integrazione in procedure di ottimizzazione black box.
Abilità pratiche:
• Capacità di applicare modelli statistici e decisionali in contesti gestionali e ingegneristici reali.
• Capacità di costruire modelli di ottimizzazione in condizioni di incertezza e di interfacciarli mediante linguaggi di programmazione a oggetti con librerie di solver commerciali.
• Capacità di implementare algoritmi di simulazione/ottimizzazione in MATLAB/Python e valutazione critica dei risultati ottenuti.
• Capacità di integrare metodi derivati da discipline diverse (analisi numerica, probabilità e statistica, ricerca operativa e ottimizzazione) in una soluzione applicativa.
L’insegnamento richiede la conoscenza dei contenuti di base di insegnamenti di ricerca operativa, probabilità e statistica.
Più nello specifico:
• La parte di simulazione stocastica richiede conoscenze di statistica inferenziale (intervalli di confidenza, campionamento casuale). Inoltre, sono essenziali i fondamenti di teoria delle probabilità (probabilità condizionate, teorema di Bayes, variabili casuali discrete e continue, indipendenza, correlazione) ed una conoscenza elementare relativa ai processi stocastici più rilevanti (Poisson, etc.).
• Sono prerequisiti fondamentali le conoscenze base di ottimizzazione vincolata (condizioni di ottimalità non vincolata, moltiplicatori di Lagrange, condizioni Karush-Kuhn-Tucker, funzione duale, dualità forte e debole) e di analisi convessa (funzioni e insiemi convessi, rappresentazione di poliedri, subdifferenziabilità e subgradienti), oltre alla capacità di costruire modelli di ottimizzazione (programmazione lineare continua e mista-intera).
• Nell’implementazione software dei modelli si fa uso di MATLAB e Python, la cui conoscenza è data per acquisita. Sono anche necessari i concetti essenziali di programmazione a oggetti (classi, proprietà, metodi).
I prerequisiti necessari possono essere ricavati da molti testi standard, tra i quali:
• P. Brandimarte. Ottimizzazione per la ricerca operativa. CLUT, 2022.
• P. Brandimarte. Quantitative methods: An introduction for business management. Wiley, 2011.
Brandimarte. Ottimizzazione per la ricerca operativa. CLUT.
Simulazione di sistemi stocastici (30h – P. Brandimarte)
• Classificazione: modelli stocastici a tempo discreto/continuo e con spazio degli stati discreto/continuo.
• Sample path generation per sistemi stocastici a tempo continuo.
• Approcci di simulazione a eventi discreti: per eventi, per processi, a oggetti.
• Strutture dati fondamentali nella simulazione a eventi discreti.
• Input e output analysis. Metodi per la riduzione della varianza; sequenze a bassa discrepanza.
• Struttura di un applicativo software commerciale per la simulazione a eventi discreti a oggetti (Simio).
Complementi di ottimizzazione (10h – P. Brandimarte)
• Richiami di ottimizzazione convessa.
• Metodi di decomposizione.
• Classificazione di modelli di ottimizzazione in condizioni di incertezza: modelli statici e modelli adattativi. Modelli stocastici e modelli robusti.
Ottimizzazione stocastica (20h – E. Fadda)
• Formulazione di modelli di programmazione lineare stocastica e proprietà di convessità: modelli chance constrained; modelli con ricorso a due stadi; modelli multistadio con ricorso.
• Generazione di scenari; indicatori EVPI e VSS; stabilità in- e out-of-sample.
• Metodi di soluzione basati su decomposizione: metodo L-shaped, progressive hedging, e cenni di stochastic dual dynamic programming.
• Principio della programmazione dinamica.
• Metodi numerici classici per la programmazione dinamica, value iteration e policy iteration. Estensione a metodi di reinforcement learning.
Simulazione di sistemi stocastici (20h – P. Brandimarte)
• Classificazione: modelli stocastici a tempo discreto/continuo e con spazio degli stati discreto/continuo. Simulazione a tempo discreto e a eventi discreti.
• Approcci di simulazione a eventi discreti: per eventi, per processi, a oggetti.
• Strutture dati fondamentali nella simulazione a eventi discreti.
• Input e output analysis. Metodi per la riduzione della varianza; sequenze a bassa discrepanza.
• Ottimizzazione surrogata basata su metamodelli.
Ottimizzazione robusta (20h – P. Brandimarte)
• Elementi di ottimizzazione convessa.
• Metodi di decomposizione.
• Classificazione di modelli di ottimizzazione in condizioni di incertezza: modelli statici e modelli adattativi. Modelli stocastici e modelli robusti.
• Modelli di ottimizzazione robusta statica e worst-case. Tecniche di riformulazione convessa.
• Scelta della regione di incertezza.
Ottimizzazione stocastica (20h – E. Fadda)
• Formulazione di modelli di programmazione lineare stocastica e proprietà di convessità: modelli chance constrained; modelli con ricorso a due stadi; modelli multistadio con ricorso.
• Generazione di scenari; indicatori EVPI e VSS; stabilità in- e out-of-sample.
• Metodi di soluzione basati su decomposizione: metodo L-shaped, progressive hedging, e cenni di stochastic dual dynamic programming.
• Principio della programmazione dinamica.
• Metodi numerici classici per la programmazione dinamica, value iteration e policy iteration. Estensione a metodi di reinforcement learning.
L’insegnamento integra lezioni frontali con la discussione di codice Python/MATLAB che implementa i metodi di analisi e soluzione presentati. Durante il semestre, verranno proposti esercizi di implementazione software, oltre a due semplici casi da svolgere in gruppo, che costituiranno elemento di valutazione.
Per rendere il contenuto dell'insegnamento rilevante dal punto di vista industriale, verranno fornite le nozioni essenziali relative ad un applicativo software commerciale per la simulazione a eventi e l'analisi di esperimenti di simulazione (Simio).
Data la varietà dei contenuti, è impossibile suggerire un unico testo di riferimento (si veda la bibliografia). Verranno comunque fornite slide che coprono l’intero programma, oltre ad esempi di codice MATLAB/Python.
L’insegnamento integra lezioni frontali con la discussione di codice Python/MATLAB che implementa i metodi di analisi e soluzione presentati. Durante il semestre, verranno proposti esercizi di implementazione software, oltre che due casi da svolgere in gruppo, e che costituiranno elementi di valutazione.
Relativamente ai contenuti specifici del corso, si possono consultare:
• P. Brandimarte. Handbook in Monte Carlo simulation: Applications in financial engineering, risk management, and economics. Wiley, 2014.
• P. Brandimarte. From shortest paths to dynamic programming. Springer, 2021.
• A. King, S. Wallace. Modeling with stochastic programming. Springer, 2014.
• A. Law. Simulation modeling and analysis (6th ed). McGraw-Hill. 2024.
Relativamente ai prerequisiti, fare riferimento ai seguenti testi di base:
• P. Brandimarte. Ottimizzazione per la ricerca operativa. CLUT, 2022.
• P. Brandimarte. Quantitative methods: An introduction for business management. Wiley, 2011.
Materiale su Simio è reperibile sul sito https://www.simio.com/
Bertsimas, den Hertog. Robust and adaptive optimization. Dynamic Ideas, 2022.
Brandimarte. Ottimizzazione per la ricerca operativa. CLUT.
Slides; Esercizi risolti; Esercitazioni di laboratorio risolte; Video lezioni dell’anno corrente; Strumenti di simulazione;
Lecture slides; Exercise with solutions ; Lab exercises with solutions; Video lectures (current year); Simulation tools;
Modalita di esame: Prova scritta (in aula); Elaborato progettuale in gruppo;
Exam: Written test; Group project;
...
L’esame si articola su due parti.
1. Esame scritto, 90 minuti, closed book (no uso materiale didattico). L’esame scritto comprende tre domande di vario tipo (costruzione di modelli di ottimizzazione; scrittura di pseudocodice; semplici problemi numerici; domande di teoria). L’esame scritto ha punteggio massimo 26.
2. Lavoro di gruppo, facoltativo, da svolgere in gruppi da 1 a 3 studenti; consegna entro la fine dell’insegnamento. L'elaborato facoltativo di gruppo richiede l'utilizzo di MATLAB e/o Python e l'implementazione ed il testing di algoritmi di simulazione/ottimizzazione in condizioni di incertezza, e ha punteggio massimo 4 (due assignment da 2 punti ciascuno).
Criteri di valutazione.
1. Per la prova scritta: capacità di formulare modelli di ottimizzazione; comprensione della teoria e degli algoritmi di soluzione; capacità di dimostrare semplici teoremi e di strutturare e analizzare algoritmi di soluzione (anche in pseudocodice); capacità di risolvere semplici problemi numerici; valutazione critica delle assunzioni semplificative necessarie.
2. Per l’elaborato di gruppo: adeguatezza della soluzione proposta rispetto al problema proposto; qualità della documentazione del software, specialmente per quanto riguarda la definizione di una campagna sperimentale di testing per valutare comparativamente efficacia, efficienza e robustezza della soluzione proposta.
Come sopra indicato, la prova scritta contribuisce alla valutazione finale fino a un massimo di 26 punti (su 30). Altri 4 punti sono assegnati sulla base della relazione scritta relativa agli elaborati di gruppo. NON è prevista in alcun caso una prova orale integrativa.
Gli studenti e le studentesse con disabilita o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unita Special Needs, al fine di permettere al/la docente la declinazione piu idonea in riferimento alla specifica tipologia di esame.
Exam: Written test; Group project;
26 punti esame scritto
4 punti homework (Matlab, Python).
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.