DIPARTIMENTO DI
INFORMATICA Università di Torino | |
Corso di RICERCA OPERATIVA IILaurea specialistica - percorso STIAnno accademico: 2004-2005Docente: Nome LOCATELLI
Numero di ore:
54
INDICE
Il corso verte sulla discussione di problemi di ottimizzazione, in particolare di problemi di ottimizzazione combinatoria, con brevi cenni all'ottimizzazione continua. Si pone come obiettivo quello di familiarizzare lo studente
con problemi di ottimizzazione che occorrono frequentemente in applicazioni
pratiche, permettendogli di riconoscere la difficoltà del problema
(attraverso alcune nozioni di complessità) e fornendogli gli strumenti per
risolvere tali problemi. Gli strumenti vanno dagli algoritmi esatti, in grado di restituire sempre la soluzione ottima di un problema, alle euristiche, alle quali ricorrere quando una risoluzione esatta del probema
richiederebbe tempi di esecuzione troppo elevati.
Le lezioni si tengono in aula e sono svolte tipicamente con l'ausilio
di lavagna e gesso (più raramente con l'ausilio di lucidi)
Definizione dei problemi di ottimizzazione.
Alcune nozioni di complessità : classi P e NP, problemi NP-completi,
problemi di approssimazione, euristiche.
Problemi nella classe P. Problemi di flusso a costo minimo con l'algoritmo del simplesso specializzato per tali problemi. Problemi di flusso massimo e taglio minimo con l'algoritmo di Ford-Fulkerson. Problemi di matching. Problemi del trasporto con l'algoritmo del simplesso specializzato per questi problemi.
Problemi di assegnamento con l'algoritmo ungherese per la loro risoluzione.
Di tutti questi problemi viene fornito il modello matematico.
Problemi NP-completi. Modelli matematici per i due casi visti a lezione: problema dello zaino e problema del commesso viaggiatore. Algoritmi esatti: tecniche di branch-and-bound con relativi esempi sui due problemi trattati; programmazione dinamica con un esempio sul problema dello zaino. Algoritmi di approssimazione: un esempio sul problema del commesso viaggiatore metrico. Tecniche euristiche: mosse greedy, ricerche locali, simulated annealing, algoritmi genetici.
Ottimizzazione continua. Problemi vincolati e non vincolati. Ottimi globali e locali. Funzioni convesse. Condizioni di ottimalità. Procedure di ricerca locale nel caso non vincolato.
Vengono forniti on-line
le dispense del corso, vari tipi di esercizi e i testi degli esami
scritti degli anni precedenti, con le soluzioni
.
Il controllo sull'apprendimento è basato sulla risoluzione in classe
di alcuni esercizi durante la quale gli studenti possono interevenire
e porre domande per dissipare eventuali dubbi. Le risoluzioni di
alcuni esercizi sono fornite in anticipo agli studenti in modo da
dar loro la possibilità di seguirle più facilmente.
La verifica si articolerà in una prova scritta dove verranno proposti esercizi del tipo di quelli risolti in aula e domande più legate alla teoria, attraverso cui si cerca di verificare quanto in profondità è andato lo studio da parte dello studente. Viene anche svolta una prova orale con discussione del compito ed eventuali domande di approfondimento. Viene inoltre data la possibiltà opzionale di implementare uno degli algoritmi visti a lezione. |
[Corso di Studi di Informatica] |
Last update: Jun 17, 2004 | |