This module is offered in 2021-22.


The aims of this module are:

  • To introduce constraint solving techniques and algorithms.
  • To teach modelling and solving discrete optimization problems with constraints.

Learning Outcomes

On successful completion of this module, the student should:

  • Have a working knowledge of the techniques employed in a modern constraint solver.
  • Be able to construct a simple constraint solver.
  • Be able to model and solve discrete optimization problems using modern constraint programming systems.
  • Understand that modelling decisions can depend on the solver to be used.


  • Preamble: an introduction to Constraint Programming, including how to model some simple problems and some very basic solution algorithms.
  • Modelling: techniques for modelling problems in constraints.
  • Solvers and algorithms: the implementation of, and algorithms used in, generic constraint solvers.

Compulsory Elements

This module has no compulsory elements beyond those common to all modules (mark of 4 in each assessment component).

Module Delivery

Back to top

Last Published: 19 Jan 2022.