Il corso si prefigge l'obiettivo di guidare lo studente nella formulazione di modelli matematici per problemi di ottimizzazione lineare a risorse limitate, e di illustrare tecniche algoritmiche per la loro risoluzione.
Lo studente acquisirà competenze che gli permetteranno di formulare modelli di ottimizzazione lineare continua e discreta, compresi quelli di flusso su reti. Apprenderà inoltre proprietà matematiche che lo condurranno alla progettazione di approcci algoritmici di base per due importanti classi di problemi di ottimizzazione: problemi di flusso su rete e programmazione lineare.
The course will introduce the student to the main tools and techniques of Operations Research, the discipline of formulating and solving mathematical models corresponding to finding the "best possible" solutions to decision problems. At the end of the course the student will have a basic knowledge of the main issues arising when creating a mathematical model that need be practically solved in "reasonable" time, which is usually a nontrivial task in that most optimization problem are inherently "hard". In particular the student will know the mathematical foundations and the most relevant implementation details (complexity, data structures, ...) of the solution algorithms for two important classes of "easy" problems (network flows and linear programming); furthermore, she/he will be able to construct formulations using the most useful formalism in practice, that of Integer Linear Programming.
L'esame scritto (in itinere) ed orale ha lo scopo di verificare che lo studente conosca le principali tecniche algoritmiche presentate durante il corso; conosca le motivazioni teoriche che rendono corretti gli algoritmi e che sappia formulare problemi di ottimizzazione con struttura non troppo articolata.
The written and oral exam aim at verifying that the student has understood the main algorithmic techniques presented during the course, their theoretical foundations, and she/he is capable of formulating mathematical models of simple fragments of reality with at least a basic understanding of the impact of the modeling choices on the difficulty of the resulting optimization problem.
Methods:
Further information:
The written exam usually consists in solving exercises covering all the material of the course, and in particular (but not exclusively) the algorithmic aspects. A sufficient (or almost so) written exam is a prerequisite to the oral exam; it is only waived for student successfully passing the two in-course tests. The oral exam will in any case cover all the theoretical and algorithmic material of the course.
Lo studente sarà in grado di formulare modelli matematici per alcuni problemi applicativi, e risolvere problemi di flusso su rete e problemi di programmazione lineare e lineare intera.
The student will be able to formulate mathematical methods for some linear optimization problems continuous or discrete including those described on networks and graphs.
Lo studente acquisirà non solo competenze ma anche capacità critiche che, sia a livello modellistico che algoritmico, risulteranno rilevanti in svariati ambiti lavorativi, sia a livello progettuale che implementativo.
The student will acquire critical capacities both for mathematical models and linear optimization algorithms.
Fondamenti di Algebra Lineare.
Fundamentals of linear algebra and algorithms.
Il corso è concepito per lezioni frontali e studio individuale.
La frequenza seppur non obbligatoria, è fortemente consigliata.
Delivery: face to face
Learning activities:
Attendance: Advised
Teaching methods:
Formulazione di problemi di ottimizzazione: dati, variabili, vincoli. Problemi di produzione, di trasporto, di assegnamento. Variabili discrete e continue. Modelli standard per software esistenti. Programmazione Lineare. Soluzioni ammissibili ed ottime. Poledri e loro rappresentazione geometrica e matriciale. Teorema fondamentale della PL. Soluzioni di base e vertici. Teoria della dualità e test di ottimalità. Algoritmo del simplesso primale. Algoritmo del simplesso duale. Il caso delle variabili intere e binarie. Le valutazioni superiori ed inferiori. Algoritmi "greedy". Il metodo dei piani di taglio. Piani di taglio di Gomory.
Problemi di flusso su rete e relativi modelli di Programmazione Lineare. Cammini minimi: proprietà e algoritmi risolutivi (algoritmo di Dijkstra, algoritmo di Bellman e algoritmo per reti acicliche). Flusso massimo: proprietà e algoritmo di Edmonds e Karp. Flusso di costo minimo: proprietà e algoritmo basato su cancellazione di cicli. Problemi di Programmazione Lineare Intera. Il metodo del "Branch and Bound". Il problema dello zaino ed il problema del "commesso viaggiatore".
The course will cover the following material: = - Linear Programs: definitions, geometrical and algebraic properties = duality theory = the primal and dual simplex algorithm - Network Flow problems and algorithms: = Maximum Flows = Min-Cost Flows - Integer Linear Programs: = Cutting plane methods = "Branch and Bound"
Pappalardo M., Passacantando M., “Ricerca Operativa”, Pisa University Press.
F.S. Hillier, G.J. Lieberman, "Introduzione alla ricerca operativa", Franco Angeli.
Prova scritta (in itinere) e prova orale.
Limitatamente ai soli appelli dellla sessione estiva 2020, a causa dell'emergenza sanitaria COVID-19, gli esami si svolgeranno a distanza e saranno formati dalla sola prova orale (durante la quale potrà essere richiesto lo svolgimento di esercizi).
Written and oral examination.