l corso introduce alla progettazione e implementazione di euristiche e meta-euristiche, inclusi gli algoritmi che prendono ispirazione dalla natura e dalla biologia, nonché alle caratteristiche chiavi necessari all'ottenimento di algoritmi di successo. Verranno altresì analizzate varie applicazioni di diverse metodologie di ottimizzazione e learning in ambito dell'ottimizzazione, della sicurezza, della teoria delle decisioni e della teoria dei giochi.
Le lezioni si svolgeranno in modalità frontale. Alcune specifiche lezioni potranno però essere svolte in laboratorio.
Il corso può inoltre prevedere seminari tenuti da esperti esterni su argomenti correlati e d'attualità.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Il corso presuppone una buona conoscenza di strumenti matematici (discreti e continui), algoritmi e strutture dati, nonché ottima conoscenza dei linguaggi di programmazione C, C++, Java Python e/o Matlab.
Il corso si suddivide in tre parti fondamentali:
PRIMA PARTE:
SECONDA PARTE:
Argomenti | Riferimenti testi | |
---|---|---|
1 | Introduzione alle Teoria della Complessità: problemi NP-Completi | T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein. Introduction to algorithms (Third Edition), The MIT Press, Cambridge - Massachusetts, 2009 (chapter 34) |
2 | Introduzione a concetti di Machine Learning e Computational Learning Theory | E. Alpaydin, “Introduction to Machine Learning”, MIT Press, 2014 - Kearns, Vazirani, "An Introduction to Computational Learning Theory", MIT Press 1994 |
3 | Landscape e Search Space: topologie, significato e importanza | Talbi, ''Metaheuristics: From Design to Implementation'', Wiley, 2009 - Blum & Raidl, ''Hybrid Metaheuristics: Powerful Tools for Optimization'', A.I.: Foundations, Theory, & Algorithms, 2016 + materiale fornito dal docente |
4 | Modelli per l’ottimizzazione: (i) Single-Objective Optimization; (ii) Constrained Optimization; (iii) Multi-Objective Optimization; (iv) Optimization under Uncertainty; (v) Dynamic Optimization | Talbi, ''Metaheuristics: From Design to Implementation'', Wiley, 2009 - Blum & Raidl, ''Hybrid Metaheuristics: Powerful Tools for Optimization'', A.I.: Foundations, Theory, & Algorithms, 2016 |
5 | Greedy algorithms and Exact Methods | E.G. Talbi, ''Metaheuristics: From Design to Implementation'', Wiley, 2009 |
6 | Single solution Metaheuristics | E.G. Talbi, ''Metaheuristics: From Design to Implementation'', Wiley, 2009 |
7 | Algoritmi Bio-Inspirati: (i) Concetti comuni; (a) Selection methods; (b) Reproduction; (c) Replacement strategies; (ii) GAs; (ii) GPs (iii) AIS; (iv) Swarm Intelligence: PSO, ACO, ABC; and (v) DE | Talbi, ''Metaheuristics: From Design to Implementation'', Wiley, 2009 - Blum & Raidl, ''Hybrid Metaheuristics: Powerful Tools for Optimization'', A.I.: Foundations, Theory, & Algorithms, 2016 - materiale fornito dal docente |
8 | Hybrid Metaheuristics | C. Blum and G.R. Raidl, ''Hybrid Metaheuristics: Powerful Tools for Optimization'', Artificial Intelligence: Foundations, Theory, and Algorithms, 2016 |
9 | Parallel Metaheuristics | E.G. Talbi, ''Metaheuristics: From Design to Implementation'', Wiley, 2009 |
10 | MultiObjective Optimization by Metaheuristics | E.G. Talbi, ''Metaheuristics: From Design to Implementation'', Wiley, 2009 |
11 | Machine Learning & Metaheuristics | Materiale fornito dal docente |
12 | Metaheuristics application examples in: Network Sciences; Games; Internet of Things; Computer Security; Robotics; Art and Design | Materiale fornito dal docente |