|
From: Marcin K. <mr...@gm...> - 2009-02-16 15:16:24
|
Wit Jakuczun wrote:
> I am afraid but there is no bb_min/2 defined.
> The min arity is 3. Try to run your code
> with bb_min(sum(X,S), S, bb_options{strategy:continue}).
Thanks for answer, I figured that out a moment after I sent that mail,
but now I have a different problem:
instantiation fault in +(0, _431{1 .. 9}, _839)
( bb_min(sum(X,S),S,bb_options{strategy:continue}), )
It seems that the list that is being summed is only partially
instantiated, the sum docs say so:
http://eclipse.crosscoreoptimization.com/doc/bips/kernel/arithmetic/sum-2.html
In coroutining mode, if the list is only partly instantiated, the
predicate delays until the list is complete.
According to User Manual I should use 'suspend' library, but it doesn't
help:
:- lib(ic).
:- lib(branch_and_bound).
:- lib(suspend).
minsum(X, Range) :-
X = [A,B,C,D,E,F],
X :: 1 .. Range,
integers(X),
alldifferent(X),
bb_min(sum(X,S),S,bb_options{strategy:continue}),
labeling(X).
I get again instantation fault, or if I specify suspend: directly I get
"calling an undefined procedure suspend":
bb_min(sum(X,S),S,bb_options{strategy:continue}),
Regards,
mk
|