CS5111: Discrete Optimisation
This module is offered in 2026-27.
Aims
The aims of this module are:
- To give an overview of discrete optimisation.
- To teach modelling techniques and solving algorithms for discrete optimisation.
Learning Outcomes
On successful completion of this module, the student should:
- Understand core concepts in the field of Discrete Optimisation.
- Be able to use declarative modelling for optimisation.
- Be able to use candidate approaches for solving these problems, including Constraint Programming, Boolean Satisfiability (SAT), SAT Modulo Theories (SMT).
- Understand how discrete optimisation can be applied together with machine learning.
- Understand how a particular alternative (model, solver, and configuration) can be robustly chosen for a given problem.
Syllabus
- Introduction: an overview of discrete optimisation.
- Domain independent modelling and solving techniques.
- Metaheuristics algorithms, including local search and evolutionary algorithms.
- Automated algorithm configuration and automated algorithm selection.
Compulsory Elements
This module has no compulsory elements beyond those common to all modules (mark of 4 in each assessment component).
Module Delivery
- TBD