The detailed modelling of real life problems requires a knowledgeable choice of the objective function and constraints, and often leads to very large optimization problems. The efficient solution of such problems is a key to the success of optimization in practice.
Data Science provides numerous instances of problems which can be modelled using optimization. The amount of data in some of these models challenges existing optimization techniques and requires the development of new ones.

This course will address the methods for constrained optimization and the assumption will be made that the knowledge of an exact (or an approximation of) the second order information (Hessian of the Lagrangian) is available. The course will cover interior point methods for various classes of optimization problems, addressing their theory and implementation. It will also cover the Benders and Dantzig-Wolfe decomposition techniques.

The successful applications of these techniques in various Data Science problems from areas such as statistics, machine learning, engineering, energy and finance, will be discussed.

The practical component of this course will consist of computing laboratory work using Matlab (including the Matlab-based CVX system for convex optimization). These exercises will reinforce the theoretical analysis of problems, methods and their implementation.

- Ability to model real-life problems as optimization problems
- Ability to choose a solution method appropriate to the characteristics of a given problem and obtain a solution using Matlab-based utilities
- Explain how complexity analysis can be used to assess the efficiency of optimization techniques
- Ability to demonstrate the action of optimization methods by solving illustrative problems on paper
- Explain how the implementation of optimization methods yields problems in numerical linear algebra
- Explain how numerical linear algebra for optimization may be implemented efficiently