View syllabus
Model-driven decision-making methods
BARTOSZ FILIPECKI
Academic year2023/24
CourseDATA SCIENCE AND BUSINESS INFORMATICS
Code666AA
Credits6
PeriodSemester 2
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
MODEL-DRIVEN DECISION-MAKING METHODSMAT/09LEZIONI48
BARTOSZ FILIPECKI 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 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 course is divided into two parts: a project and an oral examination. The latter can only be held after the project has been completed.

Once the project is approved, a date for the oral exam will be freely agreed upon between the lecturer and the group. It is required that all the members of the group take the oral exam simultaneously; exceptions will have to be explicitly requested and will only be granted for serious reasons. The report needs to be approved and graded at least one week prior to the oral exam's date.

The oral exam consists of a discussion of the project results and possible variants/extensions, as well as related theoretical questions. Therefore, it can comprise any subject within the program of the course. The grade of the project (which will not be formally stated by the lecturer but will be clear during the required interaction) will significantly contribute to the final grade of the exam. Once a project is approved, it (and the corresponding grade) is valid for the whole academic year. Asking for a new project in order to increase the grade is not allowed. Repeating the oral exam is technically possible but discouraged. Any subsequent attempt at the oral exam will necessarily have to forego the discussion of the project and will therefore include a more in-deep discussion of the theoretical aspects of the course.

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

The project requires the implementation of a (prototype) Decision Support System based on mathematical optimization techniques, and in particular focusing on the mathematical optimization techniques themselves as presented in the course.

There are two types of possible projects:

  • standard projects, where the students are free to choose the tools (programming languages, modelling tools, mathematical optimization solvers, ...) they find suitable.
  • SMS++ projects, where the students are required to use the Structured Modelling System framework as the modelling tool, which implies the choice of C++ as the programming language. These projects may require either the development of a Block (model of a specific optimization problem), or of a Solver (specialized solution algorithm) for an existing Block, or both.

The project is designed to be performed in groups of 2 students. Within 4 weeks from the beginning of the course, the students are requested to organize themselves in groups of two, with exceptions to be explicitly agreed with the lecturer. Groups will have to be communicated to the lecturer by e-mail with a single text file describing all groups with the format:

Group 1

  • Name, Surname, matriculation number, e-mail address
  • Name, Surname, matriculation number, e-mail address

Group 2

  • Name, Surname, matriculation number, e-mail address
  • ...

Once the list of groups is established, the lecturer will provide a list of possible project assignments for the groups to choose from. However, spontaneous proposals from (groups of) students are welcome and encouraged. Of course, the lecturer reserves the right to request amendments to the proposals, and even dismiss them outright. Any group that succeeds in having a spontaneous proposal accepted will have the right to perform the corresponding project. All other groups will be required, within 2 weeks, to agree among themselves a (partial) matching between groups and available assignments, and to communicate the result to the lecturer by e-mail in a single text file in the format:

Group 1 --> Project n. X
Group 2 --> Project n. Y
...

Each project can be assigned to at most one group. If some groups cannot resolve their disputes about the project topic, the interested groups will be assigned a random project among those still available. In case the project is started beyond the above deadlines, and in particular after the course is complete, it will have to be done individually. In this case, the project topic can be chosen from those still available and arranged by e-mail. 

The outcome of each project will primarily be a written report (exclusively in PDF, use of LaTeX is suggested but not mandatory) detailing all the steps as specified in the project proposals document. The group that produced the documents must be clearly indicated on the front page and the header/footer of each page of each document. It is advised (but not mandatory) that the report of the project is sent to the lecturer incrementally, so that each step can be checked. In this way, there is less chance that a methodological error at some stage leads to wasted work at later stages. The dates of delivery of (each step of) the project are entirely flexible. Only after the report is completely approved, the group will also have to send to the lecturer (in a single compressed .zip, .gzip or .tgz file) a distribution of all the material (source code, models, data, scripts, spreadsheets, ...) that has been produced to fulfill the required tasks. Once the distribution is also accepted, the project is approved.

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 rigorous during all phases of design, implementation, testing and improvement of decision support systems based on mathematical optimization techniques. Efficiently developing effective systems requires 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 produce innovative modeling and algorithmic 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 few prerequisites, beyond programming skills that can be taken for granted in students of this level. Some basic knowledge of the basics of Operations Research is welcome. It may be useful if the course "Logistics" is followed before or in parallel to this to hone modelling 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: developing a better formulation

    • Cutting planes

    • Dynamic programming

    • Column generation and decomposition

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. Fabio Schoen Optimization Models, free e-book version, 2022

  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. Fabio Schoen Optimization Models, free e-book version, 2022

  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 streaming and 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

