Modules  Area  Type  Hours  Teacher(s)  
OPTIMIZATION FOR DATA SCIENCE  MAT/09  LEZIONI  48 

The course will introduce the basic mathematical concepts necessary to construct algorithms for the solution of optimization problems. The main focus will be on "easy" (constrained or unconstrained, convex, continuous) optimization problems, and their (local) solution algorithms, relevant for applications in Data Science / Machine Learning / Artificial Intelligence, among others, with a view on providing to the students solid methodological foundations useful for the several subsequent courses in these areas. However, the course will also cover some material related to "hard" (mixedinteger, nonconvex) optimization problems, and their (global) solution algorithms, with a view of providing the students with the concept of Prescriptive Analytics as "the final step" of Data Science, and therefore a motivation for the more advanced courses related to optimization.
The course has two distinct tracks for evaluating knowledge: written + oral exam or didactic project + oral exam.
For the first track, the student will be assessed on her/his demonstrated ability to answer questions regarding smallscale optimization problems, which may involve the application of the solution algorithms studied in the course. The ability of developing mathematical models for some (small, simplified) applications will also be tested. During the oral exam the student must be able to demonstrate her/his knowledge of the theory underlying the models and the algorithms sudied during the course together with adequate language and proper terminology. Critical awareness of the topics will be also evaluated.
For the second track, the student will be assessed on her/his demonstrated ability to apply the main course contents to one specific problem, developing an endtoend application to solve it and a report that describes the application and analyzes critically its perfoirmances. During the oral exam the student must be able to demonstrate her/his knowledge of the course material together with adequate language and proper terminology. Critical awareness of the topics will be also evaluated.
The student will acquire some knowledge of the theoretical properties of some basic problems in optimization and on the functioning of the corresponding solution algorithsm. The student will therefore be able to identify the class to which a given optimization problem belongs, together with the best available solution method (among those studied, and possibly beyond) to solve them, to correlate the known theoretical properties with the practical behavior of the approaches in order to both check their correctness and possibly improve their efficiency/effectiveness. The student will also be able to autonomously propose mathematical (optimization) models for some simple applications. Finally, students choosing the didactic project evaluation track will learn to develop, debug, test, improve and use software to solve optimization problems.
The assessment will be based onthe results of either the written exam or the didactic project, deoending on the track freely chosen by each student, and of the oral exam.
The student will learn to combine analysis and computer implementations to solve the main problems underlying Data Science, as well as using Data Science approaches to develop and solve models of (simplified) application programs. This will require critical assessment of the properties of the problem at hand, analysys of the alternative solution approaches, and possibly creativity for proposing models and algorithms. The students choosing the didactic project + oral exam track will have to learn teamwork strategies, since the projects are supposed to be developed in pairs, as well as proper interaction with the committents of a complex project (the lecturer), both visavis and via email or other electronic means.
The behaviors will be continuously assessed during the course, the written exam or the development of the project, and the final oral exam.
Undergraduate courses in calculus, linear algebra, and optimization (recommended).
The course provides useful prerequisites for the subsequent courses in the Data Science / Machine Learning / Artificial Intelligence areas, as well for the subsequent courses dealing with optimization techniques (Logistics, ModelDriven DecisionMaking Methods).
Delivery: face to face.
Learning activities:
Linear algebra and calculus background (on a needtoknow basis)
“Simple” unconstrained optimization, univariate and multivariate
Univariate continuous unconstrained optimization
Multivariate continuous unconstrained optimization (++/gradient)
Constrained continuous optimization theory
Convexity and Duality (Lagrangian, linear, quadratic, conic, . . . )
Some numerical methods for continuous constrained optimization
Mixedinteger optimization models, sparse hints to software tools
Sparse hints to Data Science applications
Slides and software distributed by the lecturer.
S. Boyd, L. Vandenberghe, Convex optimization, Cambridge University Press, 2008
M.S. Bazaraa, H.D. Sherali, C.M. Shetty, Nonlinear programming: theory and algorithms, Wiley & Sons, 2006
D.G. Luenberger, Y. Ye, Linear and Nonlinear Programming, Springer International Series in Operations Research & Management Science, 2008
J. Nocedal, S. Wright, Numerical Optimization, Springer Series in Operations Research and Financial Engineering, 2006
basic Operations Research course material (in Italian)
Jon Lee A First Course in Linear Optimization Reex Press, 2013
Fabio Schoen Optimization Models, free ebook version, 2022
The lecturer will provide slides for all the lessons of the course as well as recordings of the lessons themselves, thereby nonattending students should be able to follow course on par with attending ones.
The course has two distinct tracks for evaluating knowledge: written + oral exam or didactic project + oral exam.