L'esame si articola in due parti: un progetto ed una prova orale, che può essere sostenuta solo dopo la consegna di un progetto valutato positivamente.
Il progetto deve essere concordato con i docenti e dovrà essere svolto individualmente. L'assegnazione del progetto può essere richiesta in qualsiasi momento contattando i docenti via e-mail. Il progetto dovrà essere consegnato entro due mesi dall'effettiva assegnazione, e comunque almeno una settimana prima dell'inizio dell'appello in cui si intende svolgere la prova orale.
La prova orale verte su tutto il programma del corso, ed è possibile sostenerla solamente avendo un progetto approvato. Ottenuta una valutazione positiva per il progetto, questa rimane valida per effettuare la prova orale (anche più volte) in tutti i rimanenti appelli dell'anno accademico. Il voto ottenuto nel progetto concorre in modo sostanziale a formare il voto finale.
Il progetto didattico deve essere concordato con i docenti, e richiede l'implementzione ed il test di algoritmi per risolvere un problema di logistica (studiato durante il corso oppure nuovo). Ciascun progetto richiede i seguenti passi fondamentali:
Recuperare istanze del problema disponibili su internet e/o implementare un generatore "scalabile" che ne produca, eventualmente prendendo in input istanze di un problema simile e modificandole, con opportuni parametri che ne controllino la "difficoltà" (presumibile) di soluzione;
proporre una o più formulazioni ILP ed implementare la loro soluzione mediante un software general-purpose disponibile, in modo da ottenere almeno una valutazione inferiore (per problemi di minimo) valida e possibilmente soluzioni ammissibili;
a scelta dello studente, proporre ed implementare o approcci in grado di migliorare significativamente le prestazioni del solutore general-purpose (generazione di colonne, disuguaglianze valide, branching, euristiche, ...) oppure uno o più algoritmi indipendenti (metaeuristici, programmazione dinamica, ...);
confrontare le prestazioni (rapporto tempo/qualità della soluzione fornita) di tutti gli approcci implementati.
Il progetto dovrà essere consegnato per e-mail e dovrà comprendere il seguente materiale:
Descrizione del problema oggetto del progetto.
Descrizione dell'approccio risolutivo implementato: la matematica, gli algoritmi utilizzati, descrizione e discussione dell'implementazione. Questi documenti devono contenere tutti i dettagli (immaginando che l'implementazione debba essere fatta da un collega).
Descrizione delle istanze utilizzate/generate per svolgere le prove computazionali e degli esperimenti svolti. Le scelte fatte devono essere adeguatamente motivate.
Tabelle con i risultati delle prove computazionali svolte.
Commento dei risultati computazionali.
Lo studente può proporre degli argomenti o scegliere uno dei progetti della lista fornita dai docenti.