
Master Robust Optimisation Approaches for Complex, Real-World Engineering Problems
Not all engineering optimisation problems are smooth, well-behaved, or differentiable. When gradients are unavailable, unreliable, or simply too expensive to compute, gradient-free optimisation methods become essential.
This course focuses on understanding how gradient-free optimisation algorithms work, when to use them, and how to apply them effectively to practical engineering problems. Building on the optimisation foundations developed earlier in the series, you’ll learn how these methods explore design spaces, balance exploration and exploitation, and remain robust in the presence of noise, nonlinearity, and complex objective landscapes.
We begin by clearly contrasting gradient-based and gradient-free optimisation, helping you understand the trade-offs between efficiency, robustness, and scalability. You’ll then be introduced to the main families of gradient-free algorithms commonly used in engineering practice.
The course covers a range of widely used methods, including evolutionary approaches such as particle swarm optimisation (PSO), genetic algorithms (GA), as well as deterministic techniques like the Nelder-Mead algorithm, the DIRECT algorithm, and generalised pattern search (GPS). Rather than treating these as black-box heuristics, you’ll develop intuition for how each algorithm searches the design space and why their behaviour differs across problem types.
As with the rest of the series, the emphasis is on intuition and application. Through hands-on Python coding exercises, you’ll compare gradient-free algorithms side by side, visualise their search behaviour, and apply them to realistic engineering problems, culminating in a final case study on electrical device optimisation.
By the end of this course, you’ll:
Understand when and why gradient-free optimisation methods are used
Be able to distinguish between different classes of gradient-free algorithms
Develop intuition for evolutionary, patter-based, and direct search methods
Compare the strengths and limitations of gradient-free approaches in practice
Gain hands-on experience applying and comparing optimisation algorithms using Pymoo
Be able to choose appropriate optimisation strategies for complex, real-world problems
This course is designed for engineers, students, and technical professionals working with complex or simulation-based models — especially when gradients are unavailable, noisy, or impractical to compute.
A basic familiarity with mathematical optimisation is recommended, as this course builds directly on earlier modules in the Maths for Design Optimisation series.
If you want to tackle challenging, real-world optimisation problems with confidence — and understand the tools engineers rely on when gradients fail — this course completes your optimisation toolkit.