Grading for the course is divided into two parts: a project and an oral examination. The latter can only be held after the project has been completed.

The project requires the implementation of a (prototype) Decision Support System based on mathematical optimization techniques, and in particular focusing on the mathematical optimization techniques themselves as presented in the course.

There are two types of possible projects:

  • standard projects, where the students are free to choose the tools (programming languages, modelling tools, mathematical optimization solvers, ...) they find suitable.
  • SMS++ projects, where the students are required to use the Structured Modelling System framework as the modelling tool, which implies the choice of C++ as the programming language. These projects may require either the development of a Block (model of a specific optimization problem), or of a Solver (specialized solution algorithm) for an existing Block, or both.

The project is designed to be performed in groups of 2 students. Within 4 weeks from the beginning of the course, the students are requested to organize themselves in groups of two, with exceptions to be explicitly agreed with the lecturer. Groups will have to be communicated to the lecturer by e-mail with a single text file describing all groups with the format:

Group 1

  • Name, Surname, matriculation number, e-mail address
  • Name, Surname, matriculation number, e-mail address

Group 2

  • Name, Surname, matriculation number, e-mail address
  • ...

Once the list of groups is established, the lecturer will provide a list of possible project assignments for the groups to choose from. However, spontaneous proposals from (groups of) students are welcome and encouraged. Of course, the lecturer reserves the right to request amendments to the proposals, and even dismiss them outright. Any group that succeeds in having a spontaneous proposal accepted will have the right to perform the corresponding project. All other groups will be required, within 2 weeks, to agree among themselves a (partial) matching between groups and available assignments, and to communicate the result to the lecturer by e-mail in a single text file in the format:

Group 1 --> Project n. X
Group 2 --> Project n. Y
...

Each project can be assigned to at most one group. If some groups cannot resolve their disputes about the project topic, the interested groups will be assigned a random project among those still available. In case the project is started beyond the above deadlines, and in particular after the course is complete, it will have to be done individually. In this case, the project topic can be chosen from those still available and arranged by e-mail. 

The outcome of each project will primarily be a written report (exclusively in PDF, use of LaTeX is suggested but not mandatory) detailing all the steps as specified in the project proposals document. The group that produced the documents must be clearly indicated on the front page and the header/footer of each page of each document. It is advised (but not mandatory) that the report of the project is sent to the lecturer incrementally, so that each step can be checked. In this way, there is less chance that a methodological error at some stage leads to wasted work at later stages. The dates of delivery of (each step of) the project are entirely flexible. Only after the report is completely approved, the group will also have to send to the lecturer (in a single compressed .zip, .gzip or .tgz file) a distribution of all the material (source code, models, data, scripts, spreadsheets, ...) that has been produced to fulfill the required tasks. Once the distribution is also accepted, the project is approved.

 

Once the project is approved, a date for the oral exam will be freely agreed upon between the lecturer and the group (the concept of "sessione d'esame" does not apply to this course). It is required that all the members of the group take the oral exam simultaneously; exceptions will have to be explicitly requested and will only be granted for serious reasons. The report needs to be approved and graded at least one week prior to the oral exam's date.

 

The oral exam consists of a discussion of the project results and possible variants/extensions, as well as related theoretical questions. Therefore, it can comprise any subject within the program of the course. The grade of the project (which will not be formally stated by the lecturer but will be clear during the required interaction) will significantly contribute to the final grade of the exam. Once a project is approved, it (and the corresponding grade) is valid for the whole academic year. Asking for a new project in order to increase the grade is not allowed. Repeating the oral exam is technically possible but discouraged. Any subsequent attempt at the oral exam will necessarily have to forego the discussion of the project and will therefore include a more in-deep discussion of the theoretical aspects of the course.

Updated: 16/02/2024 22:54