Course Unit Page

Academic Year 2019/2020

Learning outcomes

At the end of the course the student knows the foundations of mathematical optimization and graph theory and the ability to model optimization problems and presenting the main algorithms for their solution as well as the available professional solvers.

Course contents

Requirements: a good knowledge of the basics of set theory, and vectorial and matricial calculus is required.

The course is given in English: slides and exercises are in English. The exam must be taken in English.

The course focuses on optimization problems arising in decision making, with particular emphasis on Combinatorial Optimization problems. The first goal of the course is to teach the theory of Linear Programming and Integer Linear Programming, and how to formulate mathematical models for optimization problems belonging to these classes. The classical Integer Linear Programming problems are also presented. The second goal is to teach exact and heuristic algorithms to solve these problems. In addition, the basics of computational complexity of problems and algorithms are introduced, and graph theory concepts and the classical problems modelled on graphs are described. The last part of the course is dedicated to practical applications: more complex real-world optimization problems are presented and the use of optimization tools is shown.


Slides on IOL (Insegnamenti On Line)

Further readings:
Christos H. Papadimitriou and Ken Steiglitz, Combinatorial optimization: algorithms and complexity. Dover, 1998.

D. Bertsimas and J. Tsitsiklis, Introduction to linear programming. Dynamic Ideas and Athena Scientific, Belmont, Massachusetts, 2008.

D. Bertsimas, D. and R. Weismantel, Optimization over integers. Dynamic Ideas, Belmont, Massachusetts, 2005.

Teaching methods

The course consists of lectures and class exercises.

Assessment methods

For the online exam assessment refer to section News:


The exam consists of a written test in which some exercises have to be solved and some questions on the course content have to be answered. After the written test, an oral discussion covering topics of the written test and other topics of the course completes the exam.

Teaching tools

Optimization software tools

Office hours

See the website of Valentina Cacchiani