1) Tecniche di modellizzazione per problemi di ottimizzazione
2) Modelli e algoritmi di ottimizzazione discreta
3) Modelli e algoritmi di ottimizzazione per la pianificazione della produzione e la logistica
4) Introduzione ai modelli di apprendimento automatico
Saranno rese disponibili dispense del corso, articoli scientifici di riferimento ed altro materiale di supporto
Testi principali:
- Optimization Models, Fabio Schoen, 2022, https://webgol.dinfo.unifi.it/optimization-models/
- Metodi di Ottimizzazione Combinatoria (dispensa a cura del prof Frangioni, Univ. Pisa)
-Dispense su Pianificazione della produzione, a cura del docente
Testi suggeriti per approfondimenti e consultazione facoltativa:
G.L. Nemhauser, L.A. Wolsey, “Integer and Combinatorial Optimization”, Wiley Interscience, 2014
Y- Pochet, L.A. Wolsey, Production Planning by Mixed Integer Programming, Springer, 2006
D. Simchi-Levi, X. Chen. J. Bramel, The Logic of Logistics, Springer, 2005
M. Gendreau, J.-Y. Potvin (eds), Handbook of Metaheuristics, Springer, 2019
T. Hastie, R. Tibshirani, J. Friedman, Data Mining, Inference and Prediction, Springer, 2017
Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani An Introduction to Statistical Learning (with applications in R), 7th edition, 2013
Charu C. Aggarwal Neural Networks and DeepLearning. Springer, 2018
Obiettivi Formativi
Il corso presenta metodi e modelli di ottimizzazione avanzati orientati alle applicazioni di interesse per l’ingegneria gestionale e in particolare alla gestione ottimizzata della produzione, all’organizzazione, ai modelli di prescriptive analytics. I contenuti del corso sono trasversali e rilevanti per molti ruoli previsti dal progetto formativo. In particolare il progettista e gestore di sistemi di produzione (RM1) apprenderà tecniche di data science per lo sviluppo di modelli predittivi, il Service Manager (RM3) apprenderà metodi avanzati la gestione ottimizzata delle risorse, l’Operations and supply chain manager apprenderà metodi avanzati per la programmazione della produzione
Le conoscenze erogate saranno le seguenti:
A partire da una solida preparazione matematica di base verrà sviluppata conoscenza nell’ambito della teoria e degli algoritmi di ottimizzazione sia discreti che continui (cc1) e dei principali metodi di machine learning per la classificzione automatica (cc1). In questi ambiti verranno approfonditi gli aspetti applicativi nel contesto dell’ingegneria gestionale (cc7) e, anche attraverso sessioni di laboratorio (ca1), verranno analizzate criticamente le applicazioni di quanto presentato nel corso a casi concreti (cc7,cc8). Gli studenti saranno in grado di combinare teoria e pratica per la sluzione di problemi di ingegneria ed organizzativi, in contesti complessi e sapranno utilizzare alcuni strumenti di data mining e machine learning (ca5).
In generale l’approccio della ricerca operativa presentato nel corso sarà orientato a svilupare la capacità di utilizzare la teoria, gli algoritmi e l’esperienza pratica per risolvere problemi di multidisciplinari (ca7)
Durante il corso gli studenti dovranno saper argomentare sia in forma scritta (CT1) che in forma verbale (CT3) quanto appreso, nonché i risultati di un elaborato informatico (CT4) che prevede l'analisi critica di dati reali (CT10) e della loro elaborazione (CT5). Una parte del corso saraà offerta in modalità flipped e gli studenti dovranno fare auto-apprendimento, seguito da discussione in aula (CT7). Il materiale del corso è in lingua inglese ed è richiesta una conoscenza adeguata (CT11)
Prerequisiti
E’ richiesta la conoscenza dell’algebra lineare, dell’Analisi matematica e della geometria a livello di una Laurea triennale in Ingegneria. E’ richiesta altresì una conoscenza dei fondamenti della ricerca operativa, in particolare della programmazione lineare. Sono richieste la conoscenza e la capacità di utilizzare semplici linguaggi di programmazione.
Metodi Didattici
In prevalenza didattica frontale; sono previste attività seminariali, attività di gruppo, fruizione di parte del materiale attraverso sistemi di e-learning. Una parte del corso sarà tenuta in modalità "flipped", con esercitazione in aula seguita da tutor
Altre Informazioni
Modalità di verifica apprendimento
L’esame consiste in una prova (orale o, in alternativa, scritta) di verifica delle conoscenze acquisite. Gli studenti dovranno sapere presentare I modelli previsti dal programma, illustrare gli algoritmi e dimostrare di averne compreso il funzionamento, le possibilità applicative, i limiti.
L’esame prevede anche un progetto sulle tematiche di data science in cui gli studenti dovranno sapere analizzare un insieme di dati ed estrarne conoscenza ad esempio, per poter costruire un modello predittivo.
L’esame sarà organizzato in modo da poter valutare la capacità acquisita da parte degli studenti di utilizzare teoria ed algoritmi per la soluzione di problemi rilevanti per l’ingegneria gestionale (ca7), una volta identificati gli strumenti ed I metodi più adatti per una data situazione (ca1). La parte progettuale permetterà la verifica della capacità degli studenti di affrontare e risolvere problemi in contesti di incertezza utilizzando tecniche di machine learning(ca5).
Programma del corso
Parte I: modelli di ottimizzazione:
modelli lineari, modelli di flusso su reti, tecniche di modellizzazione, modelli di ottimizzazione lineare intera, modelli stutturati di ottimizzazione intera
Parte II : ottimizzazione combinatoria
Modelli e problemi di ottimizzazione combinatoria
Euristiche: algoritmo greedy, euristiche di ricerca locale, metodi tabu
Euristiche basate su modelli di Programmazione Lineare intera; metodi lagrangiani, column generation
Parte III: Applicazioni
modelli e algoritmi per scorte, lot sizing, scheduling
Parte IV: Introduzione a data science
Problemi di classificazione e regressione
Concetto di minimizzazione del rischio atteso, iperpiani di supprto, macchine a vettori di supporto (SVM)
Feature extraction
Altri modelli di classificazione basati su ottimizzazione: kNN, alberi di decisione, random forest, reti neurali
Addestramento di metodi di classificazione/regressione
Il corso prevede laboratorio ed esercitazione individuali, utilizzando strumenti software e linguaggi quali, ad esempio, python