Modelling for Combinatorial Optimisation

5 credits

Syllabus, Master's level, 1DL448

Education cycle
Second cycle
Main field(s) of study and in-depth level
Computer Science A1N, Technology A1N
Grading system
Pass with distinction, Pass with credit, Pass, Fail
Finalised by
The Faculty Board of Science and Technology, 30 August 2018
Responsible department
Department of Information Technology

Entry requirements

120 credits including Basic Course in Mathematics, Algebra I, and 10 credits in computer programming or another combination of courses containing basic concepts in algebra, combinatorics, logic, graph theory, set theory and implementation of (basic) search algorithms. Proficiency in English equivalent to the Swedish upper secondary course English 6.

Learning outcomes

On completion of the course, the student should be able to:

  • model a combinatorial problem using a solver-independent constraint modelling language
  • discuss various models of a combinatorial problem expressed in a constraint modelling language
  • describe and compare different constraint solving techniques that can be used by the back-end solvers to a constraint modelling language, including constraint programming, local search, Boolean satisfiability (modulo theories), and integer programming
  • decide which constraint solving technologies to try first when facing a new combinatorial problem, and motivate this decision
  • design and evaluate different models of a combinatorial problem for various constraint solving techniques.


The course focuses on modelling optimisation problems. The models can then be used to solve problems using an off-the-shelf solver.

The use of tools to solve hard combinatorial optimisation problems by first modelling them in a solver-independent constraint modelling language and then using an off-the-shelf constraint solver to solve them. Combinatorial (satisfaction or optimisation) problems, a constraint modelling language, the main characteristics of various constraint solving techniques, heuristics and good practice in modelling and solving combinatorial problems, examples of applications of combinatorial problem solving.


Lectures, help sessions and solution sessions.


Oral and written assignment presentations.

If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the disability coordinator of the university.