MSCI 536: Optimisation

Credits: 10

Tutors: Vikram Dokka and Adam Letchford


Optimisation, sometimes also known as Mathematical Programming, is concerned with maximising or minimising a mathematical function of some decision variables, subject possibly to various constraints. It has numerous applications in Statistics, Operational Research, Computer Science, Engineering and many other fields. This module aims to provide a foundation in key optimisation methods, and to illustrate their strengths and weaknesses as tools for modelling and solving real-world problems. This module will include: 

  • Linear Programming (6 lectures + 3 workshops) 
  • Integer Programming (3 lectures + 1 workshop)
  • Non-linear Programming (3 lectures) 
  • Handling Uncertainty (3 lectures + 1 workshop)

There will be 15 hours of lectures, along with five workshops, each lasting one hour. Students will be given questions in advance of each workshop, and will be asked to attempt to answer them before the workshop. The workshops will involve a discussion of the answers and use of computer software.

Learning Outcomes

This module introduces a range of optimisation problems and associated solution techniques.  By the end of the course you should:

  • Have a working knowledge of the main optimisation methods available. 
  • Know when and how to formulate problems as optimisation problems. 
  • Know how to solve problems using optimisation software and correctly interpret the output.

Reading List

Lecture notes, slides and workshop questions will be posted on the MOODLE web board in advance. You are advised to bring the slides with you to lectures, either as hard copy or on a laptop.

You are not expected to buy books, but the following textbook provides an excellent introduction to optimisation, with a particular emphasis on modelling:

H.P Williams (2013) Model Building in Mathematical Programming (5th Edn) Wiley

Several copies of this are available in the library.

The following books are more theoretical and focus on specific problem classes:

  • S. Boyd & L. Vandenberghe (2009) Convex Optimization. Cambridge University Press.
  • P. Kall & S.W. Wallace (1994) Stochastic Programming. Wiley
  • L.A. Wolsey (1998) Integer Programming. Wiley
  • M. Conforti, G. Cornuéjols & G. Zambelli (2015) Integer Programming. Springer.
The first two are available for free on the web. The third is available in the library.

Some web links of interest: 

(There are also dozens of tutorials on linear and nonlinear programming on YouTube)

Assessment: Assessment will be via an individual coursework assignment, worth 30%, and a written examination, worth 70%. The exam will be 2 hours in duration and it will be open book with the aid of a calculator (but not a computer). 

Contact hours: There will be a mixture of lectures and workshops totalling approximately 20 hours contact. In addition, private study will make up the majority of the learning hours. 

Click here to return to the MRes Programme Content page.