Modules | Area | Type | Hours | Teacher(s) | |
MODEL-DRIVEN DECISION-MAKING METHODS | MAT/09 | LEZIONI | 48 |
|
Il corso si prefigge di fornire agli studenti, attraverso esempi concreti, lezioni teoriche ed il lavoro progettuale, la conoscenza dei principi di base dei software che permette di implementare sistemi di supporto a decisioni complesse, in particolare quelli basati su tecniche di ottimizzazione matematica. Il corso si concentra sugli aspetti pratici dell'uso di tali strumenti e mira ad avere una forte componente progettuale in modo da familiarizzare gli studenti in particolare con gli aspetti prettamente informatici di queste attività. Dato però che tali strumenti sono fondati su schemi algoritmici complessi e proprietà matematiche rigorosamente definite, è necessario fornire allo stesso tempo agli studenti la consapevolezza di tali fondamenti, in particolare dove ciò sia necessario per comprenderne al meglio l'uso o permettere la progettazione di approcci più efficaci ed efficienti.
The course will, through presentation of actual working cases, methodological lectures, and project work, provide the student with knowledge of the main software tools for implementing decision support systems based on mathematical optimization techniques. The course is focused on practical aspects of these tools and has a strong project aspect in order to familiarize the students with the computer science aspects of these activities. However, since these tools are based on complex algorithmic schemes and rigorously defined mathematical properties, the course also provides the students with appropriate consciousness of these foundational aspects, in particular whenever this is necessary to better understand their use or design more efficient and effective approaches.
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 può essere effettuato in due modalità. La modalità consigliata prevede che il progetto venga svolto durante il corso. In questo caso gli studenti svolgono i progetti concordati con il docente in gruppi di 2 o 3 persone, con consegne parziali in corrispondenza alle verifiche intermedie e ad una data fissata prima del primo appello. In alternativa, o in caso di non approvazione del progetto svolto durante il corso, il progetto dovrà essere svolto individualmente.
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.
Grading for the exam is divided in two parts: a project and an oral examination. The latter can only be held after that the project has been completed.
The project can be done in two ways. The strongly advised one is that the project is done during the course, in groups of 2 to 3 students, with mid-term parts due to corresponding to the "compitini" dates. Alternatively, or in case the project thusly produced is not deemed sufficient, the project will have to be done individually.
The oral exam regards all the program, and can only be held after that a project has been approved and graded. Once a project is approved, it (and the corresponding grade) is valid for all the academic year; asking for a new project in order to increase the grade is not allowed, and the grade of the project will significantly contribute to the final grade of the exam.
Il corso si prefigge di fornire agli studenti, attraverso esempi concreti ed il lavoro progettuale, la capacità di realizzare ed utilizzare al meglio sistemi di supporto a decisioni complesse, perlopiú in ambito aziendale, in particolare quelli basati su tecniche di ottimizzazione matematica. Il corso si concentra sugli aspetti pratici dell'uso di tali strumenti (sistemi e linguaggi di modellazione, solutori ed interfacce, parametri algoritmici).
The course will, through presentation of actual working cases and project work, enable the student to produce and/or appropriately use software tools for the support to complex decisions based on mathematical optimization techniques. The course is focused on practical aspects of these tools (modeling languages and systems, solvers and interfaces, algorithmic parameters, ...).
Progetto didattico
Il progetto didattico deve essere concordato con il docente, e richiede l'implementzione ed il test di algoritmi per modelli di ottimizzazione relativi a problemi di logistica. Il docente fornirà una lista di possibili argomenti, ma sono benvenute proposte spontanee su argomenti di interesse specifico per gli studenti.
Per gli studenti che frequentano, il progetto didattico è svolto in gruppi di 3 persone (di 2 persone solo se necessario, non ci possono essere più di 2 gruppi di 2 studenti).
La composizione dei gruppi deve essere comunicata per mail al docente in un unico file HTML in cui tutti i gruppi sono dichiarati, completi di tutte le informazioni, nel seguente formato:
Gruppo n
Agli studenti è richiesto di coordinarsi tra i diversi gruppi per risolvere eventuali conflitti sull'assegnazione dei progetti; nel caso in cui non si raggiunga un accordo tra alcuni gruppi, ad essi verranno assegnati progetti scelti a caso dal docente tra la lista di quelli lasciati liberi dai gruppi più collaborativi.
Il progetto sarà consegnato per parti, per mail, in documenti in formato PDF e/o in archivi compressi contenenti i codici sorgenti, i dati ed eventualmente gli altri materiali di supporto all'analisi dei dati (ad esempio fogli elettronici in formato libero come l'ODS). I documenti devono riportare il numero del gruppo in tutte le pagine e i nomi dei componenti nel frontespizio.
Project
The project will have to be agreed with the teacher, and it will generally require the actual implementation and test of (a part of) a decision support system from some optimization problem. The teacher will provide a list of possible assignments, but spontaneous proposals from the students are very welcome.
For projects done during the course (which is strongly advised) the students will have to organize themselves in groups of two to three people, with three being the strongly preferred number (two will only be accepted with good reasons). Groups will have to be communicated to the teacher by e-mail with a single HTML file describing all groups in the format
Group n
The students are asked to discuss and solve possible conflicts about the matching between groups and assignments among themselves; if some groups cannot resolve their disputes about some particular assignment, the interested groups will be assigned a random project among these left free from the collaborative groups.
The projects will have to be provided by e-mail as PDF documents and/or compressed archives contaning source codes, data files and the material necessary for the evaluation of the results (e.g. spreadsheets in some free format such as ODS). The group having produced the documents must be clearly indicated in the front page and the header/footer of each page of each document.
Il corso intende stimolare gli studenti ad essere contemporaneamente creativi e rigorosi durante tutti gli aspetti della progettazione, implementazione, testing e miglioramento di un sistema di supporto alle decisioni basato su tecniche di ottimizzazione matematica. Realizzare efficientemente sistemi efficaci richiede essere aperti a recepire le indicazioni provenienti dalla letteratura scientifica, seguire chiari protocolli di sperimentazione, ma anche di ideare in modo creativo soluzioni modellistiche ed algoritmiche innovative per adattare gli strumenti alle mutevoli e mai uguali necessità di ogni specifico ambito operativo.
The course aims at stimulating the student to be at the same time creative and rigourous during all phases of design, implementation, testing and improvement of decision support systems based on mathematical optimization techniques. Efficiently developing effective systems require on one side to be open to the indications coming from scientific literature and following rigorous experimental protocols, but on the other hand also to creatively prodice innovative modeling ans algorithnic solutions in order to adapt the available tools to the ever-changing needs of each specific operating context.
La creatività e l'applicazione di rigorosi principi per il testing e lo sviluppo verranno verificati durante il progetto.
Both creativity and rigorous application of sound design and testing principles will be verified during the project.
Il corso non ha particolari pre-requisiti; è ovviamente utile una ragionevole conoscenza dei principi base della Ricerca Operativa, insieme a competenze di programmazione che vengono date per scontate in studenti di questo livello. Può essere utile seguire il corso di Logistica prima o in parallelo a questo, in modo da affinare le capacità modellistiche.
The course has little prerequisites, beyond programming skills that can be given for granted in students of this level. It is of course welcome some knowledge of the basics of Operations Research. It may be useful if the course of Logistics is followed before or in parallel to this to hone the modeling skills.
Lezioni frontali, ma con una forte componente di lavoro sul computer.
Attività richieste:
Frequenza: consigliata
Metodologie didattiche:
Delivery: face to face, with a strong component of practical computer work.
Learning activities:
Attendance: Advised
Teaching methods:
Introduzione (6 ore)
Teoria delle decisioni, processi decisionali in ambito aziendale.
Struttura dei sistemi di supporto alle decisioni basati sui modelli.
Richiami di ottimizzazione matematica (10 ore)
Problemi di Programmazione Lineare (PL).
Problemi di Programmazione Lineare Intera (PLI).
Algoritmi risolutivi per la PL.
Algoritmi risolutivi per la PLI.
Solutori di PL e PLI (16 ore)
Struttura dei solutori di PL e PLI.
Costruzione delle istanze: API, linguaggi e sistemi di modellazione.
Risoluzione di istanze di problemi realistici e loro difficoltà in pratica.
Metodologie per il miglioramento della prestazioni degli agoritmi (16 ore)
Il principio generale: sviluppare formulazioni migliori
Piani di taglio
Programmazione dinamica
Generazione di colonne e decomposizione (Lagrange, Benders)
Introduction (6 hours)
Decision theory, the decision process in a business environment
Structure of Model-Driven Decision Support Systems
Review of mathematical optimization (10 hours)
Linear Programming (LP) problems
Integer Linear Programming (ILP) problems
Algorithms for LP
Algorithms for ILP
LP and ILP solvers (16 hours)
LP and ILP solvers: software structure.
Instances: API, modeling languages, modeling systems
Practical issues in the solution of LPs and ILPs
Methodologies to improve solver effectiveness (16 hours)
The general principle: develop a better formulation
Cutting planes
Dynamic programming
Column generation and decomposition (Lagrange, Benders)
Appunti del corso di Ricerca Operativa (basic Operations Research course material)
Jon Lee A First Course in Linear Optimization Reex Press, 2013
Materiale distribuito dal docente durante il corso (other material provided by the teacher)
D. Simchi-Levi, X. Chen and J. Bramel Logic of Logistics: Theory, algorithms, and applications for logistics and supply chain Springer-Verlag, 2004
M.S.Bazaraa, J.J.Jarvis, H.D.Sherali Linear programming and network flows John Wiley & Sons
L.A. Wolsey Integer programming John Wiley & Sons
G. Ghiani, R. Musmanno Modelli e Metodi per l'Organizzazione dei Sistemi Logistici Pitagora, 2000
Appunti del corso di Ricerca Operativa (basic Operations Research course material)
Jon Lee A First Course in Linear Optimization Reex Press, 2013
Materiale distribuito dal docente durante il corso (other material provided by the teacher)
D. Simchi-Levi, X. Chen and J. Bramel Logic of Logistics: Theory, algorithms, and applications for logistics and supply chain Springer-Verlag, 2004
M.S.Bazaraa, J.J.Jarvis, H.D.Sherali Linear programming and network flows John Wiley & Sons
L.A. Wolsey Integer programming John Wiley & Sons
G. Ghiani, R. Musmanno Modelli e Metodi per l'Organizzazione dei Sistemi Logistici Pitagora, 2000
Il docente mette a disposizione dei soli studenti del corso registrazioni di tutte le lezioni, in modo da permettere agli studenti non frequentanti di seguire al pari degli altri.
The teacher will provide recordings of the lessons, thereby non-attending students should be able to follow course on par with attending ones.
Modalità di esame
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 può essere effettuato in due modalità. La modalità consigliata prevede che il progetto venga svolto durante il corso. In questo caso gli studenti svolgono i progetti concordati con il docente in gruppi di 2 o 3 persone, con consegne parziali in corrispondenza alle verifiche intermedie e ad una data fissata prima del primo appello. In alternativa, o in caso di non approvazione del progetto svolto durante il corso, il progetto dovrà essere svolto individualmente. In questo caso, l'assegnazione del progetto può essere richiesta in qualsiasi momento successivo alla fine del corso, contattando il docente via e-mail. Il progetto dovrà essere consegnato entro un mese 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.
Progetto didattico
Il progetto didattico deve essere concordato con il docente, e richiede l'implementzione ed il test di algoritmi per modelli di ottimizzazione relativi a problemi di logistica. Il docente fornirà una lista di possibili argomenti, ma sono benvenute proposte spontanee su argomenti di interesse specifico per gli studenti.
Per gli studenti che frequentano, il progetto didattico è svolto in gruppi di 3 persone (di 2 persone solo se necessario, non ci possono essere più di 2 gruppi di 2 studenti).
La composizione dei gruppi deve essere comunicata per mail al docente in un unico file HTML in cui tutti i gruppi sono dichiarati, completi di tutte le informazioni, nel seguente formato:
Gruppo n
Agli studenti è richiesto di coordinarsi tra i diversi gruppi per risolvere eventuali conflitti sull'assegnazione dei progetti; nel caso in cui non si raggiunga un accordo tra alcuni gruppi, ad essi verranno assegnati progetti scelti a caso dal docente tra la lista di quelli lasciati liberi dai gruppi più collaborativi.
Il progetto sarà consegnato per parti, per mail, in documenti in formato PDF e/o in archivi compressi contenenti i codici sorgenti, i dati ed eventualmente gli altri materiali di supporto all'analisi dei dati (ad esempio fogli elettronici in formato libero come l'ODS). I documenti devono riportare il numero del gruppo in tutte le pagine e i nomi dei componenti nel frontespizio.
Assessment
Grading for the exam is divided in two parts: a project and an oral examination. The latter can only be held after that the project has been completed.
The project can be done in two ways. The strongly advised one is that the project is done during the course, in groups of 2 to 3 students, with mid-term parts due to corresponding to the "compitini" dates. Alternatively, or in case the project thusly produced is not deemed sufficient, the project will have to be done individually. In this case the assignment can be required by e-mail at any time after the end of the course, and will have to be produced within a month, and anyway at least one week prior to the oral exam's date.
The oral exam regards all the program, and can only be held after that a project has been approved and graded. Once a project is approved, it (and the corresponding grade) is valid for all the academic year; asking for a new project in order to increase the grade is not allowed, and the grade of the project will significantly contribute to the final grade of the exam.
Project
The project will have to be agreed with the teacher, and it will generally require the actual implementation and test of (a part of) a decision support system from some optimization problem. The teacher will provide a list of possible assignments, but spontaneous proposals from the students are very welcome.
For projects done during the course (which is strongly advised) the students will have to organize themselves in groups of two to three people, with three being the strongly preferred number (two will only be accepted with good reasons). Groups will have to be communicated to the teacher by e-mail with a single HTML file describing all groups in the format
Group n
The students are asked to discuss and solve possible conflicts about the matching between groups and assignments among themselves; if some groups cannot resolve their disputes about some particular assignment, the interested groups will be assigned a random project among these left free from the collaborative groups.
The projects will have to be provided by e-mail as PDF documents and/or compressed archives contaning source codes, data files and the material necessary for the evaluation of the results (e.g. spreadsheets in some free format such as ODS). The group having produced the documents must be clearly indicated in the front page and the header/footer of each page of each document.