Nuova ricerca

Mauro DELL'AMICO

Professore Ordinario
Dipartimento di Scienze e Metodi dell'Ingegneria

Insegnamento: Algoritmi di ottimizzazione

Informatica (D.M.270/04) (Offerta formativa 2023)

Obiettivi formativi

Sviluppare capacità di risolvere problemi complessi tramite alcune delle più moderne ed efficienti tecniche esatte ed euristice: column generation, decomposizione e metaeuristiche.
Presentare metodologie e tecniche matematico-algoritmiche per affrontare problemi computazionalmente complesssi.
Sviluppare capacità di implementare algoritmi matematico-informatici in grado di risolvere problemi complessi.
Presentare alcune recenti tecniche di integrazione tra Machine Learning (ML) e Ottimizzazione Matematica (MO)

Prerequisiti

Conoscenze di programmazione lineare continua e intera.
Conoscenze di linguaggi base di programmazione: python

Programma del corso

Rassegna sugli algoritmi metaeuristici 1CFU
Metodi esatti: column generation e constraint generation. 2CFU
Rassegna su tecniche di Machine Learning per la classificazione e previsione 1CFU
Esempi di modellazione in python 1CFU
Esempi di applicazioni 1CFU

Metodi didattici

Lezioni frontali, esercitazioni di laboratorio, sviluppo di progetti in piccolo gruppi
Il corso è erogato in lingua italiana, in presenza. La frequenza non è obbligatoria, ma fortemente consigliata, in particolare per la parte laboratoriale. Gli studenti lavoratori sono invitati a mettersi in contatto con il docente..

Testi di riferimento

Dispense dell'docente, disponibili online su Moodle

"Column Generation", Desaulniers, Guy, Desrosiers, Jacques, Solomon, Marius M. (Eds.) , Springer

Martin, Richard Kipp (1999), "Large Scale Linear and Integer Optimization: A Unified Approach", Springer

Ronald L. Rardin (2017, second ed.), "Optimization in Operations Research", Pearson.

Gurobi Reference manual

Verifica dell'apprendimento

L’esame consiste nella realizzazione di un piccolo progetto su un tema relativo a un problema di ottimizzazione da sviluppare e implementare singolarmente o in piccoli gruppi.

Risultati attesi

1. Conoscenza e comprensione: conoscere e comprendere l'uso di alcune delle principali tecniche per la soluzione di problemi di decisione ed orttimizzazione,
2. Capacità di applicare conoscenza e comprensione: essere in grado di applicare tecniche di ottimizzazione a problemi di media complessità
3. Autonomia di giudizio: capacità di raccogliere e interpretare i dati ed i risultati di applicazione di metodi algoritmici
4. Abilità comunicative: essere in grado di comunicare informazioni, idee, problemi e soluzioni a interlocutori specialisti e non specialisti;
5. Capacità di apprendimento: aver sviluppato quelle capacità di apprendimento che sono necessarie per estendere le proprie conoscenze di altre tecniche di ottimizzazione e intraprendere studi successivi con un alto grado di autonomia