[ Reference Manual | Alphabetic Index ]

library(ic_global_gac)

Library of global constraints which achieve generalized arc consistency   [more]

Predicates

alldifferent(+L)
GAC version of alldifferent
alldifferent_matrix(+Matrix)
Constrain the rows and columns of Matrix to be different values
gcc(++Bounds, +Vars)
Constrain the cardinality of each Value specified in Bounds gcc(Low,High,Value) to be between Low and High in Vars
gcc_matrix(++RowBounds, ++ColBounds, +Matrix)
Constrain the cardinality of values taken in the rows and columns of Matrix as specified by RowBounds and ColBounds, respectively
inverse(+Succ, +Pred)
Constrains elements of Succ to be the successors and Pred to be the predecessors of nodes in a digraph
lex_le(+List1, +List2)
List1 is lexicographically less or equal to List2
lex_lt(+List1, +List2)
List1 is lexicographically less than List2
matching(+L, -K)
Get a matching between a list of domain variables and their possible values
same(+Vars1, +Vars2)
Vars1 and Vars2 are constrained to be a permutation of each other in the values taken by the variables.
sequence(+Low, +High, +K, +ZeroOnes)
The number of occurrences of the value 1 is between Low and High for all sequences of K variables in ZeroOnes
sequence(+Low, +High, +K, +Vars, ++Values)
The number of values taken from Values is between Low and High for all sequences of K variables in Vars.

Reexports

reexport table / 2 from ic_mdd
reexport mddc / 2 from ic_mdd

Other Exports

export portray(update_alldifferent / 4, tr_global_gac_out / 2, [goal])

Description

This library is intended for global constraints for which GAC (generalized arc consistency, also called hyper arc consistency, or domain consistency) is maintained. One example is a version of the alldifferent constraint which performs more pruning than the bound consistent version in the ic_global library.

If a program uses multiple libraries, more than one version (with different degrees of propagation strength) of the declaratively same constraint may be visible. In this case, the programmer has to explicitly state which version is wanted, either by using an import directive such as

        :- import alldifferent/1 from ic_global_gac.
    
or by module-qualifying individual calls, such as
        ..., ic_global_gac:alldifferent(Xs), ...
    

About


Generated from ic_global_gac.eci on 2022-09-03 14:26