PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Ottimizzazione e simulazione in condizioni di incertezza

01VVGYH, 01VVGNG

A.A. 2025/26

Lingua dell'insegnamento

Italiano

Corsi di studio

Corso di Laurea Magistrale in Ingegneria Matematica - Torino

Organizzazione dell'insegnamento
Didattica Ore
Lezioni 45
Esercitazioni in aula 15
Docenti
Docente Qualifica Settore h.Lez h.Es h.Lab h.Tut Anni incarico
Brandimarte Paolo Professore Ordinario MATH-06/A 30 10 0 0 1
Collaboratori
Espandi

Didattica
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05
MAT/09
2
4
B - Caratterizzanti
B - Caratterizzanti
Discipline ingegneristiche
Discipline matematiche, fisiche e informatiche
2025/26
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. 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. Si possono però presentare due tipi di complicazione. Da un lato, 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. Dall’altro, potremmo non avere dati sufficienti per costruire un modello probabilistico. In questa situazione, non possiamo adottare una caratterizzazione stocastica dei fattori di rischio, ma si può costruire un modello di ottimizzazione robusta nel caso peggiore, sulla base di un insieme di incertezza che contiene le possibili realizzazioni dei fattori di rischio. Sfruttando concetti di dualità nella programmazione matematica, tali modelli possono spesso essere riformulati come problemi di ottimizzazione convessa, per i quali esistono algoritmi di soluzione efficienti. L’insegnamento si articola quindi in tre parti, che trattano rispettivamente la simulazione stocastica, l’ottimizzazione robusta 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 di un primo passo in 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 con modelli di simulazione trova ampio uso nella progettazione di sistemi ingegneristici (ambito elettromeccanico, energetico, aerospaziale).
In basic courses in operations research, we study the construction of optimization models, both linear and nonlinear, assuming a deterministic context. In the real world, however, decisions are usually made under conditions of uncertainty, and therefore their consequences must be predicted in a context characterized by risk factors. In the easiest case, we can build a formal optimization model based on a classical stochastic description of uncertainties, in which we want to optimize the expected value of an appropriate risk functional. However, two types of complications may arise. On the one hand, it may not be possible to build a formal constrained optimization model, with objective and constraints expressed by functions of known shape. In this case, we need to evaluate the consequences of decisions using a stochastic simulation model. On the other hand, we may not have enough data to build a probabilistic model. In this situation, we cannot adopt a stochastic characterization of the risk factors, but we can build a robust worst-case optimization model, based on an uncertainty set that contains the possible realizations of the risk factors. By exploiting duality concepts in mathematical programming, such models can often be reformulated as convex optimization problems, for which efficient solution algorithms exist. The course is therefore divided into three parts, which deal with stochastic simulation, robust optimization and stochastic optimization, respectively. The latter part also introduces reinforcement learning algorithms, which constitute an important subclass of machine learning models. The course has a predominantly methodological approach, even if application examples will be proposed to motivate the topics presented. This is a first step in a sequence of courses in the field of operational research, which includes those of Business analytics and Quantitative methods for risk management, in which applications in the fields of logistics, production, quantitative marketing, finance, and energy production and distribution are better developed. The knowledge and skills acquired open up employment opportunities in management consulting firms and in software development firms for data analysis and decision support, as well as in 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 engineering systems (electromechanical, energy, aerospace).
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.
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, funzioni duali, dualità forte e debole). oltre alla capacità di costruire modelli di ottimizzazione (programmazione lineare continua e mista-intera). • La parte di ottimizzazione robusta, inoltre, richiede conoscenze di analisi convessa (funzioni e insiemi convessi, rappresentazione di poliedri, coni in spazi euclidei, subdifferenziabilità e subgradienti). Gran parte di tali concetti si applicano anche nella parte di ottimizzazione stocastica. • Anche per la parte di ottimizzazione stocastica sono essenziali i concetti base di teoria delle probabilità sopra elencati. • 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 (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.
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 casi da svolgere in gruppo, e che costituiranno elemento di valutazione. 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: • D. Bertsimas, D. den Hertog. Robust and adaptive optimization. Dynamic Ideas, 2022. • 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.
Bertsimas, den Hertog. Robust and adaptive optimization. Dynamic Ideas, 2022. Brandimarte. Ottimizzazione per la ricerca operativa. CLUT.
Slides; Esercizi risolti; Video lezioni dell’anno corrente; Strumenti di simulazione;
Lecture slides; Exercise with solutions ; Video lectures (current year); Simulation tools;
Modalità 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 disabilità 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'Unità Special Needs, al fine di permettere al/la docente la declinazione più 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.
Esporta Word