This graduated-level course introduces analytic tools and optimization methods that are suitable for large-scale problems arising in data science applications. The course presents both basic and advanced concepts of optimization and explores several algorithms that are efficient for network problems.
The student will acquire the ability to formulate, in mathematical terms, problems related to profit maximization and cost minimization, optimization of resources, and traffic network equilibria.
The goals of the course are:
There will be both classroom lessons and laboratory lessons. For each topic, exercises will be solved by the teacher or proposed to students. During the course notes on some topics will be given. Moreover, a very detailed description of everything explained in classroom will be posted on Studium. Students are invited to carefully check this description before they take the exam.
Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.
Basic elements of vectors and matrices, vector spaces, linear equations, inequalities.
Attendance is strongly recommended
Linear Programming (LP) (about 18h)
LP models; Graphical method; Simplex method; Duality; sensitivity analysis
Integer Linear Programming (ILP) (about 9 h)
The maximum weight matching problem; The minimum vertex cover problem; Basics of the Branch & Bound method; examples of 0-1 programs;
Software (about 5 hours)
Network problems (about 8 h)
Graphs (Kruskal, Dijkstra)
|Linear models and the Simplex Method
|Duality in LP
|Integer programming and the Branch and Bound Method
The final exam consists of an oral test during which candidates shows that they have assimilated the topics covered in the course. Student can also be asked to solve simple exercises of the same type as the ones solved in classroom.
Learning assessment may also be carried out on line, should the conditions require it.