Constraint Programming
TechniqueConstraint Programming (CP) is a technique for solving combinatorial problems, particularly constraint satisfaction and optimization, through systematic enumeration of candidate solutions combined with search tree pruning driven by constraint propagation and bounds. CP frameworks offer expressive, heterogeneous constraint models (e.g., subgraph isomorphism, connected component constraints) and have been applied to domains ranging from combinatorial optimization (e.g., stable set and maximum clique) to the automatic generation and compilation of reconfigurable processor extensions.
WIKI
Overview
Constraint Programming (CP) is a problem-solving paradigm in which combinatorial problems are modeled declaratively as sets of variables, domains, and constraints, and then solved by systematically exploring the space of assignments while pruning infeasible or suboptimal regions of the search tree [arxiv:cs/0407041v1]. The paradigm is closely associated with the "computation as deduction" viewpoint, under which solving a problem is treated as deriving a satisfying or optimal assignment from a set of logical constraints [arxiv:cs/0602027v1].