Scheda programma d'esame
MODEL-DRIVEN DECISION-MAKING METHODS
(Model-driven decision-making methods)
ANTONIO FRANGIONI
Anno accademico2020/21
CdSDATA SCIENCE AND BUSINESS INFORMATICS
Codice666AA
CFU6
PeriodoSecondo semestre
LinguaInglese

ModuliSettore/iTipoOreDocente/i
MODEL-DRIVEN DECISION-MAKING METHODSMAT/09LEZIONI48
ANTONIO FRANGIONI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

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.

Knowledge

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.

Modalità di verifica delle conoscenze

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.

 

Assessment criteria of knowledge

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.

 

Capacità

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).

Skills

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, ...).

Modalità di verifica delle capacità

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

  • Nome Cognome, matricola, e-mail
  • Nome Cognome, matricola, e-mail
  • ...

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 criteria of skills

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

  • Name, Surname, matricola, e-mail address
  • Name, Surname, matricola, e-mail address
  • ...

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.

Comportamenti

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.

Behaviors

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.

Modalità di verifica dei comportamenti

La creatività e l'applicazione di rigorosi principi per il testing e lo sviluppo verranno verificati durante il progetto.

Assessment criteria of behaviors

Both creativity and rigorous application of sound design and testing principles will be verified during the project.

Prerequisiti (conoscenze iniziali)

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.

Prerequisites

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.

Indicazioni metodologiche

Lezioni frontali, ma con una forte componente di lavoro sul computer.

Attività richieste:

  • seguire le lezioni
  • preparazione di documenti (discussione del progetto)
  • participazione in discussioni
  • studio individuale
  • lavoro di gruppo
  • lavoro in laboratorio

Frequenza: consigliata

Metodologie didattiche:

  • lezioni
  • laboratorio
  • lavoro su progetto
Teaching methods

Delivery: face to face, with a strong component of practical computer work.

Learning activities:

  • attending lectures
  • preparation of written report (project report)
  • participation in discussions
  • individual study
  • group work
  • Laboratory work

Attendance: Advised

Teaching methods:

  • Lectures
  • laboratory
  • project work
Programma (contenuti dell'insegnamento)
  1. Introduzione (6 ore)

    • Teoria delle decisioni, processi decisionali in ambito aziendale.

    • Struttura dei sistemi di supporto alle decisioni basati sui modelli.

  2. 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.

  3. 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.

  4. 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)

Syllabus
  • 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)

 

Bibliografia e materiale didattico
  1. Appunti del corso di Ricerca Operativa (basic Operations Research course material)

  2. Jon Lee A First Course in Linear Optimization Reex Press, 2013

  3. Materiale distribuito dal docente durante il corso (other material provided by the teacher)

  4. D. Simchi-Levi, X. Chen and J. Bramel Logic of Logistics: Theory, algorithms, and applications for logistics and supply chain Springer-Verlag, 2004

  5. M.S.Bazaraa, J.J.Jarvis, H.D.Sherali Linear programming and network flows John Wiley & Sons

  6. L.A. Wolsey Integer programming John Wiley & Sons

  7. G. Ghiani, R. Musmanno Modelli e Metodi per l'Organizzazione dei Sistemi Logistici Pitagora, 2000

Bibliography
  1. Appunti del corso di Ricerca Operativa (basic Operations Research course material)

  2. Jon Lee A First Course in Linear Optimization Reex Press, 2013

  3. Materiale distribuito dal docente durante il corso (other material provided by the teacher)

  4. D. Simchi-Levi, X. Chen and J. Bramel Logic of Logistics: Theory, algorithms, and applications for logistics and supply chain Springer-Verlag, 2004

  5. M.S.Bazaraa, J.J.Jarvis, H.D.Sherali Linear programming and network flows John Wiley & Sons

  6. L.A. Wolsey Integer programming John Wiley & Sons

  7. G. Ghiani, R. Musmanno Modelli e Metodi per l'Organizzazione dei Sistemi Logistici Pitagora, 2000

Indicazioni per non frequentanti

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.

Non-attending students info

The teacher will provide recordings of the lessons, thereby non-attending students should be able to follow course on par with attending ones.

Modalità d'esame

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

  • Nome Cognome, matricola, e-mail
  • Nome Cognome, matricola, e-mail
  • ...

 

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 methods

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

  • Name, Surname, matricola, e-mail address
  • Name, Surname, matricola, e-mail address
  • ...

 

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.

Ultimo aggiornamento 31/07/2020 11:51