2

手册indomain/1中有谓词通过回溯以递增的顺序将值分配给变量(我们称之为 X)。

当我尝试编写自定义标签谓词时,我想更改分配给变量 X 的值的顺序。我想出了这段代码:

fd_set(X, X_as_set),
fdset_to_list(X_as_set, X_as_list), % now I have domain of the variable X in form of a list
% sort X_as_list in some way and return the changed list as X_as_list2
member(Val, X_as_list2), 
X = Val   % assign value to CLPFD variable

但我真的不知道它是否正确。此外,我不确定这是否是正确的方法。

4

1 回答 1

4

这是一个非常好的方法。

于 2013-05-21T07:21:34.883 回答