Computational Optimisation

Module aims

To develop a deeper understanding of optimal decision making models, algorithms and applications to engineering, finance, and machine learning. To provide an insight for algorithm design and formulation of decision models. 

Learning outcomes

The student will be able to analyse algorithms and judge the performance of algorithms and 
interpret their results. The course opens into issues related to current research.

Knowledge and Understanding

Explain when a solution to a nonlinear optimisation problem is optimal;

Describe zeroth-, first-, and second-order algorithms for converging to a optimal point;

Recall the difference between local and global convergence;

Understand the property of convexity and how it impacts optimisation;

State the differences between constrained and unconstrained optimisation;

Describe what is the best algorithm for a given problem and explain why. 


Intellectual Skills

Prove convexity of a function and of an optimisation problem;

Specify the optimality conditions for both constrained and unconstrained optimisation problems;

Derive basic zeroth-, first-, and second-order optimisation algorithms and evaluate their convergence;

Practical skills

Apply optimisation algorithms to machine learning applications, e.g. recognising hand-writing and robust principal component analysis;

Program basic zeroth-, first-, and second-order optimisation algorithms;

Apply knowledge towards being able to read research papers in the area;

Module syllabus

To provide mathematical concepts and advanced computational methods for quantitative problems in engineering and management decision making. To introduce unconstrained and constrained optimal decision formulations and associated optimality conditions. To discuss quadratic and general nonlinear programming formulations and algorithms.

Introduction to optimisation and optimal decisions. Convexity. Unconstrained optimisation. Constrained optimisation. Management decision formulations. Optimality conditions for constrained problems. Necessary conditions, sufficient conditions. Quadratic programming: problem formalisation; portfolio selection. Optimality conditions. Nonlinear programming: example formulations; capacity expansion, inventory control. Problem formulation. Zeroth, first, and second order algorithms for nonlinear programming.  

Pre-requisites

The contents of (233) Computational Techniques

 Co-Requisites: The contents of (343) Operations Research and (496) Mathematics for Inference and Machine Learning 

Teaching methods

Lectures and tutorials.

One of the courseworks will develop a case study based on Matlab. Two assessed courseworks will be given throughout the course.

Assessments

*This is a level 7/M course

Reading list

Core Reading

Supplemental Reading

Module leaders

Dr Panos Parpas
Dr Ruth Misener