Программирование в ограничениях — это парадигма программирования, в которой задача задается через переменные, домены и ограничения, которым должны удовлетворять допустимые решения. Оно широко используется для scheduling, planning, resource allocation и комбинаторного поиска.
A programming paradigm wherein relations between variables are stated in the form of constraints. Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties of a solution to be found.