Constraint Programming is a technique concerned with finding solutions to real-world problems (such as industrial problems). The technique consists in modelling and solving real-world problems as constraint programs. Constraint programs describe the problem with constraints the solutions have to respect. Finding a solution / the best solution to those problems also uses the constraints to speed up the search.

A student completing this course will be able to :

  • Describe a real world problem using constraints in the Constraint Programming framework
  • Understand and apply techniques for solving Constraint Problems
  • Solving simple problems described as Constraint Problems
  • Understand and explain foundations of models and languages for constraint solving
  • Identify problem classes where constraint programming can be apply successfully
  • Formulate a complete resolution strategy (model and search) for a real-world problem using Constraint Programming

This course will use Oscar Constraint Programming toolkit in Scala.