Calendario degli appelli d'esame valido
per tutti i corsi sottostanti
Ultimo appello a.a. 2005/06 e primo appello 2006/07 Giovedì 25 gennaio 2007 |
Martedi' 13 febbraio 2007 |
Martedi' 12 giugno 2007 |
Venerdì 27 luglio 2007 |
Martedì 18 settembre 2007 |
Martedi' 22 gennaio 2008 |
AVVISI
------------------------------------------------------------------------------------------------------
Modifiche orario corso di Complementi
di Ricerca Operativa:
martedì 16,45-18,30 auletta 5 (invariato)
venerdì 13,00-14,45 auletta 5 (anticipato)
Modifiche orario corso di Algoritmi e Strutture Dati II:
lunedì 13,45-17,30 aula Alfa (anticipato)
giovedì 16,30-20,00 aula Alfa (invariato)
------------------------------------------------------------------------------------------------------
Gli studenti che hanno superato l'esame di FRO con i le prove in itinere, per poter verbalizzare il voto devono comunque iscriversi ad un appello regolare.
Ricordo le regole presentate all'inizio del corso. Con una votazione nei compitini o in una prova scritta:
- minore o uguale a 16 è necessario ripetere l'esame scritto
- pari a 17 è possibile sostenere un esame orale integrativo
- compresa fra 18 e 27 (estremi inclusi) l'esame orale è facoltativo
- superiore a 27, senza sostenere la prova orale, il voto verbalizzato è 27
Orario corsi |
||
Fondamenti di Ricerca Operativa |
Aula G22 via Golgi 19 Aula G12 via Golgi 19 |
Lunedì 13,30 – 15,30 Venerdì 14,30 – 16,30 |
Simulazione |
Auletta 6 via Comelico 39 |
Lunedì 10,30 – 12,30 Mercoledì 10,30 – 12,30 |
Complementi di Ricerca Operativa (orario provvisorio) |
Auletta 5 via Comelico 39 Auletta 5 via Comelico 39 |
Martedì 16,30 – 18,30 Venerdì 13,00 – 14,45 |
Algoritmi e Strutture Dati II mod 1 |
Aula Alfa via Comelico 39 |
Lunedì 13,30 – 17,30 Giovedì 16,30 – 20,30 |
Algoritmi e Strutture Dati II mod 2 |
Aula Alfa via Comelico 39 |
Lunedì 13,30 – 17,30 Giovedì 16,30 – 20,30 |
Programma dei corsi per l'a.a. 2006/07 e
sommario degli argomenti trattati
Fondamenti di Ricerca Operativa |
||
Ore di didattica: 48 |
Crediti: 6 |
Semestre: 1° |
Modalita’ d’esame: scritto, prova orale |
Obiettivi del corso:
Il corso si propone di introdurre i fondamenti della programmazione matematica e le relative tecniche algoritmiche, con particolare attenzione ai modelli di programmazione lineare, a quelli di programmazione lineare intera e a quelli ottimizzazione su grafo. Esempi illustrano i numerosi ambiti di applicazione delle tecniche descritte.
1. Introduzione
Programmazione matematica. Formulazione matematica di problemi di ottimizzazione: modelli di programmazione lineare (PL) e lineare intera (PLI). Cenni alla teoria della complessità computazionale.
2. Programmazione Lineare
Programmazione Lineare : geometria della PL e soluzione grafica. Algoritmo del Simplesso in forma base e Tableau. Metodo delle due Fasi. Dualità in PL. Problema duale. Relazioni primale-duale. Proprietà fondamentali. Condizioni di ottimalità. Simplesso duale. Analisi di sensitività.
3. Programmazione Lineare a Numeri Interi
Matrici unimodulari. Piani di taglio, Tagli di Gomory. Metodo "Branch and Bound". Tecniche per il calcolo dei bounds. Esempi di algoritmi Branch and Bound.
4. Elementi Di Teoria Dei Grafi
Definizioni. Algoritmi per il calcolo dell’albero di supporto di costo minimo. Algoritmi per il calcolo di cammini minimi. Il problema del flusso massimo: Algoritmo di Ford-Fulkerson. Il problema del flusso massimo a costo minimo. Gestione di progetti: metodo del cammino critico.
Bibliografia di riferimento:
M. Fischetti: Lezioni di Ricerca Operativa, Edizioni Libreria Progetto Padova, 1995.
Bibliografia consigliata:
R. Baldacci, M. Dell'Amico: Fondamenti di Ricerca Operativa, Pitagora Editrice Bologna, 2002.
M. Dell’Amico: 120 esercizi di ricerca operativa, Pitagora Editrice Bologna, 1996.
G.L. Nemhauser,
C.H. Papadimitriou, K.
Steiglitz: Combinatorial Optimization: Alghorithms and Complexity,
Prentice Hall, 1982.
R.K. Ahuja, T.L. Magnanti,
J.B. Orlin: Network Flows, Prentice Hall, 1993.
Prerequisiti:
Elementi di algebra delle matrici.
Materiale integrativo
Appelli di Fondamenti di Ricerca Operativa
Appelli |
Testi |
Esiti |
Prima prova in itinere |
|
|
Seconda prova in itinere |
|
|
Primo Appello |
|
|
Secondo Appello |
||
Terzo Appello |
||
Quarto Appello |
||
Quarto Appello |
||
|
|
|
Testi di precedenti appelli di Fondamenti di Ricerca Operativa e di Ricerca Operativa
RO100204, RO060404, RO010604, RO270704, RO140904, RO171104, RO110105 |
FRO190105, FRO160205, FRO130405, FRO150605, FRO090206, FRO050406, FRO140606 |
Argomenti trattati
Venerdì 03/11/06, 14,30-16,30. Lezione sospesa.
Aula G12. Venerdì 15/12/06, 14,30-16,30. Lezione sospesa.
Aula G12. Venerdì 22/12/06, 14,30-16,30. Lezione sospesa. Introduzione ai grafi: definizioni come esercizio per casa.
Giovedì 25/01/07 Secondo
compitino aula G24 via Golgi 19 ore 10,30. Argomenti: Programmazione Lineare a
Numeri Interi e Ottimizzazione su Grafo.
Complementi di Ricerca Operativa |
||
Ore di didattica: 48 |
Crediti: 6 |
Semestre: 2° |
Modalità d’esame: progetto (per i frequentanti), prova orale |
Obiettivi del corso:
Il corso si propone di ampliare i fondamenti della programmazione matematica introdotti nel corso di Fondamenti di Ricerca Operativa. In primo luogo vengono introdotte le principali tecniche disponibili per affrontare modelli di programmazione non lineare. Vengono successivamente illustrate tecniche avanzate per la soluzione di problemi di programmazione lineare di grandi dimensioni: tecniche di decomposizione e tecniche di generazione di colonne (column generation). Vengono illustrati esempi di applicazione del metodo dei piani di taglio (cutting plane) e vengono descritti gli algoritmi esatti basati su tali tecniche: Branch & Price e Branch & Cut. Viene descritta e illustrata con esempi la principale tecnica per il calcolo dei valori ottimi dei moltiplicatori duali Lagrangiani (tecnica del sottogradiente). Infine vengono illustrati alcuni ambiti di applicazione della Ricerca Operativa: problemi di localizzazione e problemi di instradamento (Vehicle routing).
1. Programmazione Non Lineare
Elementi di teoria dell'ottimizzazione non vincolata: condizioni del primo e secondo ordine. Elementi di teoria dell'ottimizzazione vincolata condizioni del primo e secondo ordine. Algoritmi per problemi di ottimizzazione non vincolata in una sola variabile ed in più variabili. Algoritmi per problemi di ottimizzazione vincolata.
2. Tecniche avanzate di programmazione lineare a numeri interi
Branch & Price e Branch
& Cut.
3. Un linguaggio di modellizzazione: AMPL
4. Problemi di localizzazione
Introduzione. Il problema p-median. Il problema p-center. Set covering. Altri modelli di localizzazione.
5. Problemi di instradamento
Introduzione. Tipologie di Trasporto. Vehicle Routing e Vehicle Routing con finestre temporali. Modelli di programmazione matematica. Metodi euristici ed esatti. Problemi di arc routing.
Bibliografia di riferimento:
R.Tadei, F. Della Croce, Ricerca Operativa e ottimizzazione, Progetto Leonardo, II edizione 2002.
Prerequisiti:
E' fortemente consigliato aver seguito il corso di Fondamenti di Ricerca Operativa.
Argomenti trattati
01) Mar. 06/03/07 Introduzione alla
programmazione non lineare, PNL. Definizione di problema di ottimizzazione non
lineare. Ottimizzazione non vincolata. Esempi:
02) Ven. 09/03/07 Definizione di matrice (semi)definita positiva. Proprietà: legame fra (semi)definita positività, determinanti dei minori principali e autovalori. Convessità: insieme convesso, funzione convessa. Proprietà: in ott. convessa min loc = min glob. Proprietà di ins. conv. e funz. conv. Proprietà: quando un problema di ottimizzazione non lineare è convesso. Proprietà: f di classe C1(S) è convessa in S sse f(y)-f(x)³ Grad_f(x)T(y-x) per ogni x,y appartenente ad S. Proprietà: legame fra (semi)definita positività della matrice Hessiana e convessità di f(). Definizione di direzione di discesa. Proprietà: legame fra derivata direzionale e direzione di discesa.
03) Mar. 13/03/07 Condizioni necessarie di ottimalità del primo e del secondo ordine. Condizioni sufficienti di ottimalità del secondo ordine. Condizioni necessarie e sufficienti di ottimalità per funzioni convesse. I punti si minimo di funzioni convesse definiscono un insieme convesso. Quando posso dire qualcosa sull’ottimo globale: le funzioni Lipschitziane. La programmazione quadratica: variazioni sul tema “Q”.
04) Ven. 16/03/07 Schema generale degli algoritmi di discesa. Definizione di convergenza globale e locale di un algoritmo. Definizione di rapidità di convergenza sublineare, lineare, superlineare, quadratica, di ordine p. Esercizio su rapidità di convergenza sublineare, lineare, superlineare, quadratica. Criteri di convergenza empirici. Condizioni sul passo a. Condizioni di Wolfe-Powell, (CWP). Proprietà: le CWP possono venir soddisfatte da funzioni di classe C1 non inferiormente illimitate lungo la direzione di discesa dk. Determinazione del passo a.
05) Mar. 20/03/07 Determinazione del passo a. Ricerca esatta, metodo di Armijo, interpolazione quadratica e cubica. Metodo della sezione aurea, metodo di bisezione. Esercizi.
06) Ven. 23/03/07 Condizioni sulla direzione dk. Condizione d’angolo (CA). Proprietà: convergenza globale di algoritmi di discesa per funzioni di classe C1 se sono soddisfatte CWP e CA. Metodo del gradiente. Metodo del gradiente applicato ai problemi quadratici: dipendenza dal valore degli autovalori di Q. Proprietà di convergenza lineare: teorema di Kantorovich. Introduzione al metodo di Newton.
07) Mar. 27/03/07 Teorema di convergenza locale e quadratica per H(x) lipschitziana. Limiti del metodo di Newton. Metodo di Newton modificato. Approssimazione di H(x) alle differenze finite. Metodi quasi-Newton. Approssimiamo H-1.
08) Ven. 30/03/07 Metodi quasi-Newton. Formula di aggiornamento di rango uno. Formula di aggiornamento di rango due. Metodo Davidon-Fletcher-Powell (DFP). Proprietà del metodo DFP. Metodo inverso: approssimiamo H. Metodo Broyden-Fletcher-Goldfarb-Shanno (BFGS). Famiglia di Broyden.
09) Mar. 03/04/07 Metodi alle direzioni coniugate per funzioni quadratiche. Metodi di gradiente coniugato. Metodo Fletcher-Reeves e metodo Polak-Ribiere. Introduzione alla ottimizzazione vincolata. Condizioni analitiche necessarie per problemi con vincoli di uguaglianza.
10) Ven. 13/04/07 Esempio di problema con vincoli di uguaglianza. Programmazione quadratica con vincoli di uguaglianza lineari.Vincoli di disuguaglianza come vincoli di uguaglianza. Vincoli di disuguaglianza: condizioni di Karush-Kuhn-Tucker. Qualificazione dei vincoli.
11) Mar. 17/04/07 KKT: esempio numerico. Teoria del punto di sella. Teoremi di dualità. Programmazione quadratica con vincoli di disuguaglianza lineari, cenni. Metodi iterativi. Metodi con funzione di penalità e metodi a barriera.
12) Ven. 20/04/07 Laboratorio. Introduzione al linguaggio Ampl.
13) Mar. 24/04/07 Metodi iterativi. Metodo del gradiente proiettivo nel caso di vincoli di uguaglianza lineari e cenni per il caso di vincoli di uguaglianza qualsiasi. Metodo dei lagrangiani aumentati nel caso di vincoli di uguaglianza qualsiasi. Cenni sul Sequential Quadratic Programmino (SQP).
14) Ven. 27/04/07 Laboratorio. Il linguaggio Ampl.
15) Ven. 04/05/07 Laboratorio. Il linguaggio Ampl.
16) Mar. 08/05/07 Rilassamento lagrangiano. Concavità e non differenziabilità della funzione obiettivo duale. Esempio: il problema Knapsack. Introduzione alla tecnica del sottogradiente.
17) Ven. 11/05/07 Laboratorio. Calcolo dei moltiplicatori lagrangiani ottimi mediante tecnica di sottogradiente. Utilizzo degli script in AMPL (file .run) per implementare un algoritmo di sottogradiente per la determinazione del rilassamento lagrangiano ottimo di un problema di trasporto e localizzazione.
Mar. 15/05/07 Sospesa a causa dello sciopero dei mezzi ATM.
18) Ven. 18/05/07 Laboratorio. Applicazione della tecnica di sottogradiente per il calcolo del rilassamento lagrangiano di un problema di tipo MKP01.
19) Mar. 22/05/07 Definizione e proprietà del sottogradiente. Esistenza del sottogradiente per funzioni concave. Il sottogradiente come direzione di avvicinamento a l*. Introduzione alla tecnica di column generation.
20) Ven. 25/05/07 Laboratorio. Applicazione della tecnica di column generation al problema Cutting Stock: risoluzione del problema di pricing per l’individuazione di una colonna con coefficiente di costo ridotto negativo mediante la soluzione di un problema di Knapsack Intero.
21) Mar. 29/05/07 Ancora sulla tecnica di column generation. Esercizi di modellizzazione. Un buon articolo introduttivo alla tecnica: primer.pdf.
22) Ven. 01/06/07 Laboratorio. Esercizi di modellizzazione e soluzione di problemi di PNL.
23) Mer. 06/06/07 Introduzione al metodo dei piani di taglio e alla tecnica di Branch & Cut. Esempio problema di knapsack: le Cover inequalities con l’oracolo di separazione. Esempio del TSP: risoluzione del problema di separazione per l’individuazione di vincoli di eliminazione di sottocicli violati mediante la soluzione di un problema di Max Flow-Min Cut su un grafo opportuno. Le Comb inequalities.
24) Ven. 08/06/07 Laboratorio. Esercizi di modellizzazione e soluzione di problemi di PLI. Conclusione corso. File Ampl per cover inequalities MKP01.zip . Proposte progetti ma potete integrarlo… Proposte.pdf
Simulazione |
||
Ore di didattica: 48 |
Crediti: 6 |
Semestre: 1° |
Modalita’ d’esame: prova orale, progetto |
Obiettivi del corso:
L’insegnamento si propone lo scopo di rendere lo studente familiare con la teoria e le tecniche fondamentali che permettono di studiare un sistema complesso analizzando un sistema equivalente ma simulato attraverso un calcolatore.
Parallelamente, dopo aver brevemente accennato ai risultati più significativi della teoria delle code, verranno analizzati alcuni strumenti software per la simulazione a flusso di entità, per la simulazione nel continuo.
Programma del corso:
Modulo A [Prof. Dario Malchiodi]: Teoria e tecniche
Modulo B [Prof. M. Trubian]: Cenni di teoria delle code e strumenti SW
Metodi didattici:
La didattica sarà esercitata principalmente in forma frontale, rimandando gli studenti a una serie di approfondimenti individuali e di gruppo in laboratorio.
Materiale bibliografico di riferimento:
Il modulo A è basato principalmente sulla monografia
Ross, S. M., Simulation, Second edition,
e prevede alcuni approfondimenti tratti da
Ripley, B. D., Stochastic Simulation,
Il modulo B si basa sul capitolo 15 del testo
Hillier, F. S. and Lieberman, G. J., Introduction to Operations Research (6th
Ed), 1995.
per quanto attiene alla teoria delle code e sui manuali online dei pacchetti SW presentati
Algoritmi e Strutture Dati II mod. 1 |
||
Ore di didattica: 48 |
Crediti: 6 |
Semestre: 2° |
Modalita’ d’esame: progetto (per i frequentanti), Prova orale |
Obiettivi del corso:
Fornire i principi di analisi e progetto di algoritmi (deterministici e randomizzati) per la soluzione di problemi su vari modelli di calcolo.
Programma del corso:
Strutture dati avanzate: Heap Binomiali, Heap di Fibonacci, Alberi randomizzati di ricerca (treap). Algoritmi paralleli su PRAM. Algoritmi per reti a grado limitato. Algoritmi concorrenti. Algoritmi distribuiti: topologie, algoritmi per la mutua esclusione e elezione di leader. Algoritmi non deterministici. Algoritmi di enumerazione implicita: B&B, Algoritmi probabilistici. Classi di complessità P, NP, co-NP, PSPACE, LOGSPACE, RP, RpP, NC.
Bibliografia di riferimento:
A. Bertossi, Algoritmi e strutture di dati, UTET, 2000.
T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduzione agli algoritmi, Jackson Libri, II edizione italiana 1999.
Bibliografia consigliata:
A. Bertoni, Algoritmi II (dispense)
Prerequisiti:
Analisi e sintesi di algoritmi sequenziali
Argomenti trattati
05 marzo Lunedì |
1 |
Strutture dati avanzate: Heap Binomiali. |
|
08 marzo Giovedì |
2 |
Strutture dati avanzate: Heap di Fibonacci e Treap. |
|
12 marzo Lunedì |
3 |
Introduzione agli Algoritmi per Architetture Parallele (AAP). Classificazione SISD,SIMD,MISD,MIMD,Modello PRAM, simulazioni CR con ER e CW con EW, reti di interconnessione (RI): mesh, vettore, ipercubo, albero, shuffle. Algoritmi di broadcast per RI. Def. speedup, efficienza e lavoro. Algoritmi per ricerca, trasposta, prodotto matriciale su PRAM. AAP. Calcolo prodotto matrici su Mesh. |
|
15 marzo Giovedì |
4 |
Circuiti combinatori. Confrontatori, reti di ordinamento, principio 0-1. Rete di ordinamento bitonico. Teoremi di Brent. Algoritmi su PRAM EREW: sommatoria. Tecnica per ottenere lavoro ottimo. Sommeprefisse. |
|
19 marzo Lunedì |
5 |
Valutazione di polinomi. Tecnica del salto dei puntatori: calcolo del rango, sommeprefisse. Tecnica del ciclo euleriano: un algoritmo che numera i nodi e uno che calcola la profondità di un albero binario. Reti di interconnessione: ordinamento su vettore: due algoritmi. |
|
22 marzo Giovedì |
6 |
Sommatoria e massimo su Mesh. Sommatoria e massimo su ipercubo.Sommatoria su shuffle. Introduzione agli Algoritmi Concorrenti (AC): modelli asincroni con memoria condivisa. Calcolo del massimo.AC. Calcolo dei cammini minimi (versione Pape-D'Esopo). Quicksort concorrente. |
|
26 marzo Lunedì |
7 |
Introduzione agli Algoritmi Distribuiti (AD): modelli asincroni senza memoria condivisa. Architetture di rete per AD. Tecniche e algoritmi per ottenere la sincronizzazione (Clock logico globale), per garantire la mutua esclusione (non esistono primitive quali lock e unlock), per individuare un processore privilegiato (Elezione del leader). |
|
29 marzo Giovedì |
8 |
Introduzione al Non Determinismo (ND). Alberi di decisione. Introduzione agli algoritmi casualizzati (AR). Es. algoritmo di Rabin per il test di primalità. |
|
02 aprile Lunedì |
9 |
Es. commutatività di matrici. Es. Matching Perfetto, teoremi di Tutte e di Schwartz. Introduzione alla complessità computazionale. Problema, istanza, dimensione, codifica, modello di calcolo, criterio di costo. Le classi P ed NP. |
|
12 aprile Giovedì |
10 |
Algoritmi probabilistici con errori ai due lati. Complessità computazionale. Le classi NP e co-NP. Riduzioni. |
|
16 aprile Lunedì |
11 |
Complessità computazionale. Ancora riduzioni. Complessità computazionale per algoritmi casualizzati. Complessità computazionale per algoritmi paralleli. |
|
19 aprile Giovedì |
12 |
Ancora sugli algoritmi casualizzati (AR). Es. Matching Perfetto di valore esatto. FFT: algoritmo per il calcolo della DFT. |
Algoritmi e Strutture Dati II mod 2 |
||
Ore di didattica: 48 |
Crediti: 6 |
Semestre: 2° |
Modalita’ d’esame: progetto (per i frequentanti), Prova orale |
Obiettivi del corso:
Fornire i principi di analisi e progetto di algoritmi (deterministici e randomizzati) per la soluzione di problemi su vari modelli di calcolo.
Programma del corso:
Algoritmi di ottimizzazione: algoritmi approssimati. Ottimizzazione locale e globale. Tecniche di ottimizzazione locale sul continuo. Ricerca locale e varianti. Meta-euristiche: Tabu Search, Algoritmi genetici, Ants System, Variable Neighbourhood Search. Ottimizzazione stocastica, algoritmo di Metropolis e Annealing simulato. Reti neurali di Hopfield, macchine di Boltzmann.
Bibliografia di riferimento:
R.Tadei, F. Della Croce, Ricerca Operativa e ottimizzazione, Progetto Leonardo, II edizione 2002.
Bibliografia consigliata
A. Bertossi, Algoritmi e strutture di dati, UTET, 2000.
T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduzione agli algoritmi, Jackson Libri, II edizione italiana 1999.
A.
Bertoni, Algoritmi II, dispense
M.Mitchell,
An Introduction to Genetic Algorithms, MIT, 1996.
E.Aarts,
J.Korst, Simulated Annealing and Boltzmann Machines, John Whiley and Sons,
1989.
Prerequisiti:
Analisi e sintesi di algoritmi sequenziali
Argomenti trattati
23 aprile Lunedì |
01 |
Simulazione ND con enumerazione esplicita ed implicita. Es. clique e TSP. Introduzione alla tecnica del Branch and Bound (B&B) per problemi di Ottimizzazione Combinatoria (OC). Tecniche per il calcolo della stime per difetto e per eccesso. |
|
26 aprile Giovedì |
02 |
Esempio di B&B applicato al problema TSP. Introduzione agli Algoritmi approssimati. Es. Zaino intero e Macchine parallele. |
|
03 maggio Giovedì |
03 |
Gli algoritmi approssimati. Es. TSP. Es. Vertex Cover. Tecnica di derandomizzazione applicata al problema MaxSat, primo esempio. |
|
07 maggio Lunedì |
04 |
Gli algoritmi approssimati. Tecnica di derandomizzazione applicata al problema MaxSat, secondo esempio. Introduzione alla ricerca locale. Definizione di intorno. Esempi. |
|
10 maggio Giovedì |
05 |
VLNS. Esempi. Introduzione all’algoritmo di Metropolis e all’Annealing simulato. |
|
14 maggio Lunedì |
06 |
L’Annealing
simulato. Esempi di problemi di ottimizzazione combinatoria da scegliere per
l’elaborato finale dal sito: http://www2.informs.org/Resources/Resources/Problem_Instances/ |
|
17 maggio Giovedì |
07 |
Le meta-euristica Grasp e Ants System. Altri esempi di problemi di ottimizzazione combinatoria da
scegliere per l’elaborato finale dal sito: http://www.nada.kth.se/~viggo/problemlist/ |
|
21 maggio Lunedì |
08 |
Gli Algoritmi
Genetici |
|
24 maggio Giovedì |
09 |
Introduzione alle Reti Neurali Artificiali |
|
28 maggio Lunedì |
10 |
Reti Neurali Artificiali, Reti di Hopfield e Tank, Macchine di Boltzmann, Mean
Field Annealing, Reti elastiche |
|
31 maggio Giovedì |
11 |
Analisi progetti studenti |
|
04 giugno Lunedì |
12 |
Analisi
progetti studenti |
|