# CS416 Optimisation Methods

## Academic Aims

The aim is for students to learn the mathematical and algorithmic foundations underpinning optimization problems that are ubiquitous in applications in machin learning, data analysis and scientific computing.

At their core, many real world problems involve optimisation problems that are complex and challenging, and they require principled mathematical and algorithmic solutions. Companies such as Google and Facebook use powerful algorthimic primitives such as gradient descent to solve a host of challenging problems. These primitives in turn are based on a beautiful mathematical theory developed in the context of convex and discrete optimisation.

There are several interrelated aims of this module: (1) to expose students to optimisation methods that have found significant applications, (2) to develop a toolkit of mathematical methods that can be used to tackle real world problems, and (3) to rigorously analyse these methods.

## Learning Outcomes

1. Learn mathematical tools from convex optimisation, discrete and combinatorial optimisation, and linear algebra.

2. Learn optimisation methods that are widely used in applications.

3. Understand the mathematical theory behind these optimisation methods.

4. Implement optimisation methods and apply them to real world problems.