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 used in AI techniques
Indicative Module Content:
Fundamentals of Optimisation
Linear Programming (Simplex Method)
Integer Programming
Constraint Programming
Approximation Algorithms
Meta-heuristics (e.g., Genetic programming, Simulated annealing)
Combinatorial Optimisation
Convex Optimisation (including gradient-descent, Newton method, AdaGrad and Adam method)