Course Unit Profile

<--- Back to Course Diagram

Basic Information


Course Unit Code: 601AA

Level of course unit


Year of study


Semester when the course is delivered

Second semester

Number of ECTS credits allocated: 6

Name of Lecturer(s):

Prof.: Antonio Frangioni

Language of instruction


General Information

Learning outcomes

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

Course contents

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

Specific Information

Prerequisites, co-requisites, as a prerequisite for further study





Prerequisite for


Mode of delivery


face to face



Teaching methods

Learning activities

Recommended or required reading

- Operations Research course material (

- Jon Lee "A First Course in Linear Optimization", Reex Press, 2013 (

- 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

Assessment methods and criteria

Assessment methods

Further information

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

Assessment criteria

The project will have to be agreed with the teacher, and it will 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 (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). Aim of the assessment is to ascertain that the student is capable of actually implementing a model-based DSS for a specific problem, run it on actual instance data, examine the results, understand the issues limiting the performances of the system (the size of the instances solvable in reasonable time), and improve on these using the techniques developed in the course. The group work also aims at assessing (and stimulating) the teamwork abilities of the students.

Work placement


<--- Back to Course Diagram