A.9.17.4 Global constraints
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(clpfd): CLP(FD): Constraint Logic Programming over Finite Domains
          • CLP(FD) predicate index
            • Global constraints
              • all_distinct/1
              • all_different/1
              • sum/3
              • scalar_product/4
              • lex_chain/1
              • tuples_in/2
              • serialized/2
              • element/3
              • global_cardinality/2
              • global_cardinality/3
              • circuit/1
              • cumulative/1
              • cumulative/2
              • disjoint2/1
              • automaton/3
              • automaton/8
              • chain/2
    • Packages
Availability::- use_module(library(clpfd)).
Sourceglobal_cardinality(+Vs, +Pairs, +Options)
Global Cardinality constraint. Vs is a list of finite domain variables, Pairs is a list of Key-Num pairs, where Key is an integer and Num is a finite domain variable. The constraint holds iff each V in Vs is equal to some key, and for each Key-Num pair in Pairs, the number of occurrences of Key in Vs is Num. Options is a list of options. Supported options are:
consistency(value)
A weaker form of consistency is used.
cost(Cost, Matrix)
Matrix is a list of rows, one for each variable, in the order they occur in Vs. Each of these rows is a list of integers, one for each key, in the order these keys occur in Pairs. When variable v_i is assigned the value of key k_j, then the associated cost is Matrix_{ij}. Cost is the sum of all costs.