Module Leader

Dr Nan Li
nan.li@imperial.ac.uk
+44 (0)20 7594 8853

The Optimisation course is designed to provide students with exposure to a rational integration of design methodologies with the concepts and techniques of modern optimisation theory and practice. Through the course, the students will learn to rationalise and quantify an engineering system or product design problem, develop proper mathematical models to formulate a design optimisation problem, and apply appropriate optimisation algorithms to solve it.               

Learning Outcomes

On completion of this module, students will be better able to:

  •  Define, rationalise, and quantify engineering system and product design problems by formulating appropriate objective functions, and selecting design variables, parameters and constraints.
  •   Develop mathematical models to formulate design optimisation problems.
  •   Explain the basic concepts and theory of mathematical optimisation.
  •   Implement optimisation techniques in engineering design, by effectively selecting the most suitable optimisation strategy (from a range of linear programming, gradient based and non-gradient based optimisation algorithms) for a particular problem.
  •   Implement optimisation algorithms using software solvers (e.g. in MATLAB, python, etc.)
  •   Perform a critical evaluation and interpretation of analysis and optimisation results.
  •   Appraise the advantages and challenges of teamwork in system design and optimisation, appreciating the challenges of applying multidisciplinary design optimisation in the real world.          

 

Description of Content

Optimisation basics:
  Basic concepts and formulations
  Design space and boundedness
  Constraint activity
  Monotonicity analysis
Model construction:
  Metamodel/surrogate model
  Design of experiments
  Model fitness
  Model construction workflow
Linear Programming problems, algorithms and implementation;
Gradient-based Unconstrained optimisation:
  Function approximation
  Optimality conditions
  Gradient descent method
  Newton's method
  Termination criteria
  Line search
  Convexity
  Convergence
Gradient-based Constrained Optimisation:
  Reduced gradient method
  Lagrange multipliers
  Karush-Kuhn-Tucker (KKT) conditions
  Generalised reduced gradient method
  Quasi-Newton methods
  Sequential quadratic programming (SQP)
  Penalty methods
  Active set strategies
  Scaling
Derivative free optimisation:
  Pattern search methods