A.9 library(clpfd): CLP(FD): Constraint Logic Programming over Finite Domains
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(clpfd): CLP(FD): Constraint Logic Programming over Finite Domains
          • Introduction
          • Arithmetic constraints
          • Declarative integer arithmetic
          • Example: Factorial relation
          • Combinatorial constraints
          • Domains
          • Example: Sudoku
          • Residual goals
          • Core relations and search
          • Example: Eight queens puzzle
          • Optimisation
          • Reification
          • Enabling monotonic CLP(FD)
          • Custom constraints
          • Applications
          • Acknowledgments
          • CLP(FD) predicate index
          • Closing and opening words about CLP(FD)
    • Packages

A.9.5 Combinatorial constraints

In addition to subsuming and replacing low-level arithmetic predicates, CLP(FD) constraints are often used to solve combinatorial problems such as planning, scheduling and allocation tasks. Among the most frequently used combinatorial constraints are all_distinct/1, global_cardinality/2 and cumulative/2. This library also provides several other constraints like disjoint2/1 and automaton/8, which are useful in more specialized applications.