Undergraduate Teaching

Engineering Tripos Part IIB, 4M17: Practical Optimisation, 2021-22

Engineering Tripos Part IIB, 4M17: Practical Optimisation, 2021-22

Not logged in. More information may be available... Login via Raven / direct.

PDF versionPDF version

Module Leader

Prof R Sepulchre


Prof R Sepulchre and Dr G Parks

Timing and Structure

Michaelmas term. 13 lectures + 3 computer lab sessions. Assessment: 100% coursework




The aims of the course are to:

  • Teach some of the basic optimisation methods used to tackle difficult, real-world optimisation problems.
  • Teach means of assessing the tractability of nonlinear optimisation problems.
  • Develop an appreciation of practical issues associated with the implementation of optimisation methods.
  • Provide experience in applying such methods on challenging problems and in assessing and comparing the performance of different algorithms.


As specific objectives, by the end of the course students should be able to:

  • Understand the basic mathematics underlying linear and convex optimisation.
  • Be able to write and benchmark simple algorithms to solve a convex optimisation problem.
  • Understand the technique of Markov-Chain Monte Carlo simulation, and apply it to solve a Travelling Salesman Problem.
  • Understand the ways in which different heuristic and stochastic optimization methods work and the circumstances in which they are likely to perform well or badly.
  • Understand the principles of multiobjective optimization and the benefits of such of approaching real-world optimization problems from a multiobjective perspective.


  • Introduction (what is Practical Optimisation ?)
  • Approximately solving Ax=b (various methods of norm minimization of residuals that lead to LP or convex problems)
  • Geometry of polyhedral and convex sets (review of the simplex method; introduction to algorithmic complexity)
  • Duality theory and its applications
  • Unconstrained optimisation
  • Important convex relaxations in cardinality problems 
  • Simulated Annealing: basic concepts, solution representation and generation, the annealing schedule, enhancements and modifications
  • Genetic Algorithms: basic concepts, solution representation, selection, crossover, mutation
  • Tabu Search: basic concepts, solution representation, local search, intensification, diversification
  • Multiobjective Optimization: archiving, multiobjective simulated annealing, multiobjective genetic algorithms
  • Case Study: multiobjective optimization of pressurised water reactor reload cores




Due date

& marks

Coursework activity #1: Investigation of a moderate size Linear Regression problem with various norm and regularization approximations

Learning objective: 

  • convert a regression problem into a linear program and solve it with linprog
  • program a simple line search algorithm and experiment the impact of smoothness on convergence rate.
  • understand how different norms affect the solution of an approximation problem.

Individual report

anonymously marked

Deadline: 10th December 2021


Coursework activity #2: Investigation of the performance of two stochastic optimization methods on a hard problem

Learning objective: 

  • gain experience in applying stochastic optimization methods to challenging problems
  • explore and analyse the variation in optimizer performance as algorithm control parameters are modified
  • compare and analyse the performance of different optimization methods on challenging problems

Individual report

anonymously marked

Deadline: 19th January 2022




Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.

Examination Guidelines

Please refer to Form & conduct of the examinations.

Last modified: 27/09/2021 09:31