Learning Outcomes:
On completion of this module, students should be able to:
1. Understand the basic optimisation techniques
2. Model real-world problems in terms of linear programming and integer linear programming
3. Competently apply the basic optimisation techniques to solve problems in various domains, including machine learning
4. Gain a fundamental understanding of convex optimisation and gradient-based approaches
Indicative Module Content:
Fundamentals of Optimisation
Linear Programming (Simplex Method)
Integer Programming
NP-Hardness and Approximation Algorithms
Meta-heuristics (e.g., Genetic programming, Simulated Annealing)
Combinatorial Optimisation
Convex Optimisation (including gradient-based optimisation)