# BSc Computer Science and Mathematics / Course details

Year of entry: 2020

## Course unit details:Convex Optimization

Unit code MATH36061 10 Level 3 Semester 1 Department of Mathematics No

### Overview

Optimization is the art of optimal decision making under constraints. Convex optimization refers to a set of problems and methods that can be formulated using convex functions and sets; countless problems from science, engineering and statistics can be cast as convex optimization problems and solved using efficient algorithms. The course is intended as an introduction to convex optimization, focussing on the theory, the modelling techniques, and the algorithm analysis and design. Recent developments such as convex regularization and compressed sensing will be discussed. The problem sessions will be used to present applications from machine learning, signal processing, and finance.

### Pre/co-requisites

Unit title Unit code Requirement type Description
Linear Algebra A MATH10202 Pre-Requisite Compulsory
Linear Algebra B MATH10212 Pre-Requisite Compulsory
None

### Aims

The course aims to introduce students to modern convex optimization and its applications in fields such as machine learning. The course is designed to cover practical modelling aspects, algorithm analysis and design, and the theoretical foundations of the subject.

### Learning outcomes

On completion of the course, students should be able to:

• recognise problems that can be formulated as convex optimization problem,
• describe and apply gradient descent and Newton’s method, and explain their performance and limitations,
• solve linear, quadratic and semidefinite programming problems using interior point methods, and evaluate their performance,
• derive the Lagrange dual of various standard optimization problems,
• characterise the solutions of optimization problems using optimality conditions such as the Karush Kuhn Tucker (KKT) conditions,
• explain the role of convex optimization in machine learning, signal processing, compressed sensing, and finance.

### Syllabus

The lectures and problem sessions will cover the following topics:

(1) Overview and examples of optimization problems;
(2) Least-squares, gradient descent, Newton’s method;
(3) Introduction to CVX;
(4) Fundamentals of convex analysis and geometry: convex sets and functions, subdifferential calculus;
(5) Linear and quadratic programming, semidefinite programming, conic optimization;
(6) Optimality conditions, duality theory, theorems of alternative;
(7) Interior-point methods, augmented Lagrangians, alternating direction method of multipliers;
(8) Applications in machine learning: convex regularization, compressed sensing and matrix completion.

### Assessment methods

Method Weight
Other 20%
Written exam 80%

Coursework: Weighting within unit 20%.

2 hours end of semester examination: Weighting within unit 80%.

### Feedback methods

Feedback tutorials will provide an opportunity for students' work to be discussed and provide feedback on their understanding.  Coursework or in-class tests (where applicable) also provide an opportunity for students to receive feedback.  Students can also get feedback on their understanding directly from the lecturer, for example during the lecturer's office hour.

The main reference is the book

• Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cambridge University Press, 2004.
The book is available online at http://www.stanford.edu/~boyd/cvxbook/. The lecture will also make use of the CVX software, which is based on MATLAB.

Other useful references include:

• J. Nocedal and S.J.Wright. Numerical Optimization. Springer, 2006.
• A. Ben-Tal and A. Nemirovski. Lectures on Modern Convex Optimization. 2013.

CONVEX OPTIMIZATION 3

• Y. Nesterov. Introductory lectures on convex optimization: A basic course. Springer, 2004.

### Study hours

Scheduled activity hours
Lectures 22
Tutorials 11
Independent study hours
Independent study 67

### Teaching staff

Staff member Role
Kody Law Unit coordinator