Course Syllabus
Obiettivi
Le Ricerca operativa (OR) riguarda lo studio di metodi analitici di supporto al processo decisionale. È una disciplina della matematica applicata con un ampio spettro di applicazioni tra i quali informatica, ingegneria ed economia. L’obiettivo di questo corso è quello di fornire agli studenti le competenze necessarie per la formulazione di modelli matematici che rappresentino i problemi del mondo reale e per identificare le metodologie più idonee alla soluzione di questi modelli. Verranno affrontati i seguenti argomenti: ottimizzazione di funzioni non lineari, programmazione lineare, programmazione intera, con diversi esempi di applicazione.
Contenuti sintetici
A. Programmazione lineare
B. Programmazione lineare intera
C. Programmazione non lineare
Programma esteso
Introduzione alla Programmazione Matematica
A. Programmazione lineare
1. Introduzione alla programmazione lineare (PL): proprietà dei problemi di PL, strategie di modellizzazione
2. Soluzione grafica: soluzione grafica per problemi di PL
3. Geometria della Programmazione lineare e metodo del simplesso
4. Dualità
B. Programmazione lineare intera
1. Introduzione alla programmazione lineare intera (PLI)
2. proprietà dei problemi di PLI e strategie di modellizzazione
3. Metodo del Branch and Bound
C. Ottimizzazione non lineare
1. Ottimizzazione di funzioni non lineari ad una variabile: ricerca dicotomia-metodo Bisezione- metodo Newton
2. Ottimizzazione di funzioni non lineari mutivariate: metodo Gradiente-metodo Newton
3. Ottimizzazione non lineare vincolata: condizioni di Karush-Kuhn-Tucker
Prerequisiti
- Algebra lineare; vettori, matrici, sistemi di equazioni lineari, ...
- Funzione; in una variabile, in più variabili, convessa, derivata, gradiente, hessiana, ...
Modalità didattica
Lezioni, esercizi e demo sw.
Il corso verra' erogato in italiano.
Materiale didattico
Libro di testo principale
- Frederick S. Hillier and Gerald J. Lieberman, Ricerca Operativa, McGraw-Hill, nona edizione, 2010.
Libri di testo addizionali
- Dimitris Bertsimas and John Tsitsiklis, introduzione all’ottimizzazione lineare, Belmont, Massachusetts, 2008.
- Mokhtar S. Bazaraa, John J. Jarvis, Hanif D. Sherali, Linear Programming and Network Flows, Wiley, 4th edition, 2010.
- Mokhtar S. Bazaraa, Hanif D. Sherali, C. M. Shetty, Nonlinear programmazione: teorie e algoritmi, Wiley, 3th edition, 2006.
Software
- Python + Libreria PuLP: https://www.python.org/ + https://pypi.org/project/PuLP/
Materiale aggiuntivo; saranno rese disponibili le slide delle lezioni ed alcuni esercizi risolti.
Periodo di erogazione dell'insegnamento
Primo semestre
Modalità di verifica del profitto e valutazione
Due modalità alternative:
1. Durante l'erogazione delle lezioni - PROVE PARZIALI
- due prove parziali, ogni prova assegna un massimo di 15 punti,
- le date delle due prove parziali saranno comunicate entro la prima settimana di erogazione delle lezioni
- le due prove parziali si svolgono nei laboratori dell'Università di Milano-Bicocca
- si accede alla seconda prova parziale se si merita un voto almeno pari a 6 punti su 15 nel primo parziale, in caso contrario si veda modalità d'esame 2)
- la seconda prova parziale è da considerarsi superata se si ottiene un punteggio almeno pari a 6 punti su 15, in caso contrario si veda modalità d'esame 2)
- il voto assegnato nelle due prove parziali si somma e determina il voto finale (arrotondato per eccesso)
- l'esame si considera superato (verbalizzato) se il voto finale è maggiore o uguale a 18
- la prova orale è facoltativa, a richiesta del candidato che abbia meritato un voto almeno pari a 18, e assegna un massimo di 3 punti che si vanno a sommare al voto delle due prove parziali
- se la prova orale fosse particolarmente negativa è possibile che il voto delle due prove parziali venga diminuito fino ad un massimo di 3 punti
2. Al termine dell'erogazione delle lezioni - PROVA ORDINARIA
- la prova d'esame ordinaria si svolge nei laboratori dell'Università di Milano-Bicocca
- la prova d'esame ordinaria consiste di due fasi
- la prima fase della prova d'esame ordinaria prevede 10 domande a risposta chiusa sui pre-requisiti del corso
- si viene ammessi alla seconda fase della prova d'esame ordinaria se si risponde correttamente ad almeno 6 domande
- la seconda fase della prova d'esame ordinaria assegna un massimo di 30 punti (arrotondamento per eccesso)
- prima e seconda fase della prova d'esame ordinaria hanno luogo sequenzialmente e senza interruzione temporale
- la prova d’esame è superata (verbalizzata) se si ottiene un voto maggiore o uguale a 18
- la prova orale è facoltativa e a richiesta del candidato che abbia meritato un voto almeno pari a 18, e assegna un massimo di 3 punti che si vanno a sommare al voto della prova in laboratorio
- se la prova orale fosse particolarmente negativa è possibile che il voto della prova in laboratorio venga diminuito fino ad un massimo di 3 punti
Orario di ricevimento
Fabio Stella su appuntamento
Guglielmo Lulli su appuntamento
Aims
Operations research (OR) is the study of scientific tools that deals with the application of advanced analytical methods to help make better decisions. It is a key branch of applied mathematics with applications in a wide spectrum of areas including computer science, engineering and economics.The goal of this course is to teach students to formulate mathematical models that represent real-world problems and to recognize approaches and tools to solve these models.
Namely, we will cover nonlinear, linear, network flow and integer optimization problems, with applications in planning, economics, business, and engineering.
Contents
A. Linear programming
B. Linear integer programming
C. Non linear programming
Detailed program
Introduction to Mathematical Programming
A. Linear Programming
1. Introduction to Linear Programming (LP): poperties and modelling strategies
2. Graphical solution method
3. Geometry of LP and the simplex method
4. Duality
B. Integer Linear Programming
1. Introduction to integer linear programming (ILP)
2. Properties and modelling strategies
3. Branch and Bound
C. Non Linear Programming
1. Oprimizing non linear functions of a single variable
2. Oprimizing non linear functions of multiple variables
3. Optimizing constrained non linear functions, Karush-Kuhn-Tucker conditions
Prerequisites
- Linear Algebra; vector, matrix, sistem of linear equations, ...
- Function; of one variable, of more variables, convex, derivative, gradient, hessian, ...
Teaching form
Lectures, exercises and demo using sw
The course will be delivered in Italian.
Textbook and teaching resource
Main textbook
- Frederick S. Hillier and Gerald J. Lieberman, Ricerca Operativa, McGraw-Hill, 9th edition, 2010.
Additional textbooks
- Dimitris Bertsimas and John Tsitsiklis, Introduction to Linear Optimization, Belmont, Massachusetts, 2008.
- Mokhtar S. Bazaraa, John J. Jarvis, Hanif D. Sherali, Linear Programming and Network Flows, Wiley, 4th edition, 2010.
- Mokhtar S. Bazaraa, Hanif D. Sherali, C. M. Shetty, Nonlinear Programming: Theory and Algorithms, Wiley, 3th edition, 2006.
Software
- Python + Libreria PuLP: https://www.python.org/ + https://pypi.org/project/PuLP/
Additional Material
Slides of the lectures and some solved exercises will also be available
Semester
I semester
Assessment method
Due modalità alternative:
1. Durante l'erogazione delle lezioni - PROVE PARZIALI
- due prove parziali, ogni prova assegna un massimo di 15 punti,
- le date delle due prove parziali saranno comunicate entro la prima settimana di erogazione delle lezioni
- le due prove parziali si svolgono nei laboratori dell'Università di Milano-Bicocca
- si accede alla seconda prova parziale se si merita un voto almeno pari a 6 punti su 15 nel primo parziale, in caso contrario si veda modalità d'esame 2)
- la seconda prova parziale è da considerarsi superata se si ottiene un punteggio almeno pari a 6 punti su 15, in caso contrario si veda modalità d'esame 2)
- il voto assegnato nelle due prove parziali si somma e determina il voto finale delle due prove parziali (arrotondato per eccesso)
- l'esame si considera superato (verbalizzato) se il voto finale è maggiore o uguale a 18
- la prova orale è facoltativa, a richiesta del candidato che abbia meritato un voto almeno pari a 18, e assegna un massimo di 3 punti che si vanno a sommare al voto delle due prove parziali
- se la prova orale fosse particolarmente negativa è possibile che il voto delle due prove parziali venga diminuito fino ad un massimo di 3 punti
2. Al termine dell'erogazione delle lezioni - PROVA ORDINARIA
- la prova d'esame ordinaria si svolge nei laboratori dell'Università di Milano-Bicocca
- la prova d'esame ordinaria consiste di due fasi
- la prima fase della prova d'esame ordinaria prevede 10 domande a risposta chiusa sui pre-requisiti del corso
- si viene ammessi alla seconda fase della prova d'esame ordinaria se si risponde correttamente ad almeno 6 domande
- la seconda fase della prova d'esame ordinaria assegna un massimo di 30 punti (arrotondamento per eccesso)
- prima e seconda fase della prova d'esame ordinaria hanno luogo sequenzialmente e senza interruzione temporale
- la prova d’esame è superata (verbalizzata) se si ottiene un voto maggiore o uguale a 18
- la prova orale è facoltativa e a richiesta del candidato che abbia meritato un voto almeno pari a 18, e assegna un massimo di 3 punti che si vanno a sommare al voto della prova in laboratorio
- se la prova orale fosse particolarmente negativa è possibile che il voto della prova in laboratorio venga diminuito fino ad un massimo di 3 punti
Office hours
Fabio Stella by appointment
Guglielmo Lulli by appointment