Module aims
The aim of this module is to equip you with the tools to formulate and solve applied optimisation problems. The module covers several advanced theoretical topics in optimisation such as convex optimisation and multi-objective optimisation with the aim of formulating and solving applied problems. Each theoretical topic is covered with an application-driven mindset. During the regular classes you will apply the theory on problems arising in a variety of practical domains such as fitting, finance, classification, biology, and advertising.
The module does not assume prior optimisation knowledge (the Autumn module "Optimisation" is not a pre-requisite as the topics are completely complementary). Basic knowledge of Python is assumed (self-study resources plus an optional catch-up lab are available on request). For more information, please contact the lecturer.
This module is taught using flipped classroom with a Team-Based Learning approach in which the lecture time and revision time are flipped. You will watch a video lecture before coming to the class and we will do revision together. The revision in class has a precise team-based structure. The majority of the class is not assessed (a small portion is assessed). During our first meeting in the spring term, we will go through this method together and you will have the possibility to ask questions if something is not clear. The first set of video lectures will be released at this point and the team activities (and tests) will start on the second week of term.
The lectures will cover the topics from a theoretical point of view. Concepts, problems and solution methods will be explained and justified from a theoretical and intuitive point of view. The group exercises will be used to push you to implement new algorithms as the lectures proceed.
The module will make use of smart handouts, which are interactive Python notebooks that integrate videos, theory and practical exercises that you can solve and run on the spot. Example: https://colab.research.google.com/drive/1efBkJ5F5U6QpIT4nU6QzxM5mZq5I6iv4?usp=sharing
Learning outcomes
Upon successful completion of this module, you will be able to:
- Classify different families of optimisation problems
- Formulate an engineering/scientific/economic problem as an optimisation problem of a known class
- Apply the correct methods of optimisation to solve the problem
- Assess the approximation and computational cost of an optimisation algorithm
- Employ advanced optimisation techniques and analyse their limitations
- Write computer programmes to formulate and solve optimisation problems
- Compare the introduced ideas and tools with the more general theory of optimisation.
- Devise a toolbox of optimisation algorithms to solve various classes of problems.
Module content
Convex sets; Convex functions; Convex optimization problems; Approximation and estimation problems; Statistical applications; Geometric applications; Interior point methods; Integer programming; Methods for solving integer programmes; Multi-objective programming; Pareto optimality; Complexity analysis.
Applied optimisation: classes will focus on problems from different areas of engineering, science and finance.
Module lead
Giordano Scarciotti
ECTS/FHEQ
5/7
Module code
ELEC70066
Host department
Department of Electronic and Electrical Engineering
Offered to
- Bioengineering
- Chemical Engineering
- Materials
- Mechanical Engineering Y4&5
Term
Spring
Time slot
AM
Teaching weeks
1-10
August resit opportunity?
Yes
How to apply
Please follow the instructions under ‘Students from other departments’ section
Application deadline
TBC
Places available (approximate)
No cap
Criteria used for student selection
N/A
Further